Electronically controlled differential

I am currently working on a project that will use two separated electronic motors driving the back wheels of a go kart (see stolen drawing below). As an intermediate step I am building a small scale model to test first. I am looking at using an Arduino Mega with a seeed studio motorshield to drive two small electric motors from radioshack. The arduino will take in a signal from two potentiometers (one that simulates a throttle, and one that simulates steering angle). Based on these inputs the arduino will change the output to the motors and allow them to act like a mechanical differential.

I have experience coding in C as well as some other languages, but I am relatively new to Arduino Programming. Does anyone have some leads on where I can find a similar project or some helpful resource that may help get me started on this? (Google searches are not yielding anything helpful, unfortunately) The project will eventually be expanded to incorporate some type of traction control, but I will worry about the basics first and try to familiarize myself a little more before I take more advanced steps.

Thanks in advance!


Well if you know how a regular differential works, then you should be able to simulate it. What happens when you hold one wheel? What happens when neither wheel is touching the ground?

You may want to get an accelerometer, and with some clever coding (mostly IF/ELSE statements) you can simulate a differential.

I'm not sure you should be trying to mimic a mechanical differential as it has some significant shortcomings - such as applying all the torque to the wheel with the least resistance.

I think two electric motors each driving a wheel on either side of a vehicle (and positioned as though they were on the same axle) would behave sufficiently like a differential without any programming intervention.

I suppose in a very tight turn the inner wheel will develop more torque because it is turning more slowly and this will tend to oppose the turn. But I can't think of an easy way to determine torque on each wheel in order to develop a feedback mechanism to achieve balance. Maybe you could just reduce the power to the inner wheel by some preset percentage if that seems to assist the steering.

Try it the simplest way first before concluding that something complicated is needed.


Are you just trying to make the drive system allow differential movement? If so, I don’t see that you need to do anything since independent drive to each wheel would already allow that.

Or are you trying to make a differential steering system? That would require wheel speed sensors and some logic to drive them a the correct speed relative to each other.

Robin2: But I can't think of an easy way to determine torque on each wheel in order to develop a feedback mechanism to achieve balance.

Current is usually proportional to the torque the motor is applying, so just measure the current. Quadrature encoders may also be needed so you can correlate wheel speed to current drawn for a more accurate picture of what's going on, but since this project will be getting traction control eventually, you're going to need the encoders anyway.