Eigentlich betreibe ich keinen Modellbau. Ich wurde aber gebeten, einige Komponenten für Modellbau-Elektronik zu entwickeln bzw. die Programme für die dabei verwendeten AVR-Mikrocontroller zu schreiben. Eines dieser Projekte ist der:

Modellbau-Fahrtregler für Modelle mit Kettenantrieb...

Es realisiert einen Modellbau-Fahrtregler für getrennte Antriebe links und rechts, wie sie z.B. bei Kettenfahrzeugen (Raupe, Panzer) oder Baumaschinen (Mini-Radlader) anzutreffen sind. Neben den Kanälen für Antrieb und Lenkung stehen zwei weitere Kanäle für Schaltaufgaben zur Verfügung, die per Programmiertaste aktiviert werden können.

Die Steuerung der beiden Antriebe erfolgt durch Antrieb und Lenkung, wobei der Antriebskanal gleichsinnig auf beide Seiten wirkt, die Lenkung gegensinnig.

Somit ist auch das Wenden auf der Stelle möglich (falls die Mechanik das verträgt und nicht durch Abwerfen der Ketten protestiert). Die "Griffigkeit" der Lenkung gegenüber des Fahrwerks kann im Kopf der ASM-Datei eingestellt werden. Dabei sind nur Werte möglich, die durch Division durch 1, 2, 4 oder 8 erreicht werden, also 100%, 50%, 25%, 12,5%.

Bei mittlerer Geschwindigkeit am Fahrknüppel wird durch Betätigen des Lenkknüppels die eine Seite verzögert und die andere Seite beschleunigt. Wird beim Verzögern der Nullpunkt unterschritten, kehrt sich die Antriebsrichtung um. Wird beim Beschleunigen (rechnerisch) die maximale Geschwindigkeit überschritten, so wirkt halt nur die maximale Geschwindigkeit.

Bei maximaler Geschwindigkeit am Fahrknüppel wirkt die Lenkung nur durch Verzögerung des kurveninneren Antriebs. Der kurvenäußere Antrieb behält dabei "Vollgas".


Die Schaltung ist recht einfach. Herzstück ist ein ATMEL-AVR vom Typ AT90S2313. Seine Anschlusspins sind wie folgt belegt:
  • Pin 01: /Reset (3k3 gegen +VCC)
  • Pin 02: PD0 Kanalimpuls 1 Fahrwerk
  • Pin 03: PD1 Kanalimpuls 2 Lenkung (anstatt Servo)
  • Pin 04: Quarz 8MHz
  • Pin 05: Quarz 8MHz
  • Pin 06: PD2 Kanalimpuls 3 (2 Schalter)
  • Pin 07: PD3 Kanalimpuls 4 (2 Schalter)
  • Pin 08: PD4 Rückfahrlicht und PullDown-R gegen GND, Prog-Taste gegen +VCC
  • Pin 09: PD5 Bremslicht (Prog-Dialog-LED) und Pulldown-R gegen GND
  • Pin 10: GND
  • Pin 11: PD6 PWM vorwärts für linke Brücke
  • Pin 12: PB0 PWM rückwärts für linke Brücke
  • PIN 13: PB1 PWM vorwärts für rechte Brücke
  • Pin 14: PB2 PWM rückwärts für rechte Brücke
  • Pin 15: PB3 Schaltausgang 3a
  • Pin 16: PB4 Schaltausgang 3b
  • Pin 17: PB5 Schaltausgang 4a
  • Pin 18: PB6 Schaltausgang 4b
  • Pin 19: PB7 Takt für Ladungspumpe für MOSFETs (50kHz)
  • Pin 20: +VCC
Zum Test wurde die Testplatine genutzt, die für den Auto-Fahrtregler entwickelt wurde. Sie kann LEDs bzw. externe H-Brücken ansteuern. Das Schaltbild zeigt die Testplatinen-Schaltung. Da die ersten Versuche mit dem AT90S1200 erfolgten, wurde das Layout für diesen Typ erstellt. Der AT90S2313 hat aber identische Anschlussbelegung, weshalb das Layout nicht überarbeitet wurde. Es ist halt nur eine Testplatine, eine finale Fahrtreglerplatine ist noch nicht entwickelt.

Der Aufbau der Leistungsstufe zum Betreiben des Motors bleibt dem Anwender überlassen, es stehen für zwei H-Brücken je ein PWM-Impulsausgang für Vorwärtsfahrt und ein PWM-Impulsausgang für Rückwärtsfahrt zur Verfügung. Die PWM-Impulse sind dabei positiv, die PWM-Frequenz beträgt etwa 2200 Hz.

Die Testplatine wurde für Oberflächenbestückung der gefrästen Platine konzipiert. Das erste Bild zeigt die Leiterzüge, das mittlere die zu fräsenden Trennlinien, das letzte die fertig aufgebaute Platine. Da es eine Testplatine zum Debuggen der Software ist, sind für alle Ausgänge (SMD-) LEDs vorgesehen. Eine finale Fahrtreglerplatine enthält stattdessen Leistungsstufen für Motoren und Schaltausgänge. Einige Bauteile standen als SMD zur Verfügung, andere wurden trotz bedrahteter Bauform auch auf die Oberfläche gelötet. Das ergibt einen soliden Aufbau, der an der Unterseite nicht isoliert werden muss, da dort weder Bauteile, noch Leiterzüge oder Lötstellen sind.

Software:


Parameterprogrammierung:

Da die Impulsbreiten verschiedener RC-Anlagen etwas unterschiedlich sind, bietet der Fahrtregler die Möglichkeit, an die Anlage angepasst zu werden. Dazu werden Parameter wie Neutralpunkt, Vollgas und Fahrtrichtung als numerische Werte im EEPROM gespeichert.

Stellt man "Neutral" auf die eine Endstellung des Steuerknüppels und "Voll voraus" auf die andere, so hat man zwar feinere Fahrstufen, aber keinen Rückwärtsgang und auch eine langsamere PWM-Frequenz.
Gibt man sinnlose Werte ein (z. B. beide gleich), so trägt man selbst die Schuld, wenn der Steller streikt. Durch erneute Programmierung sinnvoller Werte macht man ihn wieder funktionsfähig...


Das Programm darf nicht ohne die schriftliche Einwilligung des Autors kommerziell benutzt werden. Gegen Nutzung in Einzelstücken Marke Eigenbau habe ich nichts einzuwenden.

Die Benutzung geschieht auf eigene Gefahr. Es wird also keinerlei Haftung für Schäden übernommen, die durch den Einsatz dieses Mikrocontroller-Programms entstehen könnten.

hannes@hanneslux.de