meta data for this page
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige Überarbeitung | ||
| uebung:itt11:stepper-motor_ansteuern [2023/01/13 15:01] – juergenhaas | uebung:itt11:stepper-motor_ansteuern [2024/04/24 08:42] (aktuell) – juergenhaas | ||
|---|---|---|---|
| Zeile 6: | Zeile 6: | ||
| Der Stepper-Motor aus dem Beispiel verfügt über 4 getrennt voneinander ansteuerbare Wicklungen, weswegen auch das Board mit dem Steuerungsmodul für den Motor über 4 Anschlüsse verfügt. | Der Stepper-Motor aus dem Beispiel verfügt über 4 getrennt voneinander ansteuerbare Wicklungen, weswegen auch das Board mit dem Steuerungsmodul für den Motor über 4 Anschlüsse verfügt. | ||
| - | < | + | Der hier dargestellte Quellcode kommt ohne die Verwendung einer Bibliothek aus. |
| + | |||
| + | **Wichtig: | ||
| + | |||
| + | < | ||
| /* | /* | ||
| * PIN-Belegung: | * PIN-Belegung: | ||
| * Pins D0-D3 des NodeMCU an Pins IN1-IN4 am Motorboard | * Pins D0-D3 des NodeMCU an Pins IN1-IN4 am Motorboard | ||
| + | * Stromversorgung (5V) an VCC und GND | ||
| | | ||
| * Motor dreht in der Schleife abwechselnd links und rechts herum. | * Motor dreht in der Schleife abwechselnd links und rechts herum. | ||
| Zeile 33: | Zeile 38: | ||
| {LOW, LOW, LOW, HIGH}, | {LOW, LOW, LOW, HIGH}, | ||
| {LOW, LOW, HIGH, HIGH}, | {LOW, LOW, HIGH, HIGH}, | ||
| - | {LOW, LOW, HIGH, LOW}, | + | {LOW, LOW, HIGH, LOW}, // Es wird immer abwechselnd eine |
| - | {LOW, HIGH, HIGH, LOW}, | + | {LOW, HIGH, HIGH, LOW}, // einzelne Wicklung und dann 2 |
| - | {LOW, HIGH, LOW, LOW}, | + | {LOW, HIGH, LOW, LOW}, // benachbarte Wicklungen gleichzeitig |
| - | {HIGH, HIGH, LOW, LOW}, | + | {HIGH, HIGH, LOW, LOW}, // aktiviert. Dadurch kommen bei 4 |
| - | {HIGH, LOW, LOW, LOW}, | + | {HIGH, LOW, LOW, LOW}, // Wicklungen 8 Einzelschritte bei |
| - | {HIGH, LOW, LOW, HIGH} | + | {HIGH, LOW, LOW, HIGH} // einer Umdrehung zustande. |
| }; | }; | ||
| - | const float sndSpd = 0.034; // Schallgeschwindigkeit in cm pro us | ||
| // globale Variablen | // globale Variablen | ||
| int curStep = 0; // aktueller Schrittzustand | int curStep = 0; // aktueller Schrittzustand | ||
| int curDir = RIGHT; | int curDir = RIGHT; | ||
| - | long duration; | ||
| - | float distance; // Entfernung für Echolot | ||
| int curPos = 0; // aktuelle Motorstellung | int curPos = 0; // aktuelle Motorstellung | ||
| Zeile 52: | Zeile 54: | ||
| - | /* ---------- | + | /* ---------- |
| /** | /** | ||
| Zeile 79: | Zeile 81: | ||
| void loop() | void loop() | ||
| { | { | ||
| - | // rechts drehen | + | // rechts drehen, insgesamt 64 Umdrehungen |
| for (int i = 0; i < 64; i++) | for (int i = 0; i < 64; i++) | ||
| { | { | ||
| Zeile 139: | Zeile 141: | ||
| delay(1000); | delay(1000); | ||
| - | // links drehen | + | // links drehen, insgesamt 64 Umdrehungen |
| for (int i = 0; i < 64; i++) | for (int i = 0; i < 64; i++) | ||
| { | { | ||