Very simple operation samples of unipolar stepper motor. This code has been made to help beginners to learn the stepper motor. The history of the code shows the how to generate pulses from very basic level.

Dependencies:   mbed

main.cpp

Committer:
okano
Date:
2014-01-11
Revision:
7:032ae28fae2e
Parent:
6:11b35048d384
Child:
8:6f3f8e5da87b

File content as of revision 7:032ae28fae2e:

//  stepper motor operation sample (learn it step by step).
//  showing how to control a unipolar stepper motor by mbed digital output ports.
//
//  version 4 : Output pulse pattern in array

#include "mbed.h"

BusOut      motor_out( p26, p25, p24, p23 );

#define     INTERVAL    0.01

char        pattern[]   = { 1, 2, 4, 8 };

int main()
{
    while(1) {

        //  pulse orser : "p26 -> p25 -> p24 -> p23" for 4*90(=360) steps

        for ( int i = 0; i < 90; i++ ) {
            motor_out   = pattern[ 0 ];
            wait( INTERVAL );

            motor_out   = pattern[ 1 ];
            wait( INTERVAL );

            motor_out   = pattern[ 2 ];
            wait( INTERVAL );

            motor_out   = pattern[ 3 ];
            wait( INTERVAL );
        }

        //  pulse orser : "p23 -> p24 -> p25 -> p26" for 4*90(=360) steps

        for ( int i = 0; i < 90; i++ ) {
            motor_out   = pattern[ 3 ];
            wait( INTERVAL );

            motor_out   = pattern[ 2 ];
            wait( INTERVAL );

            motor_out   = pattern[ 1 ];
            wait( INTERVAL );

            motor_out   = pattern[ 0 ];
            wait( INTERVAL );
        }
    }
}