How does one know for sure if a circuit is "analog"?

Status
Not open for further replies.

patrick99e99

Newbie level 4
Joined
Aug 23, 2013
Messages
7
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Visit site
Activity points
63
I have been experiencing a very strange problem... I've got this 50v step up driver board (i've attached the schematic).
So, J5 has 50v going into it, and J4 + J5 go to a solenoid, which should fire when J1 and J3 are shorted with GND.

I am assuming this is an analog circuit, since it's not involving 5v anywhere.. This is correct, yes?

Anyway, the circuit works perfectly when I test it by shorting J1 and J3 with GND... The solenoid fires.. Everyone is happy.

So, the next step--- I am trying to trigger this J1/J3 short via a micro controller chip... So I built a circuit which takes 5v + GND, powers a micro controller chip, and that chip sends 5V to a relay, which allows GND to pass through into J1 and J3... The problem is, once the micro controller chip is introduced into the world, the solenoid no longer fires-- instead, it "taps"-- like it's trying real hard to fire, but just doesn't have enough umph to do it.

If I run a 2nd ground wire to the relay's switch (input side), then BAM, it works...

I was quite confused by this, until I read the following:

(from https://www.analog.com/library/analogdialogue/archives/46-06/staying_well_grounded.html)

So is this what's happening? My 5v digital circuit is mucking up the ground, and the 50v analog circuit is unhappy about it?

I don't really want to have two ground wires going to my circuit, so I am wondering what I can do to solve this problem? I thought initially I could just stick a 10k resistor between the relay's output and J1 of the 50v board...... But, that didn't seem to do anything.

Could anyone give me some guidance and suggestion on what I should do?
 

Attachments

  • stern_50v_board.png
    211.8 KB · Views: 127

Firstly, it's digital not analog!

The circuit works by using the first transistor as a digital inverter. The second transistor is a power driver, presumably to drive a relay or solenoid conneced between J1.4 and J1.5.
With J1.1 open circuit or at least allowed to rise to it's natural voltage, the first transistor is made to conduct by the voltage on it's gate which comes from a potential divider R1+R2 and R3. This makes it about 7.6V which is plenty to make it conduct and pull it's drain pin close to GND. When the input pin (J1.1) is pulled low, the gate voltage is removed because the current in the potential divider is diverted through D1 making the voltage much lower (typically about 0.6V) so the first transistor turns off and it's drain voltage goes high.

I suspect your problem is that the 5V logic level you are driving it with is too low and being seen as 'low' and 'not quite high enough". It needs to be at least 7.6V when high and the 5V you are providing is borderline on being high enough so it is leaving the circuit in an indetermnate state. Your better solution is to wire an NPN bipolar transistor across pins J1.1 and GND with it's collector to J1.1 and drive your digital signal through a 1K resistor to it's base. Alternatively, if you want to use your relay, wire it's contacts across J1.1 and GND but keep the grounds of the 50V supply and the logic supply isolated.

Brian.
 


Wait.. I am confused.. You are saying that J1.1 is expecting 7.6V to activate the 50v (J1.4)? Because my understanding has been that GND going to J1.1 and J1.3 was what activates the 50v?

If 7.6V is what this circuit is "expecting", then why does it work when I short J1.1 and J1.3 with GND?

Also, how does one isolate the ground going to two different circuits?
 

The circuit is activated when the voltage on pin 1 is pulled to ground. In this case logic 0 = 0V and logic 1 = 7.6V. If you drive it with a 5V logic level it may satisfy the logic 0 condition but probably won't satisfy logic 1 condition.

If you are using a relay, connect it's contacts directly across Pin 1 and pin 3 and drive it's coil from your logic circuit. There is no need to connect the grounds together, the relay's contacts are electrically isolated from it's coil so there is no need to provide any return path or other connection between them.

Brian.
 


Yeah I tried that originally.. My reed relay was hooked up like so:

input side of switch went to J1.1, output side of switch went to J1.3.. + went to IC OUT pin, and - went to GND.

I am pretty sure that's what you're describing right? So, when the out pin of the IC was set to high, J1.1 and J1.3 were shorted-- no ground was involved and the solenoid did not fire. I put my meter on continuity test, and verified the switch points definitely were shorted, yet that 50v board was not happy until I added two sources of ground to the input side of the relay.
 
Last edited:

If you can't express everything you care about as an
integer, then digital is not an appropriate abstraction.
Bearing in mind that floating point is just an integer
pair and algorithmic treatment of it.

Somebody Else whose Problem it ain't, may still cling
to the luxury of abstraction.

Sometimes the problem needs you to think in terms
of the current loop, not some single-point-voltage
as referenced to some other arbitrary point. When
it comes to anything inductive (long wires, solenoids,
etc.) you need to know where that current and its
dI/dt will be showing up. The common ground of a
microcontroller is not one of the better places. That
can jack every logic input on the device and make
for mysterious behaviors.
 


Ok... But what do you suggest I do exactly to make this work?
 

How are you driving the reed relay? Maybe the micro's output port can't supply enough current to keep the reed relay properly energized. You may need to add a buffer switching transistor on the output port of the micro. You can test and see how much current the reed needs to operate and determine if your micro can supply it.
 


Yeah that's not the problem.. Like I originally said, I can verify the relay is working properly by doing a continuity test with my meter. When the micro output goes high, the relay switch closes and J1.1 + J1.3 are shorted. The problem is ground...

My question is what specifically can I do to split my ground in a way that the IC won't dirty it up?
 

Re: How does one know for sure if a circuit is "analog"?

If we forget the uP your gate is at 7.6V. More then enough to saturate the mosfet. So the drain is close zero Volt.
Then you make the uP port high. The uP gives out 5V. (or less) . After the diode it is 7.6V so the diode goes in conduction. The uP now hase to sink current. How low the voltage becomes depents on the Rout of the uP port and gate resistors. I think around 3 to 4 V. So your mosfet has to dissipate. It is not 100% saturated. Then the uP port gets low. Now the Voltage will be a few hundered mV and the mosfet stops conducting.
The problem is not in the ground. The main problem the design. Just remove R1 and R3. Make R2 something like 470 Ohm to 1K. Maybe a speedup cap over it. Then get rid of the rest and invert in the software.
 

To answer your posted question, if the signal has two states it's (binary) digital. The voltage level has nothing to do with it. For example, LVDS is digital but the two signal levels are only about 350mV apart.

If the signal has a continuous level of voltages to represent the signal information (such as the audio signal to speakers) with no discrete levels, then the signal is analog.
 

Re: How does one know for sure if a circuit is "analog"?


Hmm... well to be honest, I only used the 50v step up driver board, because it seemed like a convenient way to make the solenoid fire... But based off of what you're saying, it sounds like it would be in my best interest to just put a transistor on the board with my micro controller chip, and have that drive the 50v, and not use this other board at all since it's causing these problems... Right?
 

It depends on what the solenoid does, where it is and what it's power demands are. Presumably, the original board designed worked to a specification and although it worked in their equipment, it may not be optimized for your instance. Certainly, a simpler driver using the logic signal directly is possible and may be simpler, especially if you have the option of deciding whether high or low should operate the solenoid as a software change.

Can you post a solenoid specification or at least a picture of it so we have some idea what you are driving?

Brian.
 

Status
Not open for further replies.

Similar threads

Cookies are required to use this site. You must accept them to continue using the site. Learn more…