Forum: Mikrocontroller und Digitale Elektronik Anschluß 433MHz AM-Sender Empfänger von Conrad


von Tilman Wenning (Gast)



Lesenswert?

Hallo Leute,

ich will eine Funkverbindung zwischen zwei Microkontrollern aufbauen mit 
den 433MHz-AM-Funkmodulen von Conrad (Best. 130428-31,  15 Eur für 
Sender und Empfänger).
Ich weiß, die Dinger sind billig gebaut. Dafür sind sie auch vom Preis 
billig...
So, meine Problem: WIE schließe ich die Dinger richtig an ?

Fangen wir mit dem Sender an:
In der Anleitung steht: Betriebsspannung 3 bis 12V DC, Eingangssignal: 
Amplitude abhängig von der Größe der Betriebsspannung des Senders z.B. 3 
bis 15 Vss bei 12 V/DC

Was meine die mit Vss ? Und was heißt das für den Pegel des 
Eingangssignal ? Auf das Beispiel bezogen: Das Eingangssignal darf 
zwischen 3 un 15 V sein. Wird dann 3 V als "0" und 15 V als "1" gesendet 
? ODER, was ich eher glaube, alls zwischen 3 und 15 V wird als "Sender 
an" interpretiert. Was ist nun richtig ? Kann ich den Ausgang eines 
80C51 über einen Inverter direkt an das Sendermodul hängen ? 
(Versorgungsspannung wäre 5V und das Eingang-Signal hätte 5V).

Und nun der Empfänger:

Anleitung sagt: Betriebsspannung 5V / DC , Ausgangssignal Hi + 0,8V; Lo 
0V.

So. 0,8 V ist nicht mehr TTL, WIE verfütter ich das meinem 80C51 ? 
Sollte man einen Schmitt-Trigger (74HC14) dazwischen hängen ? Oder einen 
anderen Typ ? Oder wie bekomme ich sonst das Signal auf TTL-Pegel ?
Sollte man über einen Kondensator das Eingangssignal filtern ? Die 
Empfänger haben ja immer eine gewisse Einschwingzeit in der sie 
"Rauschen". Wie groß sollte man den Kondensator bemessen ? Ich würde den 
Kondensator dann zwischen Ausgangsignal und Masse legen, oder ?

Fragen über Fragen, ich hoffe nicht all zu blöde und nervend.
Angehängt habe ich die Originalanleitung von Conrad.

Auf Antwort hoffend,
vorab schon mal dankend

Tilman Wenning

von Frankl (Gast)


Lesenswert?

Ich denke die Übersetzung ist nicht so gut.
Am besten du probierst es aus. Empfänger Betriebsspannung 5V
Low 0-0,8V High 5V-0,8V.
Sender Betriebsspannung 5V.
Low 0V
High 5V.(entsprechend der Betriebsspannung).

Einschwingen des Empfängers wird mit ein paar Bits vorweg gemacht.

Ich habe den Empfänger an einer PC-Audiokarte getestet. Als Sender 
diente ein Funkthermometer. Was ich gesehen habe sah gut aus.

von Gerd T. (Gast)


Lesenswert?

Hi,

die Bedienungsanleitung ist leider wirklich nicht sehr 
bennutzerfreundlich gestaltet, aber ich glaube ich kann deine Fragen 
beantworten, da ich selbst vor kurzem mit diesen Modulen gearbeitet 
habe.

Sender:
Den kann man mit einer Betriebsspannung zwischen 3 und 12V betreiben. 
(VDC 3...12V)

Den Dateneingang kann man mit Pegeln zwischen 3 und 15V speisen ( 0V = 
logisch 0; 3-15V = logisch 1)

Empfänger:
Versorgungsspannung 5V
Am Ausgang liegen 0V bei log. 0 und 5V bei log. 1 an, hat also TTL 
Pegel.

Ich hatte mit den Eigangspegeln eigentlich weniger Probleme als mit der 
Reichweite und der Datenrate, ich schätze mal das liegt daran das ich 
den Sender nur mit 3V versorge.

MfG
GT

von Tilman Wenning (Gast)


Lesenswert?

Oki, dann hat auch der Empfänger TTL-Pegel. Für was bekommen Übersetzer 
Geld ?

Wie habt ihr die an den Mikrocontroller angeschlossen ? Direkt, über 
einen Inverter, über einen Schmitt-Trigger ?

Vielen Dank schon mal für die Antworten !

Bis dann, Tilman

von Jan Maier (Gast)


Lesenswert?

Kann mir mal jemand kurz die Bezeichnung der Module (Sender & Empfänger) 
nennen (oder die Artikelnummer).

DANKE!
JAN

von günter (Gast)


Lesenswert?

@jan

Conrad-Artikel-Nr : 130428

von günter (Gast)


Lesenswert?

@alle

Gibt's für die eingesetzten AVR's Software-Beispiele

0. fürs Synchronisieren (wenn erforderlich) ?
1. fürs Senden ?
2. fürs Empfangen ?

Wäre dankbar für ein paar Anregungen !
(ASS, C, oder BASCOM)

Günter

von Hanno (Gast)


Lesenswert?

Hallo!

Ich will mir auch diese Module kaufen. Offen ist aber noch die Frage 
nach der Antenne: Brauchen Sender/Empfänger eine oder ist die schon 
integriert? Und wenn, was für eine müsste das sein? Kennt sich da jemand 
aus?

Die Software sollte nicht sehr kompliziert werden. Wichtig ist halt nur, 
dass die Bits im Manchester-Code verschickt und empfangen werden.

Ich denke, dass ginge so:

Vor jedem Byte (oder Paket) sollte ein (oder zwei?) Start-Bit geschickt 
werden (0 oder 1 - egal), damit der Empfänger nicht das erste Datenbit 
verschluckt. Der Empfänger kann dann die 'Clock' messen (= Zeit zwischen 
zwei Pegel-Wechseln) und dann entscheiden, wann ein Bit ankommen muss. 
Dann nur noch die n Bit einlesen.

Bin aber auch für jede Anregung dankbar.

Gruß
Hanno

von Gerd T. (Gast)


Lesenswert?

Hi,

im Sendemodul ist eine Antenne integriert, es kann aber auch eine 
externe Antenne angelötet werden. Dazu kann man einen einfachen Draht 
der Länge lambda/4 verwenden.
Der Empfänger hat bereits eine Antenne, die als normaler Draht 
ausgeführt ist.

Habt ihr schon einmal daran gedacht für das Senden und Empfangen einfach 
die UART zu verwenden? Den Sender an den TX Pin und den Empfänger an den 
RX Pin, dann hat man wenig aufwand mit der Codierung der Daten und kann 
einfach die RX und TX Interrupts auswerten.

MfG
GT

von Hanno (Gast)


Lesenswert?

@Gerd
Danke für die Info. Damit machen die für mich das Rennen.

Ich weiß nicht, ob das mit dem UART klappt. Ich habe irgendwo gelesen, 
dass das Manchester-Code sein muss, damit der Empfänger weiß, was 1 und 
was 0 ist. Könnte damit zusammenhängen, dass ja der "Pegel", in diesem 
Fall also die Feldstärke, für eine "1" stark unterschiedlich sein kann. 
Sicher weiß ich das aber nicht, weil ich die Module nicht genau kenne 
und auch kein Amateurfunker bin :)

Gruß
Hanno

von Gerd T. (Gast)


Lesenswert?

Der Sender sendet bei einer 1 am Dateneingang ein 433MHz Funksignal, bei 
einer 0 macht er nichts. Der Empfänger erkennt also nur ein präsentes 
433MHz Funksignal als 1, alles andere wird von ihm als 0 interpretiert.

GT

von Tilman Wenning (Gast)


Lesenswert?

>Der Sender sendet bei einer 1 am Dateneingang ein 433MHz
>Funksignal, bei einer 0 macht er nichts. Der Empfänger erkennt
>also nur ein präsentes 433MHz Funksignal als 1, alles andere
>wird von ihm als 0 interpretiert.

Ein ganz entschiedenes JEIN.
Wenn der Sender sendet, ist der Pegel nach einigen Millisekunden auf 1. 
Wenn der Sender nichts sendet (0) dann ist der Pegel des Empfängers 
undefiniert, d.h. er schwank willkürlich zwischen 1 und 0. Deswegen kann 
man eine 1 nur daran erkenne das über einen längeren Zeitraum eine 1 
anliegt. Deswegen ist ein prüfsummegesichertes fehlertollerantes 
Protokoll unerläßlich.

Bezüglich des Timings (wie lange man warten muß um eine 1 sicher zu 
erkennen etc.) werde ich hier was schreiben wenn ich es ausgiebig 
gestestet habe.

Bis dann

Tilman Wenning

von Hanno (Gast)


Lesenswert?

Verstehe ich das richtig, dass der Empfänger seine Empfindlichkeit quasi 
dauernd anpasst? Also, wenn eine 1 gesendet wird, passt er sich in ein 
paar ms daran an, wenn die 0 kommt, nimmt er u.U. auch das nach einiger 
Zeit als 1 an?
Das wäre der Fall, wo Machester-Code die Lösung bringt, indem 1 und 0 
dauern wechseln.
In jedem Fall muss die Übertragung aber per Prüfsumme gesichert werden. 
Da stimme ich voll zu.

Gruß
Hanno

von Tilman Wenning (Gast)


Lesenswert?

Ob er seine Empfindlichkeit anpaßt weiß ich nicht. Bis jetzt habe ich in 
einem simplen Versuch (Sender bekommt per Taster seinen 5V-Pegel, 
Empfänger hat 2 Leds für Pegel 0 und Pegel 1)
folgendes beobachtet:

Wenn der Sender nicht sendet, wechselt der Empfänger--Pegel ständig 
zwischen 0 und 1, verharrt oft auf der 1 !!! (da werden sicher 
irgendwelche andern Geräte auf 433MHz senden)
Sobald ich die Sendertaste drücke, fängt der Empfänger wild zwischen den 
beiden Pegeln zu wechseln bis es sich wieder auf 1 stabilisiert (Zeit < 
1 sek !! ) Wenn er vorher lange auf 1 war zuck er nur mal kurz zur 0 und 
bleibt dann wieder bei 1.

