PWM motor controller for large motor, with low amps.  - Page 1
Forum section: electronics / beginners

author: Porch
author_rank: Contributor
timestamp: December 23, 2014, 06:54:34 am
content: Hello to the forum. Long time reader, first poster.I am having a few problems making a motor controller and I am hoping someone can point me in the right direction. My electronics skills are limited to making simple circuits. Lucky with the popularity of hobby micro controllers, the hardware can stay simple and the programming can be complex. I am much better with the software side.Quick overview. I have a water well that uses a jack "oil well style" pump. This pump has evolved and changed over 10+ years. It's currently solar powered at 24V and uses a way over sized golf cart motor. It's a DC series motor, I think it's rated 10hp peak. It's far too powerful and fast for this well. So I PWM it down to a slow speed.I used a CanaKit UK1133 to control speed. With the CanaKit, the motor pulled about 18Amps at 24V. But they would only last a few months. The on-board diode across the load (flyback diode?) would get very hot. It would burn out and and everything would stop working. After a few burned out CanaKits, I connected some 10A10 rectifier diodes right at the motor(had them in my parts box). Problem solved. everything was nice and cool. For about 8 months. Then it failed again staying closed and running the motor at full speed. Not good.Along with other problems, it was time to rip out the entire control system and move on to the next version. Arduino this time.I wanted the Arduino to control the speed directly so I can very the speed of the motor based on battery voltage.I copied this circuit.http://bildr.org/2012/03/rfp30n06le-arduino/I used the RFP30N06LE MOSFET. I used this FET in a bunch of other circuits and love it, but not on a motor this big. It's rated up to 30A and I am running maybe 20A in it peak, so it should work.I desoldered everything from a busted CanaKit and reused the circuit board and heatsink.I started and stop it a few times with a slow ramp up as I worked on my code. It worked perfect. Then the motor went to full speed. The FET is shorted full on.It was not hot, and no magic smoke went out.I am assuming that I need some additional protection to protect the FET from EMT. I currently have 2 10A10 diodes at the motor, and a 6A8 diode near the FET. I am not sure what else I need for a motor this large. All examples I can find on-line deal with smaller motors.Any suggestions?Thanks for any help.

author: Simon
author_rank: Unknown
timestamp: December 23, 2014, 08:03:40 am
content: 20-30A on a PCB, I hope it was designed appropriately.You need to make sure you have back emf diodes that will cope. The mosfet needs to be over rated, remember that the amps specified are with the die in the mosfet at 25C or whatever other temperature stated. Make sure your heat sinked and try and work the thermals back. I think you need a higher rated mosfet, you can put then in parallel.Make sure the gate is driven hard enough, just sending PWM from a uC to the gate will not work for large loads as the gate has a capacitance that needs charging and discharging so you need a mosfet driver chip to do this as if there is not enough current capability the mosfet will switch too slowlyand the slow change in channel resistance will give time for heating to occur..

author: Seekonk
author_rank: Super Contributor
timestamp: December 23, 2014, 11:03:47 am
content: That FET was guaranteed to fail. 30A FET on a 20A load sounds logical, but it isn't. Until the motor comes up to speed it looks like a dead short. FET needs to be rated for locked rotor current. I would use three FET's in parallel rated for at least 150A total. Of course I get most of my power FET from old UPS and they come assembled that way. UNO PWM is only 490hz so you can get away with a lot. I use very slow drivers like an opto isolator into a resistor to do level shifting ans that also allows me to have the UNO 30 feet away from the drive. Relatively speaking it is a slow turn off with less spike noise. I do prevent in software the PWM going above 95% and below 5%. The FET's run cool as can be and don't really need a heatsink.

author: rob77
author_rank: Super Contributor
timestamp: December 23, 2014, 12:31:38 pm
content: those 10A10 and 6A8 diodes are kind of useless as flyback diodes because those are dead slow - good enough to rectify 50/60Hz but not good for anything faster... you need fast diodes to provide the needed protection to the mosfet. another point is the rating of the mosfet - as it was suggested above - your mosfet must be able to drive a dead-short - it might be in the range of 100s of AMPs peak (while the rotor is not turning yet).if you're runnign arduino PWM @ 490HZ the cycle is approx 2ms , at 5% duty during startup , the pulse is 0,1 ms - so find a mosfet rated for e.g. 300-400Amp pulsed @ 0.1ms pulse width - most probably you'll have to parallel two or more of them to get there.

