Forum: Mikrocontroller und Digitale Elektronik Signalauswertung


von Dominik R. (vision)


Lesenswert?

Hallo zusammen.
Ich bin gerade dabei, meine Funksteckdosen mit einem Mikrocontroller zu 
steuern. Ich habe die Fernbedienung an einen LA angeschlossen und das 
aufgezeichnete Signal mit einem Atmega erzeugt. Klappt auch alles prima.
Die Steckdose schaltet zuverlässig an und aus.
Jetzt würde mich noch interessieren, wie die Signale standardmäßig 
interpretiert werden würden, also welches Signal logisch 1 und welches 
logisch 0 ist.
Die Signale haben eine Periode von 1,3ms wobei bei dem einen ca. 0,33ms 
High und 0,97ms Low ist und bei dem anderen anders herum. Ich würde 
jetzt raten und sagen, dass das kürzere High-Signal eine logische 0 
darstellt und das längere High-Signal eine logische 1. Ist das korrekt 
so?
Danke

von Joe F. (easylife)


Lesenswert?

Dominik R. schrieb:
> also welches Signal logisch 1 und welches
> logisch 0 ist

Im Prinzip ist das ja nicht entscheidend, solange deine Software "deine" 
0 immer als solche behandelt.

Du kannst ja mal gucken, ob du im Telegramm das Bit für Steckdose 
ein/aus findest.
Bei diesem Bit würde ich mal eine 1 für "ein" und eine 0 für "aus" 
annehmen.

: Bearbeitet durch User
von Dominik R. (vision)


Lesenswert?

Ja, entscheident ist es nicht. Es klappt ja schon mit dem 
ein-/ausschalten. Ich wollte es nur halt 'korrekt' machen. Wenn es keine 
Standarddefinition dafür gibt, was logisch 1 ist, ist das ja auch kein 
Drama.

Die Telegramme bestehen jeweils aus 25 Bits wobei es für jede Taste vier 
verschiedene Telegramme gibt. Also bei den acht Tasten (4x An und 4x 
Aus) 64 Telegramme. Ich habe mir nur 8 Aufgeschrieben, weil es auch 
funktioniert, wenn man jedes mal das gleiche Telegramm schickt. Um jetzt 
heraus zu bekommen, ob sich die Telegramme nur durch ein Bit 
unterscheiden, müsste ich zumindest für eine An/Aus Kombination mal alle 
acht Telegramme aufschreiben. Ich schaue nachher mal nach...
So auf den ersten Blick sieht die Kombination aus Nullen und Einsen 
recht zufällig aus ;-)

von Joe F. (easylife)


Lesenswert?

Dominik R. schrieb:
> ie Signale haben eine Periode von 1,3ms wobei bei dem einen ca. 0,33ms
> High und 0,97ms Low ist und bei dem anderen anders herum. Ich würde
> jetzt raten und sagen, dass das kürzere High-Signal eine logische 0
> darstellt und das längere High-Signal eine logische 1. Ist das korrekt
> so?

Einen wirklichen Standard gibt es da nicht, aber deine Definition ist 
recht naheliegend.
Üblicherweise funktioniert eine solche Codierung so, dass die erste 
Flanke der 1,3ms Periode Sender und Empfänger synchronisiert.
Dann wartet der Empfänger ca. eine halbe Periode ab (in deinem Fall 
0,65ms) und an diesem Punkt wird das Datenbit gelesen.

Dadurch ergibt sich dann:
0,33ms high 0,97ms low -> 0
0,79ms high 0,33ms low -> 1

Von welchem Hersteller ist denn die Funksteckdose? Es gibt im Netz 
einige Dokus zu div. Geräten.
Üblicherweise enthält das Telegram folgende Daten:
[Herstellercode][Gerätecode][Adresse & Daten]

Der Herstellercode- und Gerätecode-Teil müssten dann bei allen deiner 
Telegramme gleich sein. Nur Adresse & Daten unterscheidet sich je nach 
Taste und "ein/aus" Information.

: Bearbeitet durch User
von Georg M. (g_m)


Lesenswert?


von Dominik R. (vision)


Lesenswert?

Der Hetsteller ist smartwares safety & lighting b.v. (www.elro.eu / 
www.flamingo.eu)

Die Telegramme sehen z.b. so aus:
1 an: 00100111001001111001010111100
1 aus: 00100110110100110100011110100
2 an: 00100100100011111010110001010
2 aus: 00100101011001001101111010010

@Georg M:
Ja, das aus dem rc-switch wiki sieht genau so aus wie das Signal, das 
ich ausgelesen hab, nur dass es bei mir 29 Datenbits sind.  Sorry, 
hatte ich anders in Erinnerung

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.