Motor.set and the conversion to RPM

Hello,

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?

Cheers,

Miguel Rosa

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.

-Rusty

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?

Cheers,

Miguel Rosa

Miguel,

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.

Best,

Rusty