Hello program for StepperMotorUni library

Dependencies:   StepperMotorUni mbed

Dependents:   StepperMotorUni_Hello

Sample code for stepper motor operation with StepperMotorUni library

4 output pin generates signal for stepper motor driver.

/media/uploads/okano/unipolar-steppermotor-sample.png

This library can operate in parallel for multiple stepper motors.


The mbed generates pulses on 4 output pins for external driver stage.
The StepperMotorUni library can generate 3 types of pulses.

1 phase drive (wave drive)

#include "mbed.h"
#include "StepperMotorUni.h"
 
StepperMotorUni motor( p26, p25, p24, p23 );
 
int main()
{
    motor.set_operation_phase_mode( StepperMotorUni::ONE_PHASE );
    ...
    ...

/media/uploads/okano/1phase_drive.gif

2 phase drive

#include "mbed.h"
#include "StepperMotorUni.h"
 
StepperMotorUni motor( p26, p25, p24, p23 );
 
int main()
{
    motor.set_operation_phase_mode( StepperMotorUni::TWO_PHASE );
    ...
    ...

/media/uploads/okano/2phase_drive.gif

1-2 phase (half step) drive

#include "mbed.h"
#include "StepperMotorUni.h"
 
StepperMotorUni motor( p26, p25, p24, p23 );
 
int main()
{
    motor.set_operation_phase_mode( StepperMotorUni::HALFSTEP );
    ...
    ...

/media/uploads/okano/halfstep_drive.gif

Components pages

Components pages are available for bipolar and unipolar motor libraries

A bipolar stepper motor driving pulse generator

A unipolar stepper motor driving pulse generator

Committer:
okano
Date:
Wed Apr 22 03:26:01 2015 +0000
Revision:
1:80c512ccd0f2
Parent:
0:ae2206213141
to include latest library

Who changed what in which revision?

UserRevisionLine numberNew contents of line
okano 0:ae2206213141 1 /** "Hello" program for StepperMotorUni class library
okano 0:ae2206213141 2 *
okano 0:ae2206213141 3 * very simple sample of "StepperMotorUni" operation
okano 0:ae2206213141 4 *
okano 0:ae2206213141 5 * version 1.0
okano 0:ae2206213141 6 * copyright: 2014 Tedd OKANO
okano 0:ae2206213141 7 * released under the Apache 2 license License
okano 0:ae2206213141 8 */
okano 0:ae2206213141 9
okano 0:ae2206213141 10 #include "mbed.h"
okano 0:ae2206213141 11 #include "StepperMotorUni.h"
okano 0:ae2206213141 12
okano 0:ae2206213141 13 StepperMotorUni motor( p26, p25, p24, p23 );
okano 0:ae2206213141 14
okano 0:ae2206213141 15 int main()
okano 0:ae2206213141 16 {
okano 1:80c512ccd0f2 17 motor.set_operation_phase_mode( StepperMotorUni::HALFSTEP );
okano 1:80c512ccd0f2 18 motor.set_pps( 200 );
okano 0:ae2206213141 19
okano 0:ae2206213141 20 while ( 1 ) {
okano 1:80c512ccd0f2 21 motor.move_steps( 48 );
okano 0:ae2206213141 22 wait( 1 );
okano 0:ae2206213141 23
okano 1:80c512ccd0f2 24 motor.move_steps( -48 );
okano 0:ae2206213141 25 wait( 1 );
okano 0:ae2206213141 26 }
okano 0:ae2206213141 27 }