RC-Schalter mit TINY13

Dieser Artikel beschreibt des Selbstbau eines kleinen RC-Schalter-Moduls. Damit ist es möglich,mit einem Fernsteuerkanal zwei Schaltfunktionen auszulösen. Wird der Steuerknüppel jeweils in Vollausschlag gebracht, so schaltet der Kanal. Wird der Knüppel in Neutralstellung gebracht, sind beide Schalter aus.

Der RC-Schalter ist ein kleines Elektronikmodul, das sehr einfach auf einem Stück Lochrasterplatine nachgebaut werden kann. Die Basis ist ein TINY13 Mikrocontroller der Firma ATMEL, der für weniger als 2 Euro im einschlägigen Elektronikhandel erhältlich ist.

Bauteile:

  • 1 TINY13
  • 1 Steckfassung 8polig
  • 1 Kondensator 100nF
  • 2 Widerstand 150 Ohm
  • 2 LED
  • 1 Servokabel

Das nachfolgende Schaltbild zeigt die Minimalversion des RC-Schalters mit zwei LEDs:

tiny13_rc
image-821

Der Tiny13 ist in der Lage, je Ausgangspin einen Strom von 40mA zu liefern. Damit kann man z.B. Leuchtdioden direkt ansteuern. Es wird nur noch ein Widerstand zur Begrenzung des Stromes benötigt.

Wenn man größere Verbraucher wie z.B, einen Elektromotor schalten will, muß ein Relais dazwischengeschaltet werden. Über einen Transistor wird ein REED-Relais angesteuert. Die Grenze der Belastbarkeit des Relais stellt nun das Maximum des Stromes dar, der mit dem Schalter gesteuert werden kann.

tiny13_rc2
image-822

Zum Programm

Die Software wurde mit dem BASCOM Compiler von MCS erstellt und kann daher auch von weniger erfahrenen Modellbauern verstanden und ggf. modifiziert werden.

Die Software misst über den 8-Bit Timer0 des Tiny13 die Dauer des anliegenden RC-Impules. Je nach der gemessenen Dauer wird dann der Pin4 oder Pin5 des Controllers umgeschaltet. Damit der Timer die Impulse möglichst genau messen kann, muß der richtige Takt anliegen.

Der Sender-Impuls beträgt typischerweise 1ms bis 2ms, also eine Periodendauer von maximal 0,002 s. Eine Taktung mit 4,8MHz und aktiviertem Teiler 8 ergibt einen Systemtakt von 600.000kHz = 0,0000016s Periodendauer. Um 2ms = 0,002s zu messen stehen uns bei einem 8-Bit Timer0 des Tiny13 maximal 255 Takte zur Verfügung. Also müssen wir den Timertakt nochmals mit dem Vorteiler (PreScaler) durch 8 teilen, sodaß der Timer schließlich mit 75 kHz getaktet wird. Diese 75Khz ergeben dann 0,000013s Periodendauer. Ein RC-Impuls mit 2ms ergibt dann 0,002 / 0,000013 = 150 Impulse am Timer. Sinngemäß ergibt es bei 1ms dann einen Timerwert von 75.
Wir erhalten also einen Timerwert zwischen 75 und 150, je nach Stellung des Steuerknüppels, der Mittelwert wird ca. 112 betragen. Das Programm wertet nun in einer Endlosschleife denWert des Timer0 aus und schaltet je nach Wert die entsprechenden Pins des Microcontrollers ein bzw. aus.

Das nachfolgende ZIP-Archiv enthält den BASCOM Quellcode und das fertige HEX-File, dass dann nur noch in den Tiny13 übertragen werden muß.

(DOWNLOAD ZIP ARCHIV)  8KB

Noch eine Anmerkung zum Schluss: Wer sich mit dem Thema Mikrocontroller-Programmierung näher beschäftigen möchte, dem sei folgendes Material empfohlen:

FRANZIS Lernpaket Mikrocontroller mit TINY13:

Das Lernpaket Microcontroller ist ideal geeignet, um den TINY13 zu
programmieren, da dieser Chip in diesem Paket ausführlich beschrieben
wird und auch die passende Programmierplatine mitgeliefert wird. Allerdings wird hier ein PC mit serieller Schnittstelle benötigt.

Wer einen modernen PC hat, dem sei daher das nachfolgenden Paket empfohlen, da hier ein USB-Port zum Einsatz kommt.

FRANZIS Lernpaket Microcontroller mit Bascom

Fragen zur Programmierung kann ich aus Zeitmangel leider nicht beantworten. Daher empfehle ich die einschlägigen Foren:

http://www.rclineforum.de/forum/board.php?boardid=92&sid=bd4d025a1e47190af982d251930e4365

http://www.mikrocontroller.net/

http://www.bascom-forum.de/

Viel Erfolg.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Translate »