Forum: Mikrocontroller und Digitale Elektronik ESP8266 mit anderen ESP8266 synchronisieren


von Robert S. (gips1gott)


Lesenswert?

Moin Leute,

ich möchte insgesamt vier ESP8266 miteinander verbinden. Ein ESP8266 
wird in eine Fernbedienung eingebaut. Dieser nimmt die Werte von zwei 
Joysticks an. Ein zweiter ESP befindet sich auf einer Plattform und 
übernimmt Rechenaufgaben auf der Plattform (Kamera, Laufbahnberechnung, 
Regler). Zwei weitere ESP befinden sich jeweils an einem Motor und 
sollen diese ansteuern. Ich möchte, dass alle vier ESP synchron 
miteinander über Wifi kommunizieren. Sprich ein Host und 3 Clients. 
Hierbei dachte ich an ein JSON Format. Habt ihr Ideen oder Einfälle? Wie 
kann ich es realisieren, dass alle ESP8266 synchronisiert sind?

Vielen Dank für eure Einfälle und Hilfe.

von Pete K. (pete77)


Lesenswert?

Jan S. schrieb:
> Ich möchte, dass alle vier ESP synchron
> miteinander über Wifi kommunizieren.

Was willst Du genau? Wifi ist definiert durch die Protokolle, und 
synchron zwischen mehreren Partnern ist da sowieso nix.

Aber ich habe die Fragestellung vielleicht nicht richtig verstanden.

von Robert S. (gips1gott)


Lesenswert?

Pete K. schrieb:
> Was willst Du genau? Wifi ist definiert durch die Protokolle, und
> synchron zwischen mehreren Partnern ist da sowieso nix.

Ich möchte, dass ich mittels Joystick die Geschwindigkeit und die 
Position der Motoren vorgebe. Diese soll der "Rechen-ESP" entgegennehmen 
und anschließend an die beiden "Motoren-ESP" weitergeben. Damit das 
Fahrzeug geradeaus fährt, müssen die Motoren aber gleichzeitig 
angesteuert werden. Eine Verbindung mittels Leitungen ist keine Option.

von Pete K. (pete77)


Lesenswert?

Bei einer Übertragung mit dem IP-Protokoll hast Du immer Latenzen.
Die Frage ist, ob das die Motoren stört. Du kannst ja gegensteuern, wenn 
ein Motor schneller dreht als der andere.
Bauteiltoleranzen gibt es sowieso.

von Lutz (Gast)


Lesenswert?

Das wirst du wohl so geflissentlich vergessen können. Mit den ESP8266 
erst recht, und das aus diversen Gründen.

von Robert S. (gips1gott)


Lesenswert?

Wenn die Latenzen in einem nicht nennenswerten Bereich liegen (ich weiß 
es leider nicht) stört es die Motoren sicher nicht.

Die Gesamtfunktion kann ich jedoch erstmal nicht testen. Aktuell habe 
ich nur die vier ESP und muss das alles miteinander quasseln lassen. Das 
ganze am besten nahezu synchron. Ist es nicht möglich, dass man eine 
gemeinsame Zeit hat? Irgendwie verifizieren kann, dass die ESP's zur 
selben Zeit das machen was sie sollen? Ich wollte mit einem ESP ein Wifi 
Netz aufbauen und die anderen drei sollen sich dort einloggen.

Wie soll ich da gegenregeln?

von Robert S. (gips1gott)


Lesenswert?

Lutz schrieb:
> Das wirst du wohl so geflissentlich vergessen können. Mit den ESP8266
> erst recht, und das aus diversen Gründen.

Was bedeutet das genau? Ist es gar nicht möglich? Was für eine 
Alternative gibt es?

Das ganze wird weder kommerziell noch professionell eingesetzt. Ist eher 
ein Versuch.

von Andreas B. (bitverdreher)


Lesenswert?

Das wirst Du prinzipiell mit Netzwerk vergessen können, mit WIFI sowieso 
und erst Recht mit dem ESP.
Auch nur annähernde Gleichzeitigkeiten über Netzwerk kannst Du 
vergessen.
Wenn es unbedint drahtlos sein soll, wäre Funk eine Möglichkeit.

Gruß
Andreas

von Robert S. (gips1gott)


Lesenswert?

