You are on page 1of 14

DEPARTMENT OF MECHATRONICS

ENGINEERING
UNIVERSITY OF ENGINEERING AND
TECHNOLOGY, PESHAWAR
MtE-226L ACTUATING SYSTEM LAB, 4th Semester

LAB NO. 10
SUBMITTED BY : TAIMOOR KHAN
REG NO. : 20PWMCT0739
SUBMITTED TO : SIR WAHAD-UR-REHMAN
SUBMISSION DATE: 26-06-2022
LAB TITLE CONTROLLING SPEED AND POSITION OF
STEPPER MOTOR USING DIFFERENT TECHNIQUES.

LAB REPORT RUBRICS


LAB TITLE
LAB NO 10:
CONTROLLING SPEED AND POSITION OF STEPPER MOTOR
USING DIFFERENT TECHNIQUES.
OBJECTIVE:
 To study stepper motor, its different types.
 Working mechanism of stepper motor
 Driver module for stepper motor
 How to control stepper motor using Arduino

INTRODUCTION:
STEPPER MOTOR:
 A stepper motor is a brushless, synchronous electric motor that converts digital pulses
into mechanical shaft rotation.
 Its normal shaft motion consists of discrete angular movements of essentially uniform
magnitude when driven from sequentially switched DC power supply. [1]
 The stepper motor is a digital input-output device. It is particularly well suited to the type
of application where control signals appear as digital pulses rather than analog voltages.
 One digital pulse to a stepper motor drive or translator causes the motor to increment one
precise angle of motion.
 As the digital pulses increase in frequency, the step movement changes into continuous
rotation.[1]
 Some industrial and scientific applications of stepper motors include robotics, machine
tools, pick and place machines, automated wire cutting and wire bonding machines, and
even precise fluid control devices. [1]
WORKING:
 The construction of a stepper motor is fairly related to a DC motor.
 It includes a permanent magnet like Rotor which is in the middle & it will turn once force
acts on it.
 This rotor is enclosedthrough a no. of the stator which is wound through a magnetic coil
all over it. The stator is arrangednear to rotor so that magnetic fields within the stators
can control the movement of the rotor. [2]

 The stepper motor can be controlled by energizing every stator one by one.
 So, the stator will magnetize & works like an electromagnetic pole which uses repulsive
energy on the rotor to moveforward.
 The stator’s alternative magnetizing as well as demagnetizing will shift the rotor
gradually &allows it to turn through great control. [2]
 The stepper motor working principle is Electro-Magnetism.
 It includes a rotor which is made with a permanent magnet whereas a stator is with
electromagnets.
 Once the supply is provided tothe winding of the stator then the magnetic field will be
developed within the stator.
 Now rotor inthe motor will start to move with the rotating magnetic field of the stator.
 So, this is the fundamentalworking principle of this motor. [2]
TYPES OF STEPPER MOTOR
There are three main types of stepper motors, they are:
1. Permanent magnet stepper
2. Hybrid synchronous stepper
3. Variable reluctance stepper

PERMANENT MAGNET STEPPER MOTOR:


 Permanent magnet motors use a permanent magnet (PM) in the rotor and operate on the
attraction or repulsion between the rotor PM and the stator electromagnets. [2]
 This is the most common type of stepper motor as compared with different types of
stepper motors available in the market.
 This motor includes permanent magnets in the construction of the motor. This kind of
motor is also known as tin-can/can-stack motor.
 The main benefit of this stepper motor is less manufacturing cost. For every revolution, it
has 48-24 steps. [2]

Figure 9.5: Permanent Magnet Stepper Motor

VARIABLE RELUCTANCE STEPPER MOTOR:


 Variable reluctance (VR) motors have a plain iron rotor and operate based on the
principle that minimum reluctance occurs with minimum gap, hence the rotor points are
attracted toward the stator magnet poles. [2]
 The stepper motor like variable reluctance is the basic type of motor and it is used for the
past many years.
 As the name suggests, the rotor’s angular position mainly depends on the magnetic
circuit’s reluctance that can be formed among the teeth of the stator as well as a rotor. [2]
Figure 9.6: Variable Reluctance Stepper Motor

Hybrid Synchronous Stepper Motor:


 Hybrid stepper motors are named because they use a combination of permanent magnet
