Schrittmotor Beispiel

Dependencies:   StepperMotorUni mbed

https://developer.mbed.org/media/uploads/okano/1phase_drive.gif

Ein Schrittmotor ist ein Synchronmotor, bei dem der Rotor (drehbares Motorteil mit Welle) durch ein gesteuertes, schrittweise rotierendes, elektromagnetisches Feld der Statorspulen (nicht drehbarer Motorteil) um einen minimalen Winkel (Schritt) oder sein Vielfaches gedreht werden kann.

Ein Schrittmotor hat eine fixe Schrittanzahl pro Umdrehung. Beim verwendeten 28BYJ-48 sind es 2048 Schritte.

Zur erstmaligen Positionierung wird, in der Regel, ein Endstop Schalter verwendet. CNC Maschinen besitzen zusätzlich, wegen der Verletzungsgefahr einen Notstopp Schalter mit Einrastfunktion.

Ein unipolarer Schrittmotor benötigt die Schrittmotor Library und einen IC Treiber (wie ULN2803N) und 4 Digitale Pin's.

Der Schrittmotor wird auf einen der drei Stepper1-3 Header mit dem roten Kabel nach unten gesteckt.

Anwendungen

  • Typische Anwendungsgebiete sind Drucker oder der Antrieb des Schreib-/Lesekopfes in einem CDROM Laufwerken. Aufgrund ihrer hohen Genauigkeit werden sie auch in computergesteuerten Werkzeugmaschinen zur Positionierung der Werkzeuge verwendet. Durch die ständig sinkenden Kosten für die Ansteuerelektronik werden sie auch zunehmend im Konsumgüterbereich verwendet. So sind in Kraftfahrzeugen der mittleren und gehobenen Kategorie heute bis über 50 Schrittmotoren im Einsatz, die Betätigung der vielen Klappen einer automatischen Heizungs- und Klimaanlage ist dafür ein Beispiel.
Committer:
stefan1691
Date:
Mon Nov 07 09:49:59 2016 +0000
Revision:
3:5399d2d9a18f
Parent:
1:5abeb7e4adbb
Schrittmotor an Stepper 1 Anschluss

Who changed what in which revision?

UserRevisionLine numberNew contents of line
marcel1691 0:3fc0439c42fa 1 /** Schrittmotor Beispiel
stefan1691 3:5399d2d9a18f 2 Schrittmotor an Stepper 1 mit rotem Kabel nach unten (+) einstecken.
marcel1691 0:3fc0439c42fa 3 */
marcel1691 0:3fc0439c42fa 4 #include "mbed.h"
marcel1691 0:3fc0439c42fa 5 #include "StepperMotorUni.h"
marcel1691 0:3fc0439c42fa 6
stefan1691 3:5399d2d9a18f 7 StepperMotorUni motor( D5, D4, D3, D2 );
marcel1691 0:3fc0439c42fa 8
marcel1691 0:3fc0439c42fa 9 int main()
marcel1691 0:3fc0439c42fa 10 {
marcel1691 0:3fc0439c42fa 11 // Motordrehzahl
marcel1691 0:3fc0439c42fa 12 printf( "Schrittmotor Test\n" );
stefan1691 3:5399d2d9a18f 13 motor.set_pps( 150 );
marcel1691 0:3fc0439c42fa 14
marcel1691 0:3fc0439c42fa 15 while ( 1 )
marcel1691 0:3fc0439c42fa 16 {
marcel1691 0:3fc0439c42fa 17 printf( "vorwaerts\n" );
marcel1691 0:3fc0439c42fa 18 motor.move_steps( 1024 ); // halbe Umdrehung (180°)
stefan1691 3:5399d2d9a18f 19 wait( 7.5 );
marcel1691 0:3fc0439c42fa 20
marcel1691 0:3fc0439c42fa 21 printf( "rueckwaerts\n" );
marcel1691 0:3fc0439c42fa 22 motor.move_steps( -1024 );
stefan1691 3:5399d2d9a18f 23 wait( 7.5 );
marcel1691 0:3fc0439c42fa 24 }
marcel1691 0:3fc0439c42fa 25 }