Relais mit RC-Fernsteuerung schalten

Guten Morgen,
ich bin hier zu euch gekommen, da ich mit meinen nahezu nicht vorhandenen Arduino-Kenntnissen nicht weiterkomme. Mechanisch und konstruktiv schaffe ich alles, aber Software und Programmieren kann ich gar nicht. Ich versuche derzeit mit einer Fernsteuerung ein Relais zu steuern (das ist das einzige was ich derzeit zum Projekt sagen darf). Klingt einfach, bringt mich aber seit drei Tagen zur Verzweiflung.

Folgende Komponenten sind vorhanden:
Fernsteuerung: Taranis X9D+
Empfänger: X4Rsb (PWM Modus)
Arduino: Pro micro
Relais: 2-Wege Relais
Stromversorgung: Matek PDB mit 5V und 12V

Im weiteren Verlauf sollen noch 2x Nema17 angesteuert werden (CH1 und CH2 mit den Sticks der Fernsteuerung), für eine Pan und Tilt-Funktion. Ein CNC Shield ist vorhanden. Das muss ich dann auch noch irgendwie einbinden.

An der Fernsteuerung ist auf CH3 ein Schalter konfiguriert. Ich habe einen Sketch gefunden, welcher mir über den seriellen Monitor die Schalterausgabe anzeigt. Bei „aus“ liegt die Ausgabe bei 2016 und bei „an“ bei 988, also exakt wie auf der Fernsteuerung angezeigt. Also an und für sich schaffe ich es schon, das Signal auszulesen.

Aber genau hier hängt es. Ich habe keine Ahnung wie ich dieses Signal aufnehmen, verarbeiten und dann bei Betätigung des Schalters an das Relais weitergeben kann. Der Signalausgang ans Relais wird an beide Relais geleitet, das heißt, ich brauche nur einen Pin.
Ich hab genügend Sketches gesehen, wo RC-Empfänger für irgendetwas benutzt werden und auch Relais, aber nie beides in Kombination und ich weiß nicht, wie ich die beiden Sketches kombinieren soll, damit es funktioniert.

Ausgelesen habe ich das Signal mit dem Sketch von hier:
Link (instructables)
Das Relais läuft mit diesem Sketch:
Link (instructables)

Ich hoffe hier kann mir jemand helfen, der etwas mehr Ahnung hat von dem Ganzen als ich. Mit Sicherheit ist das so einfach, das es mir dann peinlich sein wird.

Gruß
Manu

Da du dein Signal schon auslesen kannst, musst du es nur noch per if-Abfrage oder switch/case auswerten und entsprechende Funktionen ausführen.
Dazu findest du Beispiele in der IDE.

Erstmal danke für deine Antwort. Das ich es per if auswerten muss, darauf bin ich schon gekommen. Ich hab nur keine Ahnung wie ich das umsetzen muss. Sonst würde ich hier ja nicht fragen. Meine bisherigen Arduino Erfahrungen beschränken sich auf "fertigen Sketch öffnen und hochladen".

Ja, ich kann mit dem einen Sketch den Empfänger auslesen, nur was ist von dem Sketch wichtig? Was muss ich daran hängen um das Relais zu schalten zu können?
Mir sagt das ganze Code-Zeug nichts. Null. Ich bin Maschinenbauer und kein Programmierer :smiley:

Mangolicious:
.....
Mir sagt das ganze Code-Zeug nichts. Null. Ich bin Maschinenbauer und kein Programmierer :smiley:

Ok, verstehe ich.
Dann musst du es lernen und dazu sind auch die Beispiele in der IDE sehr gut geeignet.

Ohne deinen Willen das zu lernen und mit den Beispielen zu üben, hilft die dann auch nichts, wenn wir dir hier etwas schreiben, dass du nicht verstehst.

Und wie du etwas mit einer if-Auswertung umsetzt, findest du ebenso in den Beispielen der IDE.
Also, wo ist das Problem ?

Ok, ich weiß wieder wieso ich nie im Internet um Hilfe frage, da einem sowieso nicht geholfen wird.

Lass es mich anders formulieren: Ich lerne nicht, indem ich trockene Theorie durchlese. Ich lerne durch reverse engineering.

Es ist nicht so, das ich nicht den Willen habe es zu lernen. Mir fehlt einfach die Zeit. Ich habe aktuell noch 6h um das hinzubekommen, da unsere Feuerwehrübung sonst heute um einiges langweiliger wird. Mit genügend Zeit, kein Problem. Nur hocke ich schon seit 3 Tagen dran und komme auf nichts.

Ich würde hier nicht fragen wenn es nicht unbedingt sein müsste.

