6.6 Schrittmotor bis zum Endschalter laufen lassen, Nullpunkt setzen, 10 x 100 Schritte vorwärts und in einem Lauf zurück auf die Nullposition. Zusätzlich einen Button als Notaus (Soforthalt) vorsehen.

Dependencies:   StepperMotorUni mbed

Fork of 06-13-Uebung by th.iotkit1.ch

main.cpp

Committer:
stefan1691
Date:
2015-04-29
Revision:
3:1b56d15b0964
Parent:
2:a0607b1417da
Child:
4:e774091a811e

File content as of revision 3:1b56d15b0964:

/** 6.6 Schrittmotor bis zum Endschalter laufen lassen, Nullpunkt setzen, 10 x 100 Schritte vorwärts 
         und in einem Lauf zurück auf die Nullposition. Zusätzlich einen Button als Notaus (Soforthalt) vorsehen.
         Anwendung: 3D Drucker, Plotter, CNC Fräse.
 */

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

// Schrittmotor
StepperMotorUni motor( PTB18, PTB19, PTC1, PTC8 );
// Endabschalter 
DigitalIn home( A4 );
// Notstop
DigitalIn stop ( A2 );

int main()
{
    // Motordrehzahl
    printf( "Schrittmotor Test\n" );
    motor.set_pps( 300 );

    while ( 1 ) 
    {
        printf( "vorwaerts\n" );
        int steps = 10;
        for ( int i = 0; i < 2048; i += steps )
        {
            motor.move_steps( steps );
            if  ( home == 0 )
                break;
            if  ( stop == 0 )
                return( -1 ); 
            wait( 0.1 );                
        }

        printf( "rueckwaerts\n" );
        motor.move_steps( -1024 );
        wait( 5.0 );
        
        printf( "in die Mitte\n" );
        motor.move_steps( 512 );
        wait( 2.5 );        
    }
}