Iam doing an experimental bldc open loop sensor less (with out taking Back EMF signal) speed control using arduino UNO and I implemented hardware 3phase driver using IR2110 and at inverter stage using 6mosfet IRFZ44N. my hard ware is perfect working at give signal but my bldc program software not good(at the time of tesing eith my program motor will run but heated).
so anyone send a perfect bldc openloop control program using arduino UNO.
Iam working on bldc motor speed control by arduino using IR2131 mosfet gate driver. i wrote open loop program without using sensors but in my project motor rotate with a best speed on no load condition and getting heated. At load motor don’t rotate heating >:( . finally iam decided to plan closed loop program take feedback using halleffect sensors. i attached file bellow (IR2131 is the same function as a IR2110)
Can any one send the code bldc motor or fix bugs on this code suggest me how to proceed to next step for better result on load condition.
Closed loop is essential for BLDC's, but you don't need sensors to achieve this
if you sense back-EMF instead - this is what all the cheap sensorless ESCs do.
You need to provide a (voltage-divided) version of each phase pin to an analog
pin, and read it at a high rate (reconfigure the ADC for faster less accurate readings).
You look for the mid-point crossing of the phase that is not currently being
driven - that is the basic time to commutate the driver. You can add a little
phase-lead to improve efficiency (to compensate for the delay in current
build up do to winding inductance).
You have to remove high frequency noise from the analog pins and only read
the voltage when you are driving the bridge (you need the two other phases
to be at 0V and +V to take a reading that will be mid-rail) - so you have
to think about how you time PWM and analog reads...
If you use hall sensors its much easier, just read 3 digital inputs.