Frank (Diskussion | Beiträge) (→Und nie vergessen Motoren zu entstören) |
Frank (Diskussion | Beiträge) (→Und nie vergessen Motoren zu entstören) |
||
Zeile 70: | Zeile 70: | ||
− | + | ==Weblinks== | |
* [http://www.roboternetz.de/phpBB2/motordrehmoment.php Drehmoment Berechnung] | * [http://www.roboternetz.de/phpBB2/motordrehmoment.php Drehmoment Berechnung] | ||
* [http://www.roboternetz.de/motoruebersicht.html Motoren Übersicht] | * [http://www.roboternetz.de/motoruebersicht.html Motoren Übersicht] |
Version vom 14. November 2005, 17:20 Uhr
Hat man sich entschlossen für seinen Roboter oder andere Konstruktion ein 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 weniger 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 Board´s 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.
Inhaltsverzeichnis
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äßt sich über einen einzelnen Controllerport bequem die Drehrichtung wechseln.
http://www.roboternetz.de/wiki/uploads/Main/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 dem Spannungen die beim Ausschalten des Relais induziert werden. Ohne Diode funktioniert das ganze in der Regel auch, jedoch könnte 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, das 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
Wesentlich günstiger und auch beliebter ist die Ansteuerung von Motoren mit MOS-FET`s. Also Transistoren die quasi Leistungslos nur durch Spannungen geschaltet werden und extrem hohe Ströme verkraften. Zu diesem Thema finden man unzählige Beiträge im Roboternetz. Eine der interessantesten Schaltungen die im Roboternetz vorgestellt wurde dürfte diese sein:
http://www.roboternetz.de/wiki/uploads/Main/hbrueckemosfet.gif
Eine sogenannte H-Brücke die nur aus zwei MOSFETS´s und einem Lokik IC besteht. Mit zwei Controllerports Ports 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 etliche mal innerhalb einer Sekunde ein und ausschaltet und somit quasi die Leistung regelt (siehe PWM). Die Schaltung ist so konstruiert das 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.
Ansteuerung mit Treiber IC L293 D
Dies ist ohne Zweifel die am häufigsten genutzte Ansteuerung bei Roboter-Bastlern: Man nimmt einfach da sIC L293D, denn darin sind sogar zwei H-Brücken enthalten. Also mit einem IC lassen sich ohne weitere externe Bausteile gleich zwei Motoren ansteuern. Zwar nur bis ca. 600mA, aber das reicht oft schon für kleinere bis mittlere Roboteranwendungen aus. http://www.roboternetz.de/bilder/L293Pinout.JPG
http://www.roboternetz.de/wiki/uploads/Main/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. Der besondere ist das wenn an beiden Ports der gleiche Pegel anliegt, also zweimal Low oder High, dann wird nämlich der Motor kurzgeschlossen was gleichzeitig als Bremse fungiert. Das bremsen kann bei Robotern durchaus nützlich sein. Zudem ist bei schnellen Richtungswechseln immer zu empfehlen erst 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:
http://www.roboternetz.de/bilder/L298Pinout.JPG
Der wichtigste Unterschied besteht jedoch darin das 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 sogenannte 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 [[1]] oder aber andere Schrittmotoransteuerungen zu nutze um den Strom genau zu regeln. Benötigt man keine Strommessung, so müssen die Sense Ausgänge immer direkt mit GND verbunden werden.
http://www.roboternetz.de/wiki/uploads/Main/hbrueckel298.gif
Ein weiteres Schaltbild gibt es hier [[2]]
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 ein 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 [[3]] bezogen werden.
http://www.roboternetz.de/wiki/uploads/Main/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 gibts auch hierfür ein Projekt und Bauanleitung, siehe im Downlaod Bereich unter:
%target=_blank%http://www.roboternetz.de/phpBB2/dload.php?action=file&file_id=270
http://www.roboternetz.de/phpBB2/album_pic.php?pic_id=693.jpg
Und nie vergessen Motoren zu entstören
%center%http://www.roboternetz.de/phpBB2/album_pic.php?pic_id=26.gif