Arduino dying when starting speed controllers

Hello, World:

I am building a quadrotor, and I have an Arduino Mega 2560 with a sensor shield on it. I am controlling the four motors via four speed controllers (these controllers use the same control pulses as do servos) using the Servo.h file included with the Arduino 022 software. I have cut the positive wire going from the speed controllers to the Arduino because of the BEC. I am powering the Arduino by its own battery. When I rev the motors up (signal at about 1200us), the result is good. The motors spin fine, but do not give enough torque to lift the quadrotor off the ground. However, when I increase the signal to about 1400us, the Arduino dies after about 1.5 seconds. I have no idea what's going wrong. Any answers?

Keep in mind I only have the negative and signal wires running to the Arduino. Everything is self-powered.

Well that's a strange one isn't it? What do you mean by it dies, is it destroyed forever and you go buy another board? Possibly if you post your code maybe something will pop up. It sounds like you have the wiring correct.

Lefty

My bet would be the supply voltage is dipping too low, if what you mean by "dies" is it shuts off and restarts.

DCContrarian:
My bet would be the supply voltage is dipping too low, if what you mean by "dies" is it shuts off and restarts.

Except he states he has separate batteries for the supply to the motors and to the Arduino.

My guess is that some kind of issue is happenning on the ground lines (voltage spike or sag?), causing a similar "restart" (once again, though, if that is what is meant by "dies")...

My guess (we are all having them) is that increased interference from the motors is causing the arduino to crash / reset. In my usual style I would recommend more decoupling of the supplies of the two systems. Also try putting some small caps across the motors.

Maybe he is using a LED without a series resistor. :smiley:

Someone has to keep the save the leds cause alive!

Lefty

when I increase the signal to about 1400us, the Arduino dies after about 1.5 seconds.

Perhaps your BEC is not set properly for the 1400us pulses.