Tell me more ×
Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. It's 100% free, no registration required.

I have a brushless radio controlled car that is far, far too powerful, such that at about 60% throttle the front wheels will come off the ground, the car flips and stuff breaks.

To remedy this, I have bought a Wii motion plus 3-axis gyro, and successfully interfaced it with an Arduino. I have a method of reading in the throttle using an interrupt, and the Arduino is quite happy to output the throttle too.

I am now stuck with the bit in the middle; how would be best to retard the throttle as the front begins to lift?

share|improve this question

1 Answer

This is actually probably a bit easier than the setup you've produced, but don't worry - you can do very cool stuff with the Wii Mote + ARduino throttle control.

In control systems sometimes it's necessary to filter a control signal to accommodate the characteristics of the system. When you gun the throttle, the throttle command resembles a step input - from 0 to max in hardly no time at all. The most basic way to remedy that would be to filter the throttle signal with an RC circuit (I assume it's a voltage? Or PWM?) If you filter the throttle command at some point with a basic RC low pass filter then it won't 'gun' the throttle - it will be a more smooth acceleration and hopefully won't break anything. Choosing the R and C for the filter depends on the characteristics of your system - you can experiment with different values to see how the car reacts.

Since you've got the Arduino generating the throttle signal, you can do the filtering in the Arduino digitally if you want. Here's a basic low-pass filter you can put between the throttle values read from the remote and the throttle values sent to the car.

So what are you going to do with the Wii mote? If you can get the tilt reading from it, I would make a closed-loop controller that gets the car to safely pop wheelies. there's a PID library for Arduino available. You can read the throttle but interpret the throttle command as a tilt command - ie, how many degrees you want to pop the wheelie at. You can scale the input such that max throttle would be maybe 45 degrees. So the throttle command becomes a degree command - that's your setpoint/command. You use the tilt sensor for feedback - that's your input. The output is the throttle command to your car. The goal is to control the throttle such that it maintains a certain tilt. True, this may damage the car while you're testing, but think about how awesome it would be!

share|improve this answer
It would be nice also to implement an anti-sliding system, measuring the rpm – clabacchio Apr 6 '12 at 14:44
The Wii motion plus is a 3-axis gyro, measuring rotational acceleration, or change in orientation. What I'm trying to do is keep the front wheels on the ground or only off the ground momentarily. I'm not sure the PID controller idea is exactly what I'm after, but control engineering is not something I'm very good with! Thanks for the help though. – Philip Strong Apr 6 '12 at 15:51
Another thing to note is that although I have 3-axis available, I'll be mounting it in the car so that I only have to deal with the one axis. – Philip Strong Apr 6 '12 at 16:19

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.