Wenn ich dann den Taster loslasse, fällt der Pegel wieder auf 0 um dann 
nach einen kurzen Moment auf 1 wider zu gehen.

Aber wenn ich mir das jetzt so überlege. Ein anpassen der 
Empfindlichkeit würde das Verhalten erklären.

D.h. wenn man andere Geräte im Haus hat die auch im 433MHz Band senden, 
hat unser Empfänger immer einen Pegel 1 und das unser Sender sendet 
erkennt man an kurzen Pegel-Wechseln. Mhh.  jo. Das schreit alles nach 
Manchester.

(Vielleicht etwas unzusammenhängend, ich bin am überlegen :-D ) Aber ich 
werde meine Ergebisse hier nochmal berichten.

Bis dann,

Tilman Wenning

von Johannes (Gast)


Lesenswert?

Hallo zusammen!
Habe mir so ein Sender-Empfängersystem gestrickt.

Empfänger: Grundzustand Sender sendet 0-> Das Ding rauscht ohne Ende 
(Pendelempfänger?!); Sender sendet eine 1 -> Der Empfänger zeigt "kurz" 
eine 1 und rauscht danach wieder.

Exkurs: Der Empfänger benötigt ein Freqenzgang zwischen 500hz und 2k um 
eindeutig zu eine 1 zu identifizieren (Datenblatt). Übersetzt bedeutet 
das, daß spätestens bei einer gesendeten 0 eine 500'stel Sekunde später 
eine 1 gesendet werden muß sonst herrscht wieder undefiniertes Rauschen 
(schnellstens jedoch nach einer 2000'stel Sek).

Um zu gewährleisten das auch bei einer 0 ein definierter Zustand 
herrscht habe ich ich also auch bei einer 0 eine 1 gesendet, dann 
"lange" gewartet (eine 500'stel sekunde) bis zum nächsten bit, bei einer 
gesendeten 1 entsprechend "kurz" (2000'tel sek).
Auf der Empfangsseite braucht man dann nur auszuwerten wieviel Zeit 
vergeht bis nach einer eins wieder eine eins anliegt (Timervariable 
incrementieren; (int0 unmittelbar an Empfänger Ausgang) 
Interuptauslösung bei steigender Flanke timvervariable in int0 auswerten 
und zurücksetzen. Um Fehlertoleranter zu sein kann man die Timervariable 
innerhalb von Grenzwerten auswerten)

Bis zu dieser Stelle ist die Sache mit den nullen und einesn geklärt. 
Aber.... Durch das Rauschen des Empfängers kommen ja in einem fort Werte 
an-> also zuersteinmal 9 Einsen senden "Startseqenz". Aber.... Durch 
andere Sender während der Übertragung kommen undefinierte werte zustande 
-> also jedes übertragene Byte "manchastern" und das Byte nocheinmal 
senden.

Nach diesen diesen Handständen habe ich nach einigen Stunden Probeläufen 
noch keine Fehlübertragung festgestellt so daß ich auf Prüfsummen 
verzichtete.

PS1. habe noch eine Seite gefunden wo der Autor angibt daß er den 
Empfängerpelgel einfach per Transistor (DataOut an Basis angehoben hat 
war bei mir nicht nötig)

PS2. Ich habe einen LCD-Display zur Darstellung der übertragenen Daten 
während der Pfüfzeit angeschlossen das hat ungemein geholfen

PS. Mein Projekt läuft noch

von Christian Bürger (Gast)


Lesenswert?

Hallo,

welche Reichweite lässt sich eigentlich mit diesem Set überbrücken?

MfG Christian Bürger

von Johannes (Gast)


Lesenswert?

Hallo zusammen!

Welche Reichweiten? Auf dem Datenblatt stehen max 50m. Ich habe gleich 5 
Modulpaare bestellt und dummerweise alle auf einmal ausgepackt so daß 
ich nicht mehr zuordnen konnte welche Paare ursprünglich 
zusammengehörten, so daß ich eine zusätzliche Unsicherheit hierdurch 
geschaffen habe, denn die module haben sich in einem Fachwerkhaus nur 
ca. 10-12m weit unterhalten können. Die die Reichelt-Module erzielten 
(jeweils als Empfänger und Sender einzeln gekauft) allerdings mit dem 
doppelten Preis deutlich bessere Ergebnisse (ca. 20m). Einen 
Freilandversuch habe ich noch nicht gestartet.

PS. Conradmodule (ca. 15€ und Reicheltmodule ca. 15 + 15€) konnten sich 
ganz gut miteinander unterhalten.


mfg johannes

von Dirk Schlage (Gast)


Lesenswert?

Hallo ihr da draussen, vor allem Johannes.

Wie weit sind denn eure Projekte, oder habt ihr momentan wenig Zeit?

ciao
   Dirk

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.