In many place in the simpit, I use servomotors : for the standby instruments, the flap and brake pressure indicators, and all the gauges in the overhead panel.
In the system I’m developing, the servomotors are driven by an Arduino DUE. The particularity of the DUE is that the outputs are 3.3V, instead of 5V. Anyway, even in the case of 5V driven servomotors, problems can occur when the cable between the command unit and the servomotor is more than a meter long … The command signal is altered, and the servomotor gets noisy, or even unresponsive.
This problem is very well known in the field of industrial systems, where command may be tens of meter away, in a noisy environment. In this case, a well know solution is to use a current signal, rather that a voltage signal, which is much more immune to noise. Of course, commercial converters exist, but I found their use to be too heavy and costly for my application. So, I gathered elements from the net and designed a very simple circuit to do the job. It makes use of two small transistors and four resistors, with a corresponding cost of the order of 1 euro …
Here is the schematics :
As you may note, the circuit is powered using 12 volts, which I use for panel lighting. Of course the servomotors must be driven by 5V TTL signals, but the circuit ensures that 5V command signal is delivered for supply from 7.5V and above. It has two parts, the left side with the transistors must be located near the arduino, and the R4 resistor is located at the servomotor level, between the command wire and the ground wire (usually the yellow and black ones). A current of about 4 mA is forced in the command wire, and is converted by the R4 resistor to 4mA x 1.2Kohms = 4.8V. So the command is done through a current on the line, not a voltage. Please note that I used 2N2222 and 2N2907, because I had it at hand, but any small transistors will do.
In my design, if you have followed my project, I have planned for 10 servomotors for the moment. So i realized a simple board with 10 similar units as described above, here’s the picture :
It’s very effective, I made some tests with cable length above 10 meters (30 feet), and it works like a charm.