Home        Store        Docs        Blog

Motor.set and the conversion to RPM

(Miguel Rosa) #1


I was looking for the information to know when i make a motor.set, using the Arduino firmware given by bluerobotics, how it converts the set value to rpm. I’ve tried some values(100,500,1000,16000,30000 and the inverse of this values) and i saw that the acceleration of the thruster it’s not linear with the value given.

Can someone help me?


Miguel Rosa

(Rusty) #2

Hi Miguel,

The set command is not intended to directly set the RPM, but rather the duty-cycle or electrical power output to the motor.

If you want to set the speed in a way that is linear with RPM, I would recommend finding a best-fit equation for the signal vs. speed data and use that to calculate the proper signal for a particular speed. I would be happy to provide more information about that if you want.

There are detailed plots of signal versus speed (and the data for them) on our documentation.


(Miguel Rosa) #3

Hello Rusty,

Thank you for the answer. That’s what i’m looking, an equation that makes the conversion from RPM(from my processor) to signal in the thrusters. Can you give me that information?


Miguel Rosa

(Rusty) #4


Do you want this for the T100 or T200?

Here’s the approach I will take:

  1. Make a plot of RPM (x-axis) and signal (y-axis)

  2. Find a line of best fit equation, probably in quadratic or cubic form

  3. You can then use this equation to linearize the speed. It will look something like:

signal = arpm^3 + brpm^2 + c*rpm + d

The data for our plots is freely available by clicking one of the icons in the corner of the plot if you’d like to look at it yourself.