The circuit above is used to drive a 48 Volt 1000 Watt motor "MY1020" using high side driver configuration. 48 Volts are achieved using 4 sealed lead acid batteries in series and the 12V battery is from one of the 4 batteries.
The data sheets for the used components are:
Power MOSFET: IRF3205
http://www.irf.com/product-info/datasheets/data/irf3205.pdf
High and Low Side Driver: IR2110
http://www.infineon.com/dgdl/ir2110.pdf?fileId=5546d462533600a4015355c80333167e
Pin 10 (HIN) in the IR2110 is connected to Arduino's PWM pin 9. Pin 9 produces a PWM signal with frequency set to: 22 kHz and a code is written to test the circuit. The code begins with duty cycle=30%, equivalent to 4 Volts which is the threshold of the MOSFET, and gradually increases the duty cycle=90%, equivalent to 10.8 Volts.
The code:
/* The code changes the PWM frequency of the Arduino
* and increases the gate voltage of the transistor
* from 4 Volts(30% Duty cycle) to 10.8 volts (90% Duty cycle)
* with a step of 0.5 Volts every 2 seconds. The process is repeated.
*/
#include <PWM.h>
int32_t freq= 22000; //PWM frequency = 22KHz
int x=85; // Initial Duty Cycle=30% at x=85
void setup() {
InitTimersSafe();
SetPinFrequencySafe(9, freq);
}
void loop() {
while(x<230) // Duty cycle =90% at x=230
{
analogWrite(9,x); // pin 9 is connected to pin : HIN
delay(2000); // delay for 2 seconds
x+=10; // step by 0.5 Volts
}
x=85; // x is reset to 85 to repeat the process again
}
I tried the circuit with this code and here is the problem. The motor begins at a low speed as expected and its speed increases gradually. The motor should witness 14 increments in speed, since (230-85)/10 =14.5 =~ 14 steps. In about the 4th step, the speed increased immediately to its maximum like if one shorted the motor to a battery. I ran a continuity test on the IRF3205 using the multi-meter and found that the Drain and Source terminals shorted out.
I tested the same circuit earlier on a small 12v motor and it ran perfectly fine on different duty cycle ranges and PWM frequencies.
What could possibly be the problem? The MOSFET's Vds rating is 55 Volts and the batteries are 48 Volts. Can this be too much for the MOSFET assuming low quality components are sold where I live? Is there a problem in the driver? Are the increments in gate voltage per Arduino's execution time dV/dT too high?
For the sake of a real life picture; here is the test bench: