Start Presentation

Slide 1: Stepping Motors

Lecture 8

Uli Raich

UCC semester 2017/2018

Slide 2: The 27BJY-48 stepper motor an its ULN-2803 driver module

stepping.png

Slide 3: Stepping Motors versus DC Motors

While DC motors simply spin when they are powered,

stepping motors can be moved in defined steps and thus positioned very precisely.

They contain 2 coils which can be powered in positive or negative

direction making the current flow in normal or reverse direction

and thus creating magnetic fields of opposite polarity

The rotor has a series of magnets (16 in case of the 28BYJ-48 which we are using)

with alternating opposite polarization.

A north pole followed by a south pole followed by a north pole and so on.

The motor base has 2*16 teeth which can be polarized as

north or south poles depending on the direction of the coil current.

Here is the data sheet of the 28BYJ-48

Slide 4: The Driver Card

The maximum current that a GPIO pin on the Raspberry Pi can deliver is 60 mA

which is insufficient to power the motor coils.

We therefore need a driver circuit (Darlington stage) to amplify

this current. In our case we use the ULN-2803 chip

The little PCB has 4 LEDs on it to show which of the 2 coils is

powered and in which direction. This is very useful to demonstrate which signals

are sent to the motor and it illustrates nicely the functioning of the motor.

Slide 5: Connecting the Driver to the Motor

connections.png

We can see from the connections that when powering the pink line

the coil current is flowing in one direction while when

powering the orange line it is flowing in the opposite direction

Slide 6: Motor Movement

First we power the first coil in such a way the the first tooth has a

south pole and the second one a north pole, which

makes the rotor (whose north magnet is considered) moves to the first tooth.

Then we switch off the first coil and power the second coil such that

the first tooth of the lower row has a south pole.

This makes the rotor move to this tooth.

Now switch off the second coil and switch the first one on again,

however this time with reverse current. The second tooth of the

upper row now has the south pole

(the poles are inversed with respect to the first step).

Now we switch on only the second coil with inverse current to make

the rotor move to the forth tooth. From now on the whole cycle repeats.

step1.png step2.png step3.png

step4.png

Slide 7: Signal Table for Single Phase Forward

We have seen in the last slide how we have to power the coils to

make the stepping motor move by 1 cycle, which is 4 steps in case of

Single Phase Forward stepping

How does this translate into a program?

We connect the 4 phases (coil 1 forward, coil 2 backward, coil 1 backward, coil 2 forward)

to 4 GPIO pins on the Raspberry Pi cobbler

Then we create the following signal table, which is a 2-dimensional array of booleans:

    Step 1 Step 2 Step 3 Step 4
In 1 coil 1 + 1 0 0 0
In 2 coil 2 - 0 1 0 0
In 3 coil 1 - 0 0 1 0
In 4 coil 2 + 0 0 0 1

Slide 8: Sending the pulses to the hardware

Now all we have to do is to go through this table and, for each step,

send a high level to the GPIO pin to which we connected the coils.

stepTable.png

Slide 9: Going through one step cycle

oneCycle.png

Slide 10: Other modes of operation

Single Step forward (and backward) works fine but we can do better.

Up to now we have always powered only one coil at a time.

It is however possible to power both coils at the same time.

This will draw of course more current but the motor will get

a higher torque and can therefore handle bigger loads.

doubleStep1.png doubleStep2.png doubleStep3.png doubleStep4.png

Slide 11: Position of rotor in doubleStepForward mode

An important point to note is that the rotor moves half a step

further than in single StepForward because its north pole

is now attracted by the top and the bottom south poles.

By first powering only the upper coil, then powering both coils

then powering again only one pole of the lower coil it should

be possible to move the motor by half steps only

and by doing so increase its resolution.

This is what we call half step mode and it is a combination

of single and double step forward modes.

The torque of the motor is less than in double step forward

and the speed is only about half because now we need 8 steps for a full cycle.

-- Uli Raich - 2017-10-16

Comments

Topic attachments
I Attachment History Action Size Date Who Comment
PNGpng connections.png r1 manage 29.9 K 2017-10-16 - 13:58 UnknownUser  
PNGpng doubleStep1.png r1 manage 5.3 K 2017-10-17 - 09:20 UnknownUser  
PNGpng doubleStep2.png r1 manage 5.6 K 2017-10-17 - 09:20 UnknownUser  
PNGpng doubleStep3.png r1 manage 5.2 K 2017-10-17 - 09:20 UnknownUser  
PNGpng doubleStep4.png r1 manage 5.5 K 2017-10-17 - 09:20 UnknownUser  
PNGpng oneCycle.png r1 manage 18.6 K 2017-10-17 - 09:20 UnknownUser  
PNGpng step1.png r1 manage 4.8 K 2017-10-16 - 13:41 UnknownUser  
PNGpng step2.png r1 manage 4.7 K 2017-10-16 - 13:41 UnknownUser  
PNGpng step3.png r1 manage 4.8 K 2017-10-16 - 13:41 UnknownUser  
PNGpng step4.png r1 manage 4.6 K 2017-10-16 - 13:41 UnknownUser  
PNGpng stepTable.png r1 manage 18.3 K 2017-10-17 - 09:20 UnknownUser  
PNGpng stepping.png r1 manage 182.9 K 2017-10-16 - 12:46 UnknownUser  
Edit | Attach | Watch | Print version | History: r8 | r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r2 - 2017-10-17 - uli
 
  • Edit
  • Attach
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback