MotorTiny: Fahrtregler für Mikromodelle

 

Den MotorTiny gibt es in zwei Baugrößen:

1. Normale Baugröße
Diese Platine ist ideal für die meisten üblichen 1:87 RC-Fahrzeuge. Sie ist einseitig bestückt und hat alle benötigten Anschlüsse als Lötpads herausgeführt.

2. Kleine Baugröße
Diese Platine hat keine extra Lötpads für Bremslicht und Rückfahrscheinwerfer. Dadurch und durch ihre doppelseitige Bestückung hat sie eine kleinere Fläche, ist aber 1.5mm dicker. Sie ist z.B. geeignet als Zweit- und Drittfahrtregler in Baumaschinen bei den Sonderfunktionen. Schliesslich braucht man Bremslicht und Rückfahrscheinwerfer nur für die reine Fahrfunktion.
Aaaaaber: die Funktionen an sich für diese Lichter sind im Mikrocontroller enthalten. Man muss die Kabel dann nur direkt an die Pins des Controllers löten.

Der MotorTiny ist ein Fahrtregler für Mikromodelle, basierend auf dem Mikrocontroller ATtiny13 aus dem Hause Atmel. Dieser Controller ist in C programmierbar, was deutlich bequemer als Assembler ist. So hatte ich mir den Spaß gemacht, dem Zwerg ein paar Sachen beizubringen, damit er uns helfen kann, unsere kleinen Autos fahrbar zu machen.

Folgende Funktionen habe ich dem MotorTiny beigebracht:
Automatische Nullpunkterkennung beim Einschalten.
Automatisches Schalten des  Bremslichts beim Stoppen und schnellen Gas wegnehmen.
Automatisches Schalten der  Rückfahrscheinwerfer.
Einstellbare Taktfrequenz: 70, 300, 2000 Hertz
Unterspannungserkennung mit Sicherheitsabschaltung.
Korrektur fehlerhafter Funkimpulse.
Selbstabschaltung bei massiven Funkstörungen oder Senderausfall.
Die Kennlinie ist einfach linear, also direkt proportional zum Knüppelauslenkung.

Noch ein paar technische Daten:
Max. Motorstrom: 500mA
Max. Strom Rückfahrscheinwerfer: 30mA
Max. Strom Bremslicht: 30mA
Maße: 17 x 14 x 3 mm

Kommen wir zur Funktionsbeschreibung. Ich habe sie nach Themen geordnet, so dass die Beschreibung hoffentlich möglichst klar und deutlich geworden ist.

Normalbetrieb
Im Normalfall ist der MotorTiny in einem Modell verbaut und am Empfänger angeschlossen. Wird das Modell eingeschaltet (vorher natürlich den Sender!!), dann holt er zuerst die Taktfrequenz aus dem Speicher. Anschliessend überwacht der MotorTiny seinen Impulseingang. Aus den ersten Impulsen berechnet er den Nullpunkt und schaltet während dieser Zeit die Rückfahrscheinwerfer und Bremslichter ein. Sobald er den Nullpunkt gespeichert hat, gehen die Lichter aus und man kann mit dem Modell losfahren. Der MotorTiny wartet nach dem Einschalten ca. 5 Sekunden auf ein Empfangssignal und kommt daher auch mit den neuen Empfängern klar, die nicht sofort nach ihrem Einschalten Impulse abgeben.Wie bei allen anderen Fahrtreglern auch darf der Steuerknüppel nicht bewegt werden, während der Nullpunkt bestimmt wird. In soweit ist an dem MotorTiny eigentlich nichts besonderes, allerdings kann er noch etwas mehr.

Einstellen der Taktfrequenz
Zwar hat die Praxis gezeigt, dass beim langsamen Manövrieren die Fahrtregler mit niedriger Taktfrequenz überlegen sind, aber nicht alle Modellbauer sind dieser Meinung. Und so bietet dieser Regler die Möglichkeit, die Taktfrequenz dem persönlichen Geschmack anzupassen. Diese Anpassung ist aber mit etwas Aufwand verbunden, so dass sie nicht im laufenden Betrieb stattfinden kann. Es ist so gedacht, dass man die Taktfrequenz beim Bau des Modells einstellt, und dann dauerhaft beibehält oder nur selten ändert. Und so geht das ganze:

