It's been a while since I got any work done on the drone. But this weekend has been good (except for the terror attacks in Copenhagen obviously - fortunately, the police shot the suspect. Hope they got the right guy).
Anyway, last weekend I added female Deans connectors to the ESCs to be able to connect them to my power harness.
Here they are all done
And here with the power harness connected.
So that was that.
Next stop: Get female Bullet connectors on the wires from the ESCs. Compared to Deans, Bullet connectors are SO damn easy to work with. Just pour some solder into the cup, put some solder on the wire, heat the cup, stick the wire in, done.
That was it. Very fast. When I'm doing my next quad I'm definitely going to use Bullets instead of Deans. They also have the added benefit that you don't have to put heat shrink on before. Which I forgot a couple of times when soldering the females on the ESCs.
Now for the fun part
I decided that I wanted to be sure that the voltage was correct, so I bought a multimeter to be able to check this. After quickly hooking up the battery to the power harness and touching the probes to the Dean connector pads it showed 12.5V which looks about right. The battery says 11.1V so I'm not completely sure why it would be 12.5V, but it seemed acceptable.
Then it was time to connect the motors and calibrate the ESCs. Calibrating the ESC was a little confusing at first. Since the ESC communicates in something like morse code. You have to listen carefully on the number and length of beeps which will inform you what it's doing. After reading the phrasebook (aka manual) for the ESCs it became apparent that in order to calibrate them I would need to turn them on with the throttle turned to max and then when it beeped twice turn the throttle all the way down. To be sure that I wasn't going to damage the ESCs I googled a bit and discovered that the Arduino comes with a servo library which can be used to provide the control signal to the ESC. Only in this case the throttle is then modelled as degrees on the servo. What really happens is that the servo library modulates the width of the pulse.
So in order to calibrate the ESCs I made a clever little circuit that would enable me to turn the throttle up and down in response to the beeps.
It looked like this:
It's a potentiometer used to turn the throttle up and down, which is also connected to a blue LED. The reason for that is that as I have discovered earlier the potentiometer seems to disconnect from it's sockets quite easily so this way I could see that what was happening. Finally, I connected the ESC control signal to port 9 (a PWM port) as well as power and ground. And in the other end of the ESC I hooked it up the battery to turn it on.
Once you understood the vocabulary of the ESC calibrating it was very easy. Basically:
- turn throttle to max
- turn on Arduino and connect battery to ESC
- await that the ESC beeps twice
- quickly turn the throttle all the way down
- await the ESCs beeps 1-2-3
And that's it.
However, I discovered something initially puzzled me. It would seem that whenever the throttle was turned all the way down that the motor would turn on and off in sort of a pulsing motion. On 1 second, off 1 second, on 1 second etc. Again google was my friend and I found out that the ESCs have a minimum pulse width that they can read. Once the servo output hit 46 (out of 179 degrees) the motor stopped and when turned below 23 it started the pulsing thing. It's still a little odd why it behaves like that but it should be ok. I just know that I have to keep the servo between 23 and 46 degrees to stop the motor. Which obviously is a very important learning once I get propellers on.
Finally after calibrating all ESCs I now have a completed engine control system (aaaah almost.. need some PIDs etc in there, but at least I can control the motors).