Go Down

Topic: OMHT23-600 Nema motor with arduino control? (Read 2540 times) previous topic - next topic

Dukester1351

Hey everybody, first time on the forum. Looking for a bit of help wiring up a senior design project. We currently have a OMHT23-600 stepper motor from omega.com that we need to control with a purchased arduino mega 2560. We're all mechanical engineers over here, so this electrical stuff has us stumped right now. Any help would be greatly appreciated.

Thanks!

MarkT

That seems to be an 8-wire motor from the data on http://www.omega.com/pptst/omht_series.html

This means you have the option of wiring it unipolar or bipolar (either series or parallel).  Do you need it to turn fast?  High voltage bipolar driver circuit would then be the right choice.  For slower use the simplest connection is unipolar with a Darlington array from 6V (the windings are 4.5V, 2.0A in unipolar wiring, Darlington's lose 1.2 volts or so, hence 5 to 6V supply would be feasible.
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

jwatte


Hey everybody, first time on the forum. Looking for a bit of help wiring up a senior design project. We currently have a OMHT23-600 stepper motor from omega.com that we need to control with a purchased arduino mega 2560. We're all mechanical engineers over here, so this electrical stuff has us stumped right now. Any help would be greatly appreciated.


You need three things:

1) A power supply for the motor. This needs to put out somewhat higher than the rated voltage of the windings, and enough amps for the rated current.
2) A controller for the motor. Easiest is to buy a "motor shield" of some sort that is rated for at least the voltage and current you're using. A "constant current" controller/shield is preferable. The "motor shield" will be plug-and-play with the Arduino. A roll-your-own motor controller will require electronics work, which would be fun and allow you to totally tailor the solution to the problem :-)
3) Software running on the Arduino, controlling the motor shield / controller, so it drives the motor.

The motor shield should come with documentation, and often samples, for how to use it on the Arduino.
If you haven't started programming and uploading sketches to the Arduino yet, you should go look at the various samples on this site to get a feel for it. Also, hook up with some nice girls from the Comp Sci department for help ;-)


MarkT



Hey everybody, first time on the forum. Looking for a bit of help wiring up a senior design project. We currently have a OMHT23-600 stepper motor from omega.com that we need to control with a purchased arduino mega 2560. We're all mechanical engineers over here, so this electrical stuff has us stumped right now. Any help would be greatly appreciated.


You need three things:

1) A power supply for the motor. This needs to put out somewhat higher than the rated voltage of the windings, and enough amps for the rated current.




If using a bipolar high voltage driver like the Polulo A4988 or similar the power supply requirements are very different, note.
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

Dukester1351

#4
Feb 20, 2012, 08:39 pm Last Edit: Feb 20, 2012, 08:41 pm by Dukester1351 Reason: 1
"This means you have the option of wiring it unipolar or bipolar (either series or parallel).  Do you need it to turn fast?  High voltage bipolar driver circuit would then be the right choice.  For slower use the simplest connection is unipolar with a Darlington array from 6V (the windings are 4.5V, 2.0A in unipolar wiring, Darlington's lose 1.2 volts or so, hence 5 to 6V supply would be feasible."

Our project entails rotating a mechanical apparatus that is fastened to a human's wrist. This stepper motor will be rotating the users wrist only 180 total, so no, it does not need to turn fast. Too fast would end up hurting or worst case, snapping someone wrist :(  We are looking for torque, so from what I read, a series wiring setup would be ideal.

We do have a power source, but I will admit I am not 100% sure on how to power the arduino in conjunction with the stepper. And what is this about a motor shield? I was under the impression that a power source, an arduino board, and the stepper was all we needed to operate.

jwatte

The stepper motor will draw thousands of milliamperes. The Arduino, un-assisted, will deliver at most 40 milliamperes before burning out.
You can drive the stepper motor, without a specific controller, using the Arduino, if you buffer the output pins using high-current transistors (MOSFETs or Darlingtons.)
A stepper motor driver/shield is basically just a convenient wrapper around that buffering, plus perhaps some control logic that saves you from writing some annoyingly finicky real-time software on the Arduino.

MarkT