Andreas B. schrieb:
> Wenn es unbedint drahtlos sein soll, wäre Funk eine Möglichkeit.

Danke für deinen Tipp.

Du würdest also beispielsweise ein 433Mhz Funkmodul für meine ESP's 
vorschlagen?

von Andreas B. (bitverdreher)


Lesenswert?

Jain, wozu ESPs? Die arbeiten Multitasking, da ist nichts mit synchron.

von Robert S. (gips1gott)


Lesenswert?

Andreas B. schrieb:
> Jain, wozu ESPs? Die arbeiten Multitasking, da ist nichts mit
> synchron.

Die hätte ich rumliegen. Ansonsten habe ich noch vier STM32F042K6T6 
Boards.

Multitasking und dementsprechende unsynchronität habe ich nicht ganz 
verstanden. Würdest du das bitte erklären?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Jan S. schrieb:
> Ist es nicht möglich, dass man eine gemeinsame Zeit hat?

Natürlich. Du könntest ntp verwenden. Einer Deiner esp8266 wird 
Zeitserver, die anderen holen sich via ntp die aktuelle Zeit.

Kann man so machen.

Für den Client gibt es für die Arduino-Variante hier ein Beispiel:

https://github.com/esp8266/Arduino/tree/master/libraries/ESP8266WiFi/examples/NTPClient

von Robert S. (gips1gott)


Lesenswert?

Rufus Τ. F. schrieb:
> Kann man so machen.

Das bedeutet aber weiterhin, dass die verschickten Befehle an die 
Motoren zu unterschiedlichen Zeiten ankommen können und somit Motor 1 
vor Motor 2 anspringt, oder?

von Andreas B. (bitverdreher)


Lesenswert?

Der ESP arbeitet Dein Program ab, soweit so schön. Ab und zu schaltet er 
aber auf einen Hintergrundtask wo er den ganzen WIFI Kram bedient. D.h. 
Du kannst Dich nicht darauf verlassen daß Dein Programm zu einem 
bestimmten Zeitpunkt abgearbeitet wird. Wenn Du jetzt 4 ESP hast und ein 
bestimmtes Programm auf allen ESP gleichzeitig startest, dann ist das 
Ende des Programms bei allen ESP zu unterschiedlichen Zeitpunkten 
erreicht. Das kann bis in den höheren ms Bereich reingehen, je nachdem 
wie gut die WIFI Verbindungen sind.

von Robert S. (gips1gott)


Lesenswert?

Andreas B. schrieb:
> Der ESP arbeitet Dein Program ab, soweit so schön. Ab und zu
> schaltet er
> aber auf einen Hintergrundtask wo er den ganzen WIFI Kram bedient. D.h.
> Du kannst Dich nicht darauf verlassen daß Dein Programm zu einem
> bestimmten Zeitpunkt abgearbeitet wird. Wenn Du jetzt 4 ESP hast und ein
> bestimmtes Programm auf allen ESP gleichzeitig startest, dann ist das
> Ende des Programms bei allen ESP zu unterschiedlichen Zeitpunkten
> erreicht. Das kann bis in den höheren ms Bereich reingehen, je nachdem
> wie gut die WIFI Verbindungen sind.

Ah vielen Dank für deine Erklärung. Jetzt ist mir das schon einmal klar.

Was sagst du zu den 433Mhz Funkmodulen?

von Kolja L. (kolja82)


Lesenswert?

Eine Gleichzeitigkeit gibt es in unserer Welt sowieso nicht.
Und wie groß der Zeitunterschied sein darf hängt dich von der Verwendung 
ab.

So aus dem Bauch raus, sollte es für zwei Carrera Autos mit Funk 
Controllern ausreichend sein.

von Andreas B. (bitverdreher)


Lesenswert?

Rufus Τ. F. schrieb:
>
> Kann man so machen.

Für synchrone Motorsteuerungen? Nie und nimmer.

Kolja L. schrieb:
> So aus dem Bauch raus, sollte es für zwei Carrera Autos mit Funk
> Controllern ausreichend sein.

dto.

von Robert S. (gips1gott)


Lesenswert?

Kolja L. schrieb:
> So aus dem Bauch raus, sollte es für zwei Carrera Autos mit Funk
> Controllern ausreichend sein.

Dann werde ich die Idee mit dem Wifi wohl vergraben und das ganze mit 
Funkmodulen angehen. Hier sollte es ja kein Problem geben. Bei insgesamt 
vier Empfängern- und Sendern kann ich sicher vier unterschiedliche 
Kanäle nutzen?

von Andreas B. (bitverdreher)


Lesenswert?

Jan S. schrieb:
> Was sagst du zu den 433Mhz Funkmodulen?

Da diese Protokollos arbeiten: Kein Problem.

von Stefan F. (Gast)


Lesenswert?

Im WLAN Netz hast du Latenzen im einstelligen Millisekunden Bereich - 
wenn du Glück hast.

Sporadisch (im schlechten Fall sogar häufig) kommen Pakete bis zu einige 
hundert Millisekunden verzögert beim Empfänger an.

Andreas B Hinweis bezüglich Multitasking macht das ganze noch 
schwieriger.

Damit die Motoren zwei separater synchron zu steuern, wird nicht 
zuverlässig funktionieren. Die Verbindung zwischen Steuerung und Motor 
würde ich generell ncht per Funkt machen. Die Verbindung zwischen 
Fernbedienung und Steuerung aber schon. Aber nicht per WLAN, es gibt 
andere Funkmodule mit garantiert kürzeren Latenzen.

von Robert S. (gips1gott)


Lesenswert?

Stefan U. schrieb:
> Damit die Motoren zwei separater synchron zu steuern, wird nicht
> zuverlässig funktionieren. Die Verbindung zwischen Steuerung und Motor
> würde ich generell ncht per Funkt machen. Die Verbindung zwischen
> Fernbedienung und Steuerung aber schon. Aber nicht per WLAN, es gibt
> andere Funkmodule mit garantiert kürzeren Latenzen.

Danke für deine Hilfe.

Was würdest du für eine Verbindung zwischen Steuerung und Motor 
vorschlagen?

von Andreas B. (bitverdreher)


Lesenswert?

Mal eine nicht ganz unwichtige Zwischenfrage: Um welche Entfernungen 
geht es denn überhaupt?

von Stefan F. (Gast)


Lesenswert?

Nach schlechten Erfahrungen habe ich schon sehr lange nicht mehr mit 
Funk gearbeitet. Ich kann Dir kein konkretes Modul vorstellen. Soweit 
ich mich erinnere, gibt es hier irgendwo in der Artikelsammlung eine 
Liste mit empfehlungen.

von c-hater (Gast)


Lesenswert?

Jan S. schrieb:

> Ich möchte, dass alle vier ESP synchron
> miteinander über Wifi kommunizieren.

Völlige Synchronität ist vollkommen unmöglich, da ist die Physik und die 
Struktur unseres Universums mit ganzen Macht dagegen.

Sprich: man muss IMMER definieren, was noch als "synchron" gelten 
darf, bevor man eine Frage wie deine stellt...

> Hierbei dachte ich an ein JSON Format.

So'ne Scheiße ist sehr, sehr viele Layer über den Überlegungen zu 
Synchronität.

Aber klar, man kann auch JSON samt sämtlichem sonstigen aufgedunsenen 
Geraffel der hippen "Web-Technologien" über Funk machen und trotzdem 
noch synchrone Abläufe realisieren.

Man darf dann halt bei den Anforderungen an die "Synchronität" nur noch 
sehr, sehr kleine Brötchen backen. So einfach ist das eigentlich...

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Jan S. schrieb:
> Das bedeutet aber weiterhin, dass die verschickten Befehle an die
> Motoren zu unterschiedlichen Zeiten ankommen können und somit Motor 1
> vor Motor 2 anspringt, oder?

Muss es nicht; der Befehl kann ja mit etwas Vorlauf versendet werden 
(Übung: nötige Zeit selbst bestimmen), und enthält einen Zeitstempel, 
wann der Motor einzuschalten ist.

Die empfangenden Controller warten dann halt, bis der Zeitpunkt 
eintritt, und schalten den Motor dann an.

von Andreas B. (bitverdreher)


Lesenswert?

c-hater schrieb:
> prich: man muss IMMER definieren, was noch als "synchron" gelten
> darf, bevor man eine Frage wie deine stellt...

Eine Bahn mit 2 Motoren fahren dürfte für diese Abschätzung doch 
genügen?

von Stefan F. (Gast)


Lesenswert?

Bei einer gewöhnlichen Steuerung mit PI oder PID Regler müssen die 
Motoren gar nicht unbedingt synchron gesteuert werden.

Allerdings braucht man kurze Latenzen. Es wäre schon blöd, wenn das 
Gefährt feste gegen die nächste Wand knallt, weil das WLAN mal gerade 
kurz ausgelastet war.

UDB Broadcast Nachrichten könnten dazu genutzt werden, mehrere Empfänger 
gleichzeitig anzusteuern. Aber wenn einer das Signal aufgrund einer 
Empfangsstörung verpasst, ist es mit der Synchronität auch wieder 
vorbei.

von Robert S. (gips1gott)


Lesenswert?

Andreas B. schrieb:
> Mal eine nicht ganz unwichtige Zwischenfrage: Um welche
> Entfernungen
> geht es denn überhaupt?

Knapp 50 cm im Dreieck und die Fernbedienung maximal 10 m.

von Wolfgang (Gast)


Lesenswert?

Pete K. schrieb:
> Bei einer Übertragung mit dem IP-Protokoll hast Du immer Latenzen.

So gesehen kann man über NTP Rechner-Uhren gar nicht synchronisieren - 
oder wie meinst du das?

von Robert S. (gips1gott)


Lesenswert?

c-hater schrieb:
> Sprich: man muss IMMER definieren, was noch als "synchron" gelten
> darf, bevor man eine Frage wie deine stellt...
>
>> Hierbei dachte ich an ein JSON Format.
>
> So'ne Scheiße ist sehr, sehr viele Layer über den Überlegungen zu
> Synchronität.

Nunja, so synchron, dass ich beide Motoren nahezu gleichzeitig 
einschalte. Ich möchte nur nicht, dass das Gefährt im Kreis fährt oder 
grundsätzlich mit einem Drall.

Also kein JSON. War auch nur eine Idee.

von Robert S. (gips1gott)


Lesenswert?

Stefan U. schrieb:
> Bei einer gewöhnlichen Steuerung mit PI oder PID Regler müssen die
> Motoren gar nicht unbedingt synchron gesteuert werden.
>
> Allerdings braucht man kurze Latenzen. Es wäre schon blöd, wenn das
> Gefährt feste gegen die nächste Wand knallt, weil das WLAN mal gerade
> kurz ausgelastet war.

Ein PID-Regler wird eingesetzt. Allerdings spielen die Latenzen wohl 
eine Millisekundenrolle.

von c-hater (Gast)


Lesenswert?

Stefan U. schrieb:

> Damit die Motoren zwei separater synchron zu steuern, wird nicht
> zuverlässig funktionieren. Die Verbindung zwischen Steuerung und Motor
> würde ich generell ncht per Funkt machen. Die Verbindung zwischen
> Fernbedienung und Steuerung aber schon. Aber nicht per WLAN, es gibt
> andere Funkmodule mit garantiert kürzeren Latenzen.

Es kann keine Funkmodule mit "garantierten" Latenzen geben. Jedem, der 
auch nur andeutungsweise denken kann, sollte das klar sein. Funkmodule 
können bestenfalls Latenzen für den Weg von der digitalen Einspeisung 
bis zur Sendeantenne oder von der Empfangsantenne bis zur digitalen 
Ausgabe garantieren, aber niemals die Latenz für einen turn-around 
zwischen Sender und Empfänger auf HF-Ebene.

Das geht bestenfalls, wenn man das Frequenzband exklusiv besitzt. Da 
sich aber die Natur leider rein garnicht um den Rechtscodex irgendeiner 
lächerlichen Eiweisspampe mit Gottabkömmlings-Komplex schert, ist auch 
auf Bändern, die man lt. Frequenzzuteilung exklusiv zu besitzen glaubt, 
immer noch mit Störungen durch das Universum und seine Prozesse zu 
rechnen. Ja, kaum zu fassen, das Universum hat echt absolut keine Angst 
vor den bösen Messbussen der zuständigen Bundesbehörde...

Genau dieser Turn-Around ist aber leider nunmal der Knackpunkt bezüglich 
der Synchronität...

