- fchao-Sinus-Wechselrichter AliExpress         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 28

Thema: Funk, Zeitkritisches und Co.

  1. #11
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.05.2005
    Ort
    Stuttgart
    Beiträge
    260
    Anzeige

    Praxistest und DIY Projekte
    Hio. Danke erstmal an Jörg für die Erklärungen. Schade eigentlich… denn ich wollte eigentlich zwei dieser genannten Funkmodule (CM02) verwenden… Naja, das hat sich jetzt leider erledigt, da die Dinger ja nicht synchron übertragen und man zwei von den Teilen nicht zusammen verwenden kann, weil keiner ein I²C-Master sein kann. Eigentlich blöde…
    Nunja, dann gibt’s für mich nur noch zwei Möglichkeiten und die wären:
    a) Ich nehme zwei RT868F4 (868MHz-FM-Mehrkanal-Transceiver) von www.robotikhardware.de
    b) Ich bastel mir selber was zusammen.
    Die erste Variante wäre die einfachere weil ja alles schon fertig ist. Da weiß ich auch die Latenzzeiten. Ich zitiere noch mal:

    Latenzzeit (Echtzeit-Verzögerung):
    Für so genannte Echtzeit-Anwendungen ist die Information wesentlich, wie lange ein Signal von der Auslösung zur
    Reaktion am Empfänger benötigt.
    Das Funkmodul verzögert ein gesendetes Byte, unabhängig von der eingestellten Baudrate, um ca. 20ms. Die
    Zeitdifferenz des Startbits am Sender zum Startbit am Empfänger beträgt demnach genau diese ca. 20ms.
    Die Ursache dieser Verzögerung liegt in der internen Aufbereitung der seriellen Daten für das Funkprotokoll.
    D. h. ich sende ein Byte und muss 20 ms warten bis es beim Empfänger da ist?! Wenn ich genau weiß wie lange eine Übertragung andauert, kann ich das dann zeittechnisch berücksichtigen. Aber da tut sich für mich noch eine Frage auf die eigentlich nichts mit Thema zu tun hat. Wenn es zwischen jeden gesendeten Byte eine Pause von 20 ms befindet würde eine etwas größere Datenübertragung ja quälend lang dauern!

    Jörg, vielleicht kannst du mir ja schreiben a) wie lange der Controller wartet bis nichts mir in den FIFO geschrieben wird um die Daten dann weiter zu verarbeiten und wie lange dann das eigentliche senden eines Bytes dauert?! Wäre die seeehr dankbar für die Infos (hab nämlich nichts im Datenblatt gefunden).

    Dann noch zur zweiten Varianten. Eigentlich bin ich ein extremer Anfänger was das erbauen eigener elektronischer Schaltungen angeht…

    Es gibt doch nach wie vor die controllerlosen Module von C oder ELV, damit könnte man sicher so etwas machen. Man hat zumindest im Rahmen der Möglichkeiten dieser Module alle Freiheiten, sich das für die Applikation zurechtzubiegen.
    Was bedeutet denn C oder ELV? Ist es schwierig da was eigenes zusammenzubauen oder gibt’s da vielleicht sogar ’n Tutorial im Web oder schon was fertig aufgebautes?


    Gruß
    Lutz

  2. #12
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.11.2003
    Ort
    Dresden
    Alter
    60
    Beiträge
    409
    Hallo Lutz,

    Jörg, vielleicht kannst du mir ja schreiben a) wie lange der Controller wartet bis nichts mir in den FIFO geschrieben wird um die Daten dann weiter zu verarbeiten und wie lange dann das eigentliche senden eines Bytes dauert?! Wäre die seeehr dankbar für die Infos (hab nämlich nichts im Datenblatt gefunden).
    Naja es steht etwas verklausuliert drin. Erst mal wartet das Modul auf das Übertragungsende (2 volle Zeichen, macht bei 19200bps genau 1,04ms).
    Dann wird eine Präambel gesendet (10ms) dann halt die Daten, 1 Byte dauert 0,52ms. Zum Schluss gibts noch die Checksum und anderer Kram für 13,2ms. Erst nach der Komplettübertragung des Paketes wird es an der Gegenstelle ausgegeben. Dürfte beim RT868 ja genauso sein.
    Was ich nicht genau sagen kann, ob das Modul sofort nach dem Erkennen der Pause mit Senden anfängt (laut Datenblatt ja) und ob es beim Empfänger noch irgendwelche Verzögerungen gibt.

    Was bedeutet denn C oder ELV? Ist es schwierig da was eigenes zusammenzubauen oder gibt’s da vielleicht sogar ’n Tutorial im Web oder schon was fertig aufgebautes?
    C ist Conrad ELV eben ELV. Beide Anbieter haben fertig aufgebaute Funkmodule im Angebot (auch ohne Controller). Es geht also nicht darum, ein Funkmodul selbst aufzubauen. Das wäre schon rechtlich nicht einwandfrei.
    Aber selbst die Einbindung eines fertigen controllerlosen Moduls ist nicht so ganz einfach, weil man sich um alles selbst kümmern muss. Es sei denn, man überträgt zu Synchronisation eine einfache Flanke. Das dürfte problemlos auch ohne Manchester-Codierungen und den ganzen Kram gehen.

    HTH und Viele Grüße
    Jörg

  3. #13
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.05.2005
    Ort
    Stuttgart
    Beiträge
    260
    Wenn ich die einzelnen Zeiten zusammenrechne bekomme ich etwa 25 ms... Was mir jetzt noch irgendwie komisch vorkommt ist die Übertragungszeit ja quälend langsam ist. Oder muss man (wenn man was größeres übertragt) nur 1-mal ein Präambel (was ist das) senden und am Schluss dann auch nur 1-mal Checksum und Co senden? Dann wäre die Übertragunszeit von 1 Byte in 0,52 ms ja recht flott...

    Ich tendiere jetzt in Richtung EasyRadios, auch wenn die Teile nicht so passend sind. Wahrscheinlich bau ich mir dann ne eigene kleine Platine an, mit welcher man das Funkmodul dann ansteuern kann, weil RN-Funk mir einfach zu teuer ist... Nur wie ich das mache weiß ich noch nicht .

    Jetzt noch ne Frage: Wenn ich die Daten sende, kann es ja sein, dass genau in diesem Moment jemand anderes auf der gleichen Frequenz funkt. Das würde ja zu Fehler führen... Ich hab im Datenblatt gelesen man kann jedem Datenpaket eine ID geben und am Empfänger checkt man dann halt ob die ID vom eigenen Sender kommt und nicht von "irgendwo her". Gehe ich da richtig mit der Annahme??

    Gruß
    Lutz

  4. #14
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.11.2003
    Ort
    Dresden
    Alter
    60
    Beiträge
    409
    Hallo Lutz,

    die Präambel und die Endesequenz werden nur einmal pro Paket gesendet. Wenn also der Datenstrom kontinuierlich kommt (Fifogröße beachten), wird solange gewartet, bis eine Pause von mindestens 2 Bytezeiten aufgetreten ist. Dann beginnt der Sendezyklus also Präambel + Byteübertragungszeiten (0,52ms pro Byte) + Endesequenz (Postambel).

    Präambel ist eine Folge von ein paar Bytes in einer bestimmten Codierung (0x55/0xaa oder sonstwas) die dem Empfänger anzeigen, dass ein Paket übertragen werden wird. Und um diesen ganzen Kram (Präambel, Postambel usw.) brauchst du dich ja nicht zu kümmern, das macht die Firmware von dem Modul. Du musst nur wissen, wie die arbeitetet, damit für den speziellen Anwendungsfall die beste Lösung rauskommt.

    Das mit dem zur gleichen Zeit auf gleicher Frequenz senden kann jederzeit passieren (obwohl in der Praxis eher selten), deshalb gibt es ja die Sicherung mit der CRC. Stimmt diese nicht, wird das Paket verworfen.
    Die Daten-ID dient zur Realisierung von Subnetzen und ist hier eigentlich gar nicht notwendig.

    Viele Grüße
    Jörg

  5. #15
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.05.2005
    Ort
    Stuttgart
    Beiträge
    260
    Bin halt noch ein ziemlicher Anfänger was Funk angeht...

    Wärst du vielleicht so nett und würdest mir mehr über CRC schreiben? Ich weiß das CRC ne Art Hashcode ist, d. h. es gibt zu jeder Art von Bytefolge nur einen CRC-Code. Ändert man die Bytefolge irgendwie dann ist auch der CRC-Code anders... Ist das schwer mit den EasyRadios zu realisieren?

  6. #16
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.11.2003
    Ort
    Dresden
    Alter
    60
    Beiträge
    409
    Hallo Lutz,

    Wärst du vielleicht so nett und würdest mir mehr über CRC schreiben? Ich weiß das CRC ne Art Hashcode ist, d. h. es gibt zu jeder Art von Bytefolge nur einen CRC-Code. Ändert man die Bytefolge irgendwie dann ist auch der CRC-Code anders... Ist das schwer mit den EasyRadios zu realisieren?
    das brauchst du ja nicht extra zu realisieren, das macht ja das Modul schon für dich! Es gibt auch verschiedene Generatorpolynome, keine Ahnung was das Easyradio hier konkret verwendet.

    Viele Grüße
    Jörg

  7. #17
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.05.2005
    Ort
    Stuttgart
    Beiträge
    260
    Hio. Ich weiß, ich nerv langsam mit meinem Gefrage
    Also, noch vielen Danke für die ganzen vorigen Erklärungen! Hat mir sehr viel weitergeholfen.
    Ich tendiere jetzt in Richtung ER400TRS Transceiver als Funkmodul. Da habe ich noch ne kleine Frage. Jörg hat geschrieben, dass das Modul automatisch CRC-Prüfsummen erstellt und damit checken kann ob die Daten nicht von irgendwoher kommen. Dafür braucht das Modul ja auch etwas Zeit. Ist das in den 13 Millisekunden drin? Wird das schon automatisch gemacht oder muss man das erst noch konfigurieren? Ich hab das Datenblatt gewälzt, aber leider nichts dazu gefunden…

    So angenommen ich hab jetzt zwei solcher Transceiver. Jetzt muss ich noch auf ner Lochrasterplatine alles „zusamendrahten“. Und da hab ich so meine Probleme, weil ich, wie schon gesagt, null Ahnung von Elektrik habe . Wenn ich’s ganz einfach haben möchte, könnte ich mir zwei RN-Funkplatinen kaufen, aber ich will das selber zum laufen bringen und die Platinen sind auch nicht gerade billig für einen armen Schüler. Jetzt halt die Frage wie bau ich das zusammen? An einen PC will ich das ganze nicht anschließen. So wie ich das jetzt nämlich verstanden habe, bräuchte man dann einen MAX-232 Pegelwandler (sowie viel komplizierte Elektronik) welcher den Pegel auf RS-232 Norm anpasst (-12 … -3 V & +3 … +12 V), oder irre ich mich? Ist so was schwer zu bauen, wenn ich das Modul jemals an einen PC anschließen möchte? Etwas verwirrend finde ich dazu die Angaben:

    1. Das Modul arbeitet intern mit einem integrierten 3.3 Volt Spannungsregler. Die Logikpegel der Eingangs-/Ausgangs-Pins sind deswegen zwischen 0 Volt und 3.3 Volt. (Siehe Spezifikationen)

    1. Die Ausgänge treiben 5 Volt-Logik und die Eingänge werden korrekt betrieben von Logik, die bei 5 Volt arbeitet (CMOS & TTL Logikpegel).
    Was jetzt?

    Wie gesagt, an einen PC schließ ich das gute Stück erstmal nicht an. Was habe ich denn jetzt noch in der Schaltung zu beachten? Ich glaube man braucht dann noch so was wie einen Spannungswandler welcher die Spannung die z. B. von einem Akku kommt auf 5 V reguliert (ich muss ja genau die Spannung von 5V an ATmega8 sowie an den Transceiver anschließen…)? Öhhm, fehlt dann noch was? An-/Ausschalter natürlich sowie einen µC (ich nehme wie schon gesagt ATmega. An den µC kann ich ja, so wie ich das dem Datenblatt entnommen, habe direkt das EasyRadiomodul anschließen? Sonst bräuchte man ja eigentlich nichts mehr zum erfolgreichen Betrieben, oder?

    Vielleicht gibt’s ja irgendwo in den Tiefen des WWW ja ein kleines Tutorial, das die Grundlagen der Elektrik bespricht?! Wäre sehr dankbar für einen Link.


    Viele liebe Grüße
    Lutz



    P.S.: Ich verzweifle immer wieder an der Bezeichnung GND! Ich bin jetzt in der 11. Klasse und zum Thema Strom haben wir + & - gelernt, nie aber GND! Das Pendant dazu ist ja VCC. VCC steht glaub ich für eine immer gleich bleibende regulierte Spannung (also im meinem Fall 5V). Aber was ist GND? Ist GND einfach der Minus-Anschluss des Akkus? Im Datenblatt von Easyradio sagen die immer was von „Verbinden mit Versorgungsspannung 0 Volt und Massefläche“. Wie soll ich das jetzt verstehen? Was ist Massefläche, was Versorgungsspannung 0 Volt?

  8. #18
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    31.01.2004
    Beiträge
    585
    0V = Massefläche = GND = MINUS (-)

  9. #19
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.11.2003
    Ort
    Dresden
    Alter
    60
    Beiträge
    409
    Hallo Lutz,

    Ich tendiere jetzt in Richtung ER400TRS Transceiver als Funkmodul. Da habe ich noch ne kleine Frage. Jörg hat geschrieben, dass das Modul automatisch CRC-Prüfsummen erstellt und damit checken kann ob die Daten nicht von irgendwoher kommen. Dafür braucht das Modul ja auch etwas Zeit. Ist das in den 13 Millisekunden drin? Wird das schon automatisch gemacht oder muss man das erst noch konfigurieren? Ich hab das Datenblatt gewälzt, aber leider nichts dazu gefunden…
    das wird automatisch so gemacht, gehört ja zum EasyRadio-Protokoll. Wie schon mehrfach erwähnt, der Nutzer soll sich nicht mit diesem Zeug herumschlagen müssen, serielle Daten rein und auf der Gegenstelle serielle Daten raus, vollkommen transparent.

    An einen PC will ich das ganze nicht anschließen. So wie ich das jetzt nämlich verstanden habe, bräuchte man dann einen MAX-232 Pegelwandler (sowie viel komplizierte Elektronik) welcher den Pegel auf RS-232 Norm anpasst (-12 … -3 V & +3 … +12 V), oder irre ich mich? Ist so was schwer zu bauen, wenn ich das Modul jemals an einen PC anschließen möchte?
    Das Modul ist so konstruiert, dass man es mit einem Mikrocontroller direkt verbinden kann, möchte man es an einen PC anschließen, braucht man den genannten Pegelwandler. Aber dann auch nur bei der Verbindung mit dem PC!

    Der Pegelwandler besteht aus einem Schaltkreis (MAX232 oder ähnliche) und 4, 5 Kondensatoren für die Ladungspumpe. Also eigentlich auch mit wenig Erfahrung nicht allzu schwer zu bauen. Man sollte aber schonmal einen Lötkolben in der Hand gehabt haben oder jemanden haben, der mal mit draufgucken kann.

    Etwas verwirrend finde ich dazu die Angaben:
    1. Das Modul arbeitet intern mit einem integrierten 3.3 Volt Spannungsregler. Die Logikpegel der Eingangs-/Ausgangs-Pins sind deswegen zwischen 0 Volt und 3.3 Volt. (Siehe Spezifikationen)

    1. Die Ausgänge treiben 5 Volt-Logik und die Eingänge werden korrekt betrieben von Logik, die bei 5 Volt arbeitet (CMOS & TTL Logikpegel).
    Was jetzt?
    Es ist genauso wie es dasteht. Das Modul arbeitet intern mit 3,3V. Demzufolge kommt an den Ausgängen des Moduls auch nur 3,3V raus. Diese 3,3V reichen aber aus, um eine angeschlossene 5V Logik (Mikrocontroller, Pegelwandler) ordentlich zu treiben. Andersherum ist es genauso, die Eingänge des Moduls sind tolerant gegenüber anderen 5V Ausgängen. Kann man also ohne Bedenken direkt verbinden.

    Nur nicht einen PC direkt anschließen, die +/-12V wirken dann in der Regel für das Modul tödlich. Dafür und ausschließlich dafür ist der oben genannte Pegelwandler.

    Wie gesagt, an einen PC schließ ich das gute Stück erstmal nicht an.
    Dann brauchst du auch keinen Pegelwandler (MAX232).

    Was habe ich denn jetzt noch in der Schaltung zu beachten? Ich glaube man braucht dann noch so was wie einen Spannungswandler welcher die Spannung die z. B. von einem Akku kommt auf 5 V reguliert (ich muss ja genau die Spannung von 5V an ATmega8 sowie an den Transceiver anschließen…)? Öhhm, fehlt dann noch was? An-/Ausschalter natürlich sowie einen µC (ich nehme wie schon gesagt ATmega. An den µC kann ich ja, so wie ich das dem Datenblatt entnommen, habe direkt das EasyRadiomodul anschließen? Sonst bräuchte man ja eigentlich nichts mehr zum erfolgreichen Betrieben, oder?
    Ein paar Kondensatoren 100nF wären nicht schlecht, einen an den Mega8, einen an das Funkmodul. Weiterhin die Kondensatoren (Elkos) am Spannungsregler 7805 oder ähnliches nicht vergessen.
    Das ER-Modul kann direkt mit dem Mega8 verbunden werden, dabei die TX-Leitung des Controllers mit der RX-Leitung des Moduls verbinden und umgekehrt, also kreuzweise. Den Rest nach Datenblatt vom Easy-Radio verschalten.

    P.S.: Ich verzweifle immer wieder an der Bezeichnung GND! Ich bin jetzt in der 11. Klasse und zum Thema Strom haben wir + & - gelernt, nie aber GND! Das Pendant dazu ist ja VCC. VCC steht glaub ich für eine immer gleich bleibende regulierte Spannung (also im meinem Fall 5V). Aber was ist GND? Ist GND einfach der Minus-Anschluss des Akkus? Im Datenblatt von Easyradio sagen die immer was von „Verbinden mit Versorgungsspannung 0 Volt und Massefläche“. Wie soll ich das jetzt verstehen? Was ist Massefläche, was Versorgungsspannung 0 Volt?
    Eigentlich ganz einfach, wie ja auch schon von ShadowPhoenix geschrieben wurde, GND ist das Bezugspotenzial, die sogenannte Masse, zumeist verbunden mit dem Minuspol des Akkus (die Ausnahmen wo das nicht verbunden ist, interessieren hier erstmal nicht).
    Für dich ist wichtig zu wissen, dass alle GND-Anschlüsse verbunden werden müssen. Bei Einsatz von mehreren Akkus (einen für Sensorik, einen für die Logik, einen für die Motoren) gehören alle Minuspole damit verbunden.
    Speist man eine Schaltung (z.B. Controllerboard) aus einem Netzteil und hängt da Sensoren dran, die Batteriegespeist sind, gehören die Minuspole (== Massepotenzial) verbunden. Aus EMV-Gründen ist es im allgemeinen günstig, große Masseflächen zu haben.

    HTH und Viele Grüße
    Jörg

  10. #20
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.05.2005
    Ort
    Stuttgart
    Beiträge
    260
    Hio. Danke Jörg für die große Anwort!!

    Ein paar Kondensatoren 100nF wären nicht schlecht, einen an den Mega8, einen an das Funkmodul. Weiterhin die Kondensatoren (Elkos) am Spannungsregler 7805 oder ähnliches nicht vergessen.
    Die ersteren Kondensatoren muss ich ja direkt an den PowerPort des Mega8 und des ER-Moduls anschließen, weil es vorkommen kann, das kurzeitig die Spannung leicht zusammenbricht. Der µC kann dann dann ja nicht mehr richtig betrieben werden. Oder müssen noch wo anders eine paar von diesen 100nF-Kondensatoren hin? Wie ich annehme, müssen das dann auch ungepolte Kondensatoren sein. D. h. ein Elko lädt sich ja solange auf bis nichts mehr reingeht und dann ist das gute Stück nicht mehr leitend, d. h. der Kontakt wird geöffnet. Die ungepolten dagegen laden sich lassen den Strom aber auch wenn sie voll sind fließen und können sich auch in jede Richtung wieder entladen, oder irre ich mich?

    Und was hat es mit den Elkos an dem Spannungsregler auf sich?? Kannst mir da bitttteee noch ein bisschen mehr schreiben? Danke !

    Aus EMV-Gründen ist es im allgemeinen günstig, große Masseflächen zu haben.
    Was sind EMV-Gründe?

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test