(PM) and variable reluctance (VR) techniques to achieve maximum power in small
package sizes. [2]
 The most popular type of motor is the hybrid stepper motor because it gives a good
performance as compared with a permanent magnet rotor in terms of speed, step
resolution, and holding torque.
 But, this type of stepper motor is expensive as compared with permanent magnet stepper
motors.
 This motor combines the features of both the permanent magnet and variable reluctance
stepper motors.
 These motors are used where less stepping angle is required like 1.5, 1.8 & 2.5 degrees.

Figure 9.7: Hybrid Synchronous Stepper Motor


IN LAB EXPERIMENTATIONS

TASK 1:
THE MOTOR SHOULD REVOLVE ONE REVOLUTION IN ONE
DIRECTION, THEN ONE REVOLUTION IN THE OTHER DIRECTION

CODING:

#include <Stepper.h>
const int stepsPerRevolution = 90;
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);
void setup() {
// set the speed at 60 rpm:
myStepper.setSpeed(5);
// initialize the serial port:
Serial.begin(9600);
}

void loop() {
// step one revolution in one direction:
Serial.println("clockwise");
myStepper.step(stepsPerRevolution);
delay(500);
// step one revolution in the other direction:
Serial.println("counterclockwise");
myStepper.step(-stepsPerRevolution);
delay(500);
CIRCUIT DIAGRAM

EXPERIMENT RESULT:

TASK 2:
MOVES THE STEPPER MOTOR CLOCKWISE SLOWLY AND THEN
COUNTERCLOCKWISE QUICKLY

CODING

//Includes the Arduino Stepper Library


#include <Stepper.h>
// Defines the number of steps per rotation
const int stepsPerRevolution = 2038;
// Creates an instance of stepper class
// Pins entered in sequence IN1-IN3-IN2-IN4 for proper step sequence
Stepper myStepper = Stepper(stepsPerRevolution, 8, 10, 9, 11);
void setup() {
// Nothing to do
(Stepper Library sets pins as outputs)
}
void loop() {
// Rotate CW slowly
myStepper.setSpeed(
100);
myStepper.step(steps
PerRevolution);
delay(1000);

// Rotate CCW
quickly
myStepper.setSpeed(
700);
myStepper.step(-
stepsPerRevolution);
delay(1000);
}
CIRCUIT CONNECTION:

EXPERIMENT RESULT:
TASK 3
A STEPPER MOTOR FOLLOWS THE TURNS OF A POTENTIOMETER
(OR OTHER SENSOR) ON ANALOG INPUT 0.

CODING:

#include <Stepper.h>
// change this to the number of steps on your motor
#define STEPS 100
// create an instance of the stepper class, specifying
// the number of steps of the motor and the pins it's
// attached to
Stepper stepper(STEPS, 8, 9, 10, 11);
// the previous reading from the analog input
int previous = 0;
void setup() {
// set the speed of the motor to 30 RPMs
stepper.setSpeed(30);
}
void loop() {
// get the sensor value
int val = analogRead(0);
// move a number of steps equal to the change in the
// sensor reading
stepper.step(val - previous);
// remember the previous value of the sensor
previous = val;}
CIRCUIT CONNECTION:

EXPERIMENT RESULT:
TASK 4
THE MOTOR WILL STEP ONE STEP AT A TIME, VERY SLOWLY AND
PRINT THE NUMBER OF STEPS ON SERIAL MONITOR AND LCD
SCREEN

CODING:

#include <Stepper.h>
const int stepsPerRevolution = 200; // change this to fit the number of steps per revolution
// for your motor
// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);
int stepCount = 0; // number of steps the motor has taken
void setup() {
// initialize the serial port:
Serial.begin(9600);
}
void loop() {
// step one step:
myStepper.step(1);
Serial.print("steps:");
Serial.println(stepCount);
stepCount++;
delay(500);
}
CIRCUIT CONNECTION:

EXPERIMENTAL RESULT:

References:

https://www.omega.co.uk/prodinfo/stepper_motors.html [1]
https://www.elprocus.com/stepper-motor-types-advantages-applications/ [2]
https://www.monolithicpower.com/stepper-motors-basics-types-uses [3]

You might also like