author: Simon
author_rank: Unknown
timestamp: December 23, 2014, 03:27:20 pm
content: To know the motor startup current measure the resistance of the motor and divide the supply voltage by it.

author: Porch
author_rank: Contributor
timestamp: December 27, 2014, 04:09:18 am
content: Thanks for all the help. I understand what is going on now. Picking out parts, is another story.What fast acting diode would be recommended for a load like this?Since the 10A10 helped, I am assuming leaving them in will not hurt anything.The FETs I am looking at using is the IRF404. The same one in the CanaKit. It's rated at 202A. It tends to last months, so I figure it's a good part, I just need more of them.http://www.irf.com/product-info/datasheets/data/irf1404.pdfLooking at how the CanaKit is wired, the only thing "driving" the gate of the FET is a LM78L05. So it looks like the IRF404 is logic level, no driver needed.Good idea taking a heat sink from the UPS. I found one that has a place for 5 TO-220. So 5 IRF1404 in parallel with some quicker flyback diodes should do it, correct?Thanks for the help.

author: Simon
author_rank: Unknown
timestamp: December 27, 2014, 09:55:44 am
content: Quote from: Porch on December 27, 2014, 04:09:18 amWhat? Can you clarify that, are you saying that the effect is directly driven by the regulator or that the whole drive circuit is working at 5 V. Whether or not the MOSFET is a logic level I makes no difference to the problem you will have with overheating. If you want to drive a powerful inductive load at frequency you must switch that MOSFET on and off as fast as possible. Now you need to understand about RC circuits, your MOSFET gate is a capacitor, the larger the MOSFET or the more MOSFETs you put in parallel the larger that capacitor is. Your drive circuit is a series resistor, the resistor is a problem because it slows down but charging time of the capacitor in the gate, so that resistor needs to be as small as possible be it wiring or internal resistance of drive semiconductors. Your MOSFET will fully turn on at a certain gate voltage, you can supply that voltage exactly or a slightly higher voltage and it will take anything from the time constant of the RC circuit to 5 times the time constant of the RC circuit to get the voltage on the gate to a value which will fully turn on the MOSFET. If you take the same values of resistance and capacitance and you supply in a higher voltage you will achieve the same threshold voltage much quicker? That is why even if it's logic level and will switch at two or 3 V you should still drive it at 10 to 15 V as this will cut the switch in time to half or less without any more clever circuitry.What is actually driving the MOSFET gate? If it's a simple logic gate it's no good and certain cause of your problems.

author: Porch
author_rank: Contributor
timestamp: December 27, 2014, 09:48:18 pm
content: Thanks to 3roomlab. That is the information I am looking for. I am learning so much.The IRF1404 list 75 amps max due to the TO-220 case. It surprises me that a TO-220 can handle that amount of current over the little pins.Regardless, the IRF1404 used in the CanaKit is handling about 18 amps average and with it's heat sink and little fan, it only gets warm. It's that startup current that is the problem, but adding 3+ IRF1404 to the system should help solve the problem.Simon:The CanaKit has a little micro-controller. One of it's I/O pins drive the LM78L05, and the LM goes to the gate of the IRF1404. The entire CanaKit can handle 24+V (with the exception of the fan), so I am assuming someone figured the IRF1404 could only take 5V or they did not want the frequency to change one little bit if the input voltage changed.My knowledge of FETs just came into existence over the past year, so it was my understanding that most FETs required a higher gate voltage then the circuit voltage or they won't open fully, needing the the use of a driver circuit. But the IRF1404 and others don't seem to have one, and from what I am reading, it's built in to some models. But I might be incorrect.The sheet of the IRF1404 list a 2.5ohm resistor on the gate lead. I need to look over the CanaKit and and see what values they use. Since I will be driving it from 5V like the CanaKit is, the value the kit uses might be better.Thanks for the help. The hard part is now trying to figure out how to mount it all.

author: Porch
author_rank: Contributor
timestamp: December 27, 2014, 10:43:46 pm
content: Instead of the BYW51-200http://www.mouser.com/ds/2/308/BYW51-200-D-106001.pdfCan I use the MUR1620CTRhttp://www.mouser.com/ds/2/308/MUR1620CTR-D-79742.pdfIt's common anode. So I can mount it to the same heat sink at the FET and electrically connect the anode to the drain that way.The MUR1620 has an 85ns recovery time, and the BYS51-200 is 35ns. I am not sure if the slower time will have any affect in my application.Since it's been 10 years since I etched my own circuit board, I am trying to avoid that trial and error and just dead bug this system, 1950's tube tv style.

