ProtoSpace Proto POV

Welkom!

(For English visitors: please visit the Wayne and Layne Blinky POV website for information on the board of which the Proto POV is a derivative. For programming, please visit the Blinky POV programming website. Although the board is a bit different, you'll be just fine.)

De Proto POV is een herprogrammeerbare LED kit die gebruik maakt van persistence of vision (POV) om de illusie te creëren dat berichten die getoond worden in de lucht zweven.

Snelnavigatie: [Proto POV kit] [Solderen] [Stappenplan] [Programmeren] [Ontwerp] [Foto's]

De Proto POV is ontworpen door Lennart Herlaar ten behoeve van een soldeerworkshop die georganiseerd wordt ter gelegenheid van het 5-jarig bestaan van ProtoSpace FabLab Utrecht. Gezocht is naar een leuke toepassing die door deelnemers eenvoudig en snel te assembleren is, betaalbaar is en interactie mogelijk maakt.

Het bijzondere van de Proto POV is dat deze herprogrammeerbaar is: de berichten die getoond worden, kunnen door de gebruiker zelf aangepast worden, ook zonder enige kennis van programmeren! Het programmeren gaat met behulp van een webpagina, die de berichten omzet in lichtsignalen. Deze lichtsignalen kunnen door de Proto POV ontvangen worden en als programma opgeslagen worden. Op deze manier kan de Proto POV bijvoorbeeld ook met een smartphone of een tablet van andere berichten voorzien worden.

Het ontwerp van de Proto POV is gebaseerd op het Blinky POV ontwerp van Wayne and Layne en is daarmee compatible. Zowel de Proto POV als de Blinky POV zijn open source hardware. De ontwerpbestanden van de Proto POV zijn vrij beschikbaar.

Om een herhaling van zetten te voorkomen, wordt hier nadrukkelijk verwezen naar de uitgebreide website van Wayne and Layne over de Blinky POV en haar uitgebreidere zusje, de Blinky GRID. De informatie die daar beschikbaar is over de Blinky POV, is grotendeels ook van toepassing op de Proto POV.

>>> http://www.wayneandlayne.com/projects/blinky <<<

Voor wie snel aan de slag wil, volgt hieronder wel de essentiele informatie.

Veel plezier!

Proto POV kit

De Proto POV wordt geleverd als kit en dient door de deelnemers zelf in elkaar gezet te worden. De onderstaande onderdelen zijn opgenomen in de Proto POV kit. Waar relevant wordt ook de aanduiding van de component op het bordje gegeven.

  • 1 * Proto POV printed circuit board (pcb)
  • 2 * Weerstand, 10kOhm, R1, R2
  • 1 * Keramische condensator, 0.1uF, C1
  • 2 * Lichtsensor, photo transistor, TEPT4400, Q1, Q2
  • 1 * Printdrukschakelaar, S1
  • 1 * IC voetje, 14 pins, IC1
  • 1 * Schuifschakelaar, S2
  • 8 * LED, blauw, 5mm, D1 t/m D8
  • 1 * Batterijhouder, CR2032
  • 1 * Microcontroller, PIC16F1823 met Proto POV firmware, IC1
  • 1 * Batterij, CR2032

De rol van deze componenten wordt nader toegelicht in de onderdelenlijst op de Blinky POV website van Wayne and Layne.

Solderen

Bij het assembleren van de Proto POV kit dient gesoldeerd te worden; dat is in essentie immers het doel van de workshop.

Vooraf

Indien je nooit eerder gesoldeerd hebt, kun je uitleg vragen en even oefenen met een experimenteerprintplaat. Er is ook een algemene soldeerhandleiding beschikbaar, als stripverhaal. Deze is er zelfs in een 1-pagina uitvoering. Bekijk eveneens de opgebouwde 'reference Proto POV', als voorbeeld.

Let op: soldeerbouten worden heet. Er is één logische manier om een soldeerbout vast te houden: de minst pijnlijke.

Het kan handig zijn om samen te werken met iemand; dan kun je van elkaar leren en elkaar behoeden voor fouten. Daarnaast is het soms prettig om 3 of meer handen te hebben...

Hieronder volgt een stappenplan voor het solderen. Mocht je er behoefte aan hebben, dan zijn gedetailleerde soldeerinstructies (met foto's) voor de Blinky POV te vinden op de website van Wayne and Layne. Hieronder wordt een iets afwijkende volgorde aangehouden; merk eveneens op dat sommige onderdelen enigszins verschillen (met name: batterijhouder en schakelaar S2).

Het is handig de onderdelen in de onderstaande volgorde te monteren. Je werkt dan van lage naar hoge componenten, zodat de component die je soldeert telkens tegen de ondergrond gedrukt wordt en niet in de lucht hoeft te zweven. In de regel moet elke component vlak / zo dicht mogelijk tegen de Proto POV pcb aanliggen.

Vergeet niet de punt van de soldeerbout af en toe schoon te maken met de vochtige spons!

Stappenplan

  1. Controleer de inhoud van de Proto POV kit.

  2. Soldeer de weerstanden R1 en R2. De polariteit (plus en min) is niet van belang. Het is wel zo netjes R1 en R2 op dezelfde manier te oriënteren. Let wel op dat je de componenten aan de juiste zijde van de Proto POV pcb monteert!

  3. Soldeer de keramische condensator C1. De oriëntatie is niet van belang.

  4. Soldeer de lichtsensoren Q1 en Q2, die eruit zien als 3mm LEDs. Let op de oriëntatie: het lange pootje van de lichtsensor komt in het gaatje dat voorzien is van een plusteken op de pcb. Het is de bedoeling dat de lichtsensoren omgebogen worden en naar buiten wijzen, in het vlak van de pcb. Monteren gaat het makkelijkst door eerst de lichtsensor rechtop in de pcb te steken, dan om te buigen (net over de rand van de pcb) en vervolgens te solderen.

  5. Soldeer de printdrukschakelaar S1. De schakelaar kan op twee manieren gemonteerd worden (180 graden verschil). Welke van de twee manieren je kiest, is niet van belang.

  6. Soldeer het 14 pins IC voetje op de plek van IC1. Let op de oriëntatie. De inkeping van het IC voetje moet overeenkomen met de afbeelding op de Proto POV pcb. Monteren gaat het makkelijkst door eerst kruislings twee pootjes vast te zetten en daarna de overige pootjes te solderen.

  7. Soldeer de schuifschakelaar S2. De oriëntatie is niet van belang. Let erop dat de schakelaar mooi recht en vlak tegen de pcb zit.

  8. Soldeer de 8 LEDs D1 t/m D8. De polariteit is hier wel van belang. Het lange pootje van de LEDs is de positieve zijde. Op de Proto POV pcb is de positieve zijde telkens met een plusteken aangegeven.

  9. Soldeer de CR2032 batterijhouder. Let op de oriëntatie. De plaatsing moet overeenkomen met de afbeelding op de pcb.

  10. Schuif de schuifschakelaar S2 naar rechts, in de OFF positie.

  11. Plaats de PIC16F1823 microcontroller. Deze wordt niet gesoldeerd maar in het IC voetje geprikt op de plek van IC1. Let daarbij op de oriëntatie. De inkeping in de microcontroller moet overeenkomen met de inkeping in het IC voetje. Vermoedelijk staan de pootjes van het IC iets teveel naar buiten om makkelijk in het IC voetje geprikt te worden. Je kunt de pootjes wat naar binnen buigen door het IC op z’n zijkant op tafel te plaatsen en dan lichte druk uit te oefenen. Doe dit voor beide zijkanten tot het IC in het IC voetje geplaatst kan worden. Het is normaal dat het plaatsen enige (maar niet te veel) kracht vergt.

  12. Voer nog even een visuele check uit. Alle componenten gesoldeerd? (Merk op: de in-circuit serial programming (ICSP) header blijft onbestukt.) Geen rondslingerende stukjes tin of metaal op het bordje? Geen soldeerbruggen tussen de verschillende pootjes of componenten? Vraag bij twijfel om hulp!

  13. Plaats de CR2032 batterij in de batterijhouder. De pluszijde is de bovenzijde.

  14. En dan nu het moment van de waarheid: schuif de schuifschakelaar S2 naar links, in de ON positie. Knipperen 7 van de 8 ledjes? Komt er geen rook uit het bordje? Gefeliciteerd, de kans is groot dat je een werkende Proto POV hebt gebouwd!

Wil het niet lukken? Foutje gemaakt? Niet tevreden?

Geen paniek! Vraag gewoon om hulp. Alles wat vast kan, kan immers ook weer los. Er zijn enkele middelen en trucs beschikbaar om de meest voorkomende problemen te verhelpen.

Na afloop

Na afloop van het solderen kun je je Proto POV schoonmaken met isopropanol om eventuele flux-resten te verwijderen. Verwijder dan wel eerst de batterij. Vraag om uitleg.

Was je handen na het solderen i.v.m. het lood in het soldeertin!

Je kunt na naar hartelust experimenteren met de Proto POV en de ingebouwde berichten. Met mode schakelaar S1 kun je van bericht wisselen. Met jezelf spelen was nog nooit zo leuk!

Programmeren

Uitgekeken op de standaard berichten? Dan is nu de tijd gekomen om zelf iets nieuws in de Proto POV te programmeren!

Programmeerwebsite

Het programmeren gaat met behulp van de Wayne and Layne Blinky POV programmeerwebsite:

>>> http://www.wayneandlayne.com/blinky_programmer <<<

Daar is ook een uitgebreide uitleg te vinden over hoe het programmeren in z'n werk gaat. In het bijzonder is deze compacte geanimeerde how-to guide erg nuttig:

>>> http://www.wayneandlayne.com/files/blinky/images/... <<<

Normaal gesproken zul je de Proto POV op deze manier herprogrammeren. Je raakt dan wel de oorspronkelijke (toffe) berichten kwijt en het is nog niet zo eenvoudig die zelf weer erin te zetten. Maar de uitdaging is natuurlijk: kun jij iets leukers bedenken?

Firmware vervangen

Het is mogelijk de PIC16F1823 microcontroller met behulp van een geschikte PIC programmer van andere firmware te voorzien. Op deze wijze kun je ook de berichten aanpassen of herstellen. Voor het uploaden van een nieuwe firmware kan de ICSP header gebruikt worden. Tijdens de workshop is een PIC programmer aanwezig; het is dus mogelijk na het experimenteren de oorspronkelijke berichten terug te zetten, indien gewenst.

Gedetailleerde informatie over de werking van het programmeren en hoe de berichten opgebouwd worden, is te vinden op de ontwerppagina van Wayne and Layne.
Sowieso is nu het punt gekomen om wat uitgebreider de Blinky POV website van Wayne en Layne te bestuderen, als je er nog geen genoeg van hebt.

Tips

Mocht het programmeren niet direct lukken, let dan op de volgende zaken, die ook terug te vinden zijn op de Wayne and Layne website:

  • Let op de oriëntatie van het Proto POV bordje. De clock en data lichtsensoren moeten overeenkomen met de clock en data vakjes op de programmeerwebsite. Volg ook nauwgezet de instructies uit de how-to guide m.b.t. de volgorde en het tijdstip van het indrukken van de mode schakelaar S1.

  • Zorg ervoor dat het scherm dat je gebruikt voor het programmeren zo fel mogelijk staat. Kies ook voor een niet al te lichte omgeving tijdens het programmeren.

  • Sommige schermen zijn niet fel of niet snel genoeg. Goede resultaten zijn behaald met een iPhone, een iPad en een Macbook Pro (ja, we hebben Apple aandelen). Chrome schijnt beter (= sneller) te werken dan Firefox en Safari op sommige systemen. YMMV.

  • Tijdens het programmeren (tussen stap 4 en 7 uit de how-to guide) wordt gemeten wat het niveau is van het omgevingslicht om vast te stellen wat als 'zwart' gezien moet worden. Zorg ervoor dat je op dat moment de Proto POV tegen het scherm houdt in de programmeerpositie.

  • Pas eventueel de snelheid aan waarmee de bits verzonden worden. Gebruik daarvoor een grotere vertraging. Standaard staat deze op 40 ms; probeer eens 60 ms of hoger. Begin ook eerst met een kort bericht. Als dat werkt kun je daarna de grenzen gaan opzoeken.

  • Als het programmeren mislukt (checksum error, of er gebeurt niets), dan kan het zijn dat het daarna steeds blijft mislukken. De oplossing is dan vaak een page refresh van de browser. Helaas ben je dan wel die net met veel moeite in elkaar gezette berichten kwijt... ;-)

Ontwerpbestanden en licentie

De Proto POV is open source hardware (OSHW). Dat wil zeggen dat de ontwerpbestanden vrij beschikbaar gesteld worden en door iedereen aangepast mogen worden. De licentie die daarbij gehanteerd wordt, is de CC-BY-SA licentie (Creative Commons - Attribution-ShareAlike 3.0). Bij afgeleide ontwerpen dienen credits m.b.t. het Proto POV ontwerp opgenomen te worden en dient de naam van de auteur vermeld te worden. (Met andere woorden: op soortgelijke wijze als het Proto POV ontwerp credit verleent aan het Blinky POV ontwerp.) Eveneens dient het afgeleide ontwerp onder dezelfde voorwaarden beschikbaar gesteld te worden.

Gory details

Voor wie het wil weten, zijn hier de detail-verschillen tussen het oorspronkelijke Blinky POV ontwerp van Wayne and Layne en de Proto POV:

  • Enkele onderdelen van de Blinky POV zijn aangepast. In principe wordt hetzelfde schema gebruikt als bij de Blinky POV Through Hole v1.08 uitvoering, alleen is het 2xAA battery pack vervangen door een CR2032 knoopcel met een schuifschakelaar, zoals ook gebruikt wordt in de Blinky POV SMD v1.04 uitvoering. Het specifieke type van sommige componenten (LEDs, schuifschakelaar, etc.) zal iets verschillen t.o.v. het origineel. Uitgangspunt bij het samenstellen van de bill of materials (BOM) is o.a. beperking van de kosten geweest.

  • De Proto POV is voorzien van andere berichten. Daartoe is de inhoud van het EEPROM geheugen van de Proto POV aangepast. In principe wordt gewoon de Blinky POV firmware file gebruikt (combined bootloader/POV hex file v1.02), maar is de inhoud van het EEPROM gedeelte aangepast. De aangepaste firmware en de precieze aanpassingen zijn beschikbaar bij de ontwerpbestanden. De (overige) source code is beschikbaar via de website van Wayne and Layne.

  • Bij de Proto POV hebben de TEPT4400 lichtsensoren de benaming Q1 en Q2 i.p.v. D9 en D10  gekregen, aangezien dit formeel photo transistors zijn en geen diodes. Transistors worden doorgaans van een Qn aanduiding voorzien in schema's en op bordjes. Formeel is de + op het bordje waar het lange pootje van de TEPT4400 geplaatst moet worden niet juist, aangezien het geen positieve pin betreft, maar de emitter van de transistor. Uit oogpunt van assemblage-eenvoud is er echter voor gekozen op het bordje dezelfde aanduiding te gebruiken als voor de LEDs, gegeven de optische gelijkenis tussen deze componenten.

  • De Proto POV heeft een andere form factor dan de Blinky POV en ziet er natuurlijk veel cooler uit, met al dat goud :-). Blink Blink goes Bling Bling!

Auteur: Lennart Herlaar