There's a wealth of info out there on choosing the right Zener diode for voltage regulation. Calculations deal with the amount of current that your circuit needs, along with the input voltage and the required output voltage. So given two voltages and a required current you can find the value for a current limiting resistor. Like this question
https://electronics.stackexchange.com/questions/28944/selecting-correct-zener-diode I only have the second edition of The Art of electronics but that book didn't deal with protection, only regulation. Perhaps the 3rd edition has expanded to answer those questions, and I should put it on the shopping list.
In the mean time, unfortunately I'm trying to use the zener diode for protection of a micro-controller's GPIO (3v3) Pin. I've tried this in the past and I've always struggled with it. I'm using a OneWire bus. The OneWire bus is pulled up with a 5k1 resistor to the 3v3 supply rail. Then there's a 12V rail which must be connected to the bus for the program pulse of the device. So the uC is disconnected briefly from the OneWire bus and then the bus is connected to the 12V programming pulse. Once finished the 12V is disconnected and a short time later the uC is reconnected to the bus.
I'm struggling to understand the results I'm getting from the zener diodes I'm trying. As I say I've got a current limiting resistor, which is taken off the bus as I don't want to interfere with bus timings. I got a number of zener diodes thinking I'd surely find one that works for me. Even before I try the programming pulse the 3v3 zenner diode is pulling the bus down to 2.08V? I'd have thought that when a 3v3 Zener diode is connected to a 3v3 bus then the zener would be doing nothing, as in not conducting. I've tried 4 zeners of different values and even the 4.7V zener diode is pulling the 3v3 bus down to 3v before there's a pulse on the bus. That is not what I'd expected at all. I can't square that information with what I'm reading about Zener diodes.
If anybody could shed some light on what I've done wrong or what I'm misunderstanding I'd be really grateful. I'm trying to get past this OneWire zener problem so that I can then use a suitable zener to protect an uC ADC. In that case there'll be no current entering a GPIO so it might be easier.
Diode | Zener Voltage | Power | Idle Bus Voltage | pulse peak on reconnect |
MMBZ5226B | 3.3V | 350mW | 2.08V | 3.24V |
MMBZ5227BLT1G | 3.6V | 225mW | 2.12V | 3.44V |
MMBZ6228BLT1G | 3.9V | 225mW | 2.36V | 3.68V |
MMBZ5230B | 4.7V | 350mW | 3.00V | 4.4V |