author: Leadfootin
author_rank: Contributor
timestamp: December 27, 2014, 11:33:42 pm
content: PWM motor drives will almost always bite you. As advised, switching device needs to be 5-10 X motor current and at least 2-3 X the voltage. The back EMF diode must be at least the full load motor amps and 2 X the voltage applied to the motor. Preferable to use a fast Schottky for the diode which will also protect the mosfets from excessively high voltage spikes. If one fails the other will immediately follow. A small inductor between the mosfets and the load or an R-C snubber from drain to source will help. Others have discussed the criticality of mosfet switching. Often using a 555 timer, changing from TTL to CMOS versions will cause issues, gate burn thru being one I have experienced first hand. Gate capacitance limits switching speed.

author: Porch
author_rank: Contributor
timestamp: January 02, 2015, 04:16:42 am
content: Thanks for the help. I ordered some parts. I will post back when I build it.

author: Zero999
author_rank: Super Contributor
timestamp: January 02, 2015, 10:09:48 am
content: Quote from: Simon on December 27, 2014, 09:55:44 amYou're right about the resistance of the driver and capacitance of the MOSFET gate but using a higher voltage to drive the MOSFET won't necessarily speed it up. A higher voltage will improve is the on time but it will also lower the off time as it takes longer to discharge the gate.Quote from: Porch on December 27, 2014, 09:48:18 pmThat's no good because it won't turn off the MOSFET quickly enough. You need a proper gate driver.

author: Simon
author_rank: Unknown
timestamp: January 02, 2015, 10:33:00 am
content: True but maybe you can get a faster turn off than turn on as all you need to do is short the gate with a N channel mosfet or NPN transistor which usually work faster and with less resistance than a high side driver. From what has been said it sounds like the gate is driven by a voltage regulator that is powered by a uC pin.

author: poorchava
author_rank: Super Contributor
timestamp: January 02, 2015, 03:20:02 pm
content: MOSFET current ratings are very misleading for inexperienced users. The way how manufacturers specify it is following:-Measure Rds(on) at-Measure Rthja of the package. They usually use huge watercooled copper blocks for that to simulate perfect heatsink.-Based on the Rthja measured and Rds figure out maximum current that can be passed without exceeding maximum junction temperature.This means two things: you'll need an enormous and in most cases impractical heatsink and your MOSFET will run very hot which is never a good thing. As someone suggested before - I'd use 3 or even more 100A+ rated mosfets in large package (TO-247 or something) bolted to a hefty heatsink.

author: Porch
author_rank: Contributor
timestamp: January 12, 2015, 06:28:47 am
content: 5 FETs on the left for power, 3 diodes on the right for filtering. They share a common drain with the heatsink.I call this the Vegas show girl mounting with the legs of the TO220 splayed out.Positive is the bolt on the right. Source is the large bolt on the left. Drain is the heatsink. Small screw is the gate.Heat sink came from a old UPS and the board it's mounted to is a plastic cutting board.A few 63V 100uf caps for extra filtering.It works, to a point. The caps get really hot only after about 30 seconds of use. I am going to upgrade them to 200V with 1.73A ripple and hope that solves it.

author: johansen
author_rank: Super Contributor
timestamp: January 12, 2015, 07:45:05 am
content: the capacitors need to be able to handle the same ripple current, as there are amps flowing though the motor.the circuit should look something like this.http://johansense.com/bulk/pwm_resistor_2.pngit sure looks like you have those caps soldered directly across the diode.

author: Porch
author_rank: Contributor
timestamp: January 12, 2015, 08:24:02 pm
content: Considering the peak amps of this motor is around 200 amps, that would be a lot of caps.Yes, I have the caps across the motor and the diode, all in parallel. I am trying to protect the mosfets from the motor. The rest of the circuit is driven off it's own power supply. So it can make the source/battery lines as noisy as it wants and will not affect anything.Or am I thinking wrong?

author: Seekonk
author_rank: Super Contributor
timestamp: January 13, 2015, 03:24:37 pm
content: Just why do you want to put capacitors on the motor. That is the last thing I would want to do. Incidently, I quickly wired up a simple half wave power supply yesterday. Managed to place the diode backwards. I hadn't blown up a cap in 25 years, it is an experience. Why don't you post an actual schematic.

