Forum: Mikrocontroller und Digitale Elektronik Conrad Funkmodul 433Mhz


von Martin K. (Gast)


Lesenswert?

Hallo Forum,

ich habe mir das SENDE-/EMPFÄNGERMODULSET 433MHZ Artikel-Nr.: 130428 -
14 gekauft.

Den Sender habe ich direkt an der PC Schnittstelle, den
Empfängerausgang, habe ich dann über einen Transistorschaltung(da "1"
nur 0,8V) direkt an den RX-Eingang des AVRs gelegt.

Da dieses Set die Manchester-Codierung brauch, habe ich mir deswegen
ein wenig Code geschrieben, zum encoden und decodieren. Den
MAnchester-Code habe ich auf Richtigkeit überprüft, indem ich es über
das normale Kabel habe Senden und empfangen lassen. So konnte ich z.:
auf ein bestimmtest Byte warten, welches eine LED am AVR schaltet.

Als ich aber das Funkmodul testen wollte, hatte ich meine Probleme. Ich
bekam zwar ein Interrupt im Controller ausgelöst, aber ich konnte die
Daten nicht wieder herstellen.
Woran könnte es leigen??
Der Sender und Empfänger stehen direkt nebeneinander und laufen mit
1200 Baud.

Freue mich über jede Antwort.

Martin

von thkais (Gast)


Lesenswert?

Ist evtl. durch die Transistorschaltung das Signal invertiert?

von Martin K. (Gast)


Lesenswert?

werde ich gleich mal über prüfen!!

aber ich brauche doch die Transistorschaltstuffe oder?

von Martin K. (Gast)


Lesenswert?

so ich habe es jetzt geprüft, die schaltung ist invertiert, d.h.
logische "1" wird von der transistorschaltstuffe 0 und "0" wird 1.

habe versucht es im interrupt mit
data=UDR;
data=~data;

damit das originalbyte wieder hergestellt wird.

leider klappt dieses auch nicht.

von thkais (Gast)


Lesenswert?

Tja, das kann auch nicht helfen. Denn per Software werden die Start- und
Stop-Bits nicht invertiert, denn diese werden ohne Deinen Einfluß
automatisch übertragen und dementsprechend auf der Empfängerseite auch
erwartet. Im Datenblatt wird die Funktionsweise des UART (bzw. USART)
genauer beschrieben. Hau noch einen zweiten Transistor dran, damits
wieder stimmt - dann sollte es klappen.

von Martin K. (Gast)


Lesenswert?

@ thkais
wie es aussieht, hast du die Funkmodule wohl schon zum laufen
bekommen, was hast du denn für eine zusätzliche Beschaltung
vorgenommen?? (am Sender und Empfänger)

ich habe die PC-RS232 direkt am Sender und den Empfänger über die
besagte Transistorschaltsuffe direkt am AVR RX-Eingang

von Martin K. (Gast)


Lesenswert?

so ich habe nun den Vorschlag von thkais umgesetzt und siehe da, es
zeigen sich die ersten Mini-Erfolge :-)

so nun habe ich aber das nächste Problem.

bis jetzt kann ich nur Bytes senden und empfangen, die nicht zwei
gleiche Bit beinhalten.

wenn ich das Byte 0x00 senden möchte, muß ich dieses erst mit meinem
Manchester-Encoder bearbeiten, wo ich dann zwei bytes ( 1: 0x55;
2:0x55)
diese sende ich zu meinem AVR und siehe da, wenn ich nach dem
decodieren auf 0x00 abfrage, kann ich eine LED schalten.

sende ich aber dann z.B. das Byte 0x01, welches nach dem Encoden 0x55
und 0x56 erhalte. dDie 0x55 kann ich auf dem Controller direkt abfragen
und kontollieren, aber bei dem Byte 0x56 sieht es sehr düster aus.

0x55 -> 01010101
0x56 -> 01010110

