Der Schaltplan ist denkbar einfach. Die Stromversorgung erfolgt zusammen mit dem Fernsteuerimpuls über einen bei Servos üblichen dreipoligen Steckverbinder. Der Fernsteuerimpuls wird über einen Schutzwiderstand an den INT0-Eingang des AVR "Tiny15" gelegt, was eine präzise Impulsbreitenmessung per Interrupt ermöglicht. Die beiden Trimmpotis sind an analogtauglichen Eingängen angeschlossen, die Schalt-Transistoren über Widerstände an die verbliebenen Anschlüsse. Für die meisten Fälle reichen die verwendeten BC337/BC338 aus, man kann aber auch belastbarere Typen einsetzen. Über die Steckbuchsen GND, SA0 (Schaltausgang 0) und SA1 (Schaltausgang 1) kann der Verbraucherstromkreis angeschlossen werden. Dieser kann mit Spannungen über 5V betrieben werden, z.B. mit 12V. Induktive Lasten sind mit Freilaufdioden zu versehen, um die Transistoren gegen Überspannung zu schützen. |
Die hier gezeigte Test-Platine ist für Anfertigung durch Fräsen und
Oberflächenbestückung vorgesehen. Links sind die beiden Programmierpotis angeordnet,
in der Mitte der AVR, rechts die Schalt-Transistoren und Anschlüsse zur Pripherie, oben rechts
die Lötpads zum Anschluss eines Servokabels. Elko und Keramik-Kondensatoren standen als SMD-Typen
zur Verfügung, die Widerstände sind bedrahtet, lassen sich aber auch recht gut auf der
Oberfläche bestücken. Vorteil dieser einseitigen Bestückungsart ist das Einsparen des
Bohrens und die Tatsache, dass die Unterseite der Platine nicht gegen Kurzschluss geschützt werden
muss. Es experimentiert sich einfach mal leichter... Das obere Bild zeigt die Leiterzüge, das untere die Fräslinien. |
Nebenstehendes Bild zeigt den Versuchsaufbau des Schaltmoduls. Für den Dauereinsatz in Modellen sollte aus Platzgründen eine kleinere Bauform entwickelt werden. Das fällt aber nicht in meinen Zuständigkeitsbereich, ich bin nur für die Software verantwortlich... |
Bedienung des Multimode-RC-Schaltmoduls...Das Modul wird wie ein Servo an den Fernsteuerempfänger angeschlossen. Die zu schaltenden Verbraucher kommen zwischen Schaltausgänge und Plus des Fahrakkus, Minus des Fahrakkus kommt an GND.Mit dem Betriebsart-Poti wird (wie der Name schon sagt) die Betriebsart eingestellt. Betrachtet man den Stellbereich des Potis durchgehend in Prozent, dann ergeben sich folgende Betriebsarten (Modi):
Mit dem Schaltpunkt-Poti wird der Schaltpunkt eingestellt, also die Abweichung der Kanalimpulsbreite vom Neutralpunkt, den das Modul als Schwellwert (Blinker) oder Fangbereich (alle anderen Modi) nutzen soll. Inbetriebnahme...Um das Multimode-Schaltmodul an die Fernsteueranlage anzupassen, geht man am besten folgendermaßer vor:
|
Software im AVR...Das Programm ist komplett in Assembler geschrieben. Es ist ein reines Interrupt- Programm, alle Aufrufe von Programmteilen werden von Ereignissen ausgelöst. Diese wären: ADC ist fertig, Impulsflanke am Eingang, Timer0-Überlauf und Timer1-Überlauf. Wenn die jeweilige Interrupt-Service-Routine abgearbeitet ist, wird der AVR in den 'Sleep-Mode' (Schlafen, Nixtun) geschickt, von wo er vom nächsten Hardware-Ereignis geweckt wird.Die Programmteile und ihre Aufgaben:
|
Konstanten im Kopf des Assembler-Quelltextes...Folgende Konstanten werden im Quelltext definiert und können bei Bedarf in sinnvollen Grenzen verändert werden:
|
Damit das Timing das Tiny15 stimmt, muss der interne RC-Generator des AVR kalibriert werden. Dazu ist vor dem Brennen mittels eines geeigneten AVR-ISP-Programms das 'Calibrationsbyte' des Exemplars auszulesen und in das L-Byte und H-Byte der letzten Speicherzelle des Flash zu schreiben (wie es ATMEL mit neuen AVRs macht). Nur dann kann das Programm das Calibrationsbyte korrekt in das Kalibrationsregister 'OSCCAL' schreiben. |