Ich weiß, das Thema wird mittlerweile nervig... Ich habe eine Funk Hausürklinge. Die hat rund 20m Reichweite in der es sicher fukioniert. Bis rund 50m kann man das Signal auf dem Oszilloskop erkennen. Den Sender + Empfänger habe ich ausgebaut und an einen AVR angeschlossen. Gesendet wird ein Datenblock in Manchestercodierung mit vorangestellten 0xAA zum Einschwingen des Empfängers mit 1200Baud. Im Bereich um die 2m funktioniert das ganze wunderbar. Ich brauche aber 10m Reichweite und da geht garnichtsmehr. Hat jemand irgendein ein kleines Lib mit der man einen Datenblock übertragen und wieder empfangen kann, oder irgendwelche Tips ?
Ohne deine Schaltung zu kennen, würde ich mal darauf tippen, dass du das demodulierte AM-Signal direkt an einen Pin deines AVRs angelötet hast. Bei Entfernungen > 2m reicht der Signalpegel nicht mehr aus, den AVR einen high-Pegel erkennen zu lassen (siehe Schwellenwert im Datenblatt). Die Lösung: Entweder internen oder externen Komparator verwenden.
Das IC liefert saubere CMOS Pegel, daher sollte es eigentlich kein Problem sein. Auf dem Oszillosk erscheint auch ein schönes 0V/5V Rechteck-Rauschen.
Wo liegt denn dann genau das Problem, wenn die Klingel bis 20m funktioniert? Oder sendest du evtl. zu schnell, z.B. mit 12000Baud statt mit 1200 Hab' bei meinem 433MHz Sender-IC gelessen, dass maximal 10000Baud möglich sind)?
Das kann vieles sein. Nur mal so die gröbsten Dinge, die mir jetzt einfallen: - Antenne Ist die Antenne auf der Platine im Layout oder irgendeine Wurfantenne dabei? Evtl. die Länge überprüfen - Baudrate Bei billigst-Empfängern sind nur niedrige Baudraten möglich. Versuchs mal mit 600 Baud oder weniger.
Baudrate habe ich 1200Baud Antenne war Orginal eine etwa 3cm lange Spule, jetzt ist sie ein 17cm langes Kabel. Mit einem Rechteckgenerator konnte ich bis zu 50kHz damit übertragen. Am Empfänger kommen die Bytes an, sind aber total verrauscht. Ab und zu kann man ein paar gute Bytes erkennen, aber danach kommt nur Mist.
Hallo Benedikt, "kommen verrauscht an" wo denn ? An der Antenne ?, ist normal. Am Ausgang des Empfängers, also zum µC ? Ist an sich nicht möglich, da sitzt ein Komparator, also nicht rauschen sondern 0/5 Volt Wenn du mal die Daten von den Funkthermometern oder Wetterstationen anschaust, siehst du dort Reichweiten von ca. 30m (im Freien) Die Antennen an Sender und Empfänger beide gleich ausrichten, beide horizontal oder beide vertikal. MfG cdg
>Am Empfänger kommen die Bytes an, sind aber total verrauscht. Ab und zu >kann man ein paar gute Bytes erkennen, aber danach kommt nur Mist. Wie sendest du die Daten denn ? Manchesterkodierung der Daten machst du aber, oder ? Sende mal als Präambel mehrmals ein 0xAA damit der empfänger genug zeit hat. Nur zum testen ;)
Es kommen schon 0V/5V raus, aber die Impulse sind zufällig. Und in diesem "Rauschen" gehen meine Daten unter. Mit direkter Verbindung geht es, und manchmal auch über einige Meter mit dem Sender. Hier mal mein Code: RF_TXD_byte sendet den Wert Manchester codiert. RF_TXD_byte(0); //Einschwingen des Empfängers RF_TXD_byte(0); RF_TXD_byte(0); for (j=0; j<RF_TX; j++) { uart1_putc(255); //UART Sync uart1_putc(1); //UART Sync RF_TXD_byte(0); uart1_putc(START1); //Startzeichen 1 RF_TXD_byte(START2); //Startzeichen 2 checksum=0; for (i=0; i<anzahl; i++) //Daten { if (string[i]==STOP) RF_TXD_byte(string[i]); RF_TXD_byte(string[i]); checksum+=string[i]; } if (txcount==STOP) //TX Zähler übertragen RF_TXD_byte(txcount); RF_TXD_byte(txcount); checksum+=txcount; if (checksum==STOP) //Checksumme übertragen RF_TXD_byte(checksum); RF_TXD_byte(checksum); RF_TXD_byte(STOP); //Stopzeichen RF_TXD_byte(0); //Folgebytes zur Erkennung vom Ende der Übertragung } txcount++;
Hi, du hast doch hoffentlich nicht einfach die 3cm Spule zu deinem 17 cm langen Kabel "aufgedröselt"? Abgesehen von der jetzt wahrscheinlich fehlangepassten Antenne hat die Spule nämlich noch den Zweck, die Antenne "künstlich" zu verlängern (sogenannte Verlängerungsspule). Ansonsten müsste deine Antenne nämlich 70 oder 35 cm lang sein (Lambda, bzw Lambda/2). Wie kommst du da auf eine Antennenlänge von 17cm?
Lambda/4 vielleicht ? Eine Lambda/2 Antenne müsste dann schon ein Dipol sein, was bei 433MHz recht selten verwendet wird.
Ok, Fehler meinerseits. Aber warum hast du die original-Antenne nicht einfach drangelassen?
Da es sich ofen bar um AM handelt ist der Fehler in einer zugeringen Amplitude des demodulierten Signales vor dem Komperator zu vermuten. Die Verstärkungseninstellung erfordert Fingerspitzengefühl, da ja der L-Pegel nicht high ;-) werden soll. Wie wäre es mit einem Oszillogramm? Abgegrifen vor dem Comperator und hinter dem Demodulator oder gar nem Schaltbild vom Empfänger, hab mir küzlich auch so'n Gong bei Aldi geholt, zum selben Zweck, aber erstmal nur aufgeschraubt.
na ja, bei der 3cm Antenne hat doch alles bis auf 20 m Entfernung geklappt. Ich verstehe nicht, warum du die 20m auf 10m "runteroptimieren" möchtest.
Die 20m waren mit der Funktürklingel. Mit dem Sender und Empfänger daraus am AVR sind max. 2m möglich.
Ich habe das Problem gefunden: Es liegt am Sender. Dieser kommt anscheinend mit den Spannungen nicht zurecht: Wenn das Datensignal und der Vorwiderstand für das Datensignal nicht passen schwingt anscheinend der Oszillator nicht richtig.
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.