kann es daran liegen, das mein uart nicht die 0x56 erkennt??



Gruß
Martin

von Martin L. (Gast)


Lesenswert?

Hallo Martin,

ich habe mir auch dieses Conrad-Funk-Set gekauft & wollte damit
eigentlich meine Alarmanlage fernschalten.
Bisher habe ich allerdings nur eine Kommunikation per Frequenzgenerator
hinbekommen.
Die Spannungsanpassung mache ich mit einem OPV (single supply mit hoher
slew rate).
Ich denke mal mein Problem war die fehlende Manchester Codierung ich
dachte das Modul macht die selber!
Kannst Du mir mal ein wenig mehr schreiben wie Du die implementiert
hast?

Gruss
Martin

von thkais (Gast)


Lesenswert?

Das sollte aber funktionieren. Wenn Du diese Übertragung per Kabel
machst, klappt es dann?

Ja, ich habe schon ein wenig mit diesen Funkmodulen
herumexperimentiert. Das ist aber schon ewig her, genau kann ich mich
da auch nicht mehr erinnern, wo die Fußangeln waren - ich benutze
inzwischen andere Module, die genausoviel kosten, aber wesentlich
besser sind. Siehe auch:
http://www.ft-fanpage.de/fernsteuerung/inhalt.htm
Dort gibts auch Source-Code, der Dir evtl. weiterhilft.

von Martin K. (Gast)


Lesenswert?

ja wenn ich die übertragung per kabel mache, dann klappt alles!!

ich schaue mir mal die seite an.

von Martin K. (Gast)


Lesenswert?

welche spannung ist eigentlich für den rx eingang des atmega8 logisch
"0" und logisch "1" ?



gruß
martin

von martin (Gast)


Lesenswert?

hallo,
ich hab das set auch gekauft.
mir fehlt noch die manchester codierung.
fals jemand ein beispiel oder den code in C hat, wäre es nett, wenn ich
den haben könnte.
grüsse

von Kurt (Gast)


Lesenswert?

Hallo Martin K

Das was aus dem Demodulator kommt ist auf einer Gleichspannung
aufgesetzt.
Ob das C-Modul eine anständige Rückwandlung in 0/1 macht lässt sich mit
einem Oszi überprüfen.
Ausserdem ist eine Phasendrehung um 180 Grad ev. möglich.
Schau Dir mal die Schaltung "HAMCOM-MODEM" an, hier ist eine
Rückgewinnungsstufe dargestellt (Daniel Wladow) die aus der NF die
Signale zurückgewinnt.
Diese Schaltung wird von Funkamateuren verwendet.

M f G  Kurt

von edgar p (Gast)


Lesenswert?

hast du an einen ' vorspann ' gedacht ? der empfaenger muss sich erst
mal richtig stabilisieren.....und erwartet natuerlich 100% manchester.
(1 byte -> 2 bytes im sender.......2 bytes-->1 byte empfaengerseitig)

von martin (Gast)


Lesenswert?

hi,
also manchester oder differential manchester ist ja klar.
aber in zwischen bin ich mir nich mehr so sicher wie ich die
startsyquenz machen soll.
eine päambel wäre da eine idee.
aber mir ist entfallen, wie man dann die nutzdaten von der präambel
trennt. schlieslich könnte die präambel ja auch einfach ein datenbyte
sein. da muss ich nochmal nachschauen.
das problem ist, das der sender in ein modellflugzeug rein soll als
telemetriesender.
das bedeutet es wird des öfteren zu funkabbrüchen kommen, sodass danach
wieder synchronisiert werden muss.
grüsse

von thkais (Gast)


Lesenswert?

Ich benutze zur Synchronisation einen "ungültigen" Code. Bei
Manchester kommen ja mehrere gleiche Bits nicht vor.
Ich übertrage einfach vier "0".
Also: 0101010100000101

