Nixie

Min första nixie-klocka börjar bli färdig. Kretskortslayouten för produktionsmodellen är klar. Krympt från ett enkelsidigt 100x160mm för prototypen till ett dubbelsidigt, 38x120mm kort.

Igår fixade jag lite med programvaran i prototypen för att den skulle bete sig som en klocka, varvid jag hittade:

  • en firmware-bug
  • två hårdvarufel (endast prototypen) och
  • ett designfel

Programbuggen fanns i “drivrutinen” för 4094-shiftregistret. Jag hade tolkat diagrammen som att det skulle vara en klockpuls under output-enable-stroben, vilket fick som resultat att datat på pinnarna shiftades ett steg för mycket, vilket gjorde att siffrorna mest flimmrade. Utan denna extra klockpuls funkade allt mycket bättre, så att hårdvarufelen dök upp.

Under testkörningen var det tydligt att siffrorna 9 och 3 tändes samtidigt, samt att siffran 4 inte tändes alls. Kortslutning mellan 9 och 3 var lätt att lokalisera med lupp och berodde på en onödigt generös lödning som hade bildat en liten “brygga” till en bana 10 mil (alltså 10 tusendels  tum) bort. Att fyran inte tändes var svårare att se, och berodde på att jag missat att löda fast kollektorn på transistor Q13 (en PMBTA42 i SOT23). Omöjligt att se utan lupp, och lätt att missa med.

Designfelet var lättast att se, åtminstone symptomet. En av siffrorna lyste inte alls. Ursprungligen berodde detta på det här, men när jag lödde dit nya komponenter (delvis hängande fritt i luften) upptäckte jag att felet fanns kvar. En närmare undersökning visade att jag råkat välja den enda porten på PIC16F688 som inte kan vara utgång för att styra denna siffra. Lätt att fixa på schemat och i kretskortslayouten, men ganska svettigt om kortet tillverkats 🙂

Kvar att fixa är nu ovanstående designfel på prototypen, skriva programvara för att ställa klockan med knapparna och göra ett långtidstest för att se om step-up regulatorn som ska omvandla 12VAC från väggvårtan till 180VDC håller måttet och inte brinner upp 😉