Go Down

Topic: a plee to the arduino gods (Read 1 time) previous topic - next topic


Hi chaps,

I think I need to ask all of you arduino gurus etc for a bit of guidance, I have just received a 12v dc winch, and need to have it RC controlled by tommorow. I have (in the past) successfully controled things from one RC channel, so I am going to look for a copy of the sketch i used for that , i think i can make the sketch work,

My plan is to simply connect to relays to the winch motor terminals, so that it goes back and forth when they are turned on, then have the sketch control the relays accodring to the RC signal ,

Does anyone have any helpful advice on the matter? I am literally not going to be able to sleep until I have it done, and im tired :(

I am going to look and see how much the coil of the relay needs to power (AMPS) and then make sure its within the arduino pin limit, if not then i will hunt a transistor to do the job , hopefully a tip120 will get the job done,
does anyone know the pin limit in mA?

thanks to any of you gurus that can lend a hand


bad news,
they draw 110 ma at 5v

transistor time,


Do you have the parts available to make an H-bridge, or even better an H-bridge IC?  Since I assume this wench will have to work in both directions, an H-bridge would be a fairly simple way to implement bi-directional motor control with an Arduino.


By RC controlled I assume you're referring to a hobby RC system with a handset, receiver and servos.

Simplest option is to install two push-to-make switches and have the servo positioned to operate them at the limits of its travel. (No hardware/software involved, just solder and glue.)

I assume the Arduino-based solution would use an Arduino in place of a servo,and use the conventional method to measure the incoming pulse width from the receiver. In this case you would need to know the range of pulse widths corresponding to the full travel of your transmitter controls and choose threshold values at which you wanted the winch to be switched on. You could use a simple if/else if / else structure to see whether to winch in, winch out or do nothing.

Since you need three output states I assume that you would use two relays, each being a twin pole relay. One would power the motor forwards, the other would power it in reverse. You need to ensure that both relays leave the motor outputs floating in the normal state, and make damned sure you only energize one at a time. For example, make sure that the initial state of the output at Arduino power-up is such that both relays are 'off'. Even briefly operating both relays at the same time would short your power supply.
I only provide help via the forum - please do not contact me for private consultancy.


The project sounds fairly straightforward. Use pulseIn() to alternately read the pulses from 2 R/C receiver channels, and use an NPN inverter to drive the relays from the Arduino. The I/O pins can drive only about 40-mA, not enough for the usual 5V relay.

Go Up