Man lässt den Impulseingang des Tinys offen und schaltet die Betriebsspannung ein.Nach dem Einschalten wartet der Tiny auf die Impulse vom Empfänger und nach 5 Sekunden hat er die Nase voll. Da offensichtlich kein Empfänger angeschlossen ist, beginnt der Motor mit geringer Drehzahl zu laufen, und zwar mit der aktuell eingestellten Taktfrequenz. Im Auslieferungszustand sind das ca. 70 Hz. Fünf Sekunden später wechselt die Drehzahl auf 50% und der Motortakt auf 300 Hz. Weitere fünf Sekunden später wird auf 2 kHz gewechselt bei 100% Drehzahl. Wieder fünf Sekunden geht das Spiel von vorn los, bei 70 Hz und geringer Drehzahl. Der Motor wird also alle fünf Sekunden mit einer anderen Frequenz getaktet. Und bei 70 Hz wird zusätzlich das Bremslicht eingeschaltet. An der Drehzahl, dem Bremslicht  und auch am Ton kann man die aktuelle Frequenz erkennen. Läuft der Motor mit der Taktfrequenz, die man haben möchte, dann schaltet man den Tiny aus. Die eingestellte Frequenz hat er damit fest gespeichert. Nun wird die Impulsleitung am Empfänger angeschlossen, und beim nächsten Einschalten arbeitet der Tiny mit der eben eingestellten Frequenz. Möchte man sie doch noch einmal ändern, dann fängt man einfach noch mal wie oben beschrieben von vorn an. Also Impulsleitung abziehen, warten bis der Motor wie gewünscht getaktet wird, ausschalten, Impulsleitung anschliessen, einschalten, fertig.

Verhalten bei starken Funkstörungen
Die Software ist in der Lage, Funkstörungen zu erkennen. Zu lange und zu kurze Impuls werden korrigiert, und so haben einzelne Fehlimpulse keinen Einfluss. Anders sieht es aus, wenn aus dem Empfänger nur Unsinn kommt, zum Beispiel wenn jemand auf dem gleichen Kanal sendet. Dann wird es dem MotorTiny nach ca. 1 bis 2 Sekunden zu viel und er schaltet den Motor ab. Um den Fahrer darüber zu informieren, warum das Auto stehen bleibt, beginnen die Rückfahrscheinwerfer zu leuchten. Schaltet der Gegener seinen Sender wieder aus, dann arbeitet der MotorTiny nach ca. einer Sekunde wieder ganz normal und tut so, als ob nichts geschehen wäre.

Verhalten bei Senderausfall
Was passiert, wenn man den Sender ausschaltet, hängt davon ab, was dann aus dem Empfänger kommt. Bleibt er stumm, weil er nichts mehr empfängt, dann gibt es im MotorTiny einen Reset und die Rückfahrscheinwerfer blinken mit ca. 2 Hz. Gibt der Empfänger statt dessen aber einen Haufen Unsinn raus, dann betrachtet der MotorTiny das als Funkstörung und verhält sich wie dort beschrieben. Auf jeden Fall bleibt das Modell wie angewurzelt stehen, und zwar solange, bis man den Sender wieder einschaltet. Dann läuft alles wieder normal.
Dumm ist es allerdings, wenn der Empfänger Signale empfängt, die der MotorTiny als gültig betrachtet. Wenn man z.B. den eigenen Sender ausschaltet, während ein anderer auf dem Kanal weitersendet. Dann tut das Modell natürlich dass, was der freundliche Nachbar möchte....


Verhalten bei Unterspannung
Fällt die Akkuspannung unter 2.7 Volt, dann stoppt der Motor und der MotorTiny hört auf zu arbeiten. Häufig wird dann die Akkuspannung wieder steigen, weil die Belastung durch den Motorstrom weggefallen ist. Bei ca. 2.8 Volt beginnt der MotorTiny wieder mit seiner Arbeit. Wie er das tut, hängt davon ab, wie der Steuerknüppel in dem Moment steht. Steht er auf neutral, dann ist alles normal. Beim Gasgeben fährt das Modell los, als ob nichts geschehen ist. Aber eben nur solange, bis die Akkuspannung wieder unter 2.7 Volt gesunken ist, dann bleibt der Motor wieder stehen. Anders sieht es aus, wenn der Tiny mit der Arbeit neu beginnt, während der Steuerknüppel noch ausgelenkt ist. Eigentlich müsste das Modell jetzt ja sofort wieder losfahren, aber das wird unterdrückt, es bleibt stehen. Um den Fahrer darüber zu informieren, warum das Modell nicht fährt, beginnen die Rückfahrscheinwerfer langsam mit ca. 1 Hz zu blinken. Damit weiss der Fahrer, dass der Akku leer ist, und das Modell deshalb stehen geblieben ist. Wenn er aber trotzdem weiterfahren möchte, dann kann er das ganz einfach tun. Er muss nur den Steuerknüppel einmal auf Neutralstellung bringen. Das Blinken der Rückfahrscheinwerfer hört auf, und das Modell fährt wie gewohnt weiter, bis zum nächsten Einbruch der Akkuspannung.

