Hi,
ich möchte gerne Messwerte drahtlos von einem Mikrocontroller zu einem
anderen Mikrocontroller übertragen.(Beide Atmel) Ich habe überlegt es
mit einer kleinen Funkstrecke zu machen und die RFM12-Module zu nutzen.
Die zu übertragenden Daten bestehen aus Dezimalzahlen mit zwei
Nachkommastellen. Also im Format XX,xx . Kann eine solche Übertragung
mit diesen Modulen realisiert werden und werden hierfür noch zusätzliche
Bauteile (Endoder/Decoder) benötigt?
Vielen Dank
Mike
Danke für die Antwort. Über Bluetooth hatte ich auch schon nachgedacht.
Hätte ich eventuell schon vorher erwähnen sollen. Der Sender wird auf
einer Motorwelle befestigt sein und sich somit kontinuierlich rotieren.
Das wird sowieso heikel denk ich ob die Signalübertragung überhaupt bei
dauerhafter Rotation funktioniert (konnte dazu bisher nirgends was
lesen). Dachte dass RF da vielleicht robuster wäre als Bluetooth?!
@ Mike (Gast)
>einer Motorwelle befestigt sein und sich somit kontinuierlich rotieren.
Dann muss man aber nicht zwingend Funk nutzen. Es geht auch Infrarot,
induktiv oder kapazitiv.
>lesen). Dachte dass RF da vielleicht robuster wäre als Bluetooth?!
Was ist bei dir RF? Die RFM12 arbeiten mit 433MHz, Bluetooth mit 2,4GHz.
Bei mir ist Radiofrequenz immer als 433 MHz im Kopf abgespeichert. Ich
weiß nicht korrekt. Mein Fehler. So weit ich weiß muss bei Infrarot
stets "sichtkontakt" zwischen Sender und Emfänger bestehen, was bei
einer Rotation nicht gegeben wäre. Induktiv wäre auch möglich. Gibt es
ICs denen man die Daten in digitaler Form zuschieben kann und "nur" noch
die Sender und Empfängerspulen anschließen müsste? Also ICs, die die
Modulation übernehmen..
Mike schrieb:> ich möchte gerne Messwerte drahtlos von einem Mikrocontroller zu einem> anderen Mikrocontroller übertragen.
Je nach Entfernung und Sichbedingungen könnte auch eine LED mit
passendem Empfänger (z.B. nach IrDA) geeignet sein.
> Die zu übertragenden Daten bestehen aus Dezimalzahlen mit zwei> Nachkommastellen. Also im Format XX,xx .
Dann sind es keine Dezimalzahlen, sondern Zeichenketten, die du
übertragen möchtest.
Wolfgang schrieb:> Dann sind es keine Dezimalzahlen, sondern Zeichenketten, die du> übertragen möchtest.
Dann sagen wir Fließkommazahlen. Alles nach dem Komma ist aber erstmal
optional.
Mike schrieb:> Der Sender wird auf> einer Motorwelle befestigt sein und sich somit kontinuierlich rotieren.
In solchen Anwendungen sollte man überlegen, ob eine Anwendung mit
Quarzen oder Resonatoren robust genug ist. Diese Bauteile sind
empfindlich gegenüber starken Beschleunigungen. Je nach Drehzahl kann
z.B. ein RFM Modul sich als ungeeignet erweisen.
Mike schrieb:> So weit ich weiß muss bei Infrarot> stets "sichtkontakt" zwischen Sender und Emfänger bestehen, was bei> einer Rotation nicht gegeben wäre.
Das kommt drauf an. Wenn der Sender stirnseitig auf der Achse sitzt und
seine Lichtstrahl axial rausschickt oder wenn bei radialer Ausrichtung
eine diffus streuende Fläche immer genug Signal zum Empfänger streut,
ist das kein Problem.
Vielleicht solltest du auch noch mal verraten, welche Datenrate die
Strecke übertragen können muss.
Georg M. schrieb:> Haufenweise.
Ich meinte für die induktive Übertragung
Wolfgang schrieb:> Vielleicht solltest du auch noch mal verraten, welche Datenrate die> Strecke übertragen können muss.
Datenrate ist nicht von belangen. 1-2 Messwerte / Sekunde genügen.
Wolfgang schrieb:> Das kommt drauf an. Wenn der Sender stirnseitig auf der Achse sitzt
Das ist nicht möglich.
Matthias S. schrieb:> Je nach Drehzahl kann> z.B. ein RFM Modul sich als ungeeignet erweisen.
Drehzahl bis maximal 15.000 U/min
Wolfgang schrieb:> wenn bei radialer Ausrichtung> eine diffus streuende Fläche immer genug Signal zum Empfänger streut,> ist das kein Problem.
Ich würde einfach auf dem Umfang mehrere LEDs anbringen und mit dem
gleichen Signal ansteuern.
Das Problem bei optischer Übertragung ist Verschmutzung.
Georg
Mike schrieb:> Bei mir ist Radiofrequenz immer als 433 MHz im Kopf abgespeichert.
Funk ist Funk, ob 433MHz, 868MHz (wie die Module von HopeRF), ob WLAN,
ob Bluetooth, ob ZigBee - das ist alles Funk.
Die Module von HopeRF sind sehr primitiv; Du schickst einen Bitstrom an
einem Ende rein und erhältst diesen mit etwas Glück am anderen Ende
wieder. In der Realität wird er mit Störungen angereichert sein, um
Fehlererkennung und -Korrektur musst Du Dich komplett selbst kümmern.
Andere Funkmodule (BT oder WLAN) übernehmen auch höhere Protokollebenen
und insbesondere Fehlererkennung und -Korrektur.
Das würde Dir sicherlich das Leben deutlich vereinfachen.
Ein beliebtes und kostengünstiges Beispiel sind die WLAN-Module mit
ESP8266 darauf, die kosten nicht mehr als die HopeRF-Module, bauen aber
echte Netzwerkverbindungen auf und ermöglichen es, ohne weitere Zusätze
z.B. ein Notebook oder Smartphone mit ihnen kommunizieren zu lassen.
Dazu kommt, daß der im ESP8266 enthaltene Microcontroller selbst
programmierbar ist, so daß man mit dem in bestimmten Fällen keinen
weiteren Microcontroller benötigt.
Rufus Τ. F. schrieb:> Ein beliebtes und kostengünstiges Beispiel sind die WLAN-Module mit> ESP8266
Klingt interessant. Aber macht WLAN so hohe Drehzahlen mit? Und ich
werde mal ins Datenblatt schauen. Könnte mir vorstellen, dass die einen
recht hohen Stromverbrauch haben.
Mike schrieb:> Aber macht WLAN so hohe Drehzahlen mit? Und ich> werde mal ins Datenblatt schauen. ...
Im Datenblatt des ESP8266 steht nichts von maximaler Drehzahl ;-)
> ... Könnte mir vorstellen, dass die einen recht hohen Stromverbrauch haben.
Das kommt auf den Maßstab an. Ohne irgendwelche Schlafmaßnahmen 80mA und
Pulse bis über 300mA beim Senden
Wolfgang schrieb:> Im Datenblatt des ESP8266 steht nichts von maximaler Drehzahl ;-)
Das bezog sich auf den Stromverbrauch ;)
Rufus Τ. F. schrieb:> Warum sollte andere Funktechnik sich da anders verhalten?
Ich weiß es nicht deswegen frage ich. Man findet dazu keine
Informationen. Dachte vielleicht weil mit 433 MHz beispielsweise
wesentlich höhere Reichweiten zu erreichen sind.
Mike schrieb:> Der Sender wird auf einer Motorwelle befestigt sein
Poste eine Skizze mit Maßen (u. a. Position des Senders und die
Entfernung zum Empfänger).
Mike schrieb:> Georg M. schrieb:>> Haufenweise.>> Ich meinte für die induktive Übertragung
Stichworte für mich sind da "Rotary Transformer", "Wirless Power
Transfer", RFID....
Wenn man die Anforderungen kennt, kann man auch mit etwas Geschick die
Technologien kombinieren und auf deine Anwendung anpassen.
Wie sieht es mit der Datenrate aus?
Mich würde ja vielmehr interessieren, welche Größen denn gemessen werden
sollen bei denen Der Sensor mit Auswertung bzw übertragung "auf" der
Welle sitzt.
Route 6. schrieb:> Welche Anforderungen kommen denn scheibchenweise noch?
Naja das ganze wird in irgendeiner Weise batteriebetrieben. Was anderes
ist bei so hohen Drehzahlen wohl nicht vorteilhaft. (Schleifringe etc.)
Das einzige wäre eine induktive Energieübertragung aber dann würde das
System nur im Prozess laufen.
Rufus Τ. F. schrieb:> Was für ein Motor? Welche Drehzahl?
Es handelt sich um eine Frässpindel von einer selbstgebauten Fräse.
Demnach sitzt der Sender nicht direkt auf Motorwelle aber führt im
Endeffekt dieselbe Rotation durch. Drehzahl steht oben bereits. Bis zu
15.000 U/min
ich schrieb:> Mich würde ja vielmehr interessieren, welche Größen denn gemessen werden> sollen bei denen Der Sensor mit Auswertung bzw übertragung "auf" der> Welle sitzt.
Verschiedenes. Zunächst einmal Temperaturen und Schwingungen.
Mike schrieb:> Drehzahl steht oben bereits. Bis zu 15.000 U/min
Hast Du Dir schon mal Gedanken um den Aufbau einer Elektronik gemacht,
die mit derartiger Drehzahl rotiert? Themen wie Unwucht, Vibrationen
etc. dürften hier bereits interessante mechanische Ansprüche an Deine
Elektronik stellen, und auch ein Grund sein, warum so etwas nicht
sonderlich weit verbreitet ist.
Bei der extrem geringen Datenrate, die Du erwähnt hast, solltest Du den
Vorschlag, auf Funktechnik zu verzichten und stattdessen eine optische
Übertragung zu verwenden, nochmal näher in Betracht ziehen.
Eine LED anzusteuern und mit der ein simples Blinkmuster zu erzeugen,
und das wiederum zu detektieren ist deutlich simpler als jede Art von
Funkübertragung. Und es dürfte im Umfeld Deines Fräsmotors, dessen
Ansteuerungselektronik sicherlich auch nicht ganz störungsfrei ist
(FU?), auch zuverlässiger funktionieren.
Rufus Τ. F. schrieb:> Hast Du Dir schon mal Gedanken um den Aufbau einer Elektronik gemacht,
Ja habe ich. Ein "Gehäuse" für das ganze rotiert auch schon unwuchtfrei
mit. Die Platine habe ich überlegt rund auszuführen, sodass sich das
Gewicht möglichst gleichmäßig verteilt. Eventuell mit Gewichten
ausgleichen.
Rufus Τ. F. schrieb:> und auch ein Grund sein, warum so etwas nicht> sonderlich weit verbreitet ist.
Ja genau das ist der Grund. Es gibt aber wissenschaftliche Arbeiten bei
denen es funktinierend umgesetzt wurde. Bei denen gibts aber natürlich
keine genaueren Infos. Es gibt auch fertige Module für rotierende
Wellen. Zum Beispiel hier:
http://www.kmt-telemetrie.de/telemetrie/1-kanal-telemetrie/
Also funktionieren sollte es.
Rufus Τ. F. schrieb:> stattdessen eine optische> Übertragung zu verwenden, nochmal näher in Betracht ziehen
ich bin nicht auf die Übertragung per Funk festgefahren. Im Gegenteil.
Wenn es bessere/einfachere Lösungen gibt sind die sehrwohl willkommen.
Ich verstehe aber noch nicht genau, wie das mit den LED funktionieren
soll.
Ich baue also um den gesamten Radius LEDs und setzte dann einen Emfänger
in die Nähe. Soweit verständlich. Aber wie codiere ich anschließend
meine Messwerte mit Blinkmustern? Und wie Dekodiere ich das am Ende
wieder... Gibts hierzu ein Stichwort?
Mike schrieb:> Und wie Dekodiere ich das am Ende> wieder... Gibts hierzu ein Stichwort?
Ähm, z.B. IR Fernbedienung? Nur hast du anstelle einer Led und einer
Diode einfach 10 oder was auch immer.
Schau doch mal, wie die das machen. Oder es gibt optische RS232
Versionen...
Du könntest auch nur 1-2-3-4... LEDs gleichmäßig verteilt einbauen und
diese blinken lassen.
Der (einzelne) Empfänger muss dann die Zeitspanne der eingehenden Pulse
erfassen und daraus den Wert berechnen.
Das Ganze ist dann ähnlich wie bei der Datenübertragung bei
Infrarotfernbedienungen:
https://www.mikrocontroller.net/articles/IRMP
Insbesondere der Bereich Kodierungen.
Die Pulse ergeben sich von selbst dadurch, dass immer nur eine LED über
den Sensor fährt.
Der Nachteil ist, dass das natürlich nicht in jeder beliebig niedrigen
Drehzahl funktioniert.
Mike schrieb:> Ich baue also um den gesamten Radius LEDs und setzte dann einen Emfänger> in die Nähe.
Ja.
> Soweit verständlich. Aber wie codiere ich anschließend> meine Messwerte mit Blinkmustern?
Mit IRSND.
Beispiel:
1
IRMP_DATAirmp_data;
2
3
irmp_data.protocol=IRMP_NEC_PROTOCOL;// sende im NEC-Protokoll
Das Byte "mein_byte", welches Du beim Senden in irmp_send_data()
reinstopfst, fällt beim Empfänger nach Aufruf von irmp_get_data () als
"mein_byte" wieder raus.
Drumherum noch eine Schleife, um einen ganzen Buffer zu senden, eine
Checksumme am Ende, um Fehlübertragungen zu erkennen und fertig ist die
Laube.
Rufus Τ. F. schrieb:> Themen wie Unwucht, Vibrationen> etc. dürften hier bereits interessante mechanische Ansprüche an Deine> Elektronik stellen, und auch ein Grund sein, warum so etwas nicht> sonderlich weit verbreitet ist.
Sowas macht ein Quarz oder Resonator, wie schon o.a., nicht lange mit.
IRSND (und auch sein IRMP Gegenstück) hat den angenehmen Seiteneffekt,
das es robust läuft, auch ohne Quarz - nochmals Danke an ukw :-)
Was soll an einer Uebertragung per Fernbediencode nun besser sein
als IRDA selbst?
IRDA im LowPowerMode wird, der nur kurzen Pulse wegen, sicherlich
sparsamer sein.
Und die ueblichen Fehlerkorrekturmassnahmen kann Mann auch bei
IRDA on top auf das Protokoll schrauben.
> Was soll an einer Uebertragung per Fernbediencode nun besser sein> als IRDA selbst?
Wenn der TO zwanzig der üblichen IRDA-Transceiver beschaffen muss, um
sie rund um das Rohr zu positionieren, wird das eine teure Sache. Die
Dinger sind nicht gerade billig. Außerdem werden sie dann nur als Sender
benutzt, die Empfängerseite wurde bezahlt, aber nicht genutzt. Der Preis
von 20 IR-LEDs ist jedoch nur ein Bruchteil.
Natürlich kann man auch statt eines IRDA-Transceivers eine simple LED
zum Senden nehmen. Dann ist das aber nichts anderes mehr als ein
unmoduliertes UART-Signal. Von daher ist ein moduliertes
Fernbedienungssignal mit Pulse-Distance-Kodierung, welches von einem
TSOP-Empfänger aus den Umgebungseinflüssen wie Tages-/Kunstlicht
herausgefiltert wird, um einiges übertragungssicherer als IRDA über eine
simple IR-Diode. Zudem steckt in dem Übertragungssignal einer IR-FB
(speziell hier: NEC-Code) schon eine gewisse Redundanz, welche die
Fehlerentdeckung verbessert.
Nochmal:
> Was soll an einer Uebertragung per Fernbediencode nun besser sein> als IRDA selbst?
Warum verwenden TV-Hersteller immer noch IR-Fernbedienungen und kein
IRDA?
Ich kann Dir dutzende von Gründen nennen.
> Wenn der TO zwanzig der üblichen IRDA-Transceiver beschaffen muss, um> sie rund um das Rohr zu positionieren, wird das eine teure Sache. Die> Dinger sind nicht gerade billig. Außerdem werden sie dann nur als Sender> benutzt, die Empfängerseite wurde bezahlt, aber nicht genutzt. Der Preis> von 20 IR-LEDs ist jedoch nur ein Bruchteil.
So wie ich das verstehe, sitzt der Sender auf dem rotierenden Teil.
Und fuer den TX braucht Mann wie du richtig erkannt hast, nicht
unbedingt einen "richtigen" IRDA-Transceiver. Da tut es, passend
angesteuert auch jede "normale" IR-Diode.
Und da es ja scheinbar egal ist, wie viele IR-Dioden da nun
Karussell fahren, waeren sicher mehrere angebracht um eine
lueckenlose Uebertragung zu sichern.
Fuer die Empfangsseite wuerde dann ein als Empfaenger betriebener
IRDA-Transveiver reichen.
Fernbediencodes haben aus meiner Sicht den Vorteil mehr Energie
in das Signal packen zu koennen. Das ist aus meiner Sicht hier
voellig unnoetig.
> Von daher ist ein moduliertes Fernbedienungssignal
Ja, der Empfaenger hat dafuer auch eine ALC (Automatic Level Control).
Wie sich das in so einer Umgebung auswirkt kann Mann wohl
bestenfalls als noch unklar bezeichnen.
Die Regelzeitkonstante wird wohl kaum einer weiteren Modulation
bei 15 kRPM folgen koennen.
Weis Deine Schaltung immer, wo sie ist?
Ein Ring aus LEDs ist im Grunde genommen kein Problem, die nötige Anzahl
ergäbe sich aus dem Abstrahlwinkel, aber die Teile brauchen, auch wenn
nur gepulst wird, halt Strom.
Wüsste das Teil immer wo es gerade ist, so würde es reichen, wenn nur
die LED an der "Blickseite" das Modulationssignal versendet.
Die Suche nach Übertragungs- bzw. Modulationsprotopollen rund um die
infrarote (die Farbe ist eigentlich nicht wichtig, bzw. hauptsächlich
von der störenden Umgebung abhängig) Übertragung dürfte Dich
wahrscheinlich erschlagen.
Hier sollte auch ein wenig Grips in die Störempfindlichkeit investiert
werden. Also dürfen auf keinen Fall Übertragungsfehler auftreten (erhöht
meist das Datenvolumen) oder kann jemand mit Rechenleistung - z.B. ein
PC - die Fehler ausbügeln.
> Ein Ring aus LEDs ist im Grunde genommen kein Problem, die nötige Anzahl> ergäbe sich aus dem Abstrahlwinkel, aber die Teile brauchen, auch wenn> nur gepulst wird, halt Strom.
IRDA kann sehr sparsam betrieben werden, wenn die zu ueberbrueckende
Strecke nur klein ist. Von daher waeren auch mehrere Sendedioden
ueberhaupt kein Problem.
U.U. muss Mann die Sendedioden ein wenig "anrauhen" um einen
groesseren Streuwinkel zu erreichen.
> Wüsste das Teil immer wo es gerade ist, so würde es reichen, wenn nur> die LED an der "Blickseite" das Modulationssignal versendet.
Ja, waere mit einem kleinen Hallsensor vielleicht machbar.
> Die Suche nach Übertragungs- bzw. Modulationsprotopollen rund um die> infrarote (die Farbe ist eigentlich nicht wichtig, ...
IRDA ist ein etabliertes Protokoll. Die Tendenz Schlau- und
Dummfone heute eher mit WiFi und BT auszustatten, hat es ein
wenig in den Hintergrund treten lassen.
Der Aufwand um IRDA zu senden, ist jedenfalls sehr gering.
Ein kleiner Midrange-PIC packt mit seinen internen 4 MHz z.B.
eine Baudrate von 115k (in Assembler).
Wenn Mann noch einen Palm, einen Psion oder Pocket-PC
im Schreibtisch hat, hat Mann auch gleich das passende Terminal.
Der (Motorola-)Palm mag leider mehr 38.4k jedenfalls nicht.
Hi zusammen,
ich melde mich nach längerer Zeit mal wieder zurück. Ich habe die
verschiedenen Vorschläge, insbesondere die sehr guten Dokumentation zu
IEMP und IRSND, durchstöbert. (Vielen Dank an dieser Stelle an Frank M.
!)
Ich muss sagen ich bin sehr angetan von der Methode und könnte mir gut
vorstellen, dass es mit mehreren IR-Dioden und einem entsprechende
Protokoll funktionieren könnte. Die harfwareseitigen Voraussetzung
stehen auf jedenfall zur Verfügung. Viel mehr als einen PWM-Ausgang auf
der Senderseite und einem ADC-Eingang an der Empfägerseite braucht es ja
fast nicht.
Über den Abstrahlwinkel der LEDs und den Radius des Gehäuses würde sich
dann wie auch oben schon einmal erwähnt die Anzahl an nötigen LEDs
ergeben.
Umschlüssig bin ich mir über die benötigte Leistung der LEDs. Da sich
die LEDs stetig rotieren, strahlen sie auch die Wellen in alle Richtung.
Je nach Leistung der LEDs ist das für die Augen denk ich nicht ganz so
förderlich. Zudem sollten die LEDs natürlich möglichst wenig Leistung
aufnehmen.
In welcher Form die Stromversorgung ausgeführt wird steht noch nicht
fest und ist wesentlich davon abhängig wie viel Energie das System am
Ende aufnehmen wird. Egal ob 18650-Zelle oder Knopfzellen es wird ein
Problem, da sich das Gewicht schlecht verteilen lassen wird.
Was denk ihr wie viel Leistung müssen die LEDs haben wenn ca. 10 cm
Abstand zwischen Sender und Empfäger sind?
Vielen Dank nochmal an alle !
Mike schrieb:> Was denk ihr wie viel Leistung müssen die LEDs haben wenn ca. 10 cm> Abstand zwischen Sender und Empfäger sind?
Wenig. Mit 100mA Pulsstrom kommst Du mindestens 5m weit, bei LEDs mit
geringem Abstrahlwinkel sogar noch wesentlich weiter.
Aber 10 cm sind ja dagegen gar nichts. Ich würde es an Deiner Stelle
einfach mal testen. Bau die im IRSND-Artikel aufgebaute
Mini-Schaltung auf und teste dann den Empfang mit verschiedenen
Widerständen in Serie zur LED. Ich vermute, dass 10mA Pulsstrom oder
noch weniger sicher ausreichen. Aber wie gesagt, das hängt auch stark
von der IR-LED ab.
Okay danke werde ich machen. Das ganze geht natürlich nur mit einem
Testaufbau. Denkst du wenn es im statischen Zustand mit einer Diode
funktioniert,dass es auch in der Rotation funktionieren wird wenn der
Abstand derselbst ist?
Mike schrieb:> Umschlüssig bin ich mir über die benötigte Leistung der LEDs. Da sich> die LEDs stetig rotieren, strahlen sie auch die Wellen in alle Richtung.> Je nach Leistung der LEDs ist das für die Augen denk ich nicht ganz so> förderlich.
Äh, wenn Du LEDs im sichtbaren Bereich nimmst, dann leuchten die halt.
Wie Deine Schreibtischlampe auch. Und wenn Du IR-LEDs nimmst, dann
unterscheiden die sich nicht von Deiner Fernbedienung. Du brauchst dafür
keine Flak-Scheinwerfer, es geht schließlich um minimale Distanzen.
Und obendrein hindert Dich nichts daran, den ganzen Aufbau unter einen
Deckel zu packen, damit da keine bösen "Wellen" austreten können.
Rufus Τ. F. schrieb:> Äh, wenn Du LEDs im sichtbaren Bereich nimmst, dann leuchten die halt.
Meines Wissens nach gibt es die TSOPs nur für IR-Licht. Da das ganze
auch bei normalem Umgebunglicht funktionieren soll, ist es wohl das
beste, das Signal zu modulieren und einen TSOP zur Filterung der
Modulationsfrequenz einzusetzen. Genau das macht IRSND in Zusammenarbeit
mit IRMP.