MATLAB Answers

Impact of microstepping on stepper motor

3 views (last 30 days)
Maria on 25 Feb 2019
Commented: barath V on 25 Nov 2019
I'm operating a NEMA 17 stepper motor through Matlab 2014b , arduino Uno R3 with Arduino IDE 1.8.5 using adafruit motor shield V2:
a = arduino ('COM4', 'Uno', 'Libraries', 'Adafruit\MotorShieldV2');
av = readVoltage(a,3);
shield = addon(a, 'Adafruit\MotorShieldV2');
The motor has to do a 180° rotation in three portions:
myMotor.RPM = 3;
move(myMotor, 18);
% checking keyboard input
move(myMotor, 71);
% checking keyboard input
move(myMotor, 17);
The duration of the rotation is about 12 secs. However, to smooth the rotational movement, I introduced microstepping:
myMotor = shied.stepper(2,200, 'RPM',10, 'stepType', 'Microstep');
Now the same rotation takes 17 secs on average. Has anyone an idea why this happens? Could this be due to microstepping reducing torque by 30% compared to full stepping? As my knowledge about motor functions is very, very limited, I'd really appreciate some help.
  1 Comment
barath V
barath V on 25 Nov 2019
hi i see that 71+17+18 is 106.and 1.8*106 gives 190.8 degree it isnt 180 degree.
in microstepping were u able to move the motor less that 1.8 degree per step.pls shrare if you know how to do it.

Sign in to comment.

Answers (0)


More Answers in the  Power Electronics Control

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!