Neonhorloge ontwerp gegevens

Speciaal voor hen die zelf ook een neonlampjes-horloge willen bouwen, of diegenen die gewoon willen weten hoe het in elkaar zit (stelletje ingenienerds! 😉 ), zal ik in deze post de ontwerp-bestanden delen1. (Also available in English).

Voor wie liever naar de buitenkant kijkt, hier is een linkje naar de blogpost over de buitenkant.

Het neonhorloge is niet veel groter dan een ‘normaal’ horloge. Paperclips voor de schaal.

Esthetische ontwerpafwegingen:

Ik heb een bestaande horlogekast gebruikt voor het neonhorloge, omdat met dat mooier leek dan een 3d-geprinte zelfgemaakte horlogekast. Iemand die kan toveren met draai- en freesbanken maakt daarin mogelijk een andere afweging.

De 4 neonlampjes zijn symmetrisch verdeeld over de wijzerplaat. Eerder overwoog ik een binair neonhorloge met 3 lampjes, maar ik vond dat niet mooi. Zie de 3d-renders hieronder:

De neonlampjes in een uitsparing van de print plaatsen was een mogelijkheid geweest om meer ruimte in de ‘dikte’ van het horloge te krijgen, ten koste van ruimte om sporen en componenten op de print te plaatsen. Dat maakte routing van de print lastig en lelijk, en heb ik dus niet gedaan.

Hardware / software ontwerpafwegingen:

In plaats van een spanningsdeler om de batterijspanning te meten, zou ik ook gebruik hebben kunnen maken van de methode2 uit Microchip appnote 2447. Het is makkelijker een spanningsdeler achteraf niet te plaatsen waar wel ruimte voor is dan om achteraf ruimte te maken, dus hij zit gewoon op de print.

De fototransistor is ook AC gekoppeld aangesloten op een andere ADC-ingang (via C8), om dingen als de afstandssensor die ik eerder postte mogelijk te maken in combinatie met de LED naast de fototor, maar dat heb ik in de huidige firmware van het horloge niet toegepast en ook niet getest met deze hardware.

Er zijn nog veel meer afwegingen, vraag het gerust in de reacties als u iets wilt weten.

Hoe werkt het gelijkzetten?

De datacommunicatie voor het gelijkzetten heeft een eigen blogpost die de versturende kant behandeld.

Ontvangst wordt gedaan door op een vaste samplerate de lichtsensor te bemonsteren, het aantal samples te tellen dat “donker” is en als het “licht” wordt te kijken of het aantal donkere samples een ‘1’ of een ‘0’ betekent.

Een 1 is 40 ms donker gevolgd door 80 ms licht.

Een 0 is 80 ms donker gevolgd door 40 ms licht.

Een bit duurt normaal 120 ms. Er wordt opnieuw begonnen bij het nulde bit van de ontvangst als de lichte periode langer duurt dan 156 ms. (dat is 10 sampletijden 😉 )

Bouwen en gebruiken

Er zijn enkele onderdelen die lastig te solderen zijn, zoals te ATMega48A in QFN (geen pootjes) en de minuscule 0402 condensatoren bij het kristal. Met (lagetemperatuur) soldeerpasta, hete lucht, en een goed pincet is het te doen maar maak de afweging of dat gaat lukken voordat u een printje laat maken3. Bedenk ook dat er geen accu-lader op de print zit4.

Bestukken kan aan de hand van de materiaallijst of aan de hand van het schema. Nadat alle onderdelen gesoldeerd zijn en de voeding is aangesloten kan de software (in dezelfde zip) in de ATMega worden geflasht met een AVR-programmer naar keuze. De pin-out van de ISP-connector staat in het schema. Een 1 mm pitch header kan gebruikt worden als tijdelijke verbinding.

Als het horloge wordt aangezet, doet het nog niks, totdat het is gelijkgezet. Gebruik daarvoor het python-programma (of bouw een lichtwekker).

Deze zipfile met ontwerp-bestanden bevat het schema (pdf&kicad), pcb-ontwerp (kicad&gerber), firmware (.hex en source) en de python-software van het neon-horloge.

Ik vind het leuk van u te horen als u een dergelijk neonhorloge heeft gemaakt of wilt gaan maken. Laat een reactie achter of stuur me een mailtje.

Voetnoten:

  1. Voor niet-commercieel gebruik. Zie bijgevoegde ‘licentie’. ↩︎
  2. In die appnote wordt uitgelegd hoe de ADC zijn eigen voedingsspanning kan berekenen door de de voeding als referentie te gebruiken en een bekende (interne referentie) spanning te meten. Er is dan geen spanningsdeler op een ADC ingangspin nodig, zodat er ook geen stroom door die deler loopt en de pin vrij blijft voor een ander doel. ↩︎
  3. Of vraag mij eventueel of ik nog printjes heb. (op moment van schrijven wel) ↩︎
  4. Neem bijvoorbeeld 1 van de ‘ single cel charger’ printjes die door diverse handelaren wordt aangeboden, ingesteld op een gepaste laadstroom (maximaal 110 mA voor de 110mAh LP401230 accu). ↩︎

Posted

in

,

by

Tags:

Comments

2 responses to “Neonhorloge ontwerp gegevens”

  1. jan Avatar
    jan

    Leuk project.

    Heel even dacht ik nog, wauw wat een grote paperclip zeg… maar dat zou natuurlijk heel raar zijn want zo’n grote paperclip heb je natuurlijk helemaal niets aan (wie heeft en nu zulke grote papieren om te paperclippen). Dus de enige logische conclusie is dan dat die horloges wel heel klein zijn. Zijn dit horloges uit een poppenhuis of van paulus, Nils Holgersson of kabouter plop ofzo? Petje af hoor, ik vond het al knap dat je alles in een bestaande horlogekast hebt weten te krijgen maar nu ik me realiseer hoe klein die horloges echt zijn, wauw, petje af hoor.
    En wat leuk dat je van die hele kleine iniemini paperclipjes hebt gevonden en ze er als grapje naast hebt gelegd. Haha, je bent me er eentje zeg.

    Hoe dan ook een heel bijzonder project met tal van leuke uitdagingen. Dat instellen van de tijd via de lichtsensor is ook brilliant bedacht hoor.

    1. Lucas Avatar
      Lucas

      Als het poppenhuis-horloges zouden zijn, zou ik eerst een krimpstraal hebben moeten uitvinden om ze te kunnen dragen… (Of een groeistraal, voor de horloges, da’s eigenlijk praktischer).

      Het is een mega-paperclip. Die heb ik in een ver verleden (3 VWO, bijna 20 jaar geleden) gekregen van een middelbareschool-klasgenote nadat ik op een open podiumavond een droogkomisch stukje verteld had over het karakter van paperclips. Hoe ze bevestiging kunnen bieden. Hoe ze in theorie in peperkoek gebruikt kunnen worden, maar dat koekkruiden beter smaken. Dat soort dingen.

      En dank je wel!

Leave a Reply

Your email address will not be published. Required fields are marked *