Al -
Nice catch on the FET cross up. Got that taken care of:
http://www.theeshadow.net/files/v3_1.jpg
As for the inverters – those were my first thoughts as well. As I looked into it further, it turns out the inverters aren’t even needed: P MOSFET’s are on when their base is low, and N MOSFET’s turn on when their base is high. So just link up Q1 with Q3, and Q2 with Q4. I severely overcomplicated this with my first circuit, which turned out to not work anyway (I proto’ed it). I guess I’ve gotten a bit rusty on my electronics – I was mixing up all sorts of analog and digital circuitry – I was getting something like 3.2 volts on one AND gate and 2.8 on another, plus frequency on all of them.
I took a few steps back, and realized a couple of things. This system would really only work for a full speed bi-directional bridge, i.e. “on” or “off”. From what I’ve gathered, trying to send PWM to this kind of bridge would be fairly inefficient, as it would slow the motor down (by applying brake) between every pulse, but also because it has to turn on and off both MOSFETs with every cycle, and there is always a time delay between the switching times. Also, there is no provision to coast, so you would be going either full speed or dead stop. It would something like this:
Vcc -> Q1 & Q2, Vss -> Q3 & Q4
M+ -> Q1 & Q3, M- -> Q2 & Q4
A B | Q1 Q2 Q3 Q4 | M+ M- | D
---------------------------
L L | L L L L | + + | Bk
H H | H H H H | - - | Bk
---------------------------
H L | H L H L | G + | Rev
H Z | H H H H | - - | Bk
---------------------------
L H | L H L H | + G | Fow
Z H | H H H H | - - | Bk
At this point I was stuck, so I changed gears and started looking for a better method of driving the FETs (You made an excellent point that hooking them straight to input or logic would probably fry something). That is when I stumbled across the Microchip TC4469 IC. It is designed especially for driving power MOSFETs, but instead of having 4 inputs and an enable, there is a gate for every output. I figured that this would save me the trouble of using the AND chip that I was mucking with and having separate FET drivers.
Looking through the datasheet, I found an app note that did essentially what I needed it to do, using AND/INV logic. This made everything easier… After playing with truth tables and messing with a logic emulator for a while, I managed to get to where I am now. Back to the table:
Vcc -> Q1 & Q2, Vss -> Q3 & Q4
M+ -> Q1 & Q3, M- -> Q2 & Q4
A B | Q1 Q2 Q3 Q4 | M+ M- | D
---------------------------
L L | L L L L | + + | Bk
H H | X X L L | +? +? | Cst*
Z Z | X X L L | +? +? | Cst*
---------------------------
H L | H L H L | G + | Rev
H Z | H L L L | Z + | Cst
---------------------------
L H | L H L H | + G | Fow
Z H | L H L L | + Z | Cst
*Note: When A and B go high at the same time,
either M+ or M- will go V+, while the other will float.
The main difference is how it treats the “H” signal: the flip-flop makes the output of the second “H” dependent on the first one. Picking which of Q1 or Q2 goes “L” (i.e. on) and which one floats depends on the first input to go H (if they go high at the same time, such as when the circuit is disconnected, the outcome is “Random” - splitting nS here…)
This does not have provisions for low-side braking; however I can’t see this being a significant drawback.
Sorry for being long winded :eek: , I am just trying to work out all the kinks before I have a couple boards cut. Thanks again Al!
Jacob