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 😉