RoboterCC - Robotic Code Compiler
Dokumentation Artikel NIBObee NIBObee Motoransteuerung

Welcome

Nachrichten

Sie sind nicht eingeloggt.

Werbung

Banner

Site-Statistic

  • 6609 private projects
  • 367 public projects
  • 11856073 lines compiled
  • 50575 builds
NIBO @ facebook YouTube Twitter
NIBObee Motoransteuerung PDF Drucken E-Mail

Wie funktioniert eigentlich die Motoransteuerung?

Wie man einen Motor einfach ein- und ausschalten kann, ist leicht vorstellbar. Wie kann man jedoch die Geschwindigkeit und die Drehrichtung verändern? Die Antwort heisst Pulsweitenmodulation und Motorbrücke! Was das ist wird in den folgenden Abschnitten anhand des rechten Motors erklärt.

Die Motorbrücke auf der NIBObee Platine

Pulsweitenmodulation

Im Programmcode kann man die Motoren mit unterschiedlicher Leistung ansteuern. Die Motoren können zum Beispiel mit 25% Leistung betrieben werden. Was passiert dann jedoch? Der Mikrocontroller schaltet den entsprechenden Motor ganz schnell immer wieder ein und aus. Um 25% Schub zu erzeugen wird der Motor ein Viertel der Zeit eingeschaltet und drei Viertel der Zeit abgeschaltet. Da das sehr schnell geht, bekommt man davon nichts mit. Diese Art der Ansteuerung nennt man Pulsweiten Modulation, kurz PWM.

Pulsweitenmodulation

Motorbrücke

Damit ist man jedoch noch nicht fertig, denn die Motoren müssen sich ja auch in unterschiedliche Richtungen drehen können. Dazu ist die Motorbrückenschaltung da!

Der Brücke in Farbe, der Rest in grau...

Der Strom fließt in dieser Brücke immer von oben (5V / Plus) über die Brücke nach unten (0V / Masse). Der Trick ist, dass dabei die Brücke entweder von links nach rechts oder von rechts nach links überquert wird. Der Motor dreht sich dann entweder vorwärts oder Rückwärts.

Die vier Bipolartransistoren dienen zur Ansteuerung der Brücke, mit ihnen lassen sich bestimmte Pfade freigeben oder sperren. Bei den beiden oberen Transistoren handelt es sich um PNP Transistoren, die beiden unteren sind NPN Transistoren.

Wenn der linke obere Transistor und der rechte untere Transistor geschaltet sind, fliesst der Strom auf der Brücke (durch den Motor) von links nach rechts:

Der Strom fliesst von links nach rechts durch den Motor

Was auf keinen Fall passieren darf ist, dass die beiden linken oder die beiden rechten Transistoren gleichzeitig geschaltet sind. Dann wäre nämlich die Versorgungsspannung mit der Masse über die Transistoren kurzgeschlossen, dass würden diese jedoch nicht überleben! Aus diesem Grund darf der NIBObee auch nicht ohne eingesteckten IC3 eingeschaltet werden, denn in diesem Fall würden beide Transistoren schalten und zerstört werden!!

Die Ansteuerung der Transistoren ist recht simpel, der PNP Transistor (oben) leitet, wenn der Basiswiderstand mit einer Null (0V) angesteuert wird. Der NPN Transistor (unten) leitet, wenn sein Basiswiderstand mit einer Eins (5V) angesteuert wird.

Es ist also immer entweder der obere oder der untere Transistor auf jeder Seite geschaltet. Wenn auf beiden Seiten der gleiche Transistor geschaltet ist fliesst kein Strom. Es gibt dann ja keinen Weg von oben nach unten - es fliesst kein Strom und damit ist der Motor aus...

Hier fliesst kein Strom durch den Motor!

Die beiden Signale für die Basiswiderstände kommen nicht direkt vom ATmega16 sondern werden erst vom 74HC139 erzeugt. Die Frage lautet "Warum?" Die Antwort ist einfach: Wir müssen die PWM Ansteuerung zuerst mit der Richtungswahl kombinieren!

Der 74HC139 besteht aus zwei Binärdecodern. Der Binärdecoder hat zwei Eingangs-Bits und 4 Ausgangs-Bits. Für die Eingangsbits gibt es genau 4 mögliche Kombinationen: 0/0, 0/1, 1/0 und 1/1. Je nachdem welche der vier Kombination am Eingang anliegt wird genau ein Ausgang aktiv. Aktiv bedeutet in diesem Fall das er auf Null geschaltet wird, die übrigen drei Ausgänge sind nicht aktiv und damit auf Eins. Da hier die 0 aktiv ist und das irgendwie genau anders ist als man denken würde, spricht man von invertierten Ausgängen. Der Fachbegriff für den Baustein lautet Dual 2-Bit Binärdecoder mit invertierten Ausgängen.

Aber was bringt das? Der Trick besteht darin, das PWM Signal an den einen Eingang und das Richtungssignal DIR an den anderen Eingang eines Decoders zu hängen. Beim NIBObee ist das PWM Signal an Eingang A und das Richtungssignal an Eingang B. Wenn das Richtungssignal auf Null ist, liegt am Ausgang Y0 das PWM Signal an, der Ausgang Y2 liegt dann immer auf Eins. Wenn das Richtungssignal auf Eins ist, ist es genau umgekehrt, das PWM Signal liegt am Ausgang Y2 an, Y0 liegt auf Eins.

Das ist genau das, was wir benötigen! Ist das Richtungssignal DIR auf Null, ist Y2 immer auf Eins und damit ist im rechten Teil der Brücke immer der untere (NPN) Transistor geschaltet. Im linken Teil der Brücke wird vom PWM Signal immer zwischen dem oberen (PNP) und dem unteren (NPN) Transistor hin- und hergeschaltet. Damit fliesst der Strom im Motor entweder von links nach rechts oder gar nicht. Ist das Richtungssignal jedoch Eins, dann fliesst der Strom von rechts nach links oder eben nicht - der Motor dreht sich in diesem Fall anders herum!

Bleiben noch ein paar zusätzliche Fragen zur Schaltung:

Wofür sind die Dioden in der Brücke? Jeder Motor ist auch immer ein Generator. Wenn man die Motorachse dreht entsteht eine Spannung an den Anschlüssen. Die Dioden leiten die enstehende Spannung so ab, dass nichts kaputt gehen kann!

Warum braucht man die Basiswiderstände? Wenn keine Basiswiderstände vor den Transistoren wären, würde der Strom von Plus durch die Basis des Transistors zum 74HC139 fliessen, anstatt durch den Motor. Ganz nebenbei würde der Transistor dabei kaputt gehen.

Warum ist das PWM Signal über einen Widerstand mit Plus verbunden? Der Widerstand sort dafür, dass direkt nach dem Einschalten des Roboters das PWM Signal auf Eins liegt. Damit ist an Y0 und Y2 auf jeden Fall eine Eins, und nichts dreht sich...

Wofür sind die Kondensatoren? Die Kondensatoren sind dazu da, damit von der Motorbrücke keine Störungen der anderen Roboterkomponenten ausgehen. C2 ist wichtig, damit der Radio-Empfang nicht gestört wird.

Wofür ist der Widerstand R9? Er dient zum Schutz bei blockierten Motoren. Wenn die Motoren blockieren, verhalten sie sich ähnlich wie ein Kurzschluss. Der Widerstand R9 begrenzt in diesem Fall den Strom auf ein verträgliches Maß.

 

Werbung