mit 2 kanälen kanst du 5 Relais schalten
bei vorgeschalteten flipflops ist auch eien individuelle schalktfolge möglich

es gibt auch platinen die fertig sind und für eine kanal 2 relais ermöglichen kostet 5Euro
einstecken fertig

Mangolicious:
Ok, ich weiß wieder wieso ich nie im Internet um Hilfe frage, da einem sowieso nicht geholfen wird.

Lass es mich anders formulieren: Ich lerne nicht, indem ich trockene Theorie durchlese. Ich lerne durch reverse engineering.
....

Prima, du machst es dir sehr einfach.
Wir helfen jedem, der auch gewillt ist, mit zu machen.
Ohne Eigeninitiative wird das nichts.

Hier fragen und du bekommst mal eben die fertige Lösung. SUPER

Wir haben alle auf dich gewartet und du verplemperst 3 Tage. Weiter so, viel Erfolg.

Ich brauche keine fertige Lösung ich brauche einfach nur Hilfe. Und einfach mache ich es mir mit Sicherheit nicht. Wie schon gesagt, ich hab jetzt 3 Tage rumprobiert und bin einfach verzweifelt, weil ich diesen Sketch, der vermutlich für jemanden der sich auskennt, kinderleicht ist, nicht hinbekomme.

Zu sagen "schau in den Beispielen" ist keine Hilfe. Das ist wieder klassisch deutsch.

Meine bisherigen Arduino Erfahrungen beschränken sich auf "fertigen Sketch öffnen und hochladen".
...
Mir sagt das ganze Code-Zeug nichts. Null. Ich bin Maschinenbauer und kein Programmierer :smiley:

Ich brauche keine fertige Lösung ich brauche einfach nur Hilfe.

Da sehen die meisten Leute (meine Einschätzung) die hier mitlesen und gelegentlich ihren Senf dazu geben, ein Problem, und in der zweiten Aussage einen Widerspruch in sich.

Hi

Erschwerend kommt hinzu, daß bei dem geheimen Mars-Projekt auch wieder nix verraten werden darf ... zumindest so viel: Es wird ein Arduino mitgenommen ... vll. auch 5V!!

Nun aber Mal hinne, Jungs!

Vll. wäre Es - Das soll nun an die Projektleitung gehen, bitte entsprechend weiter leiten - besser gewesen, dem Schlosser die Mechanik zu überlassen - davon hat Der Ahnung und der Kram macht Dem Spaß!! - und den Elektronik-Mist vll. Einem, Der sich auch damit anfreunden kann.
Ist aber wohl nicht durch die BWL-Prüfung durch gekommen ... dann ist's halt so.

Da Du aber schreibst, daß Du eh ungerne im INet nachfragst, Da man ja eh nicht geholfen bekommt, befürchte ich, der BWL-Teil war auch Deine Aufgabe ...

MfG

postmaster-ino:
.....
Nun aber Mal hinne, Jungs!
.....

Sorry, aber du bist zu spät.
Der Projekt-Abgabetermin war 15:00 Uhr.
Das wird der TO schon gelöst haben, vermute ich.

bmbbsr:
mit 2 kanälen kanst du 5 Relais schalten
bei vorgeschalteten flipflops ist auch eien individuelle schalktfolge möglich

Oh, dann hab ich im NYPD-PoliceCar das ich gebaut habe, wohl was falsch gemacht. da steuere ich über den 3. Kanal, also nur diesen einen Kanal die Sirene, ein Horn, eine Hupe, das Blaulicht (zusammen mit strobo) , Abblendlich , Fernlicht , Nebelscheinwerfer , und als Show noch eine Unterbodenbeleuchtung. Also 8 Funktionen von denen 6 selbsthaltende und 2 Tast-Funktionen sind.

Die Decodierung der Befehle am Empfänger übernimmt ein Attiny 84.

LG Stefan

Hi

Deltaflyer:
Oh, dann hab ich im NYPD-PoliceCar das ich gebaut habe, wohl was falsch gemacht.
...

Und von solchen Leuten sucht man hier Hilfe gg
Sorry, konnte gerade nicht anders ...
Man (ich) darf davon ausgehen, daß Du ein Byte bitweise benutzt hast?

MfG

Nein, ganz so einfach hab ich es mir nicht gemacht. Das Problem war hier der Sender, genauer gesagt, dessen Software, der hier beim 3 Kanal nur die beiden endstellungen und die Mittelstelung übermittelt, und dies uach noch rastend.

