I'm working on what should be a simple bit of inhouse test equipment. Basically I have 50 or so signals I want to display on a PC screen. The signals will be either floating, or anywhere from ground to 24 volts. I'd be happy with 5% measurement error.
Please see http://alpage.ath.cx/tester.gif for part of the schematic. Please keep in mind that this was done in a hurry :) Some resistor values: R2+R3 are tens of ohms, R1 is 10K, and the series resistors for the 4051's are 47K. VCC is 5V. C7 is .1uF.
My design uses a number of 74HC4051's to funnel a selected signal into an ADC input of a microcontroller. What I had hoped would happen is, for each signal
1) The voltage divider would be disabled by turning the FET off.
2) The microcontroller would briefly discharge C7, wait a bit, then see if it has been charged by an external voltage. It would then charge C7, wait a bit, and see if a signal has discharged it. The micro can then decide if the signal can be considered floating.
3) If not floating, turn the FET back on to enable the voltage divider, wait a bit, then read the voltage directly.
The problem is, when I put 24V into an unselected 4051, it will go nuts and quite happily pass a few volts to the output! This completely messes up my floating signal detection scheme. I would have _thought_ that the static protection diodes would have clamped the signal to ~5.6V and that would be the end of it. I'm not sure why I get any output at all, considering all channels of that 4051 should be high impedance.
I know this is a bit of a hack of a design, but I'm only going to make 2 or 3 of them tops. The problem is I already have the PCBs made up and would rather not respin them. I also don't really want to try adding 50 or so 4V7 zener diodes to each PCB if I can help it.
Is there a clever solution to this problem? Does anyone know any drop- in 74HC4051 replacements that will tolerate my abuse without putting garbage on their output line?
On a sunny day (Wed, 12 Mar 2008 03:38:44 -0700 (PDT)) it happened Al Borowski <al.borow...@gmail.com> wrote in <01d92954-138f-4531-aefa-8e48c211c...@e23g2000prf.googlegroups.com>:
>Hi all,
You need to do the voltage division _before_ the 4051 input. That chip is not specified for 24 V.
Maybe you can solder some extra resistors to ground from the input pins.
On Mar 12, 3:38 am, Al Borowski <al.borow...@gmail.com> wrote:
> Hi all,
> I'm working on what should be a simple bit of inhouse test equipment. > Basically I have 50 or so signals I want to display on a PC screen. > The signals will be either floating, or anywhere from ground to 24 > volts. I'd be happy with 5% measurement error.
One method: Move the capacitor C7 to the input side of the MUX. This means you now will have 50 capacitors. Make sure that the time constant is long enough that the micro can zip around all of the inputs and discharge them before they exceed VCC. You will have to change the code a bit too.
Another method: Run a Schottky diode from each input to VCC so that it can't turn on the substrate diode.
Third method: Find someone who makes a SOS version of the 4051. In the SOS part the protection diode isn't really the EB junction of a parasitic transistor.
> Please keep in mind that this was done in a hurry :) Some resistor > values: R2+R3 are tens of ohms, R1 is 10K, and the series resistors > for the 4051's are 47K. VCC is 5V. C7 is .1uF.
> My design uses a number of 74HC4051's to funnel a selected signal into > an ADC input of a microcontroller. What I had hoped would happen is, > for each signal
> 1) The voltage divider would be disabled by turning the FET off.
> 2) The microcontroller would briefly discharge C7, wait a bit, then > see if it has been charged by an external voltage. It would then > charge C7, wait a bit, and see if a signal has discharged it. The > micro can then decide if the signal can be considered floating.
> 3) If not floating, turn the FET back on to enable the voltage > divider, wait a bit, then read the voltage directly.
> The problem is, when I put 24V into an unselected 4051, it will go > nuts and quite happily pass a few volts to the output! This completely > messes up my floating signal detection scheme. I would have _thought_ > that the static protection diodes would have clamped the signal to > ~5.6V and that would be the end of it. I'm not sure why I get any > output at all, considering all channels of that 4051 should be high > impedance.
> I know this is a bit of a hack of a design, but I'm only going to make > 2 or 3 of them tops. The problem is I already have the PCBs made up > and would rather not respin them. I also don't really want to try > adding 50 or so 4V7 zener diodes to each PCB if I can help it.
> Is there a clever solution to this problem? Does anyone know any drop- > in 74HC4051 replacements that will tolerate my abuse without putting > garbage on their output line?
> I'm working on what should be a simple bit of inhouse test equipment. > Basically I have 50 or so signals I want to display on a PC screen. > The signals will be either floating, or anywhere from ground to 24 > volts. I'd be happy with 5% measurement error.
> Please see http://alpage.ath.cx/tester.gif for part of the schematic. > Please keep in mind that this was done in a hurry :) Some resistor > values: R2+R3 are tens of ohms, R1 is 10K, and the series resistors > for the 4051's are 47K. VCC is 5V. C7 is .1uF.
> My design uses a number of 74HC4051's to funnel a selected signal into > an ADC input of a microcontroller. What I had hoped would happen is, > for each signal
> 1) The voltage divider would be disabled by turning the FET off.
> 2) The microcontroller would briefly discharge C7, wait a bit, then > see if it has been charged by an external voltage. It would then > charge C7, wait a bit, and see if a signal has discharged it. The > micro can then decide if the signal can be considered floating.
> 3) If not floating, turn the FET back on to enable the voltage > divider, wait a bit, then read the voltage directly.
> The problem is, when I put 24V into an unselected 4051, it will go > nuts and quite happily pass a few volts to the output! This completely > messes up my floating signal detection scheme. I would have _thought_ > that the static protection diodes would have clamped the signal to > ~5.6V and that would be the end of it. I'm not sure why I get any > output at all, considering all channels of that 4051 should be high > impedance.
> I know this is a bit of a hack of a design, but I'm only going to make > 2 or 3 of them tops. The problem is I already have the PCBs made up > and would rather not respin them. I also don't really want to try > adding 50 or so 4V7 zener diodes to each PCB if I can help it.
> Is there a clever solution to this problem? Does anyone know any drop- > in 74HC4051 replacements that will tolerate my abuse without putting > garbage on their output line?
> Thanks a ton,
That's a perfect illustration of why some of us here repeatedly say to NOT use the clamp diodes as part of the normal circuit, even if it's tempting.
Now for your pb look for fault protected switches. Some can swallow up to 40 volts input.
>I'm working on what should be a simple bit of inhouse test equipment. >Basically I have 50 or so signals I want to display on a PC screen. >The signals will be either floating, or anywhere from ground to 24 >volts. I'd be happy with 5% measurement error.
>Please see http://alpage.ath.cx/tester.gif for part of the schematic. >Please keep in mind that this was done in a hurry :) Some resistor >values: R2+R3 are tens of ohms, R1 is 10K, and the series resistors >for the 4051's are 47K. VCC is 5V. C7 is .1uF.
>My design uses a number of 74HC4051's to funnel a selected signal into >an ADC input of a microcontroller. What I had hoped would happen is, >for each signal
>1) The voltage divider would be disabled by turning the FET off.
>2) The microcontroller would briefly discharge C7, wait a bit, then >see if it has been charged by an external voltage. It would then >charge C7, wait a bit, and see if a signal has discharged it. The >micro can then decide if the signal can be considered floating.
>3) If not floating, turn the FET back on to enable the voltage >divider, wait a bit, then read the voltage directly.
>The problem is, when I put 24V into an unselected 4051, it will go >nuts and quite happily pass a few volts to the output! This completely >messes up my floating signal detection scheme. I would have _thought_ >that the static protection diodes would have clamped the signal to >~5.6V and that would be the end of it. I'm not sure why I get any >output at all, considering all channels of that 4051 should be high >impedance.
The esd diodes do clamp the inputs to maybe 0.7 volts past the rails. But that's still enough to turn on the series-pass fets in common-gate mode in some architectures; most 4051's will do this.
There are mux'es that don't do this, but they mostly have a different (DG508-type) pinout. I think somebody makes a better mux in the 4051 pinout, Maxim maybe. But the Maxim part may have latchup issues.
A schottly clamp might help, but keep in mind it's the pin voltage that's turning on the fets, not the conduction of the internal esd diode. A diode clamp to Vcc-0.7 is better, or your 4.7 volt zeners. The datasheets should point this out, as it causes repeated grief.
> 2) The microcontroller would briefly discharge C7, wait a bit, then > see if it has been charged by an external voltage. It would then > charge C7, wait a bit, and see if a signal has discharged it. The > micro can then decide if the signal can be considered floating.
Makes no sense whatosever, and especially with C7 at 0.1u....
On Mar 12, 6:38 am, Al Borowski <al.borow...@gmail.com> wrote:
> I'm working on what should be a simple bit of inhouse test equipment. > Basically I have 50 or so signals I want to display on a PC screen. > The signals will be either floating, or anywhere from ground to 24 > volts. I'd be happy with 5% measurement error.
If you can tolerate so much error, you could probably just put voltage dividers on each input to map the full DC input range into the range of an ADC (and by extension the analog muxes before it).
Then you can do your DC offset removal in software.
Yes, it's noisier this way, but probably not too noisy to meet your loose requirement. You may also be able to take a lot of readings and average them in the time that you would have spent charing and discharging capacitors.
Hi John and everyone, thanks for the constructive replies. The easiest solution seems to be ditch the 4051 and drop in a heap of 74hc4851's instead, and forget having to mod the boards.
> >I'm working on what should be a simple bit of inhouse test equipment. > >Basically I have 50 or so signals I want to display on a PC screen. > >The signals will be either floating, or anywhere from ground to 24 > >volts. I'd be happy with 5% measurement error.
> >Please seehttp://alpage.ath.cx/tester.giffor part of the schematic. > >Please keep in mind that this was done in a hurry :) Some resistor > >values: R2+R3 are tens of ohms, R1 is 10K, and the series resistors > >for the 4051's are 47K. VCC is 5V. C7 is .1uF.
> >My design uses a number of74HC4051'sto funnel a selected signal into > >an ADC input of a microcontroller. What I had hoped would happen is, > >for each signal
> >1) The voltage divider would be disabled by turning the FET off.
> >2) The microcontroller would briefly discharge C7, wait a bit, then > >see if it has been charged by an external voltage. It would then > >charge C7, wait a bit, and see if a signal has discharged it. The > >micro can then decide if the signal can be considered floating.
> >3) If not floating, turn the FET back on to enable the voltage > >divider, wait a bit, then read the voltage directly.
> >The problem is, when I put 24V into an unselected 4051, it will go > >nuts and quite happily pass a few volts to the output! This completely > >messes up my floating signal detection scheme. I would have _thought_ > >that the static protection diodes would have clamped the signal to > >~5.6V and that would be the end of it. I'm not sure why I get any > >output at all, considering all channels of that 4051 should be high > >impedance.
> The esd diodes do clamp the inputs to maybe 0.7 volts past the rails. > But that's still enough to turn on the series-pass fets in common-gate > mode in some architectures; most 4051's will do this.
> There are mux'es that don't do this, but they mostly have a different > (DG508-type) pinout. I think somebody makes a better mux in the 4051 > pinout, Maxim maybe. But the Maxim part may have latchup issues.
> A schottly clamp might help, but keep in mind it's the pin voltage > that's turning on the fets, not the conduction of the internal esd > diode. A diode clamp to Vcc-0.7 is better, or your 4.7 volt zeners. > The datasheets should point this out, as it causes repeated grief.
> Clamp or divide down the inputs *before* the mux.