If unipolar operation is good enough its pretty easy - a darlington array chip can be used to give the current driving ability (and some have built-in flyback diodes too - someone will remember the part numbers but try searching).

If the power supply can provide enough current for your windings it can be used to derive the Arduino's power too.  Be sure to have some decoupling on the motor supply to protect against spikes if doing this, again a search should turn up some suggestions here.  If the supply is between 7V and 12V its a match for Vin or the coaxial power socket on the Arduino.
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

Dukester1351

Alright, so I'm starting to get a better picture of what I'm going to need, but I have a few basic questions I'm looking to have answered before I continue.
1) What is the difference between unipolar and series wiring? With the 8 leads from the motor, I understand from the stepper info that series wiring is:
Drive A+ = Orange
Drive A- = Black
Drive B+ = Red
Drive B- = Yellow
Connect Orange/White to Black/White (not connected to drive)
Connect Red/White to Yellow/White (not connected to drive)

If that's the case, how would you wire for unipolar?

2) I understand that a motor shield is required, and a Darlington Array chip was suggested. How am I suppose to know which darlington array chip to purchase.

3) The stepper specs say that if I wire the motor for unipolar, it requires 4.5 volts, 2 amps, and 2.3 ohms. It is to my understanding that the arduino board can supply up to 5v when powered by a USB. Is powering the arduino board via the USB enough to power the stepper from the arduino board?

Sorry for so many questions, we've never really dealt with anything like this before. Thanks in advance for the replies!

Dukester1351

Is there possibly another section of the forum that this belongs under that I would be able to get a bit more response from?

jwatte

1. This is the right forum, but motor wire colors are not standard, so your first question probably isn't answerable by anyone.
Although, if I understand your question right: "series wiring" and "unipolar operation" are probably the same thing in this context.

2.
Quote
How am I suppose to know which darlington array chip to purchase.


How are you supposed to know which of "anything" you're supposed to purchase? Find the cheapest thing that meets your requirements.
Your requirements come from the voltage, current, and number of motors to drive, plus how you will integrate with the motors.
If you buy a motor shield, it will already have a chip on it, so just shop by current (must be rated for more current than your motor will draw.)
If you buy raw chips, use parametric search with your store/distributor.

3.
Quote
4.5 volts, 2 amps


That's about ten times more than the Arduino board can reliably deliver. You will need a separate power supply. Note that those ratings are probably per coil, so you'll want a power supply that can deliver greater than 4.5 volts, and greater than 4 amps, per motor. Tie the ground to the power supply to the ground of the Arduino; switch the positive of the power supply through your motor shield. And beware: some motor shields actually want higher voltages to switch, although if the shield uses a "chopping" driver, support current limiting, and you can feed it 8-9 volts, then you're probably OK.

marzetti

I would suggest first reading the link on the  Omegamation webpage http://www.omega.com/prodinfo/stepper_motors.html to get a better idea of the principles involved. Then get this driver board from Pololu: http://www.pololu.com/catalog/product/1182. That board is rated at 2A but to use it at that current you will have to provide good heatsinking. Actually, since they are inexpensive I would get a couple because they are easy to smoke if you miswire something (don't ask how I know  :smiley-roll:) In particular, NEVER disconnect the motor when the board is powered. As for the motor power supply, steppers are usually run at 4-20 times the rated voltage. A 24V power supply would be ideal for your project. Check at MPJA, they have a large selection of inexpensive supplies. The Pololu site has pretty good wiring diagrams. If you follow them you can't go wrong. On the Arduino side I would try the AccelStepper library which can be found on the Arduino Playground.

jwatte

Another affordable source of power supplies (and stepper controllers) is circuitspecialists.com. They also sell stepper motors at reasonable prices. All of it made in China, of course.

The "stepper controller" approach that you get at Circuit Specialists (and in many parts of industry) is a box, similar to a power supply, where you hook up motor and power, and then have two control signals: direction, and "step." There's no shield involved at that point; you wire directly from the Arduino output pin to the control signals.

Btw: A 2A controller for a 2A-per-coil motor seems a little underpowered. I'd probably go for something beefier.

Go Up