I'm making a radio transmitter for an RC car using Arduino, and testing with an UNO at the moment. I have it working reasonably well except for one problem - the Arduino sometimes resets itself when the throttle is moved too quickly. I suspect this could be because too much current is being drawn through the PWM signal pin to the ESC. If I drive gently I think it would probably work well enough, and even if it resets occasionally it's no big deal.
However, I would like to use one of the ProMinis I have lying around for this instead of the UNO, but I'm worried that instead of simply resetting, the ProMini would be ruined. If I understand it correctly the UNOs have many safety features to prevent dummies from ruining their board, but the ProMini does not. So the question is, would a ProMini be ruined instead of just resetting?
I tried putting some resistance between the Arduino pin and the ESC, but it doesn't seem to make much difference, except that at about 10k the ESC stops functioning, I guess because the signal voltage has become too low. My multi-meter barely reads any current at all in any situation, but then again it is kinda crappy... I guess I should really upgrade that to help in situations like this
As a side question, is it normal for an ESC to draw much current on the signal line? It doesn't really seem necessary. The one I got is pretty cheap so maybe that is a side effect of a low-quality one?
As a side question, is it normal for an ESC to draw much current on the signal line?
Only a person with little or no electronics experience would ask this question. (no offense intended). Point being it is well known that the load on a PWM output pin is not going to trigger a reset. If you put a meter or scope on your arduino 5V bus pin while accelerating (and holding the motor to induce drag) you will probably see the 5V line dip. If you look at the Vin pin you will probably see a much larger dip.
There is no way it is related to the PWM output pin. You must be running the arduino off the motor power supply (not recommended)
and when you accelerate the motor load is pulling the 5V onboard regulator input low causing the reset. It is always a bad idea to power any uController from a power source that is also being used by a motor system. The ESC doesn't provide any isolation to speak of so if it needs current it will draw it from the power source. I suspect the problem is not related to your wiring but rather your choice of battery.
Exactly what battery (type) are you using ? What is the rated Ah for the battery ? What is your total load current at full speed ?
Pretty sure I had already tried it with separate battery for Arduino power, but I'll give it another try. I do recall seeing a voltage dip at one point, when I was powering the Arduino through the ESC connector (the three pin one with signal, not the main power lines).
Right now I am connecting Arduino Vin directly to 'battery', but I don't think I have checked if there is a voltage dip like that. The 'battery' is actually a voltage converter connected to a wall-socket. It has an adjustable voltage dial, and it reads a pretty steady voltage when accelerating which is why I didn't think there was a problem there. I'll try reading the 5V pin and I guess you are correct. Perhaps the voltage display on my converter is not reliable, or just too slow to show the dip quick enough - it does seem a bit sluggish to update the display.
This causes me to wonder though, how a normal RC receiver deals with this voltage dip? Usually the receiver is powered through the ESC right? That's the first thing I tried and the voltage dip like that was pretty bad, once it dipped way down to 1.8v iirc.
This does not answer my original question though - is it a problem that would harm a ProMini? I guess not, but for the record maybe we could have someone who is not "a person with little or no electronics experience" to clear that up. If anything, I suppose a 3v ProMini would have less of a problem with low voltage. aaah... do normal RC receivers only require very low voltage?
Usually the receiver is powered through the ESC right?
Not unless you want loose your aircraft when you fry your ESC by flying too fast. The ESC provides 5V output but nobody with any experience flying RC would ever use that to power their servos because if you fry your ESC you can't land the aircraft. That's why everyone who knows anything adds a standalone BEC to power the servos when the ESC frys.
I had one on my quadcopter. They are small enough that they don't add much extra weight
This does not answer my original question though - is it a problem that would harm a ProMini? I guess not, but for the record maybe we could have someone who is not "a person with little or no electronics experience" to clear that up. If anything, I suppose a 3v ProMini would have less of a problem with low voltage. aaah... do normal RC receivers only require very low voltage?
I have 30 years experience with electronics and I answered your question about damaging the Pro-Mini here:
Point being it is well known that the load on a PWM output pin is not going to trigger a reset.
But just for the record, I didn't know you were using a 3.3V Pro-Mini when I said that .How could I ?
The ESC accepts servo signals so if you are using the servo library and not PWM then you are outputting a pulsewidth of 1000 to 2000 uS.
There is no reason why an ESC would present a risk to a Pro-Mini because the ESC signal pin does not require any current at all (to speak of)
Nowhere in your original post do you tell us you are using a 3V Pro-Mini. You make an observation about 3V pro-minis but never mention that is what you are using. If your post question is the following:
"Is is ok to control a 5V ESC with a 3.3V Pro-Mini (assuming you don't connect the 5V BEC output from the ESC to the Pro-Mini) ?"
Then my answer would be that it is not a problem because the 3.3V Pro-Mini pins are outputing (not INPUTING) the servo signal to the ESC. The real question is "Will an ESC work with a 3.3V servo signal ?"
I don't know. I never tried it.
You might need a 3.3V to 5V level shifter.