Aus RN-Wissen.de
Wechseln zu: Navigation, Suche
Rasenmaehroboter fuer schwierige und grosse Gaerten im Test

(pr(k) encoder hinzugefügt)
Zeile 129: Zeile 129:
 
----
 
----
 
Eine andere Möglichkeit besteht darin, das Umladen der Gate-Kapazität asymmetrisch zu gestalten, so dass die Transistoren schneller auf sperrend als auf leitend geschaltet werden. Eine einfache Möglichkeit ist die Parallelschaltung einer Diode und eines Widerstandes: In Sperr-Richtung fließt die Ladung langsamer als in die Durchlass-Richtung.
 
Eine andere Möglichkeit besteht darin, das Umladen der Gate-Kapazität asymmetrisch zu gestalten, so dass die Transistoren schneller auf sperrend als auf leitend geschaltet werden. Eine einfache Möglichkeit ist die Parallelschaltung einer Diode und eines Widerstandes: In Sperr-Richtung fließt die Ladung langsamer als in die Durchlass-Richtung.
 
+
===Heidingscher Encoder===
 +
Aufgrund der Kritik an der Schaltung entschied ich mich einen neuen, einfachen sowie preisgünstigen Encoder zu entwickeln, den man mit der 74series aufbauen kann. Als Treiber können sowohl Transistoren verwendet werden, dabei aber Vorwiderstände nicht vergessen! Die 74series sind mit 20mA Treiberstrom also natürlich nicht zum direkten Treiben geeignet.
 +
Die Logikanzeigen in den Grafiken sollen je einen Transistor bzw. Mosfet darstellen.
 +
====PR Encoder===
 +
[[Bild:Prtreiber.png]]
 +
Der PR Encoder(PWM-Richtung Encoder) ist mit zwei NOR Gates sowie eines Inverters aufgebaut, d.h. man kann ihn mit nur einem IC(74HC(T)02) aufbauen. Will mein 2 Encoder verwenden, empfliehlt sich den Inverter auszulagern (74HC(T)04 oder 74HC(T)14 Sollte man keinen Schmitt-Trigger benötigen empfiehlt sich aus Schnelligkeitsgründen die 74HC(T)04 Variante).
 +
Alternativ ist es noch möglich sich den Inverter zu sparen, und die Ansteuerung für den P(WM) Kanal invertiert laufen zu lassen. 
 +
====PRK Encoder===
 +
[[Bild:Prktreiber.png]]
 +
Der Prk-Encoder(PWM-Richtung-Kurzschluss-Treiber) ist eine Erweiterung des PR-Encoders. Er erlaubt es zusätzlich, die Motoren durch einen Kurzschluss zu stoppen.
 +
Aufgebaut werden kann dieser aus 1 NOR und 1 Nand Gate. Dabei werden 3 Nand-Gates als Inverter beschaltet. (d.h. eine die Leitung die übrig bleibt auf Vcc).
 +
====Support====
 +
Fragen einfach in das Forum posten, oder mich anschreiben(User s.o.)
 
===Alte Schaltungsbeschreibung===
 
===Alte Schaltungsbeschreibung===
 
{{FarbigerRahmen|
 
{{FarbigerRahmen|

Version vom 15. März 2008, 13:07 Uhr

Hat man sich entschlossen, für seinen Roboter oder andere Konstruktion einen Getriebemotor zu verwenden, so muss man sich Gedanken machen, wie man ihn ansteuert. Gewöhnlich will man die Motoren ja sowohl in Bezug auf Drehrichtung und Geschwindigkeit über eine Programmiersprache steuern. Daher wird in der Regel erst mal ein Controllerboard benötigt. Leider kann man an die wenigsten Controllerboards einen Getriebemotor direkt anschließen, eine der wenigen Ausnahmen ist das RN-Control-Board und das RNBFRA-Board. Bei beiden Boards ist es einfach, dort müssen die Getriebemotoren einfach nur an die Schraubklemmen angeschlossen werden, danach kann man sofort mit der Programmierung loslegen.

Ich möchte hier aber aufzeigen, wie man Motoren auch bei anderen Boards anschließen kann. Die gleiche Technik läßt sich natürlich auch nutzen, um z.B. mehr als zwei Motoren an RN-Control anzuschließen.

Ansteuerung mit Relais

Die einfachste Methode, um Motoren per Controller anzusteuern, erreicht man durch die Verwendung von Relais. Mit einem Relais, das zwei Umschaltkontakte besitzt, lässt sich über einen einzelnen Controllerport bequem die Drehrichtung wechseln.

Hbrueckerelais.gif

Da auch Relais wegen des Strombedarfes nicht direkt vom Controller geschaltet werden können, wurde in dem oberen Beispiel ein Transistor vorangestellt. Die Diode dient nur dazu, die Spannungen, die beim Ausschalten des Relais induziert werden, abzuleiten. Ohne Diode funktioniert das Ganze in der Regel auch, jedoch könnte der Transistor oder sogar der Controller durch die induzierte Spannung beschädigt werden. Die Schaltung ist also in der Lage, die Drehrichtung umzuschalten, jedoch nicht in der Lage, den Motor zu stoppen. Um den Motor ganz auszuschalten, müsste man noch ein weiteres Relais vorsehen, das die gesamte Motorspannung abschaltet. Ein Schaltbild können wir uns ersparen, da das Ganze recht ähnlich aussieht. Der große Nachteil von Relaisschaltungen ist, dass die Geschwindigkeit des Motors nicht geregelt werden kann, zudem haben Relais bei sehr vielen Schaltvorgängen einen gewissen Verschleiß. Vorteil der Schaltung ist jedoch, das man auch sehr große Lasten/Motoren schalten kann.

Ansteuerung mit MOS-FET

Neufassung

Dieser Artikel ist noch lange nicht vollständig. Der Auto/Initiator hofft das sich weitere User am Ausbau des Artikels beteiligen.

Das Ergänzen ist also ausdrücklich gewünscht! Besonders folgende Dinge würden noch fehlen:

Die Neufassung kann im momentanen Stand nur als Anregung verstanden werden.

Insbesondere fehlen noch angepasste Schaltpläne.

Einige der Anmerkungen aus dem Abschnitt "Kritik an der Schaltung" sind in der Neufassung noch nicht enthalten, die Beschreibung von Verzögerungsgliedern müsste auch eine Erklärung enthalten, welche Verzögerung mit welchen Werten erreicht wird.

Wenn die Neufassung komplett fertig ist, sollten die alten Texte weg.


Grundprinzip

Wesentlich günstiger und auch beliebter ist die Ansteuerung von Motoren mit MOS-FETs. Also Transistoren, die quasi leistungslos nur durch Spannungen geschaltet werden und extrem hohe Ströme verkraften. Zu diesem Thema findet man unzählige Beiträge im Roboternetz.

Die Grundschaltung besteht aus 2 N-Kanal-MOSFET (hier BUZ11) und zwei P-Kanal-MOSFET (hier IRF5305), mit denen die Motoranschlüsse nach GND bzw. UB geschaltet werden. Zusätzlich sind noch 4 Schottky-Dioden (z.B. SB530) erforderlich, um Induktionsströme des Motors abzuleiten. Die Dioden werden in Sperrichtung von den beiden Motoranschlüssen nach GND bzw. UB geschaltet.

Grundsätzlich muss die Beschaltung der Gate-Eingänge so erfolgen, dass zum Starten des Motors die Transistoren einer Diagonale auf "leitend" und die der anderen auf "sperrend" geschaltet werden. Zum Anhalten des Motors werden z.B. die unteren auf leitend und die oberen auf sperrend geschaltet - Der Motor wird dadurch schnell abgebremst, denn durch einen Transistor und eine Freilaufdiode fließt ein nicht unerheblicher Bremsstrom. Alternativ kann man auch alle Transistoren auf sperrend schalten, der Motor läuft dann im Leerlauf aus.

Die Transistoren einer Seite dürfen nicht dauerhaft gleichzeitig auf "leitend" geschaltet werden, da dies einen Kurzschluss verursacht.

Hinweis: Zumindestens bei dem Transistor BUZ11 handelt es sich um ein veraltetes Modell. Wenn es auf hohe Leistung ankommt, sollte da ein anderer Transistor gewählt werden.

Elektrische Ansteuerung der Gates

Beim Umschalten der Transistoren entsteht eine erhöhte Verlustleistung - der Widerstand wechselt von sperrend (sehr großer Widerstand) nach leitend (sehr kleiner Widerstand) und umgekehrt.

Zwischen beiden Enden des Schaltvorgangs befindet sich der Transistor in der "Widerstandsphase" (weder ganz leitend, noch ganz sperrend), die eine erhebliche Verlustleistung und damit Erwärmung mit sich bringt.

Deshalb sollte der Schaltvorgang - insbesondere wenn für eine PWM-Gegelung sehr oft geschaltet werden soll - möglichst schnell erfolgen. Da zum Umschalten die durch den Aufbau des MOSFETs bedingte Gatekapazität umgeladen werden muss, ist hierzu (sehr kurzzeitig) ein hoher Stromfluss nötig.

Schaltung direkt am Port

Eine Ansteuerung unmittelbar über den Ausgang eines Mikrocontrollers (oder eines TTL-IC) ist schon wegen der benötigten Spannungen nicht möglich.

Bei den N-FET könnte man sog. "Logik-MOSFET" nehmen, die bereits bei 5V ausreichend leitet.

Bei den P-MOSFET bemisst sich die Schaltspannung gegen UB, mit einem 5V Port und UB=12V würde also zwischen -12V und -7V umgeschaltet, was einen P-MOSFET erfordern würde, der bereits bei -7V sperrt.

Dass ein Portpin nur einen geringen Stromfluss (~20mA) zulässt, ist ein weiteres Problem und verhindert einen Schaltvorgang mit idealer steiler Flanke. Allerdings ist die Schaltungsvariante mit einem Transistor in diesem Punkt keinesfalls besser, wenn die Gatekapazität durch den PullUp-Widerstand umgeladen werden muss.

Schaltung mit einem Transistor

Eine einfache Steuerschaltung besteht aus einem Transistor-Schalter und einem Pull-Up-Widerstand. Als Schalter hab ich 1/7 eines ULN2003 IC verwendet, als PullUp 2200 Ohm. Ein diskreter Aufbau mit 1 Transistor und 2 Widerständen ist aber auch nicht komplizierter.

Der Vorteil liegt in der Einfachheit, der Nachteil liegt darin, dass die Schaltung nicht sonderlich schnell vonstatten geht: Für die Schaltung des FET muss die Gate-Kapazität transferiert werden, was insbesondere beim Wechsel von 0V nach UB einen Moment dauert, da die Ladung durch den Widerstand hindurch muss.

Ein kleinerer Widerstand könnte hier helfen, verursacht allerdings einen nicht unerheblichen Stromfluss im geschalteten Zustand (zulässige Verlustleistung beachten).

Schaltung mit zwei Transistoren

Eine bessere Ansteuerung sollte sich ergeben, wenn man zwei Transistoren zur Gate-Ansteuerung verwendet: Einer schaltet gegen 0V, der andere Gegen UC. So kann man erreichen, dass in beide Richtungen rasch umgeschaltet werden kann.

Integrierte Gate-Treiber

Statt der Beschaltung mit zwei Transistoren kann man auch einen integrierten MOSFET-Treiber verwenden. Mit derartige IC sind darauf ausgelegt, kurzfristig den für eine Umschaltung benötigten hohen Stromfluss zu ermöglichen.

Es gibt auch Treiber-IC, die zur Ansteuerung der oberen Transistoren eine Spannung oberhalb von UB erzeugen. Mit solchen Highside-Treibern kann die H-Brücke auch aus 4 N-Kanal-Transistoren gebaut werden, was den Vorteil hat, dass N-Kanal-FET mit geringerem Schaltwiderstand zu bekommen sind.

Logische Ansteuerung der Gates

Nach der elektrischen Ansteuerung ist die logische Ansteuerung durch den Mikrocontroller zu überlegen.

Mögliche Querströme

In der H-Brücke sind zwei problematische Zustände zu berücksichtigen:

1. Das offensichtliche Problem ist ein Kurzschluss: Wenn beide Transistoren einer Seite auf leitend geschaltet werden wird dadurch ein Kurzschluss erzeugt. Falls vorhanden brennt die Sicherung durch - ist keine Sicherung vorhanden, brennt was anderes durch.

2. Ein nicht so offensichtliches Problem rührt daher, dass der Schaltvorgang nur mit endlicher Geschwindigkeit abläuft und der Transistor auch schon vor Erreichen des Zielwertes der Gate-Spannung erheblichen Strom leitet. Hierdurch kommt es zu einem Kurzschluss durch den nicht mehr richtig gesperrten und den noch nicht richtig gesperrten Transistor.

Die Stromspitze selbst liegt noch im Rahmen der Spezifikationen der Transistoren. Sofern ein Messwiderstand von z.B. 0,1 Ohm da ist oder die Spannungsquelle einen vergleichbaren Innenwiderstand hat fließt ein Strom von weniger als 70A, die Transistoren sind jeweils für Spitzen von über 100A spezifiziert.

Allerdings hat die Stromspitze drei Auswirkungen:

  1. Die Transistoren erwärmen sich
  2. Es kann an einem Messwiderstand zu einer Spannungsspitze kommen
  3. Die Versorgungsspannung bricht kurzzeitig zusammen

Die Erwärmung des Transistors ist solange kein Problem, wie nur selten umgeschaltet wird. Bei einer Regelung per PWM könnten sich die kleinen Energiemengen zu einem relevanten Problem addieren.

Da die Erwärmung - sofern sie relevant wird - leicht ohne Messinstrumente feststellbar ist, dürfte dieser Teil des Problems insofern handhabbar sein, als man leicht feststellen kann, ob das Problem relevant ist und das Problem auf die Transistoren beschränkt sind.

Bei Leerlauf-Schaltvorgängen im Abstand von 1/15 Sekunden habe ich keine Erwärmung der Transistoren feststellen können, es wurden auch keine zusätzlichen Kühlkörper verwendet.


Die Spannungsspitze am Messwiderstand kann abgeleitet werden: Als weitere Vorsichtsmaßnahme habe ich den Messport des Controllers mit einem Widerstand und einer Z5.1 Diode abgesichert.


Die Störung der Versorgungsspannung lässt sich ohne Oszilloskop nicht messen. Insbesondere in umfangreicheren Schaltungen können Störungen an ganz anderen Stellen (z.B. bei Sensoren) auftreten, die man dann nicht gleich mit der Motorsteuerung in Verbindung bringt.

Um die Störung vom Controller fernzuhalten habe ich dem Spannungswandler vorsichtshalber eine kleine Schottky-Diode (SB140) vorgeschaltet, um ein Entladen des Stützkondensators zu verhindern.

softwaremäßige Ansteuerung

Die einfachste Art der Ansteuerung besteht darin, die Schalter der 4 Gates mit 4 Ausgängen des Controllers zu verbinden.

Die korrekte Ansteuerung muss dann durch die Software garantiert werden.

Eine Fehlschaltung der Software z.B. bei einem Absturz kann allerdings zur Zerstörung der Schaltung führen, die Schaltung sollte also in jedem Fall eine Sicherung haben.

Einfache Ansteuerung

Etwas sicherer ist es, die Schaltung so aufzubauen, dass ein Kurzschluss nicht dauerhaft geschaltet werden kann.

Hierzu habe ich die Schaltung so aufgebaut, dass die Gates einer Seite jeweils gemeinsam geschaltet werden.

Bei einer Gate-Spannung von 0V sperrt der N-MOSFET (UGS=0V), der P-MOSFET leitet bei dieser Gate-Spannung, da hier UGS=-UB ist.

Bei einer Gate-Spannung von UB verhält es sich genau umgekehrt: Der N-MOSFET leitet (UGS=UB) und der P-MOSFET sperrt (UGS=0V)

Diese einfache Ansteuerung benötigt lediglich zwei Transistorschalter und auch nur 2 Port-Pins, hat jedoch den Nachteil, dass die oben beschriebenen Querströme auftreten.

Verbesserungsmöglichkeiten

Zur Lösung des Querstrom-Problems gibt es mehrere Ansatzmöglichkeiten, die ebenfalls mit zwei Controller-Ausgängen auskommen.


Mittels Logik-Bausteinen werden zwei Ausgänge des Controllers so umgesetzt, dass die folgenden Zustände geschaltet werden können:

  1. Motor-Stop: untere Transistoren leitend, obere sperrend (oder umgekehrt)
  2. Motor-Vorlauf: 1. Diagolale leitend
  3. Motor-Rücklauf: 2. Diagonale leitend
  4. Motor-Leerlauf: Alle Transistoren sperrend

Die Querstrom-Problematik kann hierbei softwaremäßig gelöst werden, indem beim Umschalten jeweils kurz der Leerlauf geschaltet wird, damit alle Transistoren sperren.


Eine andere Möglichkeit besteht darin, das Umladen der Gate-Kapazität asymmetrisch zu gestalten, so dass die Transistoren schneller auf sperrend als auf leitend geschaltet werden. Eine einfache Möglichkeit ist die Parallelschaltung einer Diode und eines Widerstandes: In Sperr-Richtung fließt die Ladung langsamer als in die Durchlass-Richtung.

Heidingscher Encoder

Aufgrund der Kritik an der Schaltung entschied ich mich einen neuen, einfachen sowie preisgünstigen Encoder zu entwickeln, den man mit der 74series aufbauen kann. Als Treiber können sowohl Transistoren verwendet werden, dabei aber Vorwiderstände nicht vergessen! Die 74series sind mit 20mA Treiberstrom also natürlich nicht zum direkten Treiben geeignet. Die Logikanzeigen in den Grafiken sollen je einen Transistor bzw. Mosfet darstellen.

=PR Encoder

Prtreiber.png Der PR Encoder(PWM-Richtung Encoder) ist mit zwei NOR Gates sowie eines Inverters aufgebaut, d.h. man kann ihn mit nur einem IC(74HC(T)02) aufbauen. Will mein 2 Encoder verwenden, empfliehlt sich den Inverter auszulagern (74HC(T)04 oder 74HC(T)14 Sollte man keinen Schmitt-Trigger benötigen empfiehlt sich aus Schnelligkeitsgründen die 74HC(T)04 Variante). Alternativ ist es noch möglich sich den Inverter zu sparen, und die Ansteuerung für den P(WM) Kanal invertiert laufen zu lassen.

=PRK Encoder

Prktreiber.png Der Prk-Encoder(PWM-Richtung-Kurzschluss-Treiber) ist eine Erweiterung des PR-Encoders. Er erlaubt es zusätzlich, die Motoren durch einen Kurzschluss zu stoppen. Aufgebaut werden kann dieser aus 1 NOR und 1 Nand Gate. Dabei werden 3 Nand-Gates als Inverter beschaltet. (d.h. eine die Leitung die übrig bleibt auf Vcc).

Support

Fragen einfach in das Forum posten, oder mich anschreiben(User s.o.)

Alte Schaltungsbeschreibung

Achtung! Die Schaltung ist so nicht zu verwenden! Siehe unter Kritik an der Schaltung

Wesentlich günstiger und auch beliebter ist die Ansteuerung von Motoren mit MOS-FETs. Also Transistoren, die quasi leistungslos nur durch Spannungen geschaltet werden und extrem hohe Ströme verkraften. Zu diesem Thema findet man unzählige Beiträge im Roboternetz. Eine der interessantesten Schaltungen, die im Roboternetz vorgestellt wurde, dürfte diese sein:


Hbrueckemosfet.gif


Anmerkung: Den 74HC26N gibts wohl nicht , nur die TTL-Version 74LS26, die HC-Mos-Version lautet 74HC03.

Eine sogenannte H-Brücke, die nur aus zwei MOSFETSs und einem Logik-IC besteht. Mit zwei Controllerports kann diese Schaltung sowohl Geschwindigkeit als auch Drehrichtung regeln. Für die Geschwindigkeit ist ein sogenannter PWM-Port notwendig. Also ein Port, der durch ein gepulstes Signal den Motor etlichemal innerhalb einer Sekunde ein- und ausschaltet und somit quasi die Leistung regelt (siehe PWM). Die Schaltung ist so konstruiert, dass immer nur zwei Transistoren durchschalten. Auf diese Weise fließt einmal der Strom von links oben nach rechts unten und einmal von rechts oben nach links unten, der Motor wird also ähnlich wie bei der Relaisschaltung umgepolt. Bei niedriger PWM_Frequenz sollte die Schaltung durchaus für einige Ampere geeignet sein, wobei ca. 8 bis 13V ideal sein sollten.

Das Logic-IC wurde durch 3x BC547 Transitoren ersetzt.


Hbrückenmosfet BD547.PNG

Kritik an der Schaltung

Diese Schaltung wird im Forum von mehreren Leuten, u.A. Ratber, shaun, massiv kritisiert, z.B. hier: http://www.roboternetz.de/phpBB2/viewtopic.php?t=33067&sid=892e80c6cd2d003292e607bcd7a7123a .

Ich habe leider nicht das Wissen eine bessere Lösung zu liefern. Das Problem sind die Querströme: Im Umschaltmoment sind highside und lowside switch für kurze Zeit beide leitend. Das entspricht einem Kurzschluss der Versorgungsleitung bei jedem Umschalten mit allen damit verbundenen Problemen (Erwärmung, Schwingung, Sicherungen, Reset). Aus diesem Grund sind NAND-Gatter nicht geeignet!

Zum Umschalten muss man

  • den bisher leitenden Mosfet ausschalten,
  • dann etwas warten,
  • und schließlich den nächsten Mosfet schließen.

Dies kann man erreichen, indem man den Einschaltmoment

  • durch RC-Glieder verzögert und
  • den Ausschaltmoment durch Dioden beschleunigt.

Die entstehenden Schaltungen sind komplex, benötigen viele Bauteile und sind fehleranfällig.


Am sinnvollsten sind integrierte Mosfet-Treiber. Diese haben oft eine einstellbare Tot-Zeit (Dead-Time), können hohe Leistungen zum Umladen der Gatekapazität liefern und beachten andere Effekte wie Propagation-Time, Veränderung des Source Potentials beim Highside-switch, etc.

Erklärung von shaun:

die gezeigte Schaltung taugt auch nur als Prinzipschaltung bedingt, da man einen variierenden Aufwand in eine sichere Verriegelung investieren müsste. Bei fixer und nicht zu hoher Betriebsspannung könnte man mit RD-Kombinationen in den Gateleitungen das Ausschalten beschleunigen und das Einschalten verzögern, so dass die Querleitung wegfällt. Allerdings bewirkt diese simple R-Cg-Verzögerung größere Schaltverluste.

Setzt man die Vezögerung vor dedizierte Treiber, müssen diese wiederum leistungsfähig genug zum Umladen der Gates sein und bis an die Versorgung heranreichen, weshalb man an diesem Punkt überlegen sollte, ob 95% duty cycle nicht auch reichen würden (Anmerkung: Bezug auf bootstrapping?) und man integrierte Treiber für reine N-Kanal-Bestückung einsetzen sollte - spart dann wieder etwas Verluste am Highside-Switch, weil N-Kanäler gleicher Generation und Leistungsklasse einen niedrigeren Rds(on) als ihre P-Pendants haben.

Dieser Artikel ist noch lange nicht vollständig. Der Auto/Initiator hofft das sich weitere User am Ausbau des Artikels beteiligen.

Das Ergänzen ist also ausdrücklich gewünscht! Besonders folgende Dinge würden noch fehlen:

Eine vernünftige diskrete Ansteuerung für eine H-Brücke. Korrektur auf Rechtschreibfehler, Zeichensetzung, Schreibstil, Fachausdrücke. Gibt's denn keinen der etwas verbessern möchte?


Ansteuerung mit einem LeistungsOPV

Die wohl preislich und platztechnisch günstigste Alternative zur Ansteuerung von Motoren in H-Brücken ist die Verwendung von (Leistungs-)Operationsverstärkern.

Heidingscher Motortreiber

Bei dem Heidingschen Motortreiber wird jeder Anschluss des Motors mit einem Ausgang des Operationsverstärker verbunden, die Eingänge des OPVs selbst als Komparator. Diese Methode ist für kleine und mittlere Motoren(=< 1A) und mäßige PWM-Frequenzen(<10kHz) gut geeignet. Ein RB35 von Conrad kann damit problemlos angesteuert werden. Bei zu hohen PWM-Frequenzen ist die SlewRate von vielen OPVs zu gering und die entsprechenden OPVs sind dann viel zu teuer und man sollte eine Ansteuerung per Mosfet(s.o.) bevorzugen. Momentan hat sich der TCA 0372 DP1 (57ct bei Reichelt) Verwendung gefunden. Weitere Informationen sind in folgendem Forumsbeitrag zu finden: http://www.roboternetz.de/phpBB2/viewtopic.php?t=38412

Gleichstromansteuerung

Eine weitere Möglichkeit ist es, dem Operationsverstärker eine Gleichspannung vorzugeben, mit denen der OPV die Motoren ansteuert. Diese Methode eignet sich sehr gut für analoge Schaltkreise. Der Wirkungsgrad ist allerdings nicht der beste, da die restliche Spannung in Wärme umgesetzt wird. Zudem werden viele weitere komponenten benötigt, dass den Aufbau treuerer und fehleranfälliger macht. Der entsprechenden Schaltkreis ist im Datenblatt des TCA 0372 DP1 zu finden.

Ansteuerung mit Treiber IC L293 D

Dies ist ohne Zweifel die am häufigsten genutzte Ansteuerung bei Roboter-Bastlern: Man nimmt einfach das IC L293D, denn darin sind sogar zwei H-Brücken enthalten. Also mit einem IC lassen sich ohne weiteres externe Bauteile gleich zwei Motoren ansteuern. Zwar nur bis ca. 600mA, aber das reicht oft schon für kleinere bis mittlere Roboteranwendungen aus.

L293Pinout.JPG


Hbrueckel293d.gif

Wie aus dem Schaltbild zu ersehen ist, werden für die Ansteuerung jedes Motors 3 Ports benötigt. Die Enable-Leitung führt man oft auf einen PWM-Port welcher wie bei der MOS-FET Schaltung oben die Geschwindigkeit regelt. Die beiden anderen Ports geben die Drehrichtung an. Immer wenn die Ports unterschiedliche Polarität haben dreht der Motor in eine bestimmte Richtung, je nachdem wo Low und High anliegt. Das Besondere ist, dass wenn an beiden Ports der gleiche Pegel anliegt, also zweimal Low oder High, dann wird nämlich der Motor kurzgeschlossen - das fungiert als Bremse. Das Bremsen kann bei Robotern durchaus nützlich sein. Zudem ist bei schnellen Richtungswechseln immer zu empfehlen zuerst kurz zu bremsen, um nicht den Motor oder Motortreiber zu stark zu belasten.

Ansteuerung mit dem Schaltkreis L298

Der Schaltkreis L298 ist quasi der große Bruder des L293D. Er beinhaltet auch zwei komplette H-Brücken, kann also auch zwei Motoren ansteuern. Die Pinbelegung ist ebenfalls dem L293D sehr ähnlich, jedoch verfügt er über eine andere Bauform:


L298Pinout.JPG


Der wichtigste Unterschied besteht jedoch darin, dass jede H-Brücke bei L298 bis zu 2A belastet werden kann. Damit lassen sich also schon wesentlich größere Motoren ansteuern. Ein weiterer Vorzug sind die sogenannten SENSE-Ausgänge, über die der komplette Strom fließt. Oft wird hier ein Hochlastwiderstand angeschlossen, um aus der abfallenden Spannung den genauen Strom berechnen zu können. Dies machen sich Steuerungen wie RN-Motor oder aber andere Schrittmotoransteuerungen zunutze, um den Strom genau zu regeln. Benötigt man keine Strommessung, so müssen die Sense-Ausgänge immer direkt mit GND verbunden werden. In diesem Fall muss allerdings eine andere Strombegrenzung eingeplant werden. Wird keine Strombegrenzung eingebaut, müssen diese Widerstände trotztem eingebaut werden, da der Treiber sonst heiss wird.


Hbrueckel298.gif


Ein weiteres Schaltbild gibt es hier [1]

Ansteuerung mit L6205

Der Schaltkreis L6205 stellt eine etwas modernere Alternative zur L298 Ansteuerung dar. Die Ansteuerung ist praktisch identisch, der Schaltungsaufbau in etwa gleich. Beim L6205 sind keine Freilaufdioden mehr notwendig, dafür ist ein Kondensator und zwei Dioden für die interne Spannungserzeugung notwendig. Ein großer Vorteil ist auch das kein extra Kühlkörper mehr notwendig ist. Viele integrierte Schutzfunktionen im L6205 sorgen dafür das der Chip nicht so einfach zerstört werden kann. In der Praxis sind die angegeben 2,8A jedoch mit Vorsicht zu geniesen. Bei Testlayouts erwärmten sich die IC´s bereits bei 2A Dauerstrom (PWM) oft so stark das die automatische Temperaturabschaltung reagierte, somit wird man vermutlich ohne Kühlung oder großes Kühllayout auf er Platine auch nicht mehr als beim L298 erreichen.

L6205ic.gif L6205pinbelegung.gif


L6205.gif

Noch mehr Power gewünscht?

Obwohl der L298 schon einiges abdeckt, so kommt er spätestens bei den Scheibenwischermotoren langsam an seine Grenzen. Bei starker Belastung können solche Motoren kurzzeitig bis ca. 10 A und mehr ziehen. Für solch starke Motoren gibt es jetzt einen ganz interessanten Motorchip aus dem KFZ-Bereich: vnh3sp (Datenblatt im Roboternetz Download-Bereich). Mit ihm lassen sich sogar recht große Motoren ansteuern; vorausgesetzt, man kühlt ihn entsprechend, so verträgt der Chip bis zu 30A. Aber selbst ohne Kühlung bietet er bedeutet mehr Leistung als der L298. Das Schöne, die Ansteuerung ist kaum anders als beim L298 und L293D.

Kleiner Nachteil: Da es ein SMD-Chip mit 1mm Kontaktabstand ist, muss man schon eine geeignete Platine (spezielles Layout mit Kühlflächen) und etwas Löterfahrung besitzen. Inzwischen gibt es aber schon verschiedene RN-Projekte mit dem Chip (RN-Power, RN-Mini H-Bridge), Platinen und Chip können über den Robotikhardware.de-Platinenservice bezogen werden.


Minihbridge ansteuerung.gif


Alternativ zum SMD-Chip VNH3SP30 gibt es noch die Alternative VNH2SP30. Dieser Chip erlaubt zwar nur Motorspannungen zwischen 6 und 16 Volt, jedoch hat er einen wesentlich geringeren Innenwiderstand und wird deshalb nur etwa halb so warm wie der VNH3SP30. Aus diesem Grund eignet er sich auch ideal für kleine Doppelmotorsteuerungen. Natürlich gibt's auch hierfür ein Projekt und eine Bauanleitung, siehe RN-VNH2Dualmotor

Das Schöne ist, dass es dieses RN-Projekt jetzt auch auch als Fertigmodul gibt!


Rndualmotoransteuerung.jpeg

Endstufen mit I2C-Bus / RS232

Motoransteuerung über RS232, I2C, RC
Verwendet man eine der oben vorgestellten H-Bridges, so wird immer vorausgesetzt das ein PWM-Signal und mehrere Ports zur Ansteuerung bereitstehen. Ist dies nicht der Fall weil diese vielleicht schon belegt sind, so lassen sich Endstufen durch einen zusätzlichen Microcontroller auch um beliebige Schnittstellen erweitern. Insbesondere über I2C lassen sich dadurch mehrere Motorboards über einen einzigen Bus ansteuern. Ein Beispiel ist der programmierte Controller MOTCTRL, der speziell für diese Aufgabe gedacht ist. Die Grundscháltung sieht man in der rechten Skizze.

Und nie vergessen Motoren zu entstören

Das Entstören dient dazu, das sogenannte "Bürstenfeuer" zu verhindern, wodurch Störungen hervorgerufen werden könnten. Und so wirds gemacht:


Entstoerung.gif

Siehe auch

Weblinks


LiFePO4 Speicher Test