author: Porch
author_rank: Contributor
timestamp: January 13, 2015, 04:14:37 pm
content: 3roomlab suggested that some caps will arrest the ripple from the motor, based on his simulation.I will write up a schematic.

author: johansen
author_rank: Super Contributor
timestamp: January 13, 2015, 05:42:02 pm
content: who told you to put the caps across the motor.. lol.nope, capacitors go across the battery.. and you need very low inductance between the capacitors, mosfet, and diode. you can put as much inductance in series with the motor as you like.for 200 amps i would be looking at using 20 mosfets.. why? so you can get lower inductance connections to the fet. yes technically you can push 50 amps through each one, but you don't have a 4 layer pcb board to make that happen.here's a way to do it if you don't like heatsinks:http://johansense.com/bulk/50_buck2.jpgnote that the capacitors are soldered to the edge of the board, and the fet's source lead drops through a hole in the board to reach the other side.

author: Seekonk
author_rank: Super Contributor
timestamp: January 13, 2015, 06:06:25 pm
content: "the motor pulled about 18Amps at 24V. "If one is to believe these previous numbers, 10 would be sufficient overkill with a decent FET. Then again this person is quoting 10HP at 200A (that would be over 300A @24V). Pick any numbers you want. He also said he ran for several months with just one FET.

author: johansen
author_rank: Super Contributor
timestamp: January 13, 2015, 06:37:50 pm
content: 18 amps is a somewhat believable no load draw for such a motor.

author: Porch
author_rank: Contributor
timestamp: January 14, 2015, 07:46:37 am
content: It's a rather large DC Series (Series wound) motor that came out of a golf cart. The number plate is just about gone, but I think it said 10HP peak at 48V. It's very overkill, but the other option is getting a 1800RPM motor and waste the energy running it though several gear boxes to get it down to the 1RPM needed for the well. And I had the motor.So it's running almost no load at 18amps.If I am not worried about filtering the power, and I am not since it's going to a set of golf cart batteries at 24V, then what are the purpose of the caps on the battery side? Thanks for answering my questions. Just trying to lean.

author: johansen
author_rank: Super Contributor
timestamp: January 14, 2015, 01:19:15 pm
content: you have to have the capacitors located very close to the mosfet and diode (the three components form a loop)the reason why is because when you turn the mosfet off, there is energy stored in the parasitic inductance, it is proportional to current squared. (yes, the battery has quite a bit of inductance too)That inductance dumps its energy into the mosfet when the fet turns off, when the voltage across the mosfet exceeds the battery voltage, limited only by the mosfet avalanche breakdown, which is usually 5% more than the maximum rated volts.you can put an RC snubber across the mosfet as well, but the inductance of the snubber has to be low enough to provide a reasonable path, and the capacitors also have to deal with high peak currents (about the same as what is flowing through the motor, but only for a short instant) -and it wastes power and you have to buy low inductance resistors. (wirewound won't work) --as well as you need an oscope to figure out what is going on.its cheaper and easier just to use a bunch of capacitors and a low inductance dc bus, rather than trying to get snubbers to work.another option is to install TVS diodes or MOVs across the fet.. but that will also require a bit of engineering to figure out if they will handle the current.i would go with a gear box regardless of the wasted power.. you'll be burning up a lot of heat in the copper trying to run a motor at 1 rpm

author: Jeroen3
author_rank: Super Contributor
timestamp: January 15, 2015, 06:47:37 pm
content: You can buy the best fets in the world, or put as many together as you want. If you do not drive them fast enough, your fets will die due to thermal hotspots.If a mosfet is turned on, the only loss is it's resistance. Which should be in the milli-ohms. However, it takes time to enable the fet. During this time "ginormous" amounts of energy will be generated inside tiny places on the mosfet silicon because it does not work theoretically perfect. Your heatsink is useless against this effect. You can only choose fets with lower gate capacity and get better drivers. Your atmega is not a capable driver. If you do the design properly you might even run it with only a tiny heatsink, the metal case for example.(You're putting it inside a metal case right?)The characterization people do use some fancy "thermostreamer" cars. Those are huge phase change coolers, not water as suggested above. Capable of cooling it sub zero, very fast. Or making it hot, very fast. Something like -55? to +125?C in less than 10 seconds.

