28 January 2017

Arduino Nixie voltage booster: 12 V to 200 V

Nixie PSU kits are cheap and robust, but sometimes they can be "too much" for a project: too big, too costly, too powerful . It is the case of single tube circuits, where the current requirement is pretty low and board/case space too.

The Net is full of projects that use the 555 in place of specialised IC's: a PWM signal controlling a MOSFET it's (almost) all that you need. Since my circuits are usually based on Arduino, why not use its embedded PWM generator? Again, there is at least one fully working Arduino code and diagram on the Net, and that's where I started (thanks to Ian of nixieclock.biz).

While I could get clean HVDC, it was too high: even more than 350 V! But but but it would drop to about 200V when current was drawn. It behaved like a far-from-ideal voltage generator with a high internal resistance.

All of this could be fixed with careful run-time trimming of PWM parameters in software after a thorough (software) calibration, but still the firmware would lack the real-time response provided by specialised circuits. So I went a different way.

I used a Zener diode to keep the voltage at 180 V. When the Nixie lights up it "pulls" the current its way, effectively cutting out the Zener. The trick here is to calculate the drop resistor Rz before the Zener in a way that it will load the power supply slightly less then the Nixie. When displaying a digit this Rz becomes part of the anode current limiting resistor you need to add anyway. Since the Nixie sustain voltage is less than the striking/Zener voltage, you need Ranode > Rz with Ranode = Rx + Rz. Just do the math in such a way that the anode current is a few hundreds of microA higher than the "stand-by" current.

Yes, I know I am wasting power into the Zener, but this way I keep control over the maximum voltage if something fails upwards in the PWM chain. Moreover, since I fully control the firmware, I can save power by turning totally off the voltage booster when nothing is to be displayed. Last but not least, as in the original circuit, a resistive voltage divider lets me read the output value though one of Arduino ADCs.

I will share the diagram in a second post on this topic.

12 January 2017

From Eagle to KiCad

For Xmas 2016 I gave myself a little time to test KiCad as a replacement of Eagle.

Even if I used it for very few hours, I could not get the right feeling with Eagle interface and most of the boards in my wishlist would not fit the free version limit.

So I jumped in the Hack-A-Day tutorial series on "Creating a PCB in Everything" and tried KiCad. I love their old-school keyboard shortcuts. I love the way the interface responds when drawing a schematic diagram. I could easily (cough... I had to) design my own symbols for Nixie and VFD and their respective footprint.

So far it has been a positive and productive experience with ZM1332/5870S and IV-6 drawn in KiCad, both symbol and footprint.

I need to define a couple more tube display components and then I'll work on my first PCB to send to a fab house.

Meanwhile I keep up-to-date my own KiCad libraries on github.

09 January 2017

Nixie Tube Ciapapuer - 3 - final firmware

Lately I have pushed to github a new version of the Nixie Tube Ciapapuer firmware.

The main change lies in the way the random number generator is initialised, that now relies on an external library called Entropy. For simplicity I added the library in the github area too. It relies on small speed differences of oscillators within the Arduino microcontroller.

A second change is that the depoison routine (or slot-machine effect) can go either backwards or forward, and it's all chosen randomly.

That's it.

03 January 2017

Ham calls in a stationery store

I was walking in the neighborhood this afternoon and at the stationer's shop window I saw these bags:

They show supposedly U.S. vanity car plates with HAM callsigns. W6HQF seems to be expired, but NCA is not.

Looking up other callsigns is left as an exercise to the reader.