Das heisst, wird beim Sender die Taste (ist eine art Wippefüfur den 3. Kanal in die eine Richtung gedrückt, geht ein angeschlossenes Servo in die eine Endstellung, und bleibt da, auch wenn der Taster losgelassen wird. wird der Taster in die andere Richtung gedrückt, geht das Servo in die Mittelstellung zurück, und bleibt da. Beim nächsten Drücken desTtasters in diese Richtung , geht das Servo dann in diese Endstellung, wo es auch wieder bleibt.
Der Kanal an und für sich wäre zwar proportional-fähig, ist aber in der Software nicht so eingebunden. Es gibt von diesem Sender Varianten, die das können. Ich habe auch mit dem Hersteller gesprochen und um eine geänderte Software gebeten, was er leider abgelehnt hat. Die Software des Typ-R Senders, der da mehr Varianten und Einstellungen zur Verfügung stellt, kann ich leider nicht aufspielen, da der R-Sender ein anderes Display verbaut hat und damit die Darstellung der Menüs nicht mehr passen würde.

An den Source-Code der Software komme ich auch nicht ran, um das selber anzupassen.

Also habe ich erstmal den Sender ein Zusäztliches Tastenfeld mit Anzeige LEDs verpasst, das an einem Attiny 861 hängt. Dieser liest nun den originalen Tasterdes 3. Kanals ein, und gibt dann, je nach Betriebs-Modus, die Tastersignale entweder unverändert weiter, dann funktioniert alles wie bisher, oder er unterbindet die weitergabe. Dies ist dann der erweiterte Modus. Der Betriebs-Modus kann beim Einschalten der Fernbedienung gewählt/geändert werden.

Erweiterten Modus sorgt der Attiny dafür, dass der 3. Kanal immer als 'Mittelstellung' ausgegeben wird, nur wenn ne Taste auf dem zusätlichen Tastenfeld gedrückt wird, oder zur Synchronisation zwissen Encoder im Sender und Decoder am Empfänger Impulse die der einen oder anderen 'Endstellung' entsprechen gesendet werden. Der Attiny simuliert also die Schalt-Wippe des 3. Kanals, mit dem Unterschied, dass direkt nach 'betätigen' der Wippe in eine Richtung, sofort eine Betätigung in die andere Richtung erfolgt.
Leider wirft mir da auch noch das Debouncing der Tasten in der Software des Senders einen knüppel zwischen die Beine, die verlangt, das ein Tasten-Druck mindestens 65 ms , besser 68 ms lang sein muss, um sicher als solcher erkannt zu werden. dies verlangsamt die übertragung der Befehle, die ich dann auch wieder als Zeitliche Länge übermittle sehr. Deshalb sind Tast-Befehle (Horn, Hupe) als zeitlich sehr kurz festgelegt, und die Rastenden Funktionen dann je nach priorität kürzer oder länger. der längste Befehl dauert gut 900ms. Da dauerts dann halt nen Moment nach betätigen der Taste, bis im Modell der Befehl ausgeführt ist.

Im decoder am Empfänger werkelt dann eben der Attyni84, der das empfängersignal ausliest und dann misst, wie lange ein Impuls der der einen oder anderen Endstellung entspricht, dauert, und ordenet den dann der entsprechenden Funktion zu. Entsprechend wie diese funktion dann programmiert ist, shaltet er dann seine Ausgänge und damit dann die Endstufen, die hier max. 3A / Ausgang (Dauerlast) liefern können.

Einen andern Sender kaufen wollte mein Kumpel, dem das Modell gehört (ich habs ja nur aufgebaut, und nach seinen Wünschen designed, sowie die Sonderfunktionen rein gemacht) wollte er nicht, weil er auch fast alle seine andern Modellautos in diesem Sender Programmiert hat und damit steuert.

LG Stafan

p.s. ich hab diesen Tread erst nach 17Uhr abends entdeckt, da wars leider schon zu spät, um noch effektiv zu helfen, dank der 'grosszügigen Zeitvorgabe' des TO.
Natürlich hätte ich eine einfache Lösung zum Ansprechen eines Relais über RC in meinem Fundus, schliesslich basiert mein Decoder-Code im Attiny auf dieser Basis. Ich und mein Kumpel haben beide auch Modelle , z.B, Buggys im Einsatz , die auch einfach nur Scheinwerfer und Rücklicht über den Sender zuschalten können . Benutzen wir gerne für Spassrennen bei Nacht, die Buggys sind mit max. 120km/h dann auch nicht so schnell, und somit kann man sich mit denen gut auf Sportplätzen austoben 8) . Meistens setze ich da nen Attiny85 und ne FET Endstufe ein. Diesen Code kann man natürlich auch leicht für Uno und so anpassen und einfach ein Relais schalten.