Arduino / ATtiny: RC Schalter selbst entwickeln

  • Hallo Zusammen,


    Ich eröffne diesen Thread zur Diskussion über RC Switches und wie man so etwas unter Verwendung von Arduino und ATtiny selbst entwickeln kann. Es handelt sich also um solche Schaltmodule, wie sie z.B. von CTI angeboten werden: https://www.cti-modellbau.de/CTI-Schaltmodule/


    Also jeder der so etwas schon mal entwickelt hat, oder vor hat dies zu tun, ist herzlich eingeladen hier seine Lösungen, Vorhaben oder Ideen vorzustellen. Auch können natürlich „Wünsche“ nach Funktionalitäten formuliert werden, die als käufliche RC Switches gar nicht angeboten werden.


    Ich selbst habe noch keine Erfahrungen mit den ATtiny gemacht, möchte aber mich demnächst näher mit diesen kleinen Microcontrollern beschäftigen. Als ganz guten Einstieg hierzu habe ich diese Seiten entdeckt:

    https://www.heise.de/developer…e-ganz-gross-3329007.html

    https://www.heise.de/ct/artike…iny84-und-85-4399393.html


    Gibt es hier vielleicht weitere Empfehlungen für Neueinsteiger?


    Gruß,

    RCfreund

  • Hi,

    ich lese mit - da Arduino ja (noch) nichts für mich ist.


    Kleine Anmerkung, für die, die es interessiert:

    Lane Boys RC (vom Lightcontroller) hat ja auch so einen "Simple Switch" im Angebot, und ich hab da auch welche.

    Ich hab mir da dann (mit Anleitung von Werner/LaneBoysRC) auch die Platinen bestellt und die SMD Teile. Sollte ja viel einfacher sein als der Lightcontroller (zum Löten jedenfalls).

    Aber ich hab das niemals hingebracht, diese Simple Switches zu Programmieren. Ewiger Email-Kontakt und Hilfeversuche, Problem-Eruierungsversuche mit Werner Lane, aber ohne Erfolg.

    Irgendwann hab ich es dann aufgegeben, da meine selbst gelöteten und programmierten Lightcontroller ja funktionieren.

    Die Simple Switch Teile hab ich aber alle noch hier.


    Hier übrigens die für mich "genialsten" einfachen RX Switches von Hansen Hobbies:

    Die Dinger sind unfassbar klein und einfach und billig und funktionieren sehr gut.

    Ich hab damit z.B. Ein-Ausschaltbares Licht für meine UMX Pitts S1s (45 cm Flieger) gemacht, genial...

    Irgendwo im Orlandoo hab ich früher die Schalter auch verwendet.


    https://hansenhobbies.com/products/onboardacc/ers/pers/



    Schwere Empfehlung!


    Gruß,

    Walter

  • Hallo zusammen,


    hier mal ein einfacher 2 Kanalschalter mit dem Attiny 85:

    Viele Grüße

    Ralph


    Schaltplan:

  • ich lese mit - da Arduino ja (noch) nichts für mich ist.

    Ok. Aber da hätte ich erstmal die Empfehlung für dich, dir diese kleinen aber feinen Einführungsvideos anzusehen. Das ist eine Serie aus mehreren Videos.


    Nachdem du dir das angesehen hast bestellst du dir einen Arduino Uno und probierst die Dinge einfach aus. Du wirst sehen, dass du schon nach einer Stunde erste Erfolge hast. Zum Beispiel dein erstes LED-Blink-Programm :-)


    Spätestens nach 2 Stunden bist du in der Lage ein Programm in den Arduino zu laden und kannst somit z.B. das oben stehende Programm von Ralph für den RC Switch direkt auf dem Arduino Uno ausprobieren.

    Ok, dein erster selbst gebauter RC Switch ist dann zwar etwas zu groß, aber das ist erst mal egal :-) Dann kommen eben die nächsten Schritte.



    Hier übrigens die für mich "genialsten" einfachen RX Switches von Hansen Hobbies:

    Die Dinger sind unfassbar klein und einfach und billig und funktionieren sehr gut.

    Ich hab damit z.B. Ein-Ausschaltbares Licht für meine UMX Pitts S1s (45 cm Flieger) gemacht, genial...

    Irgendwo im Orlandoo hab ich früher die Schalter auch verwendet.


    https://hansenhobbies.com/products/onboardacc/ers/pers/

    Guter Tipp !


    Gruß,

    RCfreund

  • Aha, deshalb ist es im Arduino Thread so ruhig geworden.

    Mich würde es auch interessieren, wie bzw. woran du genau gescheitert bist.

  • Hier bleib ich mal dran und les mit.😊

    Viele Grüße Peter


    Servonaut HS16

    RC4WD Gelände2 Defender90 Crawler 1:10

    HengLong T35/86 Panzer 1:16

    Tamiya Arctos 3348 4x6 m. Seervonaut Kippmulde 1:14

    Carson Tiefladeranhänger 1:14

    Amewi Bagger FullMetall 1:14

  • Aha, deshalb ist es im Arduino Thread so ruhig geworden.

    Mich würde es auch interessieren, wie bzw. woran du genau gescheitert bist.

    Hallo Jörg,

    ich bin an gar nichts gescheitert.

    Ich hab es gar nicht probiert... ;)


    Ich hab soooo viele Baustellen, ich wollt dann doch nicht schon wieder was neues anfangen ;) ( RCfreund - der Orlandoo Defender ist immer noch nicht fertig gemacht ;) , der Tundra liegt seit ca. 6 Wochen hier, OVP noch in Folie, der "mit dem Toyota Body" auch, dazu noch 6+ "angefangene" Autos, zu reparierende Helis, und, und, und...).

    Ich fang leider 1000 Sachen an (und kaufe 1001 Sachen) und krieg dann nie was fertig ;)

    Programmieren ist sowieso nicht so meines, und nachdem ich mit den Lane Boys RC Lightcontrollern so super zufrieden bin und die inzwischen sogar selbst herstellen kann, hatt ich nicht soooo einen Drang zu Arduino...

    Beim LaneBoys Simple Switch (der wird anders programmiert als der Lightcontroller) bin ich nämlich eh kläglich gescheitert.

    Natürlich interessiert es mich... aber ;)


    Ich bestell mir halt mal so ein Ding.

    Licht brauch ich keines, aber eine schaltbare Soundanlage für ein RC Auto und v.a. auch eine gescheie Hupe interessieren mich schon.


    Aber eigentlich will ich ja auch schon ewig einen 3d Drucker und Cura lernen... ;)


    Gruß,

    Walter

  • Hallo Freund und andere (Freunde),


    Nachdem du dir das angesehen hast bestellst du dir einen Arduino Uno und probierst die Dinge einfach aus. Du wirst sehen, dass du schon nach einer Stunde erste Erfolge hast. Zum Beispiel dein erstes LED-Blink-Programm :-)


    passt bzw. reicht da so was?



    Unter 2 €, kann das stimmen?


    Breadboards, Jumperkabel, LEDs, verschiedenste Schalter, Widerstände und den ganzen PiPaPo hab ich massig hier...


    Oder ich weiß nicht, was ich mir sonst kaufen soll - bei diesen ganzen Sets sind immer massig Sachen dabei, die bei mir schon en masse eh rumliegen...


    THX,


    Walter

  • Grundsätzlich reicht das, aber 2€?

    Ich würde aber zu einem Uno-Board mit DIP ATmega raten:

    https://www.reichelt.de/arduin….html?&trstct=pos_2&nbc=1


    Da könntest du später mal den ATmega 328 fertig programmiert herausnehmen und in deine eigene Schaltung stecken. Dann kaufst du dir einfach nur einen neuen 328 mit Bootloader oder ohne für ein paar Euro weniger und brutzelst den Bootloader selbst rein.

  • Hallo Walter,


    Ich habe nur Erfahrungen mit dem Original Arduino Uno made in Italy der ca. 23€ kostet. Kompatible funktionieren natürlich auch, stelle mir dann aber bitte keine Fragen wegen eventueller Windows Treiber-Problematiken :-)

    Das nur in Kürze. Bin gerade im Urlaub und habe keine große Lust auf dem Handy rumzutippen :-)


    Gruß

    RCfreund

  • Kompatible funktionieren natürlich auch, stelle mir dann aber bitte keine Fragen wegen eventueller Windows Treiber-Problematiken :-)

    Zu Windows selbst kann ich nichts sagen, ich nutze die Arduino IDE unter Linux, aber mit den Nachbauten haben ich ein wenig Erfahrung und es macht keinen Unterschied. Die Hardware ist OpenSource und die besseren Nachbauten sind ja 1:1 Nachbauten der Originale. Haben auch die selbe (Boot)Software drin usw. D.h. den PC interessiert das nicht, wer die Hardware letztendlich zusammen gelötet hat., ist an der Schnittstelle alles das Gleiche.

    Habe gerade extra meinen Originalen Uno mit dem JoyIt verglichen, melden sich beide über USB als Arduino SA Uno R3 (CDC ACM)

    In der Arduino IDE als VID 0x2341, PID 0x0043

  • Na dann schönen Urlaub!


    Bin gerade im Urlaub und habe keine große Lust auf dem Handy rumzutippen


    ... zur Not irgendeine 15 - 19-Jährige suchen (Tochter, Frau, Enkelin, Freundin, Gspusi (ab 18), Kellnerin, Zimmermädchen, Skilehrerin, ...) - die macht dir das dann blind und ohne hinschauen ;)



    BTW: Ich benutze die Foren auch nicht über das Smartphone ;)


    Gruß,

    Walter

  • Was er wahrscheinlich meint ist, dass nur die originalen und die meisten teuereren Uno/Nano den USB-Anschluss von FTDI haben, für den Windows auch Treiber mitbringt.

    Billige haben da so einen Chinachip CH340, bei dem die Treiber Probleme machen können, aber jedenfalls nachinstalliert werden müssen.

    Beim Nano macht das ca. 2 Euro Preisdifferenz. Nen FTDI bestückten Nano gibt es nicht unter 6 Euro.

    Der Familen-Fuhrpark:

    Axial SCX10-2 Cherokee ([m]ein GOX) | WLToys 10428-B2 (mein Rockracer TwinHammer-Clon) | Tamiya CC01 Pajero (muss mal restauriert werden)

    Hobao DC1 RTR (gehört dem Sohnemann, aber ich darf mich kümmern) | Tamiya Plasma Edge II (hat Sohnemann sich gekauft und mit mir gebaut)

    Axial-Yota Defender Hardbody (hat sich der kleine Bruder von mir bauen lassen) | WLToys 12428-B (hat sich der kleine Bruder selbst gekauft)

  • Hallo Zusammen,


    In den letzten Wochen habe ich mich intensiv mit dem Micro Controller „ATtiny85“ beschäftigt und stelle in den nächsten Postings meinen ersten damit entwickelten RC Switch vor.


    Die Konfiguration dieses RC Switch erfolgt über eine einzige, oder im Bedarfsfall über zwei Tabellen, welche im Programm-Code enthalten sind. In diesen Tabellen sind lediglich Zahlen einzutragen, welche als Parameter dann die Funktionalität des RC Switch bestimmen.


    SOMIT SIND KEINE PROGRAMMIERKENNTNISSE ERFORDERLICH !


    Man muss lediglich in der Lage sein einen Sketch (ein vorhandenes Arduino-Programm) in einen „Arduino Uno“, und den RC Switch Sketch auf den „ATtiny85“ hochzuladen. Anleitungen hierfür finden sich zuhauf im Internet, z.B. hier:

    https://wolles-elektronikkiste…45-44-25-24-programmieren



    Hardware


    Wie schon gesagt, basiert dieser RC Switch auf einem ATtiny85 Microcontroller. Er ist für viele Anwendungsfälle ohne weitere Bauteile im RC Modellbau verwendbar, bietet bei dieser Implementierung vier Ausgänge und einen Steuereingang der direkt mit einem RC Kanal vom RC Receiver verbunden werden kann.


    Jeder Ausgang kann mit bis zu 40mA belastetet werden. So können LEDs mit entsprechendem Vorwiderstand direkt angeschlossen werden. Bei größerem Strombedarf ist aber z. B. ein Leistungs-MOSFET erforderlich. Des Weiteren können auch übliche RC Power Switche, Modellbau-Servos oder Regler an die Ausgänge angeschlossen, und gesteuert werden.



    Aufbau auf Lochrasterplatine:




    Mögliche Anwendungen für diesen RC Switch

    • Licht per definierter Klickanzahl an- / ausschalten.
    • Ein Blinklicht mit konfigurierbarer Puls- / Pausenzeit an- / ausschalten.
    • Ein Signallicht eine bestimmte Anzahl aufblinken lassen.
    • Manuell gesteuerter Blinker (rechts, links, Warnblinker, alle an) mit Fade in/out.
    • Steuerung eines MP3-Players (z.B. dem DFPlayer) zum Hupen mit kurzen Impulsen.
    • Auch ein Piezo-Beeper lässt sich natürlich ansteuern.
    • Realisierung eines Lauflichts mit bis zu 4 LEDs zum An- / Ausschalten.
    • Durchschalten von Standlicht, Abblendlicht, Fernlicht (verschiedene Helligkeiten).
    • Schalten von Zweigang- oder Mehrganggetrieben mittels Servo.
    • Bedienen von Differenzialsperren mittels Servos.
    • Langsames Ankippen und wieder Geradestellen einer Ladefläche mittels Servo.
    • Langsames Schwenken einer Kamera mittels einem Servo.
    • Steuerung eines kompletten Pan/Tilt-Mechanismus mit 2 Servos.
    • Bewegen (z. B. Kopfdrehen, Winken) einer Fahrerfigur mit bis zu 4 Servos.
    • Bedienung einer Winde mittels Regler mit Motor oder eines Endlos-Servos.
    • Gemischter / paralleler Betrieb mit käuflichen RC Switches oder Light Controllern, welche ebenfalls mit dem Mehrfach-Klickverfahren arbeiten.
    • Gemischter / paralleler Betrieb mit einem weiteren ATtiny85 RC Switch.



    Kurzer Funktionsüberblick


    Dieser RC Switch bietet 4 Ausgänge, welche über einen RC-Kanal gesteuert können.


    Jeder Ausgang kann mit einer frei konfigurierbaren Anzahl von 1 bis 9 schnellen Klicks über den RC-Kanal angesprochen werden. Bei Bedarf können zwei oder mehr Ausgänge auf die gleiche Klickanzahl reagieren. So könnte z.B. Ausgang 0 und 1 gleichzeitig mit drei Klicks geschaltet werden, Ausgang 2 mit fünf Klicks und Ausgang 3 mit sieben Klicks.


    Die Ausgänge sind konfigurierbar:

    • als Digitalausgang zum Ein-/Ausschalten von LEDs.
    • als PWM Analogausgang zum Dimmen von LEDs (nur Output 0 und Output 1).
    • als Servoausgang mit 2, 3, 4 oder 5 Fixpositionen, z.B. für Schaltservos und Diffs etc.


    Für jeden Ausgang gibt es eine Wertetabelle, in der bis zu fünf Ausgabewerte eingetragen werden können. Bei Auslösung durch die für einen Ausgang konfigurierte Klickanzahl wird dann immer der nächste Wert an den betreffenden Ausgang ausgegeben. Nach dem letzten Tabellenwert wird dann wieder mit dem ersten Tabellenwert weiter gemacht.


    Für Servo- und PWM-Ausgänge können Verzögerungen in Millisekunden eingestellt werden. Dies erlaubt langsames Hochdimmen von LEDs (fade in / fade out) oder auch verlangsamtes Drehen von Servos.


    Auch können die Werte in den Wertetabellen als Sequenz automatisch durchlaufend ausgegeben werden. Der Durchlauf wird dann mit der konfigurierten Klickanzahl gestartet oder gestoppt. Über zwei Parameter kann angegeben werden wie oft der Durchlauf stattfinden soll (1 bis 32000) und wie viele Millisekunden (1 bis 32000) ein einzelner Wert ausgegeben wird, bevor der nächste Wert dran ist.


    Für spezielle Fälle gibt es noch eine weitere Tabelle, welche das gleichzeitige Schalten von Ausgängen ermöglicht, ohne auf die in der ersten Tabelle konfigurierten Einzelschaltungen verzichten zu müssen. Auch ist damit das gleichzeitige Starten von Sequenzen möglich. Ebenso können damit die einzelnen Werte in einer anderen Reihenfolge ausgegeben werden, als wie in der Wertetabelle vermerkt.



    Hier mal eine kleine Beispielkonfiguration: Ein Abschleppauto mit kippbarer Ladefläche, einer Winde zum Hochziehen des zu transportierenden Autos, sowie einer blinkenden Warnlampe und Arbeitsscheinwerfer.


    5 Klicks > Arbeitsscheinwerfer mit Fade in und Fade out an- / ausschalten.

    4 Klicks > Ladefläche ankippen und wieder gerade stellen. Dabei wird die Warnblinklampe zeitgleich ein- und wieder ausgeschaltet.

    2 Klicks > Windenseil ausrollen.

    1 Klick > Windenmotor stoppen.

    3 Klicks > Windenseil wieder einholen.

    6 Klicks > Ladefläche gerade stellen, Warnblinklampe und Arbeitsscheinwerfer aus.


    Zugehörige Konfigurationstabellen im Programm:



    Eine detaillierte Anleitung zum Ausfüllen der Konfigurationstabellen und vielen Beispielen wird es dann im User Manual geben. Dieses habe ich noch in Arbeit.



    Generelles zum „Klick-Verfahren“


    Es ist nun auch Bedienung mit Knüppel möglich. Siehe Post #18


    Die Steuerung des RC Switch über Mehrfachklicks ist für die Bedienung über einen Taster an der Fernsteuerung ausgelegt (vorzugsweise Pistolenfernsteuerung). Das Programm wurde nicht für die Bedienung über einen Knüppel entwickelt oder getestet.


    Der zur Steuerung verwendete RC Kanal ist an der Fernsteuerung so zu konfigurieren, das jede Bedienung (jedes Drücken und wieder Loslassen) den Kanal ein- oder ausschaltet (nicht ein- und aus). Von der Software werden nur die Änderungen des Schaltzustands ausgewertet, egal ob von AN nach AUS, oder von AUS nach AN geschaltet wird.



    Sobald ich das User Manual fertig habe, poste ich es hier zusammen mit dem Programm.


    Gruß,

    RCfreund

  • Hallo Zusammen,


    Ich habe nun die erste Version des User Manuals für den 4-Kanal RC Switch auf ATtiny85-Basis fertig gestellt. Je nach Bedarf würde ich das Manual weiter pflegen und mit weiteren Beispielen ergänzen.


    Anbei im ZIP-File das Programm für den ATtiny85 zusammen mit dem User Manual im PDF-Format. Hier auch gleich das Manual für den schnellen Einblick:


    RC Switch 05-05-2020.pdf


    Die Konfigurationstabellen in dieser Programmversion stellen eine Einfachstkonfiguration dar. LEDs an den Outputs 0 bis 3 können einzeln mit 1 bis 4 Klicks ein- und ausgeschaltet werden. Mit 5 Klicks werden alle LEDs gleichzeitig ausgeschaltet, und mit 6 Klicks werden alle LEDs gleichzeitig eingeschaltet. Im User Manual sind alle Parameter der Tabellen und deren Funktionsweise ausführlich erläutert.



    Über ein Feedback, Fragen, Vorschläge, Wünsche würde ich mich freuen!

    Gruß,

    RCfreund

  • Aktualisierung 4-Kanal RC Switch auf Version 2


    Jetzt ist auch die Bedienung mit Knüppelfernsteuerung möglich:


    Die Steuerung des RC Switch über Mehrfachklicks ist für die Bedienung über einen Taster an der Fernsteuerung ausgelegt, aber auch über einen Knüppel bei Pultfernsteuerungen oder 3P-Taster. Bei Knüppelbedienung und 3P-Taster wäre es dann also ein schnelles Antippen des Knüppels nach rechts oder links (Tippen statt Klicken).


    Im Programm ist der verwendete Eingabetyp mit der Konstante RC_INPUT festzulegen:

    • Für einen Impulstaster der bei jeder Betätigung ein angeschlossenes Servo entweder nur nach rechts oder nur nach links bewegt, ist die Konstante RC_INPUT = 0 zu setzen.
    • Für die Bedienung über einen Knüppel oder einen Taster (auch 3P-Taster), bei denen sich ein angeschlossenes Servo nach dem Loslassen des Knüppels oder Tasters wieder zurückbewegt, ist die Konstante RC_INPUT = 1 zu setzen.

    Die Schaltschwelle für das Erkennen von Änderungen am RC-Input liegt bei 1700 Mikrosekunden und kann bei Bedarf mit der Konstante „RC_THRESHOLD“ im Definitionsteil des Programms angepasst werden. Für ein sicheres Erkennen von Zustandsänderungen am RC-Kanal (insbesondere bei Knüppelbedienung) wird eine Hysterese von +/- 32 Mikrosekunden auf die Schaltschwelle RC_ THRESHOLD angewendet.


    Tipp für die Bedienung über Knüppel oder 3P-Taster:


    Die Knüppelbedienung oder die Bedienung über einen 3P-Taster eröffnet die Möglichkeit zwei ATtiny85 RC Switches per Y-Kabel parallel einzusetzen und somit acht Ausgänge mit einem einzigen RC-Kanal zu steuern. Hierzu ist die Schaltschwelle bei dem ersten RC Switch auf 1700, und bei dem anderen RC Switch auf 1300 Mikrosekunden einzustellen. Der erste Switch wird dann mit links tippen betätigt, und der zweite Switch mit rechts tippen. Jeder Switch benötigt daher nur einen halben RC-Kanal.


    Da auch z.B. die käuflichen Switche von CTI dieses Prinzip nutzen, kann ein ATtiny85 Switch zusammen mit einem CTI Switch per Y-Kabel mit demselben RC-Kanal gesteuert werden (gemischter Betrieb). Der CTI Switch wäre dann vorzugsweise für „Hochstrom-Anwendungen“ nutzbar, während der ATtiny85 RC Switch komplexere Aufgaben mit kleinen Strömen erledigt. Dies funktioniert z.B. mit den Switchen CTI PS4o und CTI PS4u.



    Autostart-Funktion für Sequenzen:


    Der RC Switch bietet nun eine Autostart-Funktion für Sequenzen beim Einschalten der Betriebsspannung (poweron). Somit könnte z.B. eine Fahrerfigur beim Einschalten des Modells drei Mal Winken (gesteuert über ein Servo) oder könnte eine oder mehrere LEDs blinken lassen.


    Für das automatische Starten der Sequenzen ist kein RC-Signal erforderlich. Daher kann der Switch z.B. auch als vollkommen autonomes Blinkmodul ohne Anschluss an einen Receiver eingesetzt werden.


    Zur Nutzung der Autostart-Funktion muss die Anzahl der Durchläufe (Wert für „seq“ in der Konfigurationstabelle) als negativer Wert angegeben werden (z.B. -25). Der automatische Ablauf kann jederzeit über die konfigurierte Klickanzahl gestoppt und wieder gestartet werden.



    Das User Manual habe ich entsprechend aktualisiert:

    RC Switch 07-05-2020.pdf


    Anbei im ZIP-File die Version 2 des Programms zusammen mit dem User Manual.


    Gruß,

    RCFreund

  • Ich kanns zwar momentan nicht nutzen (bzw. brauche es nicht), aber wollte mich trotzdem bei dir für das interessante Projekt bedanken.

    Da ist richtig Brägenschmalz reingegangen, das merkt man!:thumbup:

  • Ich kanns zwar momentan nicht nutzen (bzw. brauche es nicht), aber wollte mich trotzdem bei dir für das interessante Projekt bedanken.

    Da ist richtig Brägenschmalz reingegangen, das merkt man!:thumbup:

    Danke für Dein nettes Feedback!


    Ich will da alle erdenklichen Funktionen reinpacken, die eventuell mal brauchbar wären. Also alles was mit den 8 Beinchen so möglich ist. Ein paar Ideen habe ich hierzu noch :-) Auch gucke ich ich mir an, was alle "Profihersteller" so machen. Baue ich einfach nach :-) Wenn Dir noch eine nette Funktionalität einfällt die ich da reinbauen könnte und in das Konfigurationskonzept passt, immer her damit.



    Gruß,

    RCfreund