Hallo liebe Community, ich brauche euren Rat wegen meinen Projekt. Zurzeit arbeite ich an einen Projekt, wo die Temperatur über einen 433MHz Sender zu einem Empfänger übertragen werden soll. Als Mikrocontroller nutze ich den 2x ATmega8. Im Internet habe ich ein einfaches Protokoll für UART gefunden. War am Anfang begeistert und habe mir auf Basis dessen eins geschrieben. Leider sind Theorie und Praxis zwei verschiedene paar Schuhe. Bei einer BAUD von 1200 werden nicht mal in einem Abstand von 5 cm die Daten richtig empfangen. Wenn ich TX und RX verbinde klappt es ohne Störung super, doch sobald man das über die Module betreibt kommt da Käse raus.Auch habe ich nach Libs geschaut, doch die meisten sind nur auf Arduino Boards geeignet. Ich habe im Internet gelesen, das Manchester-Codierung dafür Sinnvoll wäre. Im Studium habe ich diese zwar behandelt, aber ich wüsste nicht genau wie man das mit einen Mikrocontroller umsetzt. Soweit wie ich es verstanden habe, müsste ich mein binäres Signal XOR mit einen Taktsignal verknüpfen? Wie verknüpft man denn so etwas ? Gibt es Anregungen dazu, evtl. Code-Beispiele ? Wäre nett, wenn Ihr mir helfen könntet :)
:
Bearbeitet durch User
Robin G. schrieb: > Ich habe im Internet gelesen, das Manchester-Codierung dafür Sinnvoll > wäre. Im Studium habe ich diese zwar behandelt, aber ich wüsste nicht > genau wie man das mit einen Mikrocontroller umsetzt. Dann wär dein Bafög definitiv verschwendetes Geld (u.a. meines). Das Studium hätte dich zumindest in die Lage versetzen sollen, sowas triviales ganz schnell alleine herauszufinden... Schämst du dich nicht wenigstens ein bisschen, das Geld anderer Leute sinnlos vergeudet zu haben? Wenn nicht: Du hättest BWL studieren sollen, da wärst du richtig gewesen!
Robin G. schrieb: > Wäre nett, wenn Ihr mir helfen könntet :) Du kannst sinvoll kein UART-Signal auf einen Sender geben. Der Empfänger wird vom Signal überrumpelt, weil er keine Zeit für die Einregelung der Verstärkung hat. Dadurch verpasst er ziemlich sicher das erste Startbit und synchronisiert dann falsch. Du brauchst eine Präambel. Es gibt genug Bibliotheken für Funktübertragung
Hallo, benutzt Du dafür rein analog arbeitende Funkmodule, deren Signale erst konditioniert werden müssen? Konntest Du mit diesen bereits anderweitig die Signalübertragung nachweisen? MfG
c-hater schrieb: > Robin G. schrieb: > >> Ich habe im Internet gelesen, das Manchester-Codierung dafür Sinnvoll >> wäre. Im Studium habe ich diese zwar behandelt, aber ich wüsste nicht >> genau wie man das mit einen Mikrocontroller umsetzt. > > Dann wär dein Bafög definitiv verschwendetes Geld (u.a. meines). Das > Studium hätte dich zumindest in die Lage versetzen sollen, sowas > triviales ganz schnell alleine herauszufinden... > > Schämst du dich nicht wenigstens ein bisschen, das Geld anderer Leute > sinnlos vergeudet zu haben? Wenn nicht: Du hättest BWL studieren sollen, > da wärst du richtig gewesen! Davon abgesehen, dass ich Studium kaum Hardwarenahe Programmierung habe, gehe nebenbei arbeiten und beziehe nicht mal Bafög.
Christian S. schrieb: > Hallo, > > benutzt Du dafür rein analog arbeitende Funkmodule, deren Signale erst > konditioniert werden müssen? > > Konntest Du mit diesen bereits anderweitig die Signalübertragung > nachweisen? > > MfG Ich benutze reine 433 MHz Module. Sind normale Steckmodule. Ich glaube nicht das die Signale konditioniert sind. Sind diese hier: https://www.amazon.de/Wireless-Sender-Empf%C3%A4nger-Modul-Fernbedienung/dp/B00F6POAEG Naja ich habe einen UART-USB und habe mit HTerm einfach den Funkraum abgehört. Natürlich kam da wie zu erwarten ziemlicher Mist raus, doch konnte ich manchmal meinen gesendeten Werte erkennen. Die ganze Reihe meiner Daten war manchmal sichtbar und konnte richtig angezeigt werden.
Robin G. schrieb: > Natürlich kam da wie zu erwarten ziemlicher Mist raus, ... Dieser "Mist", den du beobachtet hast, ist das Rauschen der Welt, dass dein Empfänger über seine Antenne aufgeschnappt hat und mit seinem Eigenrauschen vermengt hat.
>Schämst du dich nicht wenigstens ein bisschen, das Geld anderer Leute
sinnlos vergeudet zu haben? Wenn nicht: Du hättest BWL studieren sollen,
da wärst du richtig gewesen!
Schlechter Tag heute Kollege?
Beitrag #5637778 wurde von einem Moderator gelöscht.
Beitrag #5637784 wurde von einem Moderator gelöscht.
Beitrag #5637788 wurde von einem Moderator gelöscht.
Wolfgang schrieb: > Du kannst sinvoll kein UART-Signal auf einen Sender geben komisch meine erste IR Fernbedienung wurde über UART hinausgeschickt IRDEO http://pofahl.de/irdeo/ also einer liegt falsch und da IRDEO funktionierte über UART muss deine Aussage wohl unzutreffend sein. Zurück zum TO gerade für Arduino gibt es virtual wire und einen Haufen Hardware 433MHz 868MHz RFM12 und den kompatiblen Nachfolger RFM69. Dann gibt es noch wlan Shields und das Projekt Lora https://www.lora-wan.de/ auch ESP32 mit Lora in die Arduino IDE integriert. Robin G. schrieb: > Im Studium habe ich diese zwar behandelt also ein Studierter und dann klemmts bei Dinge die schon interessierte Schüler umsetzen? c-hater schrieb: > Dann wär dein Bafög definitiv verschwendetes Geld (u.a. meines). Nie dachte ich c-hater mal zuzustimmen, warum outen sich hier angeblich immer wieder Studierte, das hätte ich kleinlaut verschwiegen und mich als 10-jähriges Mädel vorgestellt.
Beitrag #5637801 wurde von einem Moderator gelöscht.
Beitrag #5637806 wurde von einem Moderator gelöscht.
Hallo Robin, versuche einfach solch Leute wie c-hater zu ignorieren. Um auf deine Frage eine Antwort zu geben, hab ich verschiedene Forumsbeiträge hier gefunden. Zum Beispiel hier: Beitrag "Re: Funkmodule, RS232, manchester code" oder das hier: https://www.mikrocontroller.net/articles/Manchester Am Besten, finde ich jedenfalls, ist der Manchester Code im Artikel zum 125kHz RFID erklärt. Schau dort mal unter der Softwarebeschreibung- https://www.mikrocontroller.net/articles/RFID_T%C3%BCrmodul Gruß Steffen
Die meisten einfachen Funkmodule brauchen eine Menge Zeit, um sich einzuschwingen. Meistens mehrere hundert Millisekunden. Dann ist wichtig, dass die Frequenz des Nutzsignals in dem Bereich liegt, den das Modul unterstützt. Weiterhin ist es bei vielen Modules wichtig, dass das Nutzsignal genau so lange auf High Pegel liegt, wie es auf Low Pegel liegt, weil sich sonst Koppelkondensatoren bis ans Limit aufladen und dann wird das Signal bis zur Unkenntlichkeit verzerrt. Daher zum Beispiel die Manchester Codierung. Viele Empfänger empfangen Rauschen, solange der Sender inaktiv ist oder außer Reichweite.
Joachim B. schrieb: > Wolfgang schrieb: >> Du kannst sinvoll kein UART-Signal auf einen Sender geben > > komisch meine erste IR Fernbedienung wurde über UART hinausgeschickt > IRDEO http://pofahl.de/irdeo/ Vielleich hätte ich bei meinem Satz ergänzen sollen: "... und erwarten, dass die Daten 1:1 beim Empfänger hinten wieder raus kommen." Natürlich kannst du Dinge, wie Präambel, Gleichspannungsfreiheit und dergl. auch mit einem UART hin fummeln, aber es funktioniert nicht, am einen Ende Nutzdaten mit HTerm rein zu tippen und am anderen Ende diese Daten wieder direkt mit HTerm zu empfangen.
"Ich benutze reine 433 MHz Module" Ja, für Puristen sind diejenigen, die an Reinheit nicht zu überbieten sind, die richtigen, gleich nach komplett selbst aufgebauten VHF-Geräten. Mit diesen Modellen habe ich keine Erfahrung und kann deshalb nur zu RFM12, RFM69 und Konsorten raten, da liegt dann alles digital vor. Du bräuchtest mindestens noch ein Oszilloskop, um den Ausgang des Empfängers genauer zu untersuchen. Aber immerhin war das Gesendete bereits zu erkennen. " sinnlos vergeudet zu haben? Wenn nicht..." Den wird der Nikolaus zur Rechenschaft ziehen. MfG
:
Bearbeitet durch User
Möglicherweise sind die Module nicht gut aufeinander abgeglichen. Wenn Du mehrere Paare gekauft hättest, hättest Du vielleicht passende gehabt. Vertrauenserweckend ist die Beschreibung nicht: Der Sender Modul Parameter Technologie: Betriebsspannung: weder im 3V 12V Arbeitsstrom: ≤ 40mA (12 V) Max, ≤ 9mA (3 V) min Frequenz Arbeiten: 315MHz-433.92mhz, Motiv Frequenz ist. Resonanz Modus: Schallwelle Resonanz (Schwert) Sendeleistung: 25mW (315 mhz bei 12 V) Modulation Modus: Ask/Ook Frequenz Auflösung: + 150 kHz (max) Velocity: ≤ 10Kbps Codes Selbstklebende-Owned: Negativ Size: 31 millimeter X20mm X8mm RX technischen Spezifikationen: Betriebsspannung: 5. 0VDC + 0. 5v Arbeitsstrom: ≤ 5. 5mA (5. 0VDC) Arbeitsprinzip: superregeneration chip Einzelbettgröße Empfang Art der Arbeit: Ook/ASK Frequenz Arbeiten: 315MHz-433.92mhz, Motiv Frequenz ist. Bandbreite: 2 mhz (315 mhz, dass Ergebnis muhend Sensibilität von Test bei 3dBm) Betriebstemperatur: weder im 65 °C + -20 °C Empfindlichkeit (Magnesits): - 103DBm (50 ω) Ausgang signal: TTL signal Übertragung transparent Empfindlichkeit: excel¨C100dBm (50 Ω) Übertragung von Velocity :< 9. 6Kbps (bei 315 mhz und - 95dBm) Size: 18 millimeter X7mm
Christian S. schrieb: > Mit diesen Modellen habe ich keine Erfahrung ... und daher solltest du nicht so laut reden, denn diese Module in Verbindung mit der bereits im Nebensatz erwähnten VirtualWire Lib funktionieren ganz hervorragend. Nur wissen einfach viele Leute nicht damit umzugehen. Christian S. schrieb: > Möglicherweise sind die Module nicht gut aufeinander abgeglichen. Nein.
alle 433 MHz Sender die ich kaufte arbeiten zufriedenstellend, nur die billigsten Empfänger taugen nichts, man müsste wenn nicht RFM und Co genutzt werden auf Superheterodyne Empfänger ausweichen, bei beiden passende Antennen nicht vergessen, weiter kommen Lora Module.
Robin G. schrieb: > Zurzeit arbeite ich an einen > Projekt, wo die Temperatur über einen 433MHz Sender zu einem Empfänger > übertragen werden soll. Als Mikrocontroller nutze ich den 2x ATmega8... Robin, falls Du erste Erfahrungen mit einfachen 433Mhz Modulen sammeln willst, rate ich Dir folgendes: Ich setze jetzt voraus, dass Deine Module auf ASK oder OOK Modulation beruhen. Diese Empfänger verwenden einen sogenannten Bitslicer der zuerst einen Preambel zum festlegen des Datenschwellenwertes benötigt. Der Bitslicer ist einfach ein Analog Comparatorder am einen Eingang die Rohdaten vom Empfaenger bekommt und am zweiten Eingang eine stark gefilterte Version dieser Daten. Wenn nun ein Preamble gesendet wird stellt sich der DC Wert am gefilterten Dateneingang auf den Mittelwert ein. Wenn jetzt die Daten gesendet werden, werden die Daten mit dem Mittelwert verglichen und der Comparator gibt die Daten aus die dann der uC weiter verarbeiten kann. Die Daten werden vom Sender meist als variable Bitlaenge kodiert. Eine logische eins hat z.B. zwei Mal die Laenge im Vergleich zu einer eins. Oft werden rund 333us als Zeiteinheit verwendet. Eine 1 ist dann 333us klang und eine Null rund 670us. Jedes Bit Symbol hat eine Standardlänge von 1ms. Man verwendet diese Art der Kodierung als Ersatz von Manchester um DC Shifts durch veränderliche Bitfolgen auszugleichen um einfache Dekodierer wie Bitslicer verwenden zu können. Durch diese Einfachheit und rohe Verarbeitung schleichen sich in der Regel die Fehler ein die Du schon beim UART beobachtet hattest. Die Dekodierung erfolgt also am besten in Software. In der Empfänger Firmware wird anstatt des UARTS wegen der zitierten Probleme oft ein Timer Interrupt verwendet der die Daten am uC Eingang so oft wie möglich sampelt und dann bewertet. Durch sinnvolles Vergleichen der Werte stellen sich dann die Einser und Nullen heraus und können in einen Puffer aufgezeichnet werden. Da die Bits zeitkodiert sind ergeben die längeren Symbole groessere Zahlenwerte als die kurzen. Einfacher Test erlaubt dann die 1 und 0 dann zu erkennen. Nun zum praktischen Teil: Wenn Du zufällig Arduino Bords hast, lade Dir eine Wireless Bibliothek herunter die es für diese Funkmodule gibt und probier die beigelegten Beispiel aus. Wenn das dann alles funktioniert sehe Dir den Source Code der LIBs an um zu sehen wie das im Einzelnen gemacht wird. Dadurch kann man auch viel lernen. Für den Anfang ist das doch ein bisschen kompliziert um das alles selber schreiben zu wollen. Durch Experimentieren, Messen kann man auch mit einem solchen "Referenz Design" viel lernen. Da brauchst Du Dich nicht schämen:-) https://randomnerdtutorials.com/rf-433mhz-transmitter-receiver-module-with-arduino/ Ich habe das vor ein paar Monaten selber gemacht um schnell eine Funktemperatur Übermittlung mit diesen Module auszuprobieren und es hat bestens geklappt. In ein paar Minuten hatte ich dann die Sourcen für meine Zwecke modifiziert. Die gezeigten Funkmodule sind nicht gerade die besten und deren Reichweite ist begrenzt. Für kurze Entfernungen sind sie aber OK. Antennen sind halt wichtig. Die Module von LINX, z.B., sind wesentlich zuverlässiger, kosten aber auch mehr. So! Ich hoffe das hilft Dir weiter. Gerhard
> ... und daher solltest du nicht so laut reden, denn diese > Module in Verbindung mit der bereits im Nebensatz erwähnten > VirtualWire Lib funktionieren ganz hervorragend. > > Nur wissen einfach viele Leute nicht damit umzugehen. > > Christian S. schrieb: > Möglicherweise sind die Module nicht gut aufeinander abgeglichen. > > Nein. Ich wollte Möglichkeiten aufzeigen, die Meister Robin vielleicht noch nicht betrachtet hat. Es scheint so, als könntest Du genau die beiden Module, die bei Robin auf dem Tisch liegen direkt beurteilen. Denn von genau diesen berichtet er, es gäbe unerwartete Schwierigkeiten. MfG
Christian S. schrieb: > Denn von > genau diesen berichtet er, es gäbe unerwartete Schwierigkeiten. Wenn er irgendeine Art von UART-Übertragung damit erreichen will dann wird das natürlich nicht funktionieren. Garantiert nicht! Daher der Hinweis die VirtalWire Lib zu verwenden. Aber soweit ich jetzt erkennen kann ist er noch lang nicht da angekommen.
Christian S. schrieb: > Vertrauenserweckend ist die Beschreibung nicht: Das sind Beschreibungen die fünf mal durch die Chinesisch- Englische Übersetzungs-Mangel gewurschtelt worden sind. An der prinzipiellen (vernünftigen) Funktionsweise der Module wie sie der Erfinder kreirt hat ändert das nichts.
> An der prinzipiellen (vernünftigen) Funktionsweise der > Module wie sie der Erfinder kreirt hat ändert das nichts. Ja, wie gut sie im Sinne des großen kreativen Erfinders funktionieren, weiß man aber erst, wenn man mit ihnen bereits etwas gut funktionierendes aufbauen konnte. Ich hätte gerne in der Beschreibung etwas von Quarz, PLL, Genauigkeit gelesen und nicht " dass Ergebnis muhend Sensibilität von Test" Ich habe immer noch keine da liegen... sonst würde ich muhend mal eben etwas damit aufbauen, und wenn es nur eine Gartenzwergbeleuchtung ist. mfG
:
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.