Forum: Mikrocontroller und Digitale Elektronik AM-Empfänger mit AVR auswerten


von Stefan M. (celmascant)


Lesenswert?

Hallo allerseits!

Bei meiner letzten Ersatzteilbestellung für mein Auto habe ich eine 20€ 
Zentralverriegelung mitbestellt (AM, 433MHz).
Das Teil sieht (optisch) ganz gut aus und macht eigendlich auch was es 
soll.
Mein Problem ist nun, das die "codierte" Übertragung von einem HS1527 
besorgt wird und damit alles andere als sicher ist.
Um etwas mehr Sicherheit zu bekommen, habe ich nun vor, den HS1527 durch 
einen Tiny45 o.ä. zu ersetzen und ein eigenes Protokol mit wechselndem 
Code zu verwenden, bassierend auf einer Atmel-Application-note.

Mein Problem ist nun, das der Empfänger, wenn nichts gesendet wird, 
einfach ein Rauschen ausgibt. Sobald die Fernbedienung sendet, bekomme 
ich ein ziemlich sauberes Signal welches man auch recht leicht auswerten 
kann.

Wie die originale Auswertung aussieht, weiss ich nicht. Zu den 
Schaltkreisen finde ich nirgends Datenblätter.
Der eigendliche Empfänger ist auf einer seperaten Leiterkarte die 
stehend auf dem Rest aufgelötet wurde. Anschlüsse sind lediglich 5V, 
GND, Ausgang und die Antenne. Auf der Leiterkarte ist etwas 
Hühnerfutter, ein Drehkondensator und ein LM358. Die Störungen sind vom 
Signal her saubere Rechteckspannung. Vor und zwischen den Übertragungen 
habe ich längere Low-Pausen auf dem Ausgang.

Wenn ich nun das Signal per Interrupt auswerten will, würde der AVR ja 
mit Interrupts überflutet werden (der soll eigendlich noch ein paar mehr 
Aufgaben bekommen).
Ich habe schon überlegt, einen extra Controller zum Auswerten des 
Signals zu verbauen. Der würde im Prinzip jeden Impuls überprüfen und 
warten, bis die Startkondition übertragen wird, den Code auswerten und 
zu einem 2. AVR weiterleiten. Dann hätte ich den 2.AVR frei für alles 
andere.

Gibt es eine Möglichkeit das mit nur einem AVR zu bewerkstelligen?

Gruss Stefan

PS: Falls ihr mehr Infos braucht, sagt es.
Ich möchte keine Diskusionen wie illegal es doch ist, selbstgebaute 
Elektronik im Auto zu haben und nein, ich will keinen Sender selber 
bauen.

von Sauger (Gast)


Lesenswert?

Nabend,

Eingang pollen (Zyklisch abfragen).

MfG

von Stefan M. (celmascant)


Lesenswert?

Hm, irgendwie versteh ichs gerad nicht (müde).
Hört sich vieleicht blöd an, aber wie bekomme ich dann mit, ob es jetzt 
eine Übertragung gibt oder nicht? Dann müsst ich ja auch jedes Signal 
auswerten, bzw. so schnell pollen das ich mitbekomme wie lang die 
Signale sind.
Da muss ich nochmal die Signale anschauen und nachrechnen...

von Alex S. (thor368)


Lesenswert?

Tach Stefan!

> Dann müsst ich ja auch jedes Signal auswerten, bzw. so schnell pollen das
> ich mitbekomme wie lang die Signale sind.

Was kein Problem ist, denn auch interrupts können nicht zaubern. Auch 
interrutps sind zeitlich gerastert.
Wie du schon gesagt hast, wird meist für den framestart ein definierter 
Zustand auf dem Kanal erzeugt. Der ist wohl lang genug, sodass auch eine 
nicht interrupt basierte routine keine timing Probleme bekommt.

Thor

von Stefan M. (celmascant)


Lesenswert?

Ich habe vorhin nochmals gemessen: Die Störungen waren 50-100Hz, also 
Stromnetzmässig veranlagt. Der Framestart war leider ca. genauso lang...

Ich habe Testweise einfach mal einen 220pF Kondensator (der war gerade 
da) von der Antenne nach GND gehängt, schon waren 99% der Störungen weg. 
Die Reichweite ist lediglich um ca. 1m geschrumpft. Die verbliebenen 
Störungen sind leicht vom richtigen Signal zu unterscheiden (sehr kurze 
Impulse).

Die Auswertung wird den Eingang dann pollen, das ist die sicherste 
Methode.

Danke schonmal für deine Hilfe!

Gruss Stefan

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.