Bauplan Schaltplan RFM12 Fernsteuerungsempfänger Software für Atmel Tiny24

Software für Fernsteuerungs-Empfänger

Nachdem mit der hier vorgestellten Schaltung die Hardware-Grundlage für ein kompaktes Fernsteuerungs-System geschaffen war, folgt hier die dazu passende Empfänger Software.

Das in AVR Assembler geschriebene Programm (Download hier) stellt die grundlegenden Funktionen eines Fernsteuer-Empfängers zur Verfügung. Insgesamt können vier Ausgänge getrennt gesteuert werden, eine weitere LED liefert noch zusätzlich Statusinformationen.

Die grundlegende Datenübertragung mit den RFM12 Modulen wurde hier schon dargestellt, die Software wurde lediglich auf den Tiny24 Controller angepasst und einige IO Leitungen geändert.

Das RFM Modul wird mit einer Software SPI Schnittstelle angesteuert, besondere Ansprüche an die Übertragungsgeschwindigkeit bestehen hierbei nicht.

Um der Fernsteuerung auch entsprechende Flexibilität und Übertragunssicherheit zu verleihen, wurde folgendes Schema zur Datenübertragung implementiert:

Die Fernsteuerung reagiert auf Datenpakete von 16 Bytes Länge, welche als Rohdaten vom RFM12 in einen Empfangspuffer Speicherbereich geschrieben werden.

Nachdem die 16 Bytes komplett im Speicher stehen, wird zuerst ein 8 Bit CRC Prüfsummenverfahren auf die ersten 15 Bytes durchgeführt und mit dem sechzehnten Byte verglichen. Stimmen der berechnete sowie der empfangene CRC Wert überein, beginnt die Auswertung des Datenpakets.

Zuerst wird überprüft, ob das Paket zur entsprechenden Anwendung 'Fernsteuerung' gehört, hierzu werden die ersten 4 Bytes überprüft, sie müssen den Text 'trmt' enthalten.

Nachdem diese Überprüfung erfolgreich war, wird festgestellt, ob das Datenpaket auch für den Empfänger bestimmt ist. Hierzu ist in der Empfängersoftware eine 4 Byte Konstante hinterlegt, welche die getrennte Ansteuerung von nahezu beliebig vielen Empfängern ermöglicht. In Anlehnung an das IP Adress Schema habe ich die Adresse in der Testsoftware auf 192.168.0.1 gesetzt.

Nachdem auch diese Überprüfung erfolgreich war, beginnt die Auswertung der Fernsteuerungs-Kommandos. Diese sind in den nächsten 4 Bytes des Datenpakets zu finden.

Momentan werden 3 Befehle für jeden Ausgang erkannt:

$11 - Ausgang Umschalten (Togglen)

$22 - Ausgang EIN Schalten

$44 - Ausgang AUS Schalten.

ein vollständiges Datenpaket sieht dann in etwa so aus:

't','r','m','t',192,168,0,1,$11,$11,$22,$44,$xx,$xx,$xx,CRC

Hiermit werden der Ausgang 1 und 2 Umgeschaltet, Ausgang 3 wird eingeschaltet und Ausgang 4 wird abgeschaltet, die 3 Bytes mit XX werden nicht benutzt und können beliebig gesetzt werden.

Mit einem geeigneten Sender können so die 4 Kanäle beliebig drahtlos angesteuert werden.

Bauteile für dieses Projekt - Anzeigen:
Aktive Bauelemente

Passive Bauelemente


Weitere Informationen,Grundlagen,Bauanleitung,Schaltplan, Links zum Thema
Anzeigen:

Neueste Artikel
Anzeigen:
Aktuelle Newsbeiträge
Sie sind Besucher Nr. 1213886