Nunja, dazu kommt dann: in dem kleinen bissel Spektrum, was die Gierigen 
dieser Welt dem Privatmann zu freien Nutzung über gelassen haben (man 
fragt sich, mit welchem Recht eigentlich), sieht das nochmal sehr viel 
schlimmer aus. Da stört dann nämlich nicht nur das Universum, sondern 
auch noch jeder blöde Nachbar...

von Robert S. (gips1gott)


Lesenswert?

c-hater schrieb:
> Es kann keine Funkmodule mit "garantierten" Latenzen geben. Jedem, der
> auch nur andeutungsweise denken kann, sollte das klar sein. Funkmodule
> können bestenfalls Latenzen für den Weg von der digitalen Einspeisung
> bis zur Sendeantenne oder von der Empfangsantenne bis zur digitalen
> Ausgabe garantieren, aber niemals die Latenz für einen turn-around
> zwischen Sender und Empfänger auf HF-Ebene.

Ich denke, dass es in meinem Fall tatsächlich genügt, diese ausreichend 
klein zu halten.

Was spricht dann gegen ein 433Mhz Funkmodul bzw. vier Stück davon?

von c-hater (Gast)


Lesenswert?

Andreas B. schrieb:
> c-hater schrieb:
>> prich: man muss IMMER definieren, was noch als "synchron" gelten
>> darf, bevor man eine Frage wie deine stellt...
>
> Eine Bahn mit 2 Motoren fahren dürfte für diese Abschätzung doch
> genügen?

Nein, das genügt eben nicht. Nicht mal für eine erste Näherung.

von Wolfgang (Gast)


Lesenswert?

Jan S. schrieb:
> Zwei weitere ESP befinden sich jeweils an einem Motor und
> sollen diese ansteuern. Ich möchte, dass alle vier ESP synchron
> miteinander über Wifi kommunizieren.

Was nützt dir die schönste Synchronisation der Motoren, wenn die Räder 
unterschiedlichen Umfang und unterschiedlichen Schlupf haben?

von Robert S. (gips1gott)


Lesenswert?

Wolfgang schrieb:
> Jan S. schrieb:
>> Zwei weitere ESP befinden sich jeweils an einem Motor und
>> sollen diese ansteuern. Ich möchte, dass alle vier ESP synchron
>> miteinander über Wifi kommunizieren.
>
> Was nützt dir die schönste Synchronisation der Motoren, wenn die Räder
> unterschiedlichen Umfang und unterschiedlichen Schlupf haben?

Auch das brauchen wir nicht weiter diskutieren.

Bitte nochmals zu den Funkmodulen zurück. Gibt es da etwas besonderes zu 
beachten?

von Dirk (Gast)


Lesenswert?

Jan S. schrieb:
> Bitte nochmals zu den Funkmodulen zurück.

Ne, nochmal zurück zum WLAN:

Vielleicht habe ich die Aufgabenstellung nicht ganz verstanden, aber 
wenn du von dem Sende ESP immer erst dann einen neuen Befehl an die 
Empfänger ESPs sendest, wenn von allen Signalquellen (Joysticks) ein 
Signal vorliegt (mus sich ja nicht von dem vorherigen unterscheiden), 
dann sollten deine Motoren doch synchron angesteuert werden.
Ob, so habe ich es beim querlesen verstanden, dein  Fahrzeug wirklich 
geradeaus läuft, hat mit der Übertragung der Signale erstmal nichst zu 
tun.

von Dirk (Gast)


Lesenswert?

Dirk schrieb:
> Jan S. schrieb:
>> Bitte nochmals zu den Funkmodulen zurück.
>
> Ne, nochmal zurück zum WLAN:
>
> Vielleicht habe ich die Aufgabenstellung nicht ganz verstanden, aber
> wenn du von dem Sende ESP immer erst dann einen neuen Befehl an die
> Empfänger ESPs sendest, wenn von allen Signalquellen (Joysticks) ein
> Signal vorliegt (mus sich ja nicht von dem vorherigen unterscheiden),
> dann sollten deine Motoren doch synchron angesteuert werden.
> Ob, so habe ich es beim querlesen verstanden, dein  Fahrzeug wirklich
> geradeaus läuft, hat mit der Übertragung der Signale erstmal nichst zu
> tun.

edit:
Die o.g. beschriebene Vorgehensweise ist natürlich auch für Funkmodule 
einsetzbar (vielleicht sogar sinnvoll/nötig).

