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
werde ich gleich mal über prüfen!! aber ich brauche doch die Transistorschaltstuffe oder?
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.
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.
@ 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
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
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
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.
ja wenn ich die übertragung per kabel mache, dann klappt alles!! ich schaue mir mal die seite an.
welche spannung ist eigentlich für den rx eingang des atmega8 logisch "0" und logisch "1" ? gruß martin
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
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
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)
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
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.
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.
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.
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)?
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.