1

Can anyone check over this motor controller design I made?

I'm running off of a rudimentary understanding of electronics (just a hobbyist), so I'm not fully confident in it yet.

Schematic


Kamil EDIT:

And here is better version of this:

I hope I didn't messed up anything.

Better schematic

End of Kamil edit.


The goal is to be able to control one motor via PWM in two directions.

I need to control up to 5A via PWM from an Arduino.

David D
  • 21
  • 1
  • 4
  • 5
    Consider reading over the answers to the various "How do I draw a schematic?" questions here. – Ignacio Vazquez-Abrams Nov 24 '14 at 02:05
  • @IgnacioVazquez-Abrams, I'm looking at this one: http://electronics.stackexchange.com/questions/28251/rules-and-guidelines-for-drawing-good-schematics Which improvements would you suggest? I guess I could improve on #3 and #5. Or is there some other glaring error I'm missing? – David D Nov 24 '14 at 02:08
  • 2
    Have a look at the schematic for an existing H-bridge. – Ignacio Vazquez-Abrams Nov 24 '14 at 02:23
  • Any specific ones to look at? I attempted to base this design off of http://www.modularcircuits.com/blog/articles/h-bridge-secrets/h-bridges-the-basics/ . – David D Nov 24 '14 at 02:27
  • 4
    Very incomplete: Avoid all angled lines - make verical or horizontal | Place input at left lower | Placeground reference/symbol at bottom.| Get this far and Olin will simply snarl at you and be rude | Reason for using 68k's in ths and not left is not clear BUT gate switching times with 68k will make rice pudding look fast. | Gate capacitance typically around 1 NF. Work out how long to charge & discharg gate caps. This must be short compared to shortest on time to keep losses low. |1 k is OKish for very low speed PWM but for real speed you want gate drivers. These can be 2 jellbean bipolars ... – Russell McMahon Nov 24 '14 at 06:19
  • 1
    ...per gate. Gates pull to full V+ when off. This OK at 12V supply for most FETS (not all) but as voltage goes up Vgs_max will be exceeded. Clamp g-s with reverse vbiased zeners with Vz > Vdrive max and < Vgsmax. – Russell McMahon Nov 24 '14 at 06:37
  • I see a couple of problems but without a detailed performance statement, how can I judge whether my observations are problems or just things that don't count to you? – Andy aka Nov 24 '14 at 08:50
  • @Andyaka, I updated the original post. The goal is to be able to control one 5 amp motor via PWM from an Arduino (5v PWM at 1 khz). – David D Nov 24 '14 at 11:58
  • @RussellMcMahon, Ok thanks. I will redo it following those guidelines.| Any recommendations for how to change it to improve the gate speed? I guess I need to decrease the resistance, while keeping the ratio identical? Or should I switch to a gate driver of some kind? If so, do you have any recommendations on which one to use? – David D Nov 24 '14 at 11:59
  • @David one bit of advice is you might want to take a look at other tools for drawing schematics. I've used professional tools and once I downloaded Fritzing to see what it was like and personally found it to be more confusing and it gave me the nasty results like above (no offense). Eagle PCB for example has a free non-commercial version worth checking out and personally I think it's easier to use and gives a much better result. – PeterJ Nov 24 '14 at 12:17
  • @PeterJ, Ok, thanks. I'm currently just using Fritzing because it is fairly easy to get started with. Eventually, I was planning on switching over to Eagle, but I guess I might as well go ahead and do that now. – David D Nov 24 '14 at 23:01
  • @IgnacioVazquez-Abrams, RusselMcMahon, PeterJ, I just finished updating the schematic. Inputs are now on the bottom left, positive and negative input are on bottom right, and all angled lines are removed. I also compressed the schematic so as to (hopefully) make it more easily understandable. – David D Nov 24 '14 at 23:27
  • 1
    Oh dear, horrible schematic, many comments and only one `-1` vote? All teachers sleeping or what? :) – Kamil Nov 24 '14 at 23:37
  • Everybody complain, nobody helps. I fixed it! Who is the man?! :) – Kamil Nov 25 '14 at 00:46
  • @Kamil, Wow, thank you so much! That is definitely a huge improvement over my schematic. Now I have a good model for how to do this in the future. :) – David D Nov 25 '14 at 01:04
  • @RussellMcMahon I think you could post an answer with your useful suggestions. – Kamil Nov 25 '14 at 01:31
  • @DavidDworken What maximum PWM frequency do you wish to use? Max acceptable switching speed will be low if driving directly from Arduino due to gate capacitances of around 1 NF. – Russell McMahon Nov 25 '14 at 05:56
  • @RussellMcMahon, I don't need fast PWM as this is only controlling a motor. So 30 hz (probably could go down to 10 hz) would be fine. Would that work fine for this? – David D Nov 25 '14 at 20:43
  • Low Hz range is fine without drivers as long as voltage swings do what you want. – Russell McMahon Nov 26 '14 at 12:53

