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:
9:e568dea69ab5
Parent:
8:6f3f8e5da87b
Child:
10:f00d0b8775d4

File content as of revision 9:e568dea69ab5:

//  stepper motor operation sample (learn it step by step).
//  showing how to control a unipolar stepper motor by mbed digital output ports.
//
//  version 6 : 2-phase drive

#include "mbed.h"

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

#define     INTERVAL    0.01

//  1-phase drive pattern
//  char        pattern[]   = { 1, 2, 4, 8 };       

//  2-phase drive pattern
char        pattern[]   = { 0x3, 0x6, 0xC, 0x9 };

int main()
{
    while(1) {

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

        for ( int i = 0; i < 360; i++ ) {
            motor_out   = pattern[ i % 4 ];
            wait( INTERVAL );
        }

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

        for ( int i = 0; i < 360; i++ ) {
            motor_out   = pattern[ 3 - (i % 4) ];
            wait( INTERVAL );
        }
    }
}