Forum: Projekte & Code Gleichstrommotoren über die Digilent Pmod-H-Brücke mit Rückkopplungseingängen und einem Arduino Uno


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Alex W. (Firma: Digilent) (alexwong)


Angehängte Dateien:

Bewertung
-2 lesenswert
nicht lesenswert
Dieses Projekt verwendet das Pmod HB5 von Digilent. Es bietet eine 
2-A-H-Brückenschaltung zur Ansteuerung kleiner bis mittelgroßer 
Gleichstrommotoren und wurde speziell für den Einsatz mit dem 
Getriebemotor von Digilent entwickelt, der über einen Quadratur-Encoder 
verfügt. Das Pmod HB5 kommuniziert mit dem Arduino Uno mittels 
GPIO-Protokoll. Um den Motor mit einer bestimmten Geschwindigkeit zu 
betreiben, muss der Benutzer zunächst die Drehrichtung über den 
Direction-Pin auswählen (um die Welle im Uhrzeigersinn zu drehen, muss 
ein Low-Pegel an den Direction-Pin angelegt werden, beziehungsweise ein 
High-Pegel, um die Welle gegen den Uhrzeigersinn zu drehen) und dann am 
Enable-Pin eine Pulsbreitenmodulation durchführen. Der Motor dreht sich 
umso schneller, je öfter ein logischer High-Pegel innerhalb einer 
bestimmten Zeitspanne am Enable-Pin anliegt

Die Funktionsweise besteht darin, dass der Motor beim Anlegen einer 
Spannung durch die sich ändernden Magnetkräfte angetrieben wird. Wird 
die Spannung abgeschaltet, bewirkt das Drehmoment, dass der Motor sich 
noch eine Weile weiterdreht. Ist die Frequenz ausreichend hoch, 
ermöglicht dieser Prozess des Speisens und Nachlaufens des Motors eine 
gleichmäßige Drehbewegung, die leicht mit einer digitalen Logik 
gesteuert werden kann. Die Änderung der Spannung erfolgt dabei über das 
Pmod BTN – einem Pmod mit vier entprellten Drucktasten – und einer 9 
V-Batterie, die am Pmod HB5 angeschlossen ist.

Die nachfolgende Tabelle zeigt die für den Anschluss des Pmod HB5 an das 
Arduino Uno Board und das Pmod BTN notwendige Verdrahtung:
Pmod HB5 <----------> Arduino Uno <----------> Pmod BTN
  VCC         auf         5V           auf       VCC
  GND         auf         GND          auf       GND
  DIR         auf         2            auf         –
  EN          auf         3            auf         –
  –           auf         4            auf       BTN0
  –           auf         5            auf       BTN1
  –           auf         6            auf       BTN2

Für dieses Projekt unterstützt der Arduino-Code die folgenden Befehle:
•Der Drucktaster BTN0 ändert die Richtung des Motors.
•Der Drucktaster BTN1 erhöht die Motordrehzahl.
•Der Drucktaster BTN2 verringert die Motordrehzahl.
•Die Geschwindigkeit des Motors wird auf dem seriellen Monitor 
angezeigt.

Sobald der Arduino-Code kompiliert ist, erhält der Anwender einen voll 
funktionsfähigen Gleichstrommotor, der mittels Pmod HB5 als 
H-Brückenschaltung und Pmod BTN als Befehlsgeber angesteuert wird. Dabei 
werden alle Befehle (für Richtung und Geschwindigkeit des Motors) auf 
dem seriellen Monitor angezeigt.

: Verschoben durch Moderator
von Jens M. (schuchkleisser)


Bewertung
1 lesenswert
nicht lesenswert
Kann es sein, das das ganz unverschämte kommerzielle Werbung ist?
Neeeeein, niemals!

Alex W. schrieb:
> Das Pmod HB5 kommuniziert mit dem Arduino Uno mittels
> GPIO-Protokoll.

LOL
"Protokoll" ist für zwei Pins mit Freigabe- und PWM-Signal leicht 
übertrieben, oder?
"Die LED kann einfach über das simple 
Didschitell-dschi-pi-ei-oh-singel-wire-Protokoll gesteuert werden: ein 
Aufruf von digitalWrite(H) schaltet das Licht ein, digitalWrite(L) 
dagegen aus."

Das Sketch ist schlecht & fehlerhaft.

Alles in allem kein gutes Beispiel, einer von 5 Sternen.

: Bearbeitet durch User
von Alex W. (Firma: Digilent) (alexwong)


Bewertung
-1 lesenswert
nicht lesenswert
Vielen Dank für die Anmerkung. Können Sie uns vielleicht mitteilen, wo 
es schlechte und fehlerhafte Verbindungen gibt? In Bezug auf das 
GPIO-Protokoll: Jeder Satz von Regeln, der während einer Kommunikation 
verwendet wird, ist ein Protokoll. Wenn also der logische Wert die 
Richtung und die Impulsdauer die Geschwindigkeit des Motors festlegt, 
kann dies als Protokoll betrachtet werden. Das Projekt wurde bereits 
einige Male getestet. Es wurden keine Probleme festgestellt.

von Jens M. (schuchkleisser)


Bewertung
1 lesenswert
nicht lesenswert
Naja, Pläne in Fritzing und der schlechte Code, der nicht auf Überläufe 
testet oder gesichert ist, und aus vollem Lauf eine Richtungsumkehr 
erlaubt, das passt schon zusammen.
Fehlende Entprellung ist da noch das i-tüpfelchen.

Irgendwoher muss de schlechte Ruf der Arduino-Benutzer ja kommen. :D

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.