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

main.cpp

Committer:
okano
Date:
2017-09-13
Revision:
2:32e0b120ddb7
Parent:
1:80c512ccd0f2

File content as of revision 2:32e0b120ddb7:

/** "Hello" program for StepperMotorUni class library
 *
 *  very simple sample of "StepperMotorUni" operation 
 * 
 *  version 1.0
 *  copyright: 2014 Tedd OKANO
 *  released under the Apache 2 license License
 */

#include "mbed.h"
#include "StepperMotorUni.h"

StepperMotorUni motor( p26, p25, p24, p23 );

int main()
{
    motor.set_operation_phase_mode( StepperMotorUni::HALFSTEP );
    motor.set_pps( 200 );

    while ( 1 ) {
        motor.move_steps( 48 );
        wait( 1 );

        motor.move_steps( -48 );
        wait( 1 );
    }
}