author: Porch
author_rank: Contributor
timestamp: January 17, 2015, 06:24:27 am
content: Schematic here.https://dl.dropboxusercontent.com/u/24907255/CapOptions.pngI currently have the caps in "Option A". Where should I have them at?I am not turning the motor at 1RPM. 1RPM is the final output speed. Possibly slower. The motor is belt and gear driven with worm drive gearbox. I don't have a way to measure the motor RPM, but I guess around 750RPM.Jeroen3: As in a FET driver, are you talking about a dedicated driver chip, or just driving the gate with a higher voltage? I can use another FET to drive the main FETs at a gate voltage of 12V.

author: Phoenix
author_rank: Frequent Contributor
timestamp: January 17, 2015, 10:22:42 am
content: Quote from: Porch on January 17, 2015, 06:24:27 amOption A will fry the capacitors, this is because you are applying a high frequency square wave voltage directly accross them. The place to put them is option C. This is not optional, it is the only place to put them.The other problem is you are using electrolytic capacitors, even when located at option C they will have a large high frequency current drawn from them and thus heat up. You really need some non-polar capacitors capable of delivering high frequency current in parallel.As for driving the MOSFETs, they look like they are OK with a 5V drive, but i doubt a single pin on the IC is properly capable of the current requirement for 5 in parallel. The use of a gate drive IC means you have a higher current drive (turning the FET on/off faster) and the option to raise the gate voltage (lowering the Vds during conduction). THe datasheet lists the absolute maximum gate voltage of Vgs=10V, maybe 8V is a good place to be.

author: rob77
author_rank: Super Contributor
timestamp: January 17, 2015, 11:56:21 am
content: 5V drive for the gate is usually not sufficient... for most of the mosfets (even the "logic" ones) the lowest Rdson is defined at 10V gate voltage. of course 5V drive will work, but with higher Rdson and therefore higher loses and more heat.

author: Phoenix
author_rank: Frequent Contributor
timestamp: January 17, 2015, 02:01:04 pm
content: Quote from: rob77 on January 17, 2015, 11:56:21 amReally got to look at the datasheet curves. I may have gotten the wrong mosfet in my previous reply.At the start the OP says he's using ahttps://www.sparkfun.com/datasheets/Components/General/RFP30N06LE.pdf(refer to Figure 7)Later on he changes to ahttp://www.irf.com/product-info/datasheets/data/irf1404.pdf(refer to Figures 1+2) which requires a higher gate voltage.

author: Porch
author_rank: Contributor
timestamp: January 17, 2015, 04:21:30 pm
content: Thanks for the help.I will move the caps to the correct location. If they get warm, I will switch them out to different caps.The IRF1404 due seem to turn on fully around 10V, but can have a max Vgs of 20V.The RFP30N06L do better at 5V Vgs, so I will use one of them to drive all the IRF1404.Moving forward. !!! Thanks

author: Phoenix
author_rank: Frequent Contributor
timestamp: January 17, 2015, 11:21:05 pm
content: I can't immediately see how you're going to drive an Nch MOSFET with an Nch MOSFET...

author: Porch
author_rank: Contributor
timestamp: January 18, 2015, 01:30:23 am
content: This won't work?https://dl.dropboxusercontent.com/u/24907255/CapOptions2.png

author: Yansi
author_rank: Super Contributor
timestamp: January 18, 2015, 01:41:27 am
content: No it wont. Discharging 3 fets in parallel through 2k resistor is bad childish idea. Get yourself proper gatedriver and read please read some appnotes about paralleling mosfets, like this one:http://www.irf.com/technical-info/appnotes/an-941.pdfWhere can I find your schematic diagram of the whole power stage? I only saw some schematic on the first page, which was badly wrong.MUR1620 is not suitable. Too high loss. For 24V operation, get 40 or 60V schottky. For 48V supply, get 100V schottky.And also 20 to 30 amps is a work for one TO247 mosfet or two pieces TO220.The diode must be rated the same current as the mosfet is rated for - both are rated for nominal motor current - 30 Amps.There should be absolutely NO capcitor in parallel to the diode. The cap will blow in ur face with almost hundred % probability.The only capacitors needed here is decoupling on the diode-mosfet pair (2.2 to 4.7uF polypropylene) and properly rated (at least half the output current) electrolytics close to the power stage.Not mentioning tha 30A switching stuff requires proper layout and circuit construction. The diodes should be directly near the mosfet, absolutely not on the motor itself. I talk about that almost in every PWM thread here. See picture below.And I noted here a word "arduino"? I have suspiction, that arduino trash can't generate fast enough PWM signal to be used for such motor control. You need something like at least a few kilohertz, better 15k to 20k. That's work for hardware PWM timer, not that arduino software PWM libraries.