Und weiter??...
Ich arbeite daran, den MotorTiny in den Handel zu bringen, aber es dauert noch etwas, bis die Vorarbeiten abgeschlossen sind. Bis dahin kann ich einzelne MotorTinys aus meiner Bastelecke liefern. Dazu löte ich die Schaltung auf einer professionel geätzten Platine zusammen und teste sie. Es sind keine Anschlusskabel angelötet! Die Platine selbst ist leider 1mm dick, denn die Herstellung einer 0.5mm dicken Platine sprengt deutlich den Kostenrahmen. Später im Handel wird der MotorTiny aber mit einer 0.5mm Platine ausgeliefert. Bei Interesse bitte Email an mich, die Adresse ist auf der Startseite zu finden.




Die Entwicklung der Software fand mit Hilfe einer kleinen Lochrasterplatine statt. Ein ATtiny13, ein paar Transistoren, LED und Widerstände und fertig war das Entwicklungsboard.

Während der Softwareentwicklung war dies eine beliebte Fehlermeldung des Compilers: der Speicherbedarf für meine Software liegt mal wieder über 100%!! Da half nur weiter optimieren, kürzen usw. Wenn ich dann heil bei 95% angekommen war, wurde die nächste Funktionalität eingebunden, und wieder waren über 100% erreicht. Das Spiel ging mehrere Wochen hin und her, bis der Softwarestand so war, wie ich ihn wollte.

Zur Erinnerung: so sah die alte Hardware aus dem Jahr 2005 aus.

Das linke Bild zeigt den Schaltplan, nach dem der MotorTiny im Modell verdrahtet wird. Der Motor bekommt seinen Strom aus dem Empfängerakku, wie es in Mikromodellen üblich ist. Es ist nicht möglich, einen separaten Fahrakku mit höherer Spannung zu verwenden.

Testergebnisse
Mein Mercedes Benz wurde als Testträger umgebaut, und die Testergebnisse waren ausgezeichnet. Fahreigenschaften, Unterspannungserkennung, LED Ansteuerung usw. sind ausgezeichnet und so wie gewünscht. Problematisch ist aber das Ausblenden von Funkstörungen. Hier gilt es, den bestmöglichen Kompromiss zwischen zu geringer und zu grosser Empfindlichkeit zu finden. Eine hundertprozentige Unterdrückung von Störungen kann es daher nicht geben.

...und noch mehr Testergebnisse...
Der Mercedes Benz fuhr ja schon richtig gut. Nur ab und zu beim Einschalten drehte der Motor kurz hoch. Konnte ja eigentlich nicht sein. Also habe ich es nicht geglaubt. Beim Flashen und Testen der nächsten Platine dasselbe Verhalten. Die LEDs, die stellvertretend für den Motor aufgelötet waren, schalteten sich nach power on für mehrere Sekunden ein. Nun wurde ich skeptisch. Ca. drei Stunden dauerte die Fehlersuche, und der Fehler lag wieder mal bei mir. Ich hatte nur vergessen, eine bestimmte Variable nach power on richtig zu initialsieren... Es hat sich einmal mehr bestätigt, dass es nicht genügt, Software in einer Testumgebung zu entwickeln. Sie muss auch im realen System getestet werden, und das werde ich noch einige Zeit tun.

...und nun ist er fertig...
Nach weiteren umfangreichen Tests ist die Software meines MotorTinys fertig. Meiner Meinung nach ist der neue Fahrtregler ein rundum gelungenes Projekt. Und Speicherplatz ist auch noch frei... ein Byte habe ich noch!

Dies ist die Mikromodellbauseite von Harry Jacobsen

 zur Startseite