Click edit button to change this text.

Nixieklokker er aldri feil. Spesielt ikke når de virker :)

De tidligere klokkene jeg har designet, har alle hatt ett problem. D.v.s. det har vært et lite helvete å stille klokka, eller synkronisere mot en ekstern klokkekilde. Jeg har vært innom alle varianter fra manuell innstilling ved boot, til bluetooth. Jeg vurderte også DCF77 en periode. Jeg har faktisk en mottaker liggende i skuffen, men – livet er for kort.

Jeg har tidligere brukt gratisversjonen av Eagle, da jeg ikke helt har klart å bli komfortabel med KiCad, eller vunnet i lotto, slik at jeg kunne kjøpt meg en Altiumlisens til 70000.  Dermed har også den maksimale størrelsen på klokkene vært begrenset av hva som er mulig i gratisversjonen i Eagle.

Heldigvis, så kjøpte Autodesk CadSoft, som laget Eagle. Autodesk endret da også lisensstrukturen, slik at man nå kan slippe langt rimeligere unna, hvis man ønsker å lage kretskort som er større enn 80×100, eller har flere enn to lag.

Dette designet er 4-lags og kortet er stort nok til å romme 6 nixie-rør. Ved å utforme dette som et shield, som kan plugges på GPIO-connectoren på en Raspberry Pi Zero W, så oppnådde jeg flere ting.

  1. Problemet med klokkesynkronisering forsvant, takket være at Pi’en alltid har korrekt tid, via NTP.
  2. Jeg kan nå SSHe til klokka og gjøre utvikling på klokka. Nixieklokka har både git, gcc og vi. Yay! :)

Kortet har en ekstern connector for VIn. Gnd og 170V. VIn er det samme signalet som 5V-railen på raspberryen. Jeg har ennå ikke testet dette, men det burde være mulig å drive raspberryen med 5V inn her istedet for via USB, hvis man har et velregulert Nixie power, som også gir 5V ut. Vær oppmerksom på at man da høyst sannsynligvis bypasser TVS-dioden som skal beskytte raspberryen mot for høye spenninger. Jeg har ikke nistudert raspberry-skjemaet. D.v.s. eksperimenter på eget ansvar.

Alternativet er å drive klokka via USB, og hekte på en 5-170V boost converter på denne headeren (Disse finnes, men jeg er ikke imponert over ytelsen). Anoderesistorene, som er spesifisert til 5,6K i designet må tilpasses drivspenninga til Nixiene. Du kan fint bruke et 180 eller 190V power, så lenge du passer på at strømmen gjennom hvert rør ligger på 2-3mA.

Skjema, PCB layout, BoM og driverkode ligger på github: https://github.com/hansj66/Nixie-Modules

Headless oppset av Rasperry Pi Zero er ganske enkelt. Last ned siste versjon av Raspberry Strecth Lite og flash dette til et SD-kort. Deretter oppretter du en tom fil på rota ved navn “ssh”. I tillegg, så må du opprette ei fil på rota, for å konfigurere wifi. Denne kaller du “wpa_supplicant.config”. Her spesifiserer du SSID og passort. Eksempel:

country=US
 ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
 update_config=1

network={
 ssid="your_real_wifi_ssid"
 scan_ssid=1
 psk="your_real_password"
 key_mgmt=WPA-PSK
 }

Deretter booter du raspberryen med SD kortet i. Du kan bruke NMAP for å finne raspberryen på nettet. Kjør følgende kommando fra en annen maskin på samme nett:

nmap -sS -p 22 192.168.10./24

Du vil da få en liste over maskiner på lokalnettet som kjører SSH.

SSH inn på raspberryen og installer følgende:

wiringPi må patches (se wiringPi_patch folderen på git), pga en liten brainfart på min side (Jeg brukte en ULN2003 som level shifter for å kunne koble 3.3V GPIO til 5V-logikken på shieldet. Glemte at dette trikset inverterte kontrollsignalene til shiftregisterene). Kopier inn sr595.c fra git repoet mitt over tilsvarende fil i wiringPi og rekompiler wiringPi. Naviger deretter til driver-folderen og kompiler klokkedriveren med følgende kommando:

gcc -Wall -o clock clock.c -lwiringPI

Start klokka ved å kjøre:

./clock