• Hallo Zusammen, Aufgrund der aktuellen Situation setzten wir die Möglichkeit aus, sich mit Gmail zu registrieren. Wir bitten um Verständnis Das RCMP Team

Projekt Verschiedene RC-Signale vom Empfänger auf mehrere UNO verteilen

Loisel

Mitglied
Hallo,

bis heute war ich treuer Mitleser im Forum. Nach meinem Arbeitsleben habe ich wieder begonnen, mich mit meinem alten Hobby "Modellschiffbau" zu befassen.
Nun habe ich selbst eine Frage, welche die Verbindung zwischen mehreren Arduino Uno und einem Empfänger betrifft.
Z.Zt. arbeite ich an einem Neuaufbau des " REMBERTITURM ". Dabei ist mein Bestreben, soviel wie möglich per Arduino umzusetzen.
Den Antrieb mit 2 Motoren als Mixing-Antrieb habe ich schon, inkl. einem L298 als H-Bridge, mit einem Arduino fertig. Läuft prima. Ebenso die Lichtersteuerung.
Nun möchte ich die Kranbrücke und die beiden Rettungsboote mit jeweils 1 Arduino gangbar machen. Die Software dafür habe ich auch schon fertig, ebenso mit L298 H-Bridge.
Meine Überlegung geht dahin, dass ich die Stromzuführung zu den einzelnen Arduinos z. B. per Taster schalte, wenn ich die einzelnen Vorgänge brauche.
Somit wäre jedoch, nach meinem heutigen Kenntnisstand, jeweils eine getrennte Stromzuführung vom Arduino zum Empfänger notwendig oder, geht das einfacher?.
Meine Frage: Ist meine Überlegung überhaupt auf diese Weise durchführbar, wenn ja, bitte ich um Euere Tipps.

Auf die Antworten bin ich sehr gespannt, Danke im Voraus dafür.

Loisel
 

BAXL

Admin
Mitarbeiter
Hallo Loisel,

ich hätte da noch ein paar Fragen zur Umsetzung. Wo genau soll der Taster sitzen? Ist der im Modell oder am Sender? Was für einen Sender verwendest Du und wieviel freie Kanäle stehen Dir zur Verfügung. Willst Du die Funktion mit einem quasi Statischen Signal aktivieren, oder verwendest Du so eine Art Poti? Ich überlege gerade, ob ein zusätzlicher Arduino u.U. ferngesteuert die beiden anderen aktiviert.
Hast Du evtl. mal einen Arduino Nano in Erwägung gezogen, das würde die Elektronik wesentlich kompakter werden lassen.

Somit wäre jedoch, nach meinem heutigen Kenntnisstand, jeweils eine getrennte Stromzuführung vom Arduino zum Empfänger notwendig oder, geht das einfacher?.
Kannst Du evtl. skizzieren, wie die Verschaltung ungefähr nach Deiner Vorstellung aussehen soll? Meinst Du mit "Stromzuführung" die Betriebsspannung zur Versorgung des Arduinos oder den Empfängerkanal, der die Funktion steuern soll?
 

Loisel

Mitglied
Hallo BAXL,
danke für die Antwort.
Zu deinen Fragen: Der Schalter sollte im Modell mit einem Servo geschaltet werden. Sender ist eine MC14. Mir stehen 9 freie Kanäle zur Verfügung. Ein NANO hat nach meinen Erkenntnissen keine Anschlüsse für Interrupts, oder?
So, wie im anhängenden Schaltbild, ist der Arduino mit dem Empfänger über VIN und GND verbunden. Wenn ich mehrere Arduinos mit dem Empfänger spannungsmäßig verbinden will. wie sieht dann eine Schaltung aus?
Deshalb meine Frage. Geht das überhaupt, so wie ich beschrieben habe? Gerne nehme ich andere Lösungsmöglichkeiten an.
 

BAXL

Admin
Mitarbeiter
Du brauchst keine zwei RC Kanäle um die Richtung zu steuern. Der Arduino kann die PWM auswerten. Also wenn auf dem Kanal ein Dreiwegeschalter liegt oder ein Poti. Dann kannst Du beide Arduinos über getrennte RC-Kanäle steuern und brauchst keinen Taster oder so.

Edit:
Der Nano hat zwei Interrupt Pins
Edit edit:
Ein Arduino Mega hat noch ein paar IOs mehr, dann könnte alles über einen MC laufen
 

bugster_de

Mitglied
Hi,

im Bild oben wird ja ein FlySky Receiver verwendet, welcher bis zu 14 Kanäle kann. 8 Kanäle direkt als PWM oder 7 Kanäle PWM und 7 Kanäle als i-Bus (oder alternativ auch s-Bus). Für den Arduino gibt es eine Library, die i-Bus lesen kann. Damit braucht man nur ein Kabel vom Receiver zum Arduino und hat dann im Arduino sogar alle 14 Kanäle zur Verfügung und kann damit machen was man will.
Wenn man nun eine Flugzeug Fernbedienung z.B. auf Basis OpenTX benutzt kann man all diese Kanäle von der Ferndbedienung aus ansteuern. Ich nutze dieses Setup in einem meiner Modellflieger, dem ich zusätzlich noch Wölbklappen spendiert habe.

Einfach mal nach Arduino und iBus googeln.

Edit: siehe hier
und hier:
 
Zuletzt bearbeitet:

Loisel

Mitglied
Hallo bugster_de,
danke für die Tipps.
Dein Hinweis ist mir schon bekannt. Hier:
gibt es eine gute Vorführung.
Meine Überlegung geht schon dahin, mir eine solche Anlage zu kaufen. Scheint besser zu sein, wie Graupner und Co.
 

bugster_de

Mitglied
das weiß ich nicht und wird ggf. eine Mega-Diskussion hier ergeben :) Graupner kann ja auch sBus, wofür es ja auch eine Arduino Lib gibt. Ist ergo damit auch darstellbar.

Wie gesagt kann der gezeigte Receiver ja 14 Kanäle (in der Arduino Lib 0..13). Damit man die auch ansteuern kann braucht man auch eine Funke die 14 Kanäle kann.

Übrigens kann die Arduino Library im Zusammenspiel mit FlySky auch den Telemetrie Rückwärts-Kanal, so dass man sich die verschiedensten Werte auch auf der Funke wieder anzeigen kann. Das ist nicht ganz so toll dokumentiert aber ich habe mir irgendwo mal die verschiedenen Arten von Sensoren raus gefummelt und dokumentiert. Sag Bescheid falls das von Interesse ist.
Auf der OpenTX kann man mittels Scripten sich auch virtuelle Sensoren bauen.
 

BAXL

Admin
Mitarbeiter
Wir dürfen das Ziel von Loisel nicht ausser Acht lassen. Er möchte einfach zwei Motoren ein und ausschalten, bzw. die Drehrichtung ändern. Das geht auch ohne iBus Telemetrie und Rückkanal. Ich kenne die Problematik aus eigener Erfahrung, je mehr Optionen sich auftun umso komplexer wird die Entscheidungsfindung und das ursprüngliche Problem rückt in den Hintergrund. Am Ende kommt man nicht weiter . ;)
 

bugster_de

Mitglied
Wir dürfen das Ziel von Loisel nicht ausser Acht lassen. Er möchte einfach zwei Motoren ein und ausschalten, bzw. die Drehrichtung ändern. Das geht auch ohne iBus Telemetrie und Rückkanal. Ich kenne die Problematik aus eigener Erfahrung, je mehr Optionen sich auftun umso komplexer wird die Entscheidungsfindung und das ursprüngliche Problem rückt in den Hintergrund. Am Ende kommt man nicht weiter . ;)
die von mir vorgeschlagene Lösung ist die einfachste der bisher vorgeschlagenen: du brauchst nur 1 Kabel zwischen Receiver und Arduino und im Arduino genau 3 Zeilen Code, dann ist die gewünschte Ansteuerung der 2 Motoren fertig. Dauert bei Nutzung eines fertigen Kabels so irgendwas um die 5 Minuten Zeit.

Ich bin jetzt kein Modellboot-Bauer, aber die Ideen, was man an so einem Scale-Boot machen kann sind ja schier endlos. Dann wäre es aus meiner Sicht ja nett, wenn man Zukunfstfähig ist.
Nach meiner Erfahrung bei Arduino Projekten auch ausserhalb Modellbau ist eher die Schwierigkeit den eigenen Spieltrieb unter Kontrolle zu halten und sich auf das gewünschte Ziel zu konzentrieren. Beim Arduino gibt es Unendlich plus Eins Möglichkeiten und man "zweigt" da gerne mal nach links oder rechts ab, wenn man sein Ziel nicht vor Augen hat.
 

Stefan_R

