Nächste Überarbeitung | Vorhergehende Überarbeitung |
dc-motor [2016/06/28 11:31] – created peltzer | dc-motor [2023/07/03 10:15] (aktuell) – Externe Bearbeitung 127.0.0.1 |
---|
| ==== DC-Motor ==== |
| |
| === Was ist es? === |
| Ein Elektromotor wandelt an Ihn übermittelte elektrische in kinetische Energie. Es gibt Wechsel- und Gleichstrommotoren, in diesem Beispiel wird der Gleichstrommotor behandelt. Der einfließende Strom wird durch eine Spulenwicklung geleitet, dies Magnetisiert den Rotor. Ein fest mit dem Gehäuse verbundener Stator besitzt ebenfalls ein festes Magnetfeld. Der Rotor beginnt bei angeschaltetem Strom seine Rotation, um sich nach den Polen des Stators auszurichten. Ein Kommutator sorgt dafür, dass nach jeder halben Drehung die Pole des Rotors getauscht werden. So entsteht eine permanente Rotation. |
| Kleine Elektromotoren, wie z.B. in Mobiltelefonen für die Vibrationsfunktion verbaut sind, können direkt an einen Mikrocontroller angeschlossen werden. Voraussetzung ist, dass der Motor mit den geringen Ausgangsspannungen eines Mikrocontrollers „arbeitsfähig „ist. In diesem Beispiel wird der Motor mithilfe einer [[H-Brücke]] angesteuert und von einem Akku mit der nötigen Spannung versorgt. |
| |
| === Schaltplan === |
| |
| {{fritzing_dc.jpg?nolink&700|}} |
| |
| === CODE === |
| |
| <file python DC-Motor.py> |
| |
| import RPi.GPIO as GPIO #Import von Bibliotheken |
| import time |
| |
| GPIO.setmode(GPIO.BOARD) #GPIO-Belegung auf die des Shields stellen |
| GPIO.setup (11, GPIO.OUT) #Beide angeschlossenen GPIOs als Ausgang deklarieren |
| GPIO.setup (13, GPIO.OUT) |
| |
| try: #Try-Huelle, damit das Programm korrekt beendet werden kann |
| while 1: |
| GPIO.output(11, GPIO.LOW) #Den Motor starten, indem ein GPIO Strom ausgibt, der andere nicht. |
| GPIO.output(13, GPIO.HIGH) |
| print("Motor dreht vorwaerts") |
| |
| time.sleep(3) #3 Sekunden warten |
| |
| GPIO.output(13, GPIO.LOW) #Die GPIOs umgekehrt schalten, Drehrichtung wird invertiert |
| GPIO.output(11, GPIO.HIGH) #Wichtig: Erst den Aktiven GPIO auf "low" stellen! |
| print("Motor dreht rueckwaerts") |
| |
| time sleep (3) |
| except KeyboardInterrupt: #Hier folgt, was passieren soll, wenn strg-c gedrueckt wird |
| pass |
| GPIO.output(11, GPIO.LOW) #GPIOs stromlos schalten |
| GPIO.output(13, GPIO.LOW) |
| GPIO.cleanup() #GPIO-Belegungen löschen |
| print("Programm vollstaendig beendet") |
| |
| </file> |
| |
| === Hinweise === |
| |
| Wichtig ist, dass sämtliche 0-Leiter (also alle Grounds) über den Ground des Raspberry PIs angeschlossen werden. |
| Außerdem ist immer darauf zu achten, dass zunächst alle 0-Leiter angeschlossen werden und erst dann die Spannung angelegt wird, sonst nimmt der Raspberry oder die H-Brücke Schaden. |