Is there a better way than relays ? - Page 1
Forum section: electronics / beginners

author: don_and_his_boats
author_rank: Newbie
timestamp: July 15, 2019, 06:41:04 pm
content: HiI build R/C model boats .The speed controller in the boat ( ESC ) can be made to run as forward only or as fwd/rev with center stick as offhowever my transmitter doesnt have a self centering stick so finding the middle quickly when in a panicis not easy and a crash is the likely outcome , At 70 years old I dont think so quick as I didWith the ESC set for forwards only using the throttle its easy , I just pull the stick right back , no fidling to find ther middle and the boat stops but then you get theproblem of if you are in a corner you have no reverse to back outThe motor in the boat is a brushless one ( 3 leads) . I know I can switch any two leads and the motor will reverse so 2 changeover relays , one for each of the two motor leadson another channel makes for a simple reverse switch , but the motor has a maximum current draw of 40Amps and if I forget to shut the throttle firstbefore activating the relays I fear the contacts would soon weld together, , and what happens if one relay is a bit sluggish, wont I get a dead short?I am thinking I could maybe do the job with two powerfull mosfets but how to wire them I am not sure , or even maybe an H bridge could it be done that way?Any circuit ideas would be great either for mosfets or H bridge , or if you know an even better way then greatRegardsDon

author: JuanGg
author_rank: Regular Contributor
timestamp: July 15, 2019, 08:17:17 pm
content: I understand you want throttle control with one stick and an additional channel to change between forward and backwards.I personally would throw in a micro that monitors both channels, and drives the ESC appropriately, on the upper end to go forward or on the lower end to go back as needed. Its just a matter of measuring the pulse width and should be relatively simple to code. It could even be programmed so as to ramp up the speed in case you flip the switch at full throttle.Juan

author: rstofer
author_rank: Super Contributor
timestamp: July 15, 2019, 09:14:19 pm
content: Reversing a motor with a relay is usually done with a single double pole-double throw (DPDT) configuration. You can Google for 'reversing a DC motor with a relay'.There's nothing wrong with the relay approach and it really comes down to deciding which is the bigger problem: Having a relay to mount and wire or replacing the control box with a joystick with centering.I don't know that I would have a preference as long as I had a channel to control the relay. I would wire the relay such the Forward was the default position.

author: MarkF
author_rank: Super Contributor
timestamp: July 15, 2019, 09:53:10 pm
content: Quote from: don_and_his_boats on July 15, 2019, 06:41:04 pmIf you are in a panic and want to stop quickly, isn't switching into the reverse a good thing to help you stop. It doesn't seem to me that being at an exact center for quick stops as being a problem. Being able to go beyond center may be beneficial and desirable.I agree that switching a double pole relay at medium to full load will burn the contacts in short order. I'll have to study a little to see if there is simple way to lock-out relay switching until the throttle is at zero. Maybe with a latching relay and disrupting the signal to the coils.Are there MOSFETs to control the speed now?I assume you are using a typical RC Radio as used in RC planes and cars?There is no way to increase a null either in the radio or receiver?

author: Ian.M
author_rank: Super Contributor
timestamp: July 15, 2019, 10:01:13 pm
content: Reversing the motor with a relay between the ESC and a three wire motor would be a really bad idea, and switching while running risks blowing the ESC. You *NEED* to intercept the control signal. At its simplest you could use another channel to drive a small relay (simple On/Off) to disconnect the input servo pulse from the ESC and ground its input, which should then go into its fail-safe 'Loss of Signal' mode.Another approach would be to add a wider deadband to the control so its easier to find the off position. It *MAY* be possible to program the ESC for this, otherwise a MCU receiving and regenerating the servo pulse would be the way to go. You could also do stuff like rapid transition through center in either direction latches the OFF state till the control returns to center but slow transition gives Foward/Reverse control with a moderate deadband.

author: Jeroen3
author_rank: Super Contributor
timestamp: July 16, 2019, 07:22:58 am
content: Just program a button on your transmitter for thrust reversal. Those RC transmitter are very fancy nowadays.Or were you still using 27 Mhz?

author: don_and_his_boats
author_rank: Newbie
timestamp: July 17, 2019, 12:49:15 pm
content: Thank you all for your repliesMy transmitter is new to me and is a bit of an all singing and dancing 2.4GHz jpbbie with lots of settings, so after reading some of the replies I studied the manual a bit more closelyIt seems I can set the throttle curve in 5 steps , so the idea came to me that if I set the ESC for forwards/reverse then the mid point 50% is off or stoppedso if I set the 5 throttle points as1 40% = 10% revese speed2 50% = stop3 50% = stop4 75% = 50% forwards speed5 100% = 100% forward speedSo I get quite a big null band which is easier to find and even if I overshoot and hit the bottom end stop then its only going to be a slow reverse speedSo I think that should solve my problemsBut again thanks to all that helpedDon

author: Jeroen3
author_rank: Super Contributor
timestamp: July 17, 2019, 02:28:26 pm
content: You can probably also program a button that activates a different throttle curve.

author: don_and_his_boats
author_rank: Newbie
timestamp: July 20, 2019, 02:36:46 pm
content: I finally found a great way to do itI stumbled across an arduino library called ESC masterIt caters for both forward only and fwd/rev,When you use forward/reverse you still have full stick travel but you have to tell it which direction you wantso simply setting a switched channel for direction the arduino can make the decisionif the switch is not pressed go forwards at the speed set by the throttle stickif it is pressed go backwards at the speed set by the throttle stickIt does it all with less than 20 lines of codeBut thanks to everyone for your sugestionsDon