• Howdy! we're looking for donations to finish custom knowledgebase software for this forum. Please see our Funding drive thread

Robotic Platform using hub motors

djweblogics

1 µW
Joined
May 15, 2014
Messages
2
Location
India
I am trying to make a robotic platform using 2 brushless hub mtors and 2 controllers.
The issue i am facing is, one motor going out of sync with other, when moving forward.

The controller is interfaced with arduino and rc receiver and the throttle is controlled using rc transmitter.

I want the robot to go in straight line. How to sync or find ways to sync the motors.

Please help!!
 
Since the two controllers are probably independent (since you don't specify what kind I assume they have no "sync" linkup port), the only option I know of is to have your MCU monitor speed of each wheel (via the hall sensors in each motor, for instance) and adjust the throttle to each controller constantly to ensure it goes in the correct direction.


You could also have it monitor hte hall pulses from both wheels and cut throttle on whichever wheel is advanced in timing at that moment, until the hall pulses 'line up" in time again.

But the first approach would seem easier to make a "learning" algorithm for that would figure out what speed to apply to each wheel at a particular power level, etc., to more automatically apply the right amount of throttle to each wheel to go straight (or in whatever curve/etc you want).
 
I am able to control throttle using MC, but it works only if road surface is flat and while moving slow.
When i speed up, I spin away. Constant correction is done manually by changing throttle gain for each motor.
I think i should try with hall sensor based manipulation.

Motors i am using are 9inch 300W hub motor with controller (Chinese) with no reverse.
 
You can sync them through the throttle if you have some way to actively measure speed and direction, but the throttle has a small delay so you would end up with oscillations and a hunting behavior no matter how good the control was.

These controllers are basically just Stepper motor controllers. You may have better luck striping the brains out of each of them, and controlling the FETs directly from the Arduino, Or you might have to step the control up to something like an Edison that could process more information faster. Then have the MC controll both motors directly
 
Back
Top