2 Answers2

4

This gate driver circuit will allow much faster switching speed.
From this discussion. Note that Q cam be a bipolar transistor with pros and cons. Probably remove R4, drive with1k from PIC and place say 10k base t ground. Add a small cap (maybe 1 NF or less, across series 1k drive resistor as a "speedup" cap. This helps with charge traaansfer into/out of base and improves switching time. Note that Q2 and Q3 are emitter followers with polarity accordingly. FET gate swing will be 1+ Vbe drop away from each rail - this susually matters only when drive is low voltage. In this case PIC swing is 3V3 but main FET gate swing is ~= 12V so loss of 2 x Vbe is unimportant.
3V drive from PIC needs a FET at Q1 with a low Vgsth and 2N7000 shown in circuit may be marginal. Use of a bipolar for Q1 makes lower drive voltages OK.

I have used this cct with good success in several hundred thousand products with a bipolar at Q1, driven by a MC34063 low cost SMPS IC running at as low as 3V, with R1 as a pull down as IC is open collector. Main FET needs Vgsth of about 1V in that case. (Used in these - larger ones, not smaller ohnes).

enter image description here


If you do not need to level shift you can use just the driver pair.
The circuit below and a number of other good ideas can be seen here Discrete devices—a good alternative to integrated MOSFET drivers - one of a series of EE Times "Power Tips".

enter image description here

enter image description here

Slightly larger


Re original schematic - since improved:

Avoid all angled lines - make lines vertical or horizontal

Place input at left lower

Place ground reference/symbol at bottom.

Circuit function notes:

Reason for using 68k's in RHS and not left is not clear BUT gate switching times with 68k will make rice pudding look fast.

Gate capacitance typically around 1 NF. Work out how long to charge & discharg gate caps. This must be short compared to shortest on time to keep losses low.
1k is OKish for very low speed PWM but for real speed you want gate drivers. These can be 2 jellbean bipolars per gate.

Your gates pull to full V+ when off. This is OK at 12V supply for most FETS (not all) but as voltage goes up Vgs_max will be exceeded. So, clamp g-s with reverse vbiased zeners with Vz > Vdrive max and < Vgsmax. –


Related:

Superb superb - Index to power tips series

http://m.eet.com/media/1120488/powertipserieslist.pdf

Russell McMahon
  • 147,325
  • 18
  • 210
  • 386
  • Wow, thank you so much for the in depth answer. That link is really helpful. When you say: "Your gates pull to full V+ when off. This is OK at 12V supply for most FETS (not all) but as voltage goes up Vgs_max will be exceeded. So, clamp g-s with reverse vbiased zeners with Vz > Vdrive max and < Vgsmax.", are you saying that I would need to change that to run it at a higher voltage (e.g. 24 volts), or that it will not work well when voltage increases up to the 12 volt level (when voltage is first hooked up)? – David D Nov 25 '14 at 12:07
  • @DavidDworken Most FETS allow a maximum Vgs of about 20V. Some maybe about 24V. Some about 12V (usually lose with low Vgsth (threshhold turn on voltage) and a few only about 6V (rare). Exceed this voltage and you punch through the atoms thick gate oxide and destroy the FET. A reverse biased zener limits Vgs to the zener voltage (approximately). If Vdrive is active high (ie not an open collector driver with a pullup as you are using) then if Vzener is < vdrive then the zener clips the drive waveform - unlikely to be useful. .... – Russell McMahon Nov 25 '14 at 16:00
  • .... You usually select a zener of above Vdrive_max and under Vgsmax. You do not need to change the zener voltage as Vdd increases. The zener disspates energy when it is clamping and dissipatopm increses – Russell McMahon Nov 25 '14 at 16:02
1

Found problems:

  1. I think resistors on MOSFET gates (68kΩ) have waaay too high values.

    Charging and discharging transistor gates thru these resistors will take forever and will cause high power losses while switching on and off because MOSFETs will be partially open for a long time. Partially open MOSFET will heat up or blow up with load like 5A motor. I would put 10-100Ω on these gates or no resistor at all (like on left side).

  2. There are no resistors on left side of bridge, but on right side you have them. It should be symmetrical (and not 68kΩ).


Maybe someone else will be able to find more problems.

Kamil
  • 5,926
  • 9
  • 43
  • 58