BLDC motor for haptic feedback jerks


Hello arduino community,
I am trying to create a haptic feedback device with a bldc motor. On the motor is a thread which winds up a string by the rotary motion of the motor. By pulling the string I want to simulate constant forces. Unfortunately, I have not yet got a perfect constant force while pulling the string because I feel a jerk (caused by the poles?) every full revolution. Do you guys have any idea how I could manage to drive the motor with a constant force against its direction of rotation? Is this possible with a BLDC motor?

Motor: iPower Motor GM3506
Board: Arduino Pro based BLDC Controller (Arduino Pro - based Brushless motor controller driver board (FOC BLDC servo). | eBay)

Thank you for your help:)
Best, Fabian

Post a sketch of what you are trying to do, I get lost in the text.

Hi @gilshultz, thanks for your response. I have tried to adjust the text and added a picture... hopefully it is now a little more understandable x)

I have tried different approaches. I will post them tomorrow as soon as possible. I just thought it is easy to implement: the motor shall simply move with a certain speed and torque. While pulling the string, the motor is moved in the opposite direction - for this the user must apply a certain constant force. During pulling, the motor shall not stop trying to turn in the other direction or jerk.... I fail at the last one :confused:

Best, Fabian

I am guessing you are not using the controller in "closed loop" mode. But I see no link to documentation for your controller board.
Paul

So is the red/wh/blk cable to some sort of encoder?

You have no means to measure torque in the system so I presume current is being used as a proxy for torque - however the motor will have cogging(*) and this will lead to uneven torque as it rotates. Typically PM brushless motors have fairly strong cogging.

(*) Dependence of torque on angular position due to geometry of the magnetic circuit.

The picture is a great help. Sorry but I do not think you will get it unless you use a gear box but it will be there just less noticeable. BLDC motors cannot provide a constant torque, they will pulse due to commutation. They will always have torque ripple which you are experiencing. It will get worse if driven with a pseudo square wave.