Need to draw on some of your expertise :)

Hello! hope you are well. I have a task i am trying to accomplish with some form of controller. An arduino sounded like a good fit.

essentially, i need to control a bi-directional motor to drive a door back and forth along a track that is connected to a chain and sprocket set.

What i would like to do is have two limit switches at either end of the doors travel that would cause the motor to switch directions until it reaches the other limit switch (for cycling testing, bouncing back and forth) with a master on off switch that would allow me to disable the whole thing entirely.

the bi-directional motor (a brushless induction a/c motor) has two starter windings, so three wires. One is neutral. one wire is forward, one is reverse.

I have also found some definite purpose contactors (spst 110v 30A) with 24vdc coils. i would like to use to power this.

From my understanding the arduino can output a 5v logic signal.

So i was thinking about having that logic signal go to a mosfet that could be hooked up to a 24v power source to provide the coil voltage for the definite purpose contactors.

(unless there is a better way you guys know of, any and all suggestions are welcome )

then essentially i would need it to hit one limit switch, which would make the motor go a certain direction until the other limit switch is hit. then power would need to be applied to the other motor starting wire to make it reverse directions (preferably after a short second pause or so to allow the motor to more easily switch directions)

Please let me know what you all think! thank you for your time and thoughts!

Welcome to the Arduino forum. You have the design well in hand, but one critical piece of information is missing.

What happens to your motor when the power is suddenly switched to the other wire? Does the motor stop, then begin to turn the other way. Or does it continue the way it was running? Or does it begin to smoke?

I suspect you will have to stop the power to the motor and wait for it to stop turning and then begin to turn the other way.

Your system will surely overrun the limit switches, so they will have to be on adjustable mountings to you can accurately set them up.

Paul

What you describe can be done with switches and a relay for changing direction, and would be more reliable.

Thank you Paul! Glad to be here. thats kind of what i was thinking. If i'm not mistaken an a/c induction motor will start and once the centrifugal switch triggers the driving coil and shuts off the starter coil it will generally continue to run that way until it's stopped. Though i'm entirely unsure on what would happen if power was applied to the other starter winding while it was in motion, or if it would even allow the winding to turn on since the centrifugal switch is tripped. Perhaps someone has tried this? i'd be curious to know :slight_smile:

Anways, i was also thinking of using a changeover or alternating relay with the limit switches hooked to the coil of it and have each of its poles control a definite purpose contactor.

Jrem, you have inspired me!

i could use one SPDT definite purpose time delay contactor on the motor with both the NC and NC and hook one motor direction wire up to each.

Then make a "3 way" switch with two SPDT sustained limit switches.

that way every time the motor hit the switch at the start it would turn on that direction until it hit the other limit switch, cutting the power and turning the motor control relay to its NC side. which would reverse the direction of the motor after a delay until it hit the start switch again.

does this sound correct to you? any thoughts? im still learnin stuff lol.

thank you though and i appreciate you both!

does this sound correct to you?

Maybe, post a wiring diagram (pencil & paper is fine).

With standard SPST limit switches, I would probably use a latching relay.

It is very hard on motors, power supplies and fuses to switch motor direction while it is still rotating, so a brake or some sort of delay might have to be implemented. Perhaps this would not be an issue with a door mechanism, but if it is, an inexpensive hardware solution is still possible, using timer relays or delay modules.

Here's what i was thinking. i guess i could use a magnetic latching relay with two coils on it. right? which would sustain whatever direction it had going until power was applied to the opposite coil to reverse it. with some time delay relays on the outputs so the motor would shut off and sit for a few seconds before starting in the reverse direction.

(i hope all this helps someone, even if it isnt entirely arduino related)

TheMysticTurtle:
Here's what i was thinking. i guess i could use a magnetic latching relay with two coils on it. right? which would sustain whatever direction it had going until power was applied to the opposite coil to reverse it.

Whatever you do, it'd be wise to use a NC auxiliary contact on coil A placed in series with coil B and vice versa, a la:

MOSFET -> NC A -> coil B -> coil power supply.

This will preclude both coils being active simultaneously even if some other component (or software) fails and tries to energize both. Search 'reversing contactor'.

As an aside, I worked on a lot of industrial equipment and *never *saw a mechanical latch relay used to drive a motor. They're used but, only for control/logic purposes. Same with control relays, logic/control switching only. There are special relays - known as contactors and motor starters - applied to motor loads.

YMMV

TheMysticTurtle:
the bi-directional motor (a brushless induction a/c motor) has two starter windings, so three wires. One is neutral. one wire is forward, one is reverse.

You need to provide a photo of the motor nameplate perhaps - brushless and induction are
different types of motor...