Die ersten 8 Bit sind zum Einschwingen des Empfängers. Die 4 Nullen
sind kein gültiger Manchester, sie benutze ich als Synchronisation. Die
folgenden 4 Bits können schon Daten sein.
Natürlich hinten noch eine Prüfsumme dran, damit falsch übertragene
Daten erkannt werden können. Eine ordinäre Summe hat bei mir immer
funktioniert.
Bei meiner Funkfernsteuerung lasse ich das erste Byte zum Einschwingen
weg, da ich sowieso permanent sende ist das nicht nötig.

von Malte (Gast)


Lesenswert?

Hallo,
ab welcher Spannung am Ausgang des Empfängers wertet ihr das Signal als
logisch 1 bz 0? Im Datenblatt steht Low: 0V und High 0,8V nur scheint
dies nicht mit den von mir gemessenen Daten überein zu stimmen.
Leider habe ich kein Oszilloskop zur Verfügung und mein Multimeter ist
wohl zu "träge", da sich der Empänger schnell einschwingt.
Danke.

von Benedikt (Gast)


Lesenswert?

Haben die Module nicht einen Schmitttrigger am Ausgang ? Zumindest dem
Schaltplan nach ist da ein Opamp mit Hysterese eingebaut, so dass am
Ausgang eigentlich schon saubere CMOS/TTL Pegel anliegen sollten.

Ist Manchester wirklich notwendig ?
Spätestens beim Start/Stop bit hat man ja eine Pegeländerung.
Bei mir hat es daher auch ganz gut ohne Manchester funktioniert,
solange keine Störquelle in der Nähe ist.
Wenn ich mir diese Standart Funkttürklingeln usw. anschaue, dann
verwenden die fast immer irgendwelche ICs wie den HT12 o.ä. welcher
auch kein Manchester macht.
Funkthermometer verweden dagegen eine Manchesterartige Übertragung, die
ähnlich einem RC5 Code aussieht.

von MaC (Gast)


Lesenswert?

Hallo zusammen

Im moment steck ich auch grad in der Manchaster-Problematik drin.
Der eigentliche Manchaster-Code ist ja DC-Frei. Das heisst "0" ist
besipielsweise -5 V und "1" analog dazu +5 V.

Hat das jemand mal ausprobiert? oder begnügt sich dieses Funkmodul
definitiv mit einem nicht nicht DC-Freien Code (also z.B 0 V und +5 V)?

von Ferdinand (Gast)


Lesenswert?

hallo

Ich habe auch das modul von conrad und bin auf der suche eines 
Manchaster Codes in C als Beispiel, oder ein IC das so was macht ?

Danke
by Ferdinand

von Michael S. (Gast)


Lesenswert?

Hallo allerseits,

auch ich habe mit diesen Modulen experimentiert.
Die Dinger sind recht langsam, daraus entstehen eure Probleme.
Im Manual ist allerdings ein zaghafter Hinweise darauf enthalten.

Zum Testen hatte ich den Sender mit einem Rechtecksignal angesteuert und 
mir das Ergebnis am Empfänger mit dem Oszilloskop angesehen:

Je höher die Frequenz des Rechtecksignals, umsomehr degeneriert das 
empfangene Signal - die High-Phasen werden immer kürzer.
Offensichtlich braucht der Sender (oder der Empfänger) einige Zeit, um 
anzuschwingen.

Nach meiner Messung ist das Signal bis ca. 500 Hz brauchbar.

Mit Erfolg habe ich einen IR-Fernsteuer-Sender / Empfänger 
umfunktioniert und anstelle der IR-Sender/Empfänger die Conrad-Module 
verwendet.
Die Standard-IR-Sender habe Pulslängen von knapp 1ms * 2, also die 
besagten 500Hz.
Man muss aber die Toleranzen, die für Zeitabweichungen eingeräumt 
werden, relativ hoch ansetzen.


mfg

Michael S.

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.