nidec BLDC motor, help

Thread Starter


Joined Sep 22, 2018
I am playing around with one of these... the FG pin is a feedback based on speed. I think it is a square wave, with a rise for each turn of the motor. I am the rises on the FG regular period (.5 Second) to determine the motor's speed. The count is done with an Arduino interrupt. The motor's speed can then be increased or decreased towards the desired speed by changing the duty cycle of the ACC (Accelerate) and DEC (Decelerate) pins. I am using a slow (8000 uSec) period for my pwm carrier. During each PWM cycle, the motor is told to accelerate (pin is low) and to not accelerate (pin is high). That alone does not seem to slow the motor down... for that I have also connected the DEC to the inverse-duty cycle, meaning that I am telling the motor do not decelerate (pin is high) and then to decelerate (pin is low). These cycles are going on each 8000uSec period.

It is tricky because normally the duty-cycle of the pwm corresponds directly to a particular speed. But here, the PWM is used to control the acceleration or deceleration of the motor. If the speed falls below my target, then I "accelerate" the motor back to the desired speed. Actually, this just draws more current - as you can see in that video above.

I haven't quite got it sorted... will post more when it is working.

Link to old thread:
Last edited by a moderator: