Today was the day that I finally got down to making a Servo Tester with my Arduino's.
It all started with wanting to get the direction of my quad copters motors going the correct way around when hooking up the new speed controllers. As I didnt have a radio handy I had figured that it would be simple enough to use one of my Arduinos. I ended up writing a simple program with 1 button to hold the motor from spinning, and with the button it would spin the motor to check that it went the correct direction.
Step 1: Making It Perminate
After finishing with the quad project for the day, I cam to the understanding that I have done this so many times before that it would be worth while to have something on hand vs fabricating something each time I need one.
I set forth 4 functions that I would like to have on this device for setting up various PWM driven devices:
- Sweep back and forth with a button to center it.
- Analog control with a button for centering.
- Incremental Step up and down with a button for centering
- 2 Programmable position toggle.
I also determined that everything could be accomplished with simple buttons and simple LEDs with a Pot.
Step 2: Assigning the Hardwear
This device would be able to connect to 1 std. PWM device and would have various inputs and outputs.
I figured that with 4 modes, it would be simple enough to have 4 LEDs.
I also figured that it would be nice to have: a Mode button to change the mode, Up and Down buttons to adjust things, and a Select button for extended functionality.
I will be using an old ESC's BEC to power everything as it is the most efficient way I have on hand in the way of extra materials.
Step 3: Writing the Software
This was some of the simplest software I have authored in a long time as it was just to take a few inputs and manipulate some LEDs and a single PWM signal.
I ended up using the servo library for the Arduino and making everything into different functions; This kept everything very clean and easy to read/understand.
Step 4: Hardware
The hardware was also very straight forward as it was just 4 buttons hooked directly to the Arduino with pull down resisters, 4 LEDs, 1 Pot, and a PWM output. 5 mins with my bread board and it was octopus-ed together.
A moment on the USB cable and lights where flashing and the servo was moving.
Step 5: Final Ver
The final version is on a printed circuit board. Now I know what some people will say: that is to hard or expensive; it really is not. I rarely make any circuits that take anything complicated to accomplish; most of the time I just cut out the paths with my Dremel, drill the holes, solder on the parts and call it good. Today I got out the Sharpie and drew a few lines, drilled some holes, and dunked it in some PCB Etchent; 20 mins later I had my circuit board ready for soldering.
If you would like to make your own, feel free to download my Arduino sketch and rock out. I spent a lot of time on this to remark as much as I could with the idea in that it would be easy to understand, and if anyone out there is still learning this stuff, maybe this can help them to understand how things can be done with an Arduino.
Step 6: Project Box
The last step in any project, that is to stand the test of time, is to encase it in a protective enclosure and add some documentation. This case is an old sewing kit box and the circuit board is simply hot glued into the bottom. I also cut a hole for an USB cable for any reprogramming in the future. The diagram card inside will be useful to anyone that might use this in the future as it shows that I use a reverse polarity to my XT60 plugs as well as giving enough information to the operation of this tool that anyone should be able to operate it with no trouble in the future.