Der Fahrtregler ist unter Modellbau-Freunden bestens bekannt und ermöglicht das kontinuierliche Steuern eines Elektro-Antriebsmotors mit einer Modell-Fernsteuerung. Dieser Fahrtregler wurde
mit einem AT90S2313 bzw. ATtiny2313 aufgebaut und ermöglicht über eine so genannte H-Brücke die Steuerung eines üblichen Gleichstrommotors in beide Richtungen (vorwärts und rückwärts).
Außerdem kann noch eine Bremsfunktion und eine "Halbe-Leistung"-Option aktiviert werden. Das nebenstehende Elektroauto wurde mit dem Fahrtregler ausgerüstet und macht nicht nur
Kindern einen Riesenspaß.
Letzte Bearbeitung: 20.12.2008
Hinweis: Dieses Projekt wird nicht weiterentwickelt.
Downloads
| Schaltplan | fahrtregler-sch.zip |
| Stückliste mit Empfehlungen zur Bauteilbestellung | fahrtregler-stkl.htm |
| Software für den Fahrtregler mit Quelltext in Assembler | fahrtregler-at90s2313-v103.zip vom 17.05.2001 |
| Platinen-Layout von Josef Schillinger (Target3001-Format) | fahrtregler-layout1.zip |
| Platinen-Layout von Franz Ernhofer (PDF-Datei) | fahrtregler-layout2.zip |
Inhaltsverzeichnis
| Beschreibung | Allgemeine Informationen über die Wohnraumuhr |
| Schaltung | Beschreibung der Schaltung und Schaltungsvarianten |
| Hardware | Bilder und Hinweise zum Aufbau der Wohnraumuhr |
| Software | Inbetriebnahme der Uhr und Installation der Software |
| Bedienung | Bedienung der Wohnraumuhr |
Über 2 DIP-Schalter können 2 Funktionen eingestellt werden:
Der Nullpunkt des Fahrtreglers kann mit einer einfachen Lernprozedur mit der Mittelstellung des Gas-Steuerknüppels in Übereinstimmung gebracht werden. Der neue Nullpunktwert wird dann dauerhaft im EEPROM des Controllers gespeichert. Dieser Lernmodus wird mit einem dritten DIP-Schalter aktiviert.
Auch für die Sicherheit wurde etwas getan: Falls das Signal vom Empfänger ausbleibt oder extrem von der Norm abweicht, dann wird der Motor einfach abgeschaltet. Diese Funktion wird neudeutsch auch Failsafe genannt.
Die gesamte Schaltung wird über einen Akkumulator-Block versorgt, wobei hier 6-10 NiCd-, 6-10 NiMH- oder 2-3 LiPo-Zellen verwendet werden können (entspricht einer Spannung von 7,2 - 12V). Der Akku-Block wird über den Hochstromsteckverbinder K3 angeschlossen. Ein Spannungsregler erzeugt die für den Mikrocontroller erforderliche stabile Spannung von 5V. Diese Spannung liegt außerdem am Steckverbinder K2 an und speist damit gleichzeitig den angeschlossenen Empfänger (BEC). Der hier verwendete Low-Drop-Regler hat den Vorteil, dass er auch bei niedriger Eingangsspannung von 5,5V immer noch stabile 5V liefert. Das ist wichtig, damit bei nachlassender Akku-Spannung Mikrocontroller und Empfänger noch sicher weiterarbeiten können. Aber Vorsicht bei LiPo-Akkus! Diese können bei einer Entladung unter 3V pro Zelle beschädigt werden. Hier empfiehlt sich die Überwachung der Akku-Spannung, z.B. mit diesem Akku-Alarm.
Der Steckverbinder K2 dient neben der Stromversorgung des Empfängers auch zum Empfang der Fernsteuerungs-Daten des Motor-Kanals, welche vom Controller über den Portanschluss PD0 eingelesen werden. Die Portanschlüsse PD4-PD6 sind ebenfalls als Eingänge programmiert und lesen beim Einschalten des Fahrtreglers den Zustand der 3 DIP-Schalter ein. Die Anschlüsse PB0-PB4 sind als Ausgänge geschaltet; PB0-PB3 steuern die Motortreiber an und an PB4 befindet sich eine Kontroll-LED. PB5-PB7 und RESET sind auf den Steckverbinder K1 geführt und dienen als Programmieranschluss für den Controller.Die Motortreiber sind als so genannte H-Brücke geschaltet und diese besteht im Kern aus den 4 Power-MOSFETs Tr1-Tr4, die als Schalter arbeiten. Die 4 Schottky-Dioden D1-D4 schützen die Treiberstufen vor Induktionsspannungen des Motors. Die H-Brücke ermöglicht eine Motorsteuerung in beide Drehrichtungen. Soll der Motor vorwärts laufen, dann werden die Transistoren Tr2 und Tr3 durchgeschaltet und bei Rückwärtslauf die Transistoren Tr1 und Tr4. Zum Bremsen des Motors werden hier die Transistoren Tr1 und Tr2 durchgesteuert und somit der Motor kurzgeschlossen. Zwei Zustände sind bei einer H-Brücke allerdings gefährlich: Die gleichzeitige Aktivierung von Tr1 und Tr3 bzw. Tr2 und Tr4 kann die Transistoren und den Akku beschädigen oder sogar zerstören. Die Software im Controller sorgt aber dafür, dass diese Zustände nicht auftreten.
Um eine kontinuierliche Motorsteuerung zu erreichen, werden die MOSFETs natürlich nicht ständig eingeschaltet, sondern mittels PWM (Pulse Width Modulation) angesteuert. Kurz gesagt: es werden Rechteck-Impulse verwendet, wobei die Impulsbreite die Motorleistung und letztendlich die Drehzahl bestimmt. Die Impulsfrequenz spielt dabei (theoretisch) keine Rolle und liegt üblicherweise im kHz-Bereich. Dieser Fahrtregler verwendet die gleiche Frequenz wie die Fernsteuerung (ca. 50 Hz), weil da die Software recht einfach zu realisieren war. Bei dieser Frequenz ist der Motor im unteren Drehzahlbereich etwas unruhig und laut, aber das stört in der Praxis nicht.Power-MOSFETs sind fast ideale Schaltelemente für solche Motorsteuerungen, aber sie haben auch einen Nachteil. Zur Ansteuerung sind relativ hohe Spannungen zwischen Gate und Source erforderlich, die 5V vom Ausgang des Mikrocontrollers reichen da leider nicht aus. Außerdem bildet die Gate-Source-Strecke elektrisch gesehen einen Kondensator, der bei der hier verwendeten Impulsansteuerung möglichst schnell umgeladen werden muss. Aus diesen Gründen ist für jeden MOSFET noch eine zusätzliche Treiberstufe erforderlich (bestehend aus Tr5-Tr8 sowie R4-R11). Diese dient als Pegelwandler und ermöglicht die Ansteuerung der MOSFETs mit der vollen Akku-Spannung.
Die beiden Jumper JP1 und JP2 können weggelassen werden. Ich habe sie in der Testphase als Schutzschaltung benutzt, damit bei eventuellen Programmfehlern die MOSFETs keinen Schaden nehmen. Man kann sie aber in einem speziellen Fall nutzen: Falls ein Controller zur Einsatz kommt, der bereits in einem anderen Projekt verwendet wurde, dann sollte man beide Jumper stecken und so lange gesteckt lassen, bis sich die richtige Software im Controller befindet.S4 dient als Ein/Aus-Schalter für den Fahrtregler und den angeschlossenen Empfänger. Üblicherweise legt man einen Schalter in den Hauptstromkreis, aber das ist bei einem Fahrtregler wegen der hohen Ströme nicht sinnvoll. Deshalb bleibt die komplette Brücke mit dem Akku verbunden und nur der 5V-Spannungsregler wird abgeschaltet. Der Controller liefert dann keine Ausgangssignale mehr, was dazu führt, dass die oberen Brücken-MOSFETs sperren. Auch die unteren MOSFETs sperren, da die Spannung an den Gate-Widerständen R4 und R5 ebenfalls mit abgeschaltet wird. Der Schalter soll ein gefahrloses Anstecken des Akku-Packs ermöglichen und kann außerdem bei kurzen Pausen zum Abschalten der Empfangsanlage verwendet werden. Bei längerer Nichtbenutzung und beim Transport des Modells sollte jedoch immer der Akku von der Schaltung abgezogen werden.
Diese Stückliste enthält alle Bauelemente, die für dieses Projekt benötigt werden. Ich habe den Fahrtregler auf einer Lochrasterplatine mit der Größe von 84mm x 61mm aufgebaut. Es gibt aber auch 2 Platinenlayouts, die ich von Bastlerkollegen erhalten habe: Das Layout 1 wurde von Josef Schillinger bereitgestellt und mit Target3001 entwickelt. Von Franz Ernhofer stammt das Layout 2 und dieses steht als PDF-Datei zur Verfügung. Vielen Dank.
Ursprünglich wurden die MOSFETs ohne Kühlung direkt auf die Platine geschraubt. Da sich diese im Betrieb jedoch stark erwärmen, habe ich sie später stehend montiert und mit einem kleinen Kühlkörper versehen.
An der Platine sind bereits alle Kabel angeschlossen. Auf der linken Seite führt ein 3-adriges Servokabel zum Empfänger, oben ein 2-adriges zum Schalter S4. Das dicke Kabel rechts oben und unten führt zum Akku-Stecker, das rot-gelbe Kabel zum Motor und ein weiteres schwarz-rotes Kabel in der Mitte zu einer Akku-Überwachung.
So sieht die Rückseite der Platine aus. Wichtig ist, dass alle Leitungen, die hohe Ströme führen, mit entsprechend dickem Draht verlegt werden. Für das Verbindungskabel zum Akku und zum Motor
empfiehlt sich dickes Litzenkabel.
Das kompakte Elektronik-Modul wurde auf dieses experimentelle Automodell montiert und hat sich in der Praxis gut bewährt.
Wenn der Nullpunkt nicht stimmt, dann kann es passieren, dass die LED eine Sekunde nach dem Einschalten verlischt und der Motor langsam vor- oder rückwärts läuft. Im schlimmsten Fall blinkt die LED ständig, das bedeutet, dass kein sinnvoller Nullpunktwert im EEPROM gespeichert ist. In beiden Fällen ist eine Neueinstellung des Nullpunktes erforderlich. Dazu wird der Fahrtregler ausgeschaltet und der DIP-Schalter S3 geschlossen. Beim erneuten Einschalten wartet der Regler zunächst 1 Sekunde, damit sich der Empfänger einschwingen kann, danach liest er 8 Impulse ein, bildet den Mittelwert und speichert diesen im EEPROM ab. Nach dieser Aktion sollte die LED wieder aufleuchten und somit die fehlerfreie Nullpunktspeicherung quittieren. Blinkt die LED, dann ist ein Fehler aufgetreten und die Prozedur muss wiederholt werden. Nach erfolgreicher Lernprozedur wird der Fahrtregler ausgeschaltet und S3 wieder geöffnet. Beim nächsten Einschalten sollte sich dann der Fahrtregler wie oben beschrieben verhalten.
Mit den beiden DIP-Schaltern S1 und S2 lassen sich zwei Optionen aktivieren. Wie bereits weiter oben erwähnt, haben die Schalter folgende Bedeutung:Es ist sinnvoll, diese Schalter nur im ausgeschalteten Zustand des Fahrtreglers zu verändern, da die Stellung nur einmal beim Start des Reglers gelesen wird.