Hello.
I am still enhancing my nixie clock firmware, which now handles 4 and 6
tubes, decimal dots (with many effects) and more. I'll post a link,
pictures and videos once I get everything running, but it looks
promising so far :)
While adding an IR receiver, I am facing a weird issue. The tubes are
multiplexed, there are 3 anode drivers. The high voltage is controlled
by the PIC18. The IR receiver (a TSOPxx model) is hooked to an interrupt
pin (RB1 here), and software does the decoding. Everything works fine
when high voltage is off, or when the tubes are driven with low
brightness. When brightness is medium or high, my code doesn't work
anymore. Of course, I did some debug effort, and used the scope to
discover that I am seeing spurious interrupts when the switch from one
pair of tubes to the other pair occurs. One can see the scope trace here
:
<>
The yellow trace is the interrupt line. It should be flat at 5V. The
signal goes low enough to generate an interrupt. With low brightness,
the same signal is there, but it doesn't drop low enough to cause the
interrupt.
The blue line is the +5V rail. Notice the 200mV scale, the +5 is very
stable.
The TSOPxx is wired as suggested in the datasheets (through a 100ohm
resistor, and a 4.7uF cap). There is 470uF low-ESR near the inductor in
my power supply, and 47uF behind the 7805 regulator (and several 100nF).
The spurious interrupt occurs when the pair of tubes is changed. Too bad
my scope has only 2 traces, but if I look at the anode driver pin using
the blue trace, I can see the 0->1 transition occurring just after the
interrupt is generated (a few ns after the yellow signal is at its
lowest position).
I tried adding more decoupling, but that didn't help.
Does anybody have a suggestion ? I know how I can solve this in software
(detect the first interrupt, check later if it's a valid one, and if
yes, stop the multiplexing until the IR command is received), but I
would like to understand why I am seeing this !
Cheers,
-Frederic