author: peter.mitchell
author_rank: Super Contributor
timestamp: January 18, 2015, 02:00:03 am
content: Quote from: Yansi on January 18, 2015, 01:41:27 amNow now, no need to call it "childish", bad, yes, childish, no.Using the nchannel fet you can turn the other fets off quickly, but they will still turn on slowly, ideally, you want to turn them both off and on quickly.Unlike what some has already said, you don't need a gate driver chip, you can make a fairly simple push-pull driver from discrete components.Do you have any small PNP + NPN transistors (eg 2N3904+2N3906), or small Pch + Nch FETs (2N7000 + BSS110)?

author: Yansi
author_rank: Super Contributor
timestamp: January 18, 2015, 02:02:00 am
content: Using complementary pair of mosfets requires cross conduction current problem to be solved. Use Bipolar complementary instead, like BD139/BD140 and level shifting stage in front of them, to shift the 5V logic signal to about 10-15V.Very useful circuit which behaves well as gatedriver is this one. It also does level shift (needs only 5V input to turn on). Beware, that the output is inverted.Don't forget to add base resistor. Ucc shoud be 12-15V. Diode should be 1A schottky (1N5819).Or you can use small logic level N-MOS instead of the NPN on bottom. The upper transistor is required to be NPN in this circuit, can't be replaced by MOS.Use suitable gate resistor for EACH mosfet. (about 47-100 ohms). The whole impulse current shoud not exceed peak ratings of components in the gatedriving circuitry.

author: Porch
author_rank: Contributor
timestamp: January 18, 2015, 03:14:32 am
content: The project is getting more complex then I hoped.QuoteCan you define too high of what loss?QuoteI am running 5 TO220. The existing CanaKit circuit did well with 1 TO220 and a heatsink and small fan.QuoteI have 3 MUR1620 for a total of 48 amps.QuoteThey are at the FETs. I also have the 8A8 at the motor itself as it really helped the CanaKit. So I left them.QuoteThey are all wrong. This is the last idea, but it's changing.https://dl.dropboxusercontent.com/u/24907255/CapOptions.pngQuoteI was thinking something along the same lines as for the frequency of the Arduino.Can we solve most of this with out reinventing the wheel? How about I use an off the shelf motor controller and just boost the current capability with the MOSFET.I have used this Polou controller before on smaller motors.https://www.pololu.com/product/1378It will handle the volts I need, provide the fast switching of 22k, and give the control I need from the Arduino.The gate of each FET will have about a 100 ohm resistor and connect to one output of the motor controller. Source to ground. Sure reverse won't work, but I don't need that.Will this do the trick in providing a gate driver and the higher frequency needed?Yansi and peter.mitchell have also been providing great help. But I am a bit worried about my skills in making a gate driver from scratch.

author: peter.mitchell
author_rank: Super Contributor
timestamp: January 18, 2015, 04:50:40 am
content: Quote from: Porch on January 18, 2015, 03:14:32 amA gate driver would be no more complex to make than your motor pwm thing

author: Porch
author_rank: Contributor
timestamp: January 18, 2015, 10:30:40 am
content: Except I need to up the frequency. Can't do that with a gate driver.

author: Yansi
author_rank: Super Contributor
timestamp: January 18, 2015, 11:00:25 am
content: In my post from 01:02:00 PM, you gotta the almost easiest possible schematic for a gatedriver.

author: Porch
author_rank: Contributor
timestamp: February 02, 2015, 07:10:32 pm
content: It's up and working.I found a schematic for a 500AMP DYI motor controller. I copied the caps and diodes along with a cool FET driver chip. I didn't use quite as many FETs as they have listed as my amp draw is lower, and I use the IRF1404 I have.http://ecomodder.com/wiki/index.php/Open_ReVolt/PCB_Schematics#Open_ReVolt_-_Cougar_500_Amp_DC_motor_controller_.28Rev2D.29I missed with the timers of the Arduino and got 10khz out of pin 10 with a variable duty cycle.http://www.oxgadgets.com/2011/04/creating-a-variable-frequency-pwm-output-on-arduino-uno.htmlIt's working so well. Only the diode's heat sink get very slightly warm. I can bearably tell. The FETs are cold to the touch.I have the fan blowing across all of it just to be safe.Duty cycle for normal speed is about 60%. The motor is barely warm to the touch. It really like this arrangement much better then the CanaKit. The motor is quiet and does not struggle nearly as much with the changing load.Thanks everyone for all the help.