Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Basic Function for Stepper Motor for Beginner

Status
Not open for further replies.

kavinuma

Newbie level 1
Joined
Dec 1, 2013
Messages
1
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
15
Hi,

I am a beginner n00bzorz with circuits, and for this project I'm working on, it was recommended that I use a stepper motor for its precise rotation. So I bought a stepper motor, but I have absolutely no idea how to use it. It's a 4 phase 5 wire lead stepper motor, which looks a lot like this:

https://www.geeetech.com/wiki/index...ase_5-Wire_&_ULN2003_Driver_Board_for_Arduino

I don't know how to hook it up, and I don't know how to operate it at all. Our project was originally complex, but we have dumbed it down considerably. We are using an electrical signal from the eye (EOG https://en.wikipedia.org/wiki/Electrooculography) to control a prosthetic eye to rotate synchronously. We are only working with left and right movements and it's pretty much three positions for the eye: left, right, and middle. So what I need to do is use the right movement output to rotate the stepper motor let's say 70 degrees and the left 70 degrees the other way. But again, I have no idea what I am doing. If anyone can help, I would greatly appreciate it.

- kavinuma
 

Basic Function
365.gif
 
Last edited:

The basic system is that if you apply a pulse to a coil, the motor steps 360/64 ~ 5.7 degrees. On removal of the pulse there is a magnetic holding force. The pulse must not be too short or there is not enough power to get the rotar to jump to the next mag, holding position, extending the pulse does increase the magnetic holding force. If the pulses are sent as a continuous train the motor appears to run continuously. By changing the coil to which the pulse is applied the direction of rotation will be reversed. All you got to do is to figure out what size pulse to which coil, when.
First of all use the ULN 2003 and 5 V as per the circuit, your inputs will either be from the Aurdino micro processor, or from some hard built logic. Your logic must generate the stream of pulses as shown in the diagram, but must stop at 70/5.7 ~ 13 full cycles.
Now your logic first you need a clock oscillator which is going to produce the pulses, the frequency must be lower then the max. speed of the motor, 500 HZ (period = 2mS) would be a good starting point). This you apply to a counter that is going to produce a pulse out for step1, on a different pin, a pulse output for tap 2, on another output a pulse for step 3. . . So it will have at least 8 outputs. Now look at your motor wires. The orange lead needs a pulse when outputs 1 or 2 or 8 are energised. So you need an OR gate wired to counter outputs for 1,2 and 8 for its input and its output goes to the UL2003 input that is driving the orange wire. You need a tyhree input OR gate for each motor wire.
That sort of design will cause the motor to continuously rotate. So you need to run another counter connected to the UL2003 orange wire input. When this counter reaches the magic 13, it should kill the pulses either by disabling the oscillator, or by reseting the counter (holding the output to a zero).
There is a likelyhood of a suitable integrated circuit with most of these functions all ready built in. Try googling for "stepper motor drivers".

Frank
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top