<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>https://rn-wissen.de/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MartinFunk</id>
		<title>RN-Wissen.de - Benutzerbeiträge [de]</title>
		<link rel="self" type="application/atom+xml" href="https://rn-wissen.de/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MartinFunk"/>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Spezial:Beitr%C3%A4ge/MartinFunk"/>
		<updated>2026-04-11T22:33:10Z</updated>
		<subtitle>Benutzerbeiträge</subtitle>
		<generator>MediaWiki 1.25.1</generator>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Getriebemotoren_Ansteuerung&amp;diff=12612</id>
		<title>Getriebemotoren Ansteuerung</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Getriebemotoren_Ansteuerung&amp;diff=12612"/>
				<updated>2007-08-23T15:42:09Z</updated>
		
		<summary type="html">&lt;p&gt;MartinFunk: /* Ansteuerung mit MOS-FET */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Ansteuerung mit Relais==&lt;br /&gt;
&lt;br /&gt;
Die einfachste Methode, um Motoren per [[Microcontroller|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.&lt;br /&gt;
&lt;br /&gt;
[[Bild:hbrueckerelais.gif|center]]&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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. &lt;br /&gt;
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ß. &lt;br /&gt;
Vorteil der Schaltung ist jedoch, das man auch sehr große Lasten/Motoren schalten kann.&lt;br /&gt;
&lt;br /&gt;
==Ansteuerung mit MOS-FET==&lt;br /&gt;
{{FarbigerRahmen|&lt;br /&gt;
Achtung! Die Schaltung ist so nicht zu verwenden! Siehe unter '''Kritik an der Schaltung'''&lt;br /&gt;
}}&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:hbrueckemosfet.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Anmerkung: Den 74HC26N gibts wohl nicht , nur die TTL-Version 74LS26, die HC-Mos-Version lautet 74HC03.&lt;br /&gt;
&lt;br /&gt;
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]]).&lt;br /&gt;
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. &lt;br /&gt;
Bei niedriger [[PWM]]_Frequenz sollte die Schaltung durchaus für einige Ampere geeignet sein, wobei ca. 8 bis 13V ideal sein sollten.&lt;br /&gt;
&lt;br /&gt;
Das Logic-IC wurde durch 3x BC547 Transitoren ersetzt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Hbrückenmosfet BD547.PNG|center|900px]]&lt;br /&gt;
&lt;br /&gt;
==Kritik an der Schaltung==&lt;br /&gt;
&lt;br /&gt;
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&amp;amp;sid=892e80c6cd2d003292e607bcd7a7123a .&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
Zum Umschalten muss man&lt;br /&gt;
*den bisher leitenden Mosfet ausschalten,&lt;br /&gt;
*dann etwas warten,&lt;br /&gt;
*und schließlich den nächsten Mosfet schließen.&lt;br /&gt;
&lt;br /&gt;
Dies kann man erreichen, indem man den Einschaltmoment &lt;br /&gt;
*durch RC-Glieder verzögert und &lt;br /&gt;
*den Ausschaltmoment durch Dioden beschleunigt.&lt;br /&gt;
Die entstehenden Schaltungen sind komplex, benötigen viele Bauteile und sind fehleranfällig.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
'''Erklärung von shaun:'''&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{{Ausbauwunsch|Eine vernünftige diskrete Ansteuerung für eine H-Brücke.&lt;br /&gt;
Korrektur auf Rechtschreibfehler, Zeichensetzung, Schreibstil, Fachausdrücke. Gibt's denn keinen der etwas verbessern möchte?}}&lt;br /&gt;
&lt;br /&gt;
==Ansteuerung mit Treiber IC L293 D==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Bild:L293Pinout.JPG|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:hbrueckel293d.gif|center]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Ansteuerung mit dem Schaltkreis L298==&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:L298Pinout.JPG|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 [http://www.roboternetz.de/phpBB2/viewtopic.php?t=2741 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:hbrueckel298.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ein weiteres Schaltbild gibt es hier [http://www.roboternetz.de/bilder/schaltung298getriebe.gif]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ansteuerung mit L6205==&lt;br /&gt;
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.&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
[[Bild:l6205ic.gif]] [[Bild:l6205pinbelegung.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:l6205.gif|center]]&lt;br /&gt;
&lt;br /&gt;
==Noch mehr Power gewünscht?==&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 [http://www.shop.robotikhardware.de/shop/catalog/index.php Robotikhardware.de-Platinenservice] bezogen werden. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:minihbridge_ansteuerung.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
Aus diesem Grund eignet er sich auch ideal für kleine Doppelmotorsteuerungen.&lt;br /&gt;
Natürlich gibt's auch hierfür ein Projekt und eine Bauanleitung, siehe [[RN-VNH2Dualmotor]]&lt;br /&gt;
&lt;br /&gt;
Das Schöne ist, dass es dieses RN-Projekt jetzt auch auch als Fertigmodul gibt!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:rndualmotoransteuerung.jpeg|center]]&lt;br /&gt;
&lt;br /&gt;
==Endstufen mit I2C-Bus / RS232==&lt;br /&gt;
[[Bild:motctrl.png|thumb|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.&lt;br /&gt;
&lt;br /&gt;
==Und nie vergessen Motoren zu entstören==&lt;br /&gt;
&lt;br /&gt;
Das Entstören dient dazu, das sogenannte &amp;quot;Bürstenfeuer&amp;quot; zu verhindern, wodurch Störungen hervorgerufen werden könnten. Und so wirds gemacht:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:entstoerung.gif|center]]&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Getriebemotoren]]&lt;br /&gt;
* [[RN-VNH2Dualmotor]]&lt;br /&gt;
&lt;br /&gt;
==Weblinks==&lt;br /&gt;
* [http://www.roboternetz.de/phpBB2/motordrehmoment.php Drehmoment Berechnung]&lt;br /&gt;
* [http://www.roboternetz.de/motoruebersicht.html Motoren Übersicht]&lt;br /&gt;
* [http://www.shop.robotikhardware.de/shop/catalog/index.php?cPath=65 Bauteilesets]&lt;br /&gt;
* [http://www.roboternetz.de/robotertutorial.html Roboter-Tutorial]&lt;br /&gt;
* [http://www.roboternetz.de Roboternetz Forum]&lt;br /&gt;
&lt;br /&gt;
[[Category:Robotikeinstieg]]&lt;br /&gt;
[[Category:Praxis]]&lt;br /&gt;
[[Category:Grundlagen]]&lt;br /&gt;
[[Category:Motoren]]&lt;br /&gt;
[[Category:Elektronik]]&lt;/div&gt;</summary>
		<author><name>MartinFunk</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Getriebemotoren_Ansteuerung&amp;diff=12599</id>
		<title>Getriebemotoren Ansteuerung</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Getriebemotoren_Ansteuerung&amp;diff=12599"/>
				<updated>2007-08-20T19:26:28Z</updated>
		
		<summary type="html">&lt;p&gt;MartinFunk: /* Ansteuerung mit MOS-FET */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Ansteuerung mit Relais==&lt;br /&gt;
&lt;br /&gt;
Die einfachste Methode, um Motoren per [[Microcontroller|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.&lt;br /&gt;
&lt;br /&gt;
[[Bild:hbrueckerelais.gif|center]]&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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. &lt;br /&gt;
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ß. &lt;br /&gt;
Vorteil der Schaltung ist jedoch, das man auch sehr große Lasten/Motoren schalten kann.&lt;br /&gt;
&lt;br /&gt;
==Ansteuerung mit MOS-FET==&lt;br /&gt;
{{FarbigerRahmen|&lt;br /&gt;
Achtung! Die Schaltung ist so nicht zu verwenden! Siehe unter '''Kritik an der Schaltung'''&lt;br /&gt;
}}&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:hbrueckemosfet.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Anmerkung: Den 74HC26N gibts wohl nicht , nur die TTL-Version 74LS26, die HC-Mos-Version lautet 74HC03.&lt;br /&gt;
&lt;br /&gt;
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]]).&lt;br /&gt;
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. &lt;br /&gt;
Bei niedriger [[PWM]]_Frequenz sollte die Schaltung durchaus für einige Ampere geeignet sein, wobei ca. 8 bis 13V ideal sein sollten.&lt;br /&gt;
&lt;br /&gt;
Das Logic-IC würde durch 3x BC547 Transitoren und durch ein delay während des umschalten können kützschlüsse ausgesschlossen werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Hbrückenmosfet BD547.PNG|center|900px]]&lt;br /&gt;
&lt;br /&gt;
==Kritik an der Schaltung==&lt;br /&gt;
&lt;br /&gt;
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&amp;amp;sid=892e80c6cd2d003292e607bcd7a7123a .&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
Zum Umschalten muss man&lt;br /&gt;
*den bisher leitenden Mosfet ausschalten,&lt;br /&gt;
*dann etwas warten,&lt;br /&gt;
*und schließlich den nächsten Mosfet schließen.&lt;br /&gt;
&lt;br /&gt;
Dies kann man erreichen, indem man den Einschaltmoment &lt;br /&gt;
*durch RC-Glieder verzögert und &lt;br /&gt;
*den Ausschaltmoment durch Dioden beschleunigt.&lt;br /&gt;
Die entstehenden Schaltungen sind komplex, benötigen viele Bauteile und sind fehleranfällig.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
'''Erklärung von shaun:'''&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{{Ausbauwunsch|Eine vernünftige diskrete Ansteuerung für eine H-Brücke.&lt;br /&gt;
Korrektur auf Rechtschreibfehler, Zeichensetzung, Schreibstil, Fachausdrücke. Gibt's denn keinen der etwas verbessern möchte?}}&lt;br /&gt;
&lt;br /&gt;
==Ansteuerung mit Treiber IC L293 D==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Bild:L293Pinout.JPG|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:hbrueckel293d.gif|center]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Ansteuerung mit dem Schaltkreis L298==&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:L298Pinout.JPG|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 [http://www.roboternetz.de/phpBB2/viewtopic.php?t=2741 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:hbrueckel298.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ein weiteres Schaltbild gibt es hier [http://www.roboternetz.de/bilder/schaltung298getriebe.gif]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ansteuerung mit L6205==&lt;br /&gt;
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.&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
[[Bild:l6205ic.gif]] [[Bild:l6205pinbelegung.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:l6205.gif|center]]&lt;br /&gt;
&lt;br /&gt;
==Noch mehr Power gewünscht?==&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 [http://www.shop.robotikhardware.de/shop/catalog/index.php Robotikhardware.de-Platinenservice] bezogen werden. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:minihbridge_ansteuerung.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
Aus diesem Grund eignet er sich auch ideal für kleine Doppelmotorsteuerungen.&lt;br /&gt;
Natürlich gibt's auch hierfür ein Projekt und eine Bauanleitung, siehe [[RN-VNH2Dualmotor]]&lt;br /&gt;
&lt;br /&gt;
Das Schöne ist, dass es dieses RN-Projekt jetzt auch auch als Fertigmodul gibt!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:rndualmotoransteuerung.jpeg|center]]&lt;br /&gt;
&lt;br /&gt;
==Endstufen mit I2C-Bus / RS232==&lt;br /&gt;
[[Bild:motctrl.png|thumb|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.&lt;br /&gt;
&lt;br /&gt;
==Und nie vergessen Motoren zu entstören==&lt;br /&gt;
&lt;br /&gt;
Das Entstören dient dazu, das sogenannte &amp;quot;Bürstenfeuer&amp;quot; zu verhindern, wodurch Störungen hervorgerufen werden könnten. Und so wirds gemacht:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:entstoerung.gif|center]]&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Getriebemotoren]]&lt;br /&gt;
* [[RN-VNH2Dualmotor]]&lt;br /&gt;
&lt;br /&gt;
==Weblinks==&lt;br /&gt;
* [http://www.roboternetz.de/phpBB2/motordrehmoment.php Drehmoment Berechnung]&lt;br /&gt;
* [http://www.roboternetz.de/motoruebersicht.html Motoren Übersicht]&lt;br /&gt;
* [http://www.shop.robotikhardware.de/shop/catalog/index.php?cPath=65 Bauteilesets]&lt;br /&gt;
* [http://www.roboternetz.de/robotertutorial.html Roboter-Tutorial]&lt;br /&gt;
* [http://www.roboternetz.de Roboternetz Forum]&lt;br /&gt;
&lt;br /&gt;
[[Category:Robotikeinstieg]]&lt;br /&gt;
[[Category:Praxis]]&lt;br /&gt;
[[Category:Grundlagen]]&lt;br /&gt;
[[Category:Motoren]]&lt;br /&gt;
[[Category:Elektronik]]&lt;/div&gt;</summary>
		<author><name>MartinFunk</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Datei:Hbr%C3%BCckenmosfet_BD547.PNG&amp;diff=12598</id>
		<title>Datei:Hbrückenmosfet BD547.PNG</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Datei:Hbr%C3%BCckenmosfet_BD547.PNG&amp;diff=12598"/>
				<updated>2007-08-20T19:15:19Z</updated>
		
		<summary type="html">&lt;p&gt;MartinFunk: H-Brücke mit Mosfets und BD547 transistoren zur steuerung.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;H-Brücke mit Mosfets und BD547 transistoren zur steuerung.&lt;/div&gt;</summary>
		<author><name>MartinFunk</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Servos&amp;diff=12580</id>
		<title>Servos</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Servos&amp;diff=12580"/>
				<updated>2007-08-17T19:51:43Z</updated>
		
		<summary type="html">&lt;p&gt;MartinFunk: /* Unterschied zwischen Digital- und Analogservos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Servos (Servomotoren) sind kleine [[Getriebemotoren]], die häufig im Modellbau eingesetzt werden, doch auch in der Industrie sind sie anzutreffen. &lt;br /&gt;
Mithilfe eines Potentiometers, das an der Drehachse befestigt ist, wird intern die aktuelle Position bestimmt. Wegen ihrer einfachen Ansteuerung und Präzision eigenen sie sich hervorragend für mehr oder weniger kraftaufwändige Aufgaben in der Robotik. &lt;br /&gt;
&lt;br /&gt;
==Anschlussbelegung==&lt;br /&gt;
Handelsübliche Servomotoren besitzen 3 Anschlüsse:&lt;br /&gt;
# GND&lt;br /&gt;
# [[PWM]]&lt;br /&gt;
# +5V&lt;br /&gt;
&lt;br /&gt;
Wobei sich die Steckerbelegung von Hersteller zu Hersteller unterscheidet.&lt;br /&gt;
&lt;br /&gt;
[[Bild:servosteckerbelegung.gif|center]]&lt;br /&gt;
&lt;br /&gt;
==Ansteuerung==&lt;br /&gt;
An die PWM-Leitung wird ein pulsweitenmoduliertes Signal angeschlossen. Die Repetition-Period(Periode) entspricht bei den meisten Modellen 20ms. Innerhalb/zu Beginn dieser 20ms wird ein Puls erwartet, der sich zwischen 1ms und 2ms bewegt, wobei diese Werte jeweils den Endlagen des Servos entsprechen. D.h. 1ms ist ganz links und 2ms ist ganz rechts(Einige Sevos haben in diesem Wertebereich jedoch nicht die volle Bewegungsfreiheit ausgenutzt, die Werte, bei denen der Servo ganz links/rechts ist können auch unter 1ms/über 2ms liegen). 1,5ms würde demnach die Mittelstellung bedeuten. &lt;br /&gt;
Aufgrund der Pulslänge lässt sich also eine direkte Aussage über die Position des Servos treffen.&lt;br /&gt;
Der Motor sorgt dann intern mithilfe des Potis dafür, dass die Position gehalten wird.&lt;br /&gt;
&lt;br /&gt;
http://kos.informatik.uni-osnabrueck.de/download/report/img34.gif&lt;br /&gt;
&lt;br /&gt;
==Unterschied zwischen Digital- und Analogservos==&lt;br /&gt;
Der hauptsächliche Unterschied besteht darin, dass digitale Servos schneller und genauer sind und ihre Position besser halten können. Analoge Servos geben ihrem Motor alle 20ms ein Signal. Wirkt eine Kraft auf das Servo, braucht die Steuerelektronik bis zu 20ms, um dem Motor einen neuen Spannungsimpuls zu senden. Bei Digitalservos sendet die Steuerelektronik alle 400us einen Impuls an den Motor. Der Motor bekommt die Spannungsimpulse viel schneller. Um so öfter ein Motor Spannung bekommt, um so mehr Leistung kann er verrichten. Man sollte aber auch bedenken, dass dies unweigerlich einen höheren Stromverbrauch zur Folge hat, der besonders bei Modellfliegern nicht tolerierbar ist, da die Betriebszeit stark verkürzt wird.&lt;br /&gt;
&lt;br /&gt;
Die einfachste Art, einen Servo mit [[Bascom]] anzusteuern, ist folgender Befehl:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Config Servos = 2 , Servo1 = Portb.0 , Servo2 = Portb.1 , Reload = 10&lt;br /&gt;
&lt;br /&gt;
Config Portb = Output&lt;br /&gt;
&lt;br /&gt;
Enable Interrupts&lt;br /&gt;
&lt;br /&gt;
Servo(1) = 100&lt;br /&gt;
Servo(2) = 100&lt;br /&gt;
waitms 1000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'Wobei 100 die Mitte ist. 50 ist der linke bzw. rechte Anschlag und 150 der entsprechend andere.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Und in C sieht das ganze so aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SERVOPIN 7&lt;br /&gt;
#define SERVOPORT PORTD&lt;br /&gt;
#define DDRSERVO DDRD&lt;br /&gt;
&lt;br /&gt;
volatile unsigned char servopos;&lt;br /&gt;
&lt;br /&gt;
void servo_init()&lt;br /&gt;
{&lt;br /&gt;
	TIMSK|=(1&amp;lt;&amp;lt;TOIE2);&lt;br /&gt;
	TCCR2 |= (1&amp;lt;&amp;lt;WGM21) | (1&amp;lt;&amp;lt;CS20);	//Prescale=1, CTC mode&lt;br /&gt;
	OCR2 = F_CPU/100000;			//alle 10µS ein IRQ&lt;br /&gt;
	DDRSERVO|=(1&amp;lt;&amp;lt;SERVOPIN);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
ISR(TIMER2_COMP_vect)&lt;br /&gt;
{&lt;br /&gt;
	static int count;&lt;br /&gt;
	if(count&amp;gt;servopos)SERVOPORT&amp;amp;=~(1&amp;lt;&amp;lt;SERVOPIN);&lt;br /&gt;
	else SERVOPORT|=(1&amp;lt;&amp;lt;SERVOPIN);&lt;br /&gt;
	if(count&amp;lt;2000)count++;&lt;br /&gt;
	else count=0;&lt;br /&gt;
};&lt;br /&gt;
	&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man muss zuvor DDRSERVO, SERVOPIN und SERVOPORT entsprechend definieren. Mit der Funktion &amp;quot;servo_init()&amp;quot; wird Timer2 initialisiert und der Servo-Pin als Ausgang gesetzt. &amp;quot;servopos&amp;quot; beinhaltet die aktuelle Dauer des Signals in 1/100ms. Vergessen Sie nicht, globale Interrupts vor dem Betrieb zu aktivieren!&lt;br /&gt;
&lt;br /&gt;
==Anmerkungen==&lt;br /&gt;
Häufig entledigt man sich auch des Potis und der Endlagenanschläge, um so einen Motor mit hohem Drehmoment zu erlangen. Dieser Vorgang wird auch als Servo-Hacking bezeichnet. Durch die Pulslänge kann dann die Winkelgeschwindigkeit des Servos beeinflusst werden.&lt;br /&gt;
&lt;br /&gt;
[[Bild:servo.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
[[Getriebemotoren]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Robotikeinstieg]]&lt;br /&gt;
[[Category:Praxis]]&lt;br /&gt;
[[Category:Grundlagen]]&lt;br /&gt;
[[Category:Motoren]]&lt;/div&gt;</summary>
		<author><name>MartinFunk</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Servos&amp;diff=12579</id>
		<title>Servos</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Servos&amp;diff=12579"/>
				<updated>2007-08-17T19:50:07Z</updated>
		
		<summary type="html">&lt;p&gt;MartinFunk: /* Unterschied zwischen Digital- und Analogservos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Servos (Servomotoren) sind kleine [[Getriebemotoren]], die häufig im Modellbau eingesetzt werden, doch auch in der Industrie sind sie anzutreffen. &lt;br /&gt;
Mithilfe eines Potentiometers, das an der Drehachse befestigt ist, wird intern die aktuelle Position bestimmt. Wegen ihrer einfachen Ansteuerung und Präzision eigenen sie sich hervorragend für mehr oder weniger kraftaufwändige Aufgaben in der Robotik. &lt;br /&gt;
&lt;br /&gt;
==Anschlussbelegung==&lt;br /&gt;
Handelsübliche Servomotoren besitzen 3 Anschlüsse:&lt;br /&gt;
# GND&lt;br /&gt;
# [[PWM]]&lt;br /&gt;
# +5V&lt;br /&gt;
&lt;br /&gt;
Wobei sich die Steckerbelegung von Hersteller zu Hersteller unterscheidet.&lt;br /&gt;
&lt;br /&gt;
[[Bild:servosteckerbelegung.gif|center]]&lt;br /&gt;
&lt;br /&gt;
==Ansteuerung==&lt;br /&gt;
An die PWM-Leitung wird ein pulsweitenmoduliertes Signal angeschlossen. Die Repetition-Period(Periode) entspricht bei den meisten Modellen 20ms. Innerhalb/zu Beginn dieser 20ms wird ein Puls erwartet, der sich zwischen 1ms und 2ms bewegt, wobei diese Werte jeweils den Endlagen des Servos entsprechen. D.h. 1ms ist ganz links und 2ms ist ganz rechts(Einige Sevos haben in diesem Wertebereich jedoch nicht die volle Bewegungsfreiheit ausgenutzt, die Werte, bei denen der Servo ganz links/rechts ist können auch unter 1ms/über 2ms liegen). 1,5ms würde demnach die Mittelstellung bedeuten. &lt;br /&gt;
Aufgrund der Pulslänge lässt sich also eine direkte Aussage über die Position des Servos treffen.&lt;br /&gt;
Der Motor sorgt dann intern mithilfe des Potis dafür, dass die Position gehalten wird.&lt;br /&gt;
&lt;br /&gt;
http://kos.informatik.uni-osnabrueck.de/download/report/img34.gif&lt;br /&gt;
&lt;br /&gt;
==Unterschied zwischen Digital- und Analogservos==&lt;br /&gt;
Der hauptsächliche Unterschied besteht darin, dass digitale Servos schneller und genauer sind und ihre Position besser halten können. Analoge Servos geben ihrem Motor alle 20ms ein Signal. Wirkt eine Kraft auf das Servo, braucht die Steuerelektronik bis zu 20ms, um dem Motor einen neuen Spannungsimpuls zu senden. Bei Digitalservos sendet die Steuerelektronik alle 400us einen Impuls an den Motor. Der Motor bekommt die Spannungsimpulse viel schneller. Um so öfter ein Motor Spannung bekommt, um so mehr Leistung kann er verrichten. Man sollte aber auch bedenken, dass dies unweigerlich einen höheren Stromverbrauch zur Folge hat, der besonders bei Modellfliegern nicht tolerierbar ist, da die Betriebszeit stark verkürzt wird.&lt;br /&gt;
&lt;br /&gt;
Die einfachste Art, einen Servo mit [[Bascom]] anzusteuern, ist folgender Befehl:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Config Servos = 2 , Servo1 = Portb.0 , Servo2 = Portb.1 , Reload = 10&lt;br /&gt;
&lt;br /&gt;
Config Portb = Output&lt;br /&gt;
&lt;br /&gt;
Enable Interrupts&lt;br /&gt;
&lt;br /&gt;
Servo(1) = 100&lt;br /&gt;
Servo(2) = 100&lt;br /&gt;
waitms 1000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'Wobei 100 die Mitte ist. 50 ist der linke bzw. rechte Anschlag und 150 der entsprechend andere.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Und in C sieht das ganze so aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SERVOPIN 7&lt;br /&gt;
#define SERVOPORT PORTD&lt;br /&gt;
#define DDRSERVO DDRD&lt;br /&gt;
&lt;br /&gt;
volatile unsigned char servopos;&lt;br /&gt;
&lt;br /&gt;
void servo_init()&lt;br /&gt;
{&lt;br /&gt;
	TIMSK|=(1&amp;lt;&amp;lt;TOIE2);&lt;br /&gt;
	TCCR2 |= (1&amp;lt;&amp;lt;WGM21) | (1&amp;lt;&amp;lt;CS20);	//Prescale=1&lt;br /&gt;
	OCR2 = F_CPU/100000;			//alle 10µS ein IRQ&lt;br /&gt;
	DDRSERVO|=(1&amp;lt;&amp;lt;SERVOPIN);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
ISR(TIMER2_COMP_vect)&lt;br /&gt;
{&lt;br /&gt;
	static int count;&lt;br /&gt;
	if(count&amp;gt;servopos)SERVOPORT&amp;amp;=~(1&amp;lt;&amp;lt;SERVOPIN);&lt;br /&gt;
	else SERVOPORT|=(1&amp;lt;&amp;lt;SERVOPIN);&lt;br /&gt;
	if(count&amp;lt;2000)count++;&lt;br /&gt;
	else count=0;&lt;br /&gt;
};&lt;br /&gt;
	&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man muss zuvor DDRSERVO, SERVOPIN und SERVOPORT entsprechend definieren. Mit der Funktion &amp;quot;servo_init()&amp;quot; wird Timer2 initialisiert und der Servo-Pin als Ausgang gesetzt. &amp;quot;servopos&amp;quot; beinhaltet die aktuelle Dauer des Signals in 1/100ms. Vergessen Sie nicht, globale Interrupts vor dem Betrieb zu aktivieren!&lt;br /&gt;
&lt;br /&gt;
==Anmerkungen==&lt;br /&gt;
Häufig entledigt man sich auch des Potis und der Endlagenanschläge, um so einen Motor mit hohem Drehmoment zu erlangen. Dieser Vorgang wird auch als Servo-Hacking bezeichnet. Durch die Pulslänge kann dann die Winkelgeschwindigkeit des Servos beeinflusst werden.&lt;br /&gt;
&lt;br /&gt;
[[Bild:servo.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
[[Getriebemotoren]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Robotikeinstieg]]&lt;br /&gt;
[[Category:Praxis]]&lt;br /&gt;
[[Category:Grundlagen]]&lt;br /&gt;
[[Category:Motoren]]&lt;/div&gt;</summary>
		<author><name>MartinFunk</name></author>	</entry>

	</feed>