von Stefan F. (Gast)


Lesenswert?

> Ob, so habe ich es beim querlesen verstanden, dein  Fahrzeug wirklich
> geradeaus läuft, hat mit der Übertragung der Signale erstmal nichst zu
> tun.

Gehe mal davon aus, daß das Fahrzeug gerade steht. Nun sendest du erst 
an den Linken Motor den Befehl "Bitte vorwärts drehen, 30% Leistung". 
Und dann sendest du den gleichen befehl an den rechten Motor, der kommt 
dort aber 100ms später an.

Dann startet das Fahrzeug mit einer scharfen Drehung nach rechts und 
fähr in die falsche Richtung los.

Das meint der TO.

von Rolf H. (b0d0)


Lesenswert?

Eigentlich realisiert man solche Aufgaben durch synchrone Zeitfenster. 
Oft hat man bei der Echtzeitsteuerung mehrerer Geräte genau diese 
Synchronisationsproblem. Wenn man es schafft, die Geräte zumindest 
Zeitsynchron zu halten, werden die empfangenen Kommandos immer in einem 
bestimmten Zeitraster ausgeführt. Z.B. alle 50 ms. Für verloren 
gegangene Kommandos nimmt man dann vorher festgelegt Ersatzwerte.

Und Differnzwerte gehen gar nicht. Also nicht 30% schneller, sondern 
genaue Geschwindigkeitsangaben.

Ansonsten gilt natürliche: eine 100%ige Synchronität gibt es nicht.

PS: Zeitsynchronität wird z.B. durch einen Impuls, der von alle Geräten 
'gleichzeitig' empfangen werden kann, ermöglicht.

von Oliver S. (phetty)


Lesenswert?

Jan S. schrieb:
> Knapp 50 cm im Dreieck und die Fernbedienung maximal 10 m.

Was soll das für ein Scheiss werden? Wieder mal ein absurdes 
"Kunst"-Projekt?

NRF24 wäre ein Modul was man nehmen könnte, müsste man eben mal schnell 
alles aus der Ursuppe hochkochen.

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Stefan U. schrieb:
> Gehe mal davon aus, daß das Fahrzeug gerade steht. Nun sendest du erst
> an den Linken Motor den Befehl "Bitte vorwärts drehen, 30% Leistung".
> Und dann sendest du den gleichen befehl an den rechten Motor, der kommt
> dort aber 100ms später an.
>
> Dann startet das Fahrzeug mit einer scharfen Drehung nach rechts und
> fähr in die falsche Richtung los.

Wie willst du bei solch einer Vorgehensweise vernünftig synchronisieren?

Sinnvollerweise wird man wohl erst die Befehle zu den Steuereinheiten 
schicken und anschließen per Broadcast an alle ein "Befehl 
ausführen"-Kommando.
Allerdings ist damit auch nicht sicher gestellt, dass beide Motoren 
gleichzeitig loslaufen, weil es trotz eines gemeinsamen 
"Ausführen"-Kommandos, passieren kann, dass dieses nicht bei allen 
Empfängern ankommt.

Insgesamt ist es eine blöde Idee, solche synchronisationskritischen 
Sachen über unabhängige Funkwege zu steuern. Besser wäre eine gemeinsame 
Funkdatenstrecke, i.e. nicht jeder Motor wird über ein eigenes Funkmodul 
gesteuert, sondern es gibt eine gemeinsame Steuereinheit, die direkt per 
Hardwareverbindung die Motoren steuert.

von Rolf H. (b0d0)


Lesenswert?

Wolfgang schrieb:
> Insgesamt ist es eine blöde Idee, solche synchronisationskritischen
> Sachen über unabhängige Funkwege zu steuern.

Es ist nicht unbedingt eine blöde Idee. Da wir die Voraussetzungen nicht 
kennen, können wir das eigentlich nicht bewerten.

Allerdings stimmt es schon, dass es sowohl theoretisch als auch 
praktisch einen große Herausforderung ist. Und es gibt tatächlich 
Anwendungen, in denen genau das gefordert wird.

Jan S. schrieb:
> Damit das
> Fahrzeug geradeaus fährt, müssen die Motoren aber gleichzeitig
> angesteuert werden.

Ich vermute aber mal, dass da sowas wie eine "Panzersteuerung", d.h. 
zwei Raupenketten-Motoren (wie auch bei Baufahrzeugen üblich) geplant 
ist. Daher würde ich für die Umsetzung des Projektes ebenfalls eine 
gemeinsame Steuerung der beiden Motoren auf dem Fahrzeug empfehlen. 
Warum dann aber 2 Joysticks notwendig sind, weiß ich auch nicht.

von Wolfgang (Gast)


Lesenswert?

Rolf H. schrieb:
> Allerdings stimmt es schon, dass es sowohl theoretisch als auch
> praktisch einen große Herausforderung ist.

Wenn es dann unbedingt sein muss, ist es günstiger, nicht das 
"Ausführen"-Kommando über Funk zu schicken, sondern den Übertragungsweg 
lediglich zu nutzen, um Uhren in den Empfänger zu synchronisieren. Das 
funktioniert auch, wenn die Funkstrecke mal gestört ist, weil es dabei 
nicht auf Fehlversuche ankommt. Die eigentliche Aktion ("Motor start") 
wird dann über die interne Uhr gesteuert und ist unabhängig vom 
aktuellen Zustand der Funkstrecke.

von Rolf H. (b0d0)


Lesenswert?

Wolfgang schrieb:
> Die eigentliche Aktion ("Motor start")
> wird dann über die interne Uhr gesteuert und ist unabhängig vom
> aktuellen Zustand der Funkstrecke.

Richtig, und die Kommandos auch mehrfach senden, am besten periodisch. 
Da weiß das lokal System auch, wann etwas ausgefallen ist. Gerne werden 
dann auch die letzten Kommandos mit wiederholt. Macht das ganze dann 
auch etwas robuster.

Das war das, was ich heute morgen schon versuchte zu erklären.

Rolf H. schrieb:
> Eigentlich realisiert man solche Aufgaben durch synchrone Zeitfenster.
> Oft hat man bei der Echtzeitsteuerung mehrerer Geräte genau diese
> Synchronisationsproblem. Wenn man es schafft, die Geräte zumindest
> Zeitsynchron zu halten, werden die empfangenen Kommandos immer in einem
> bestimmten Zeitraster ausgeführt. Z.B. alle 50 ms. Für verloren
> gegangene Kommandos nimmt man dann vorher festgelegt Ersatzwerte.

Ob das dann aber reicht für ein Fernsteuerung? Also kurze Reaktionzeiten 
(< 500 ms) sind da wohl eher nicht drin.

von Stefan F. (Gast)


Lesenswert?

> Also kurze Reaktionzeiten sind da wohl eher nicht drin.

Eben, deswegen wird wohl ein zentraler Motor-Regler, der über Funk mit 
den Motoren und Sensoren kommuniziert, nicht realisierbar sein.

Soweit ich verstanden habe, geht es um eine art Fahrzeug mit zwei 
unabhängigen Antrieben links und rechts. Was ich dabei nicht verstehe 
ist:

Warum können die beiden Seiten nicht mit Kabel untereinander verbunden 
sein?

Ich rate mal: Das Ganze ist in Wirklichkeit eine Hausaufgabe. Es geht 
nicht um ein reales Gefährt, sondern um eine akademische 
Herausforderung. Der Prof will sehen, ob die Knackpunkte erkannt werden 
und er will sehen, ob seine Schüler imstande sind, die 
Zeitsynchtronisation trotz unbekannter Signal-Laufzeiten hinzubekommen.

Falls ich da richtig liege, einen Tip an den TO: Google findet Einträge 
in diesem Forum inzwischen sehr schnell. Dein Prof wird diese Seite 
schnell finden, wenn er gezielt danach suchst. Sieh zu daß deine Arbeit 
wesentlich mehr Substanz hat, als dieser Thread, sonst wird er sie 
entsprechend bewerten.

von Wolfgang (Gast)


Lesenswert?

Rolf H. schrieb:
> ... Also kurze Reaktionzeiten (< 500 ms) sind da wohl eher nicht drin.

Man will doch zur Steuerung keine Megabyte-Dateien übertragen ...

von Stefan F. (Gast)


Lesenswert?

Um die Datenmenge geht es überhaupt nicht, sondern um Latenzen.

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.