Problem with 555 charge pump and Arduino rebooting

Hi there!

I'm trying to build a nixie clock that will have a dekatron running just for fun.

All the nixies are powered by a linear power supply (so there is no tube multiplexing) that provides 190V. The arduino is powered by another 5V power supply, and both share the same ground rail.

To power the dakatron, I needed to step up the HV to something near 500V, so I used a 555 charge pump the triples the HV. I used M. Moorrees schematic to achieve that: https://threeneurons.files.wordpress.com/2011/08/charge_pumps.gif

I get the correct HV for dekatron, but it seems that when the tripler is connected, the arduino reboots all the time.

I2C link with the RTC is getting mad, serial communication returns scrap...

Also, I tried to change the 555 capacitor to change its working frequency, but didn't help.

And I noticed that if I don't use I2C bus (let's say a basic sketch that only returns Hello World) then everything works fine...

Anyone having an idea of what is going wrong?

  1. Make sure you have massive decoupling on the 555 power itself, 330uF perhaps (555's are
    horribly spikey on their supply current - CMOS 555's are way better).

  2. You have massive dV/dt from that high voltage inverter/tripler - you must screen that from
    the low voltage stuff with a grounded shield.

Thanks MarkT for your answer!

I didn't add decoupling capacitors on the 555, so I'll try that and get back to you with the results.

What do you mean by massive dV/dt ?
I understand here delta volt / delta time, am I alright? Which values should I consider for this ratio?

Large dV/dt will produce lots of interference from stary capacitance. The rate of change of potential
is everything for capacitive interference. You are switching 500V, so the dV/dt is likely to be very high.

The same goes for dI/dt and inductive interference caused by magnetic coupling. Stray capacitance
is just another way to say electrostatic coupling of course!

Thank you very much MarkT, and for two reasons!

First of all, adding a 470uF cap directly on the 555 supply worked very fine, my dekatrons are spinning and my I2C bus works perfectly!
For now, I added it temporarily on the copper side of my PCB, but i'll drill some holes to make it definitive.

Second point, thank you for showing me how interferences may occur, it made me make some research about that, and I learned a lot, thanks !!!

Hi,
Have you got your 500V supply in a grounded metal shield?

Tom.. :slight_smile:

Hi Tom,

No I did not put it in a grounded case, as I'm not really able to do it...

My mistake was that I designed my clock like an old computer, a motherboard with the arduino, and several daughter boards, for each function. And I tested each function independently on a breadboard, so when I tested the dekatron spinner, there was no I2C link with the RTC no port extenders etc.., and this way the Arduino worked fine.

When I put everything together on nice PCBs, then I saw it didn't work...

Here's a pic of the actual system, the Dekatron spinner / HV supply is the 3rd card, port extender and transistors at the bottom, and HV supply/tripler at the top..
Would be hard to shield this part :confused:

https://s22.postimg.org/uprgsss9t/IMG_6592.jpg

Hi,
OPs pic

You can still place insulated metal dividers around the 500V supply PCB, does you 500Vdc output travel on the PCB or by shielded flying lead?
Have you bypassed the 500Vdc pcb at the edge connector.

Tom... :slight_smile:

You cannot expect a 500V high frequency AC power circuit to not interfere with
nearby logic without a faraday cage around it. Some sort of metal box/shield is
needed around the HV section.

You've arranged the boards in about the worst manner possible - if they were flat on a metal backplate
and arranged with the HV section well away from the logic it would be much better. You've allowed
enough stray capacitance for significant currents to be induced in your logic board, it only takes
a pF or two at those dV/dt levels

According to my oscilloscope, the voltage varies 25V peak-to-peak, around 500V, at the frequency of ~45Hz (22ms per period), I'm not sure we can talk about high frequency AC, but I may be wrong.

MarkT, my project and boards are probably not perfect, and my Arduino code may not be optimized as it should be, but I'm new to logic electronics (I built tube amps before that, and all worked perfectly), and I went here to get some advise (as you did with the decoupling cap, that worked well), to learn some new things, because I want to develop my own clock and not just buy an already designed kit I would just have to solder..

That said, adding a cap worked and everything is alright now, and thank you for that.
But if I have further problems I'll try on other places where I won't be judged on how I made the boards, but rather get some advises on how to improve them.

LeoDayone:
According to my oscilloscope, the voltage varies 25V peak-to-peak, around 500V, at the frequency of ~45Hz (22ms per period), I'm not sure we can talk about high frequency AC, but I may be wrong.

Yes, you are wrong. Its not a sine wave, the harmonics go up to MHz.