Author Options:

Need help in making a Motor Controller? Answered

I am building a combat robot and need a   24v , 100A Motor Controller to power the motors. I will be using a 2.4ghz Turnigy 9x Transmitter and Receiver. I have seen the Victor 885  (link) motor controller that perfectly fits my need, but is too expensive for me. Could someone please help me in building a motor controller similar to the Victor 885? 


Building your own motor controller can be a tall order. In the short term you would be better off buying.

There are cheaper things you can do with relays if you don't need the fully solid state control.

If you really want to delve into designing and building your own, a good place to start would be looking at something called the "open source motor control project".


They also offer the board preassebled.  I have purchased one years ago, and was satisfied with it.  I did have to build my own means of enclosure though.

One thing I observed after some online research is that when pwm signal from the rc receiver is: 0 - Full reverse , 127-Neutral , 254 - Full Forward. Is there some way in which I can manipulate these values to something similar to 0 - 255 pwm
with directions polarity, using an arduino mega?

At full reverse, the PWM will be 100% duty cycle, with one diagonally opposite pair of FETs in the H bridge conducting, and at full forward the PWM will be 100% duty cycle, with the other pair of FETs in the bridge conducting.

Are you wanting to have a setup such that the 0 position of the RC control stick corresponds to 0% duty cycle, and the opposite end corresponds to 100% duty cycle, with the direction controlled by some other means? If you are purchasing a motor controler of some sort, you won't likely be able to reprogram it directly to your different mapping. You could use a microprocessor to read the output pulses from the RC receiver, and translate them to different pulses which are sent to the motor controller, to "fool" the controller. The micro would then be a "middle man" between the RC receiver and the motor controller. If you know how to write the code for whatever micro you are using, it could be done.

I've never used Arduino, so I'm not familiar with its capabilities.

The signal from an RC reciever has a frequency of about 50Hz, with the variable pulse width ranging from about 1ms to 2 ms. 1ms is full scale in one direction, 2 ms is full scale in the opposite direction, and 1.5ms is when the stick is in the center "neutral" position.

To translate, you would measure the signal from the RC receiver, and from that value compute the corresponding duty cycle needed for the input of the motor drive to get your mapping. I haven't sat down to determine the exact formula to relate the pulse width in to pulse width out, but it sholdnt' be to computationally intensive at any rate.

The output from the RC receiver is just a digtal pulse, with a magitude of something live 5 or 6 volts max. I assume the Arduino has the ability to measure the lenght of an digital pulse, perform the needed calculations, and generate a pulse output of the desired lenght for the motor controller. Again, I have never used the Arduino, so I can't speak any more specifically than that.

Thank you LargeMouthBass for all your replies. Maybe I should stick with the Victor Controllers as they will be more reliable than building one myself.

Sounds like you are wanting to do what johndavid400 did with his http://fwd4.me/17A8 Lawnbot. He uses an Arduino clone to receive input from a hobby RC tx/rx and output pwm to four pins for forward and reverse on two motors. He also details building your own h-bridge to complete your motor controller.

I haven't done this project so I don't know if it would exactly work for you, but he provides the code he used. If you can do it it would save lots of money.