Mitglied
Beim Arduino gibt es Unendlich plus Eins Möglichkeiten und man "zweigt" da gerne mal nach links oder rechts ab, wenn man sein Ziel nicht vor Augen hat.
Wenn man da mal genauer drueber nachdenkt: was ist schon ein RC-Boot ohne fernsteuerbare WS2812-RGB-Positionslichter, mp3-Signalhorn und 3-Achs-Kran... und wenn man schon dabei ist noch ein ESP32 dazu und ne schicke Web-App fuer die Telemetrie und Kameras.

Ok, sorry, ich geh dann jetzt mal wieder...
 

Loisel

Mitglied
Hallo,
Problem gelöst.
Habe, um Platz zu sparen, die Arduinos gestapelt. Die jeweilige Vin-Verbindung zum Empfänger mit einem Schalter versehen. Wenn ich eine Funktion laufen lassen möchte, wird die Spannungsversorgung
der vorangegangenen Funktion gekappt. Schalter der neuen Funktion auf 1 gesetzt und läuft. Wenn ich z. B: Kranbrücke und Motoren für den Antrieb gleichzeitig laufen lassen möchte,
werden beide Schalter auf 1 gesetzt.
Meine Bedenken vorher waren ja, dass, wenn beide Funktionen gleichzeitig laufen, der Empfänger eine Überspannung bekommt und abraucht.
Was bugster_de 's Vorschlag betrifft: Stimmt. Das wäre die einfachste Lösung, wenn man die Anlage zur Verfügung hat.
Vielen Dank für euere Tipps und Vorschläge.
 

bugster_de

Mitglied
Meine Bedenken vorher waren ja, dass, wenn beide Funktionen gleichzeitig laufen, der Empfänger eine Überspannung bekommt und abraucht.
im Empfänger werden die Plus und Minus Leitungen typischerweise nur via Platine verteilt. Die Versorgung kommt aus dem ESC bzw. dem im ESC eingebauten BEC. Wenn du zuviel Strom ziehst kann der tatsächlich in der Spannung zusammenbrechen bzw. kaputt gehen. Abhilfe würde dann ein externer BEC bzw. UBEC schaffen, aber bei sowas dann bitte auf die Trennung der verschiedenen Plus-Leitungspfade achten
 

bernd-das-brot

Mitglied
Der Arduino benötigt nicht zwingend Eingänge mit Interrupt um RC-Kanäle eines Empfänger einzulesen. Bei bis zu zwei Kanälen kann er nebenbei auch noch andere Aufgaben erledigen, ab drei Kanälen wird's kritisch, bei vier und mehr ist es dann vorbei mit zeitkritischen Funktionen. Aus diesem Grund arbeiten in meinem Springer Tug auch mehrere Arduinos, wobei alleine drei Stück für den Sound verantwortlich sind, von denen einer 5 RC-Kanäle auswertet und verkürzte Statussignale an die anderen beiden über I2C weiter gibt, wovon einer für den Motorsound und einer für Zusatzsounds verantwortlich ist. Im zugrunde liegenden Projekt wurde nur der Kanal für den Motor auf dem Arduino ausgewertet, alle anderen Funktionen liefen über Eingänge, für die wiederum ein Kanalschalter notwendig geworden wäre, ein unnötiger Zwischenschritt, der, gegenüber eines weiteren Arduino, auch noch recht teuer ist. Außerdem kann der Arduino nur eine Datei gleichzeitig von der SD-Karte lesen, was beim Abspielen eines Zusatzsound zur Unterbrechung des Motorsound geführt hat, deshalb habe ich bei mir Motor- und Zusatzsounds aufgetrennt.

Das hardwaremäßige Abschalten der Arduinos halte ich für eher unnötig, den Wechsel der Funktionen kann man auch so lösen, indem man den entsprechenden Arduino per I2C direkt anspricht oder dem Steuerbefehl ein Präfix voran stellt, auf das nur der zugehörige Arduino reagiert. Wenn die Arduinos eh schon gestapelt sind, ist die Einrichtung von I2C ein Kinderspiel, da zwei Analogpins dafür verwendet werden, die eh nur parallel geschaltet und mit Widerständen auf 5V gezogen werden.
 

daybyter

Mitglied
Du kannst in den Sender auch einen Multiswitch oder Multiprop Encoder einbauen, um mehr Funktionen zu bekommen. Sowas kann man dann im Modell auch mit dem Arduino auswerten um viele Funktionen zu steuern. Siehe z. B.


Eine Umrüstung so eines Senders auf 2,4 GHz geht übrigens auch. Im rc-network Forum Retrobereich gibt es dazu massig Tipps.
 
Top Bottom