Arduino / ATtiny: RC Schalter selbst entwickeln

  • Was denn noch? :whistling::thumbup:


    PS4-Modus? :evil: An einem 1-0-1-Taster/Stick lange und kurze vor/rück-Signale als Alternative zu Mehrfachklicks...

    Hi, nur zur Info:


    Ich habe noch ein wenig Programmspeicher in den Switchen übrig und werde nun wie von dir angeregt noch zusätzlich einen CTI-Modus implementieren. Also Knüppel kurz/lang nach rechts oder links wird dann ausgewertet. Damit lassen sich dann sämtliche CTI-Schaltmodule und wohl auch die Servonaut-Module nachbilden. Ich denke das kommt den Freunden der Pultfernsteuerungen entgegen :-)


    Eine erste Version funktioniert schon. Knüppelsignale werden einfach in definierte Klickzahlen übersetzt. Sehr simpel.

    Kopfzerbrechen bereitet mir gerade nur noch die Einleitung der Datenübertragung von der Programmierkarte aus wenn dieser CTI-Modus auf dem Switch aktiv ist. Da muss ich noch was machen.


    Gruß,

    RCfreund

  • Auch denen die eine Excalibur™ besitzen

    Auch alle Semerad-GT3C-fahrer kennen die Vorteile der 1-0-1-Taster... :aetsch:

  • Habe mich gerade hier registriert da ich den switch einfach top finde. Mach hauptsächlich Schiffsmodellbau und da kann ich den super nutzen. Thema: Nautisch Beleuchtung:thumbup:

  • Habe mich gerade hier registriert da ich den switch einfach top finde. Mach hauptsächlich Schiffsmodellbau und da kann ich den super nutzen. Thema: Nautisch Beleuchtung :thumbup:

    Na dann herzlich willkommen in diesem Forum !


    Wie ich zuvor schon geschrieben hatte, kann ich Leiterplatten und vorprogrammierte Microcontroller gerne gegen Erstattung meiner eigenen Kosten gerne zur Verfügung stellen. In Kürze gibt es auch wieder eine aktualisierte Software.


    Gruß,

    RCfreund

  • Dankeschön.


    Löten und programmieren ist kein Problem für mich. Platinen fräse ich inzwischen.


    Möchte mit dem switch ein JQ6500 Modul ansteuern. Am attiny85 habe ich einen 4 fach optokoppler wegen der galvanischen Trennung. Wie muss ich den Switch einstellen damit der / die Ausgänge nur 1x für ca. 0,5sek auf HIGH gehen nach dem Klick?

  • Wie muss ich den Switch einstellen damit der / die Ausgänge nur 1x für ca. 0,5sek auf HIGH gehen nach dem Klick?

    Von der Grundeinstellung aus:

    - Parameter für Sequenzdurchläufe "seq" auf 1.

    - Die Zeit die ein Wert (value1 bis value5) am Ausgang anliegen soll "seqTime" auf 500ms.

    Das war's. Bei jedem auslösenden Klick wird dann ein positiver Puls von 500ms erzeugt.


    Gruß,

    RCfreund

  • Möchte mit dem switch ein JQ6500 Modul ansteuern.

    Hallo Gerhard68,


    Ich habe mir gerade dieses kleine Soundmodul angesehen. Sehr interessant! Bisher habe ich immer den DFPlayer Mini zum Abspielen von MP3-Files genutzt. Mir scheint auch die Funktionalität weitgehend die gleiche zu sein. Außer, dass das JQ6500 in der kleinen Version keinen SD-Kartenplatz hat, sondern die MP3s intern speichern kann. Sonstige relevante Unterschiede?


    Im Übrigen habe ich das gleiche vor, was du hier wohl gerade machst: Eine Platine mit ATtiny85 und dem MP3-Player drauf. Angesteuert über die vorhandene Switch-Software. Falls erforderlich, gibt's dafür noch Anpassungen. Das wäre mein nächstes "Zwischenprojekt". Hast auch mal den DFplayer in Erwägung gezogen? Weshalb ist deine Wahl auf den JQ6500 gefallen?


    Am attiny85 habe ich einen 4 fach optokoppler wegen der galvanischen Trennung.

    Welcher Optokoppler ist das?

    Weshalb siehst du eine galvanische Trennung als erforderlich an?


    Gruß,

    RCfreund

  • Aktualisierung

    - 4-Kanal RC Switch auf Version 9

    - Konfigurations-Tool auf Version 3


    Änderungen:

    • Neu: Mit RC_INPUT=3 gibt es jetzt eine neue Betriebsart für Knüppel rechts/links-kurz/lang-Betätigungen.
    • Fehler im Switch beseitigt: Es konnte vorkommen, dass versehendlich ein Rücksetzen auf "Werkseinstellungen" erfolgte, wenn der Empfänger eingeschaltet wurde, der Sender aber noch ausgeschaltet war. Fehler ist jetzt beseitigt.
    • Fehler im Switch beseitigt: Die LED, welche den Status bei verschiedenen Servicefunktionen anzeigt, berücksichtigt nun auch einen eventuell invertierten Ausgang.


    Die relevanteste Änderung ist die Einführung einer Betriebsart für Knüppelfernsteuerungen (oder auch welche mit 3P-Taster), welche auf kurze und lange, links- und rechts-Knüppeleingaben reagieren kann. Die Bedienung ist damit genau so wie bei den meisten CTI Schaltmodulen. Hier nachstehend die Details dazu:


    Voreinstellung


    Für eine Bedienung über Knüppel oder 3P-Taster, welche statt tippen oder klicken auf kurze oder lange rechts- oder links-Eingaben reagieren soll, ist der Parameter RC_INPUT = 3 zu setzen.


    Schaltschwellen für Betriebsart mit RC_INPUT=3


    Die Betriebsart mit RC_INPUT=3 erfordert für ihre Funktion (Erkennung von rechts, links und Mitte) eine untere, und zusätzlich eine obere Schaltschwelle. Hierbei stellt der Parameter „RC_THRESHOLD“ die obere Schwelle dar.

    Die untere Schaltschwelle wird daraus wie folgt berechnet: Untere Schaltschwelle = 1500 - RC_ THRESHOLD + 1500

    Somit ist die untere Schaltschwelle genau so weit von der Mitte (1500 Mikrosekunden) entfernt, wie die obere Schaltschwelle. Mit der individuellen Anpassung von RC_THRESHOLD kann also eingestellt werden, bei welcher Knüppelauslenkung der Switch reagiert.


    Interpretation der Knüppeleingaben in der Betriebsart mit RC_INPUT=3


    Die Software arbeitet intern nur mit einer „Anzahl von Klicks“. Damit sie in der Betriebsart mit langen und kurzen Knüppeleingaben (RC_INPUT=3) umgehen kann, werden lange und kurze Knüppeleingaben in eine Klickanzahl „übersetzt“. Diese „Klickzahlen“ können dann in den Konfigurationstabellen als Trigger für Schaltaktionen verwendet werden (Parameter „clicks“). Für die verschiedenen Eingaben sind folgende Klickzahlen definiert:


    Eingabeaktion

    Anzahl Klicks

    Reaktion…

    Knüppel kurz nach links tippen

    1

    bei Knüppel loslassen

    Knüppel lange links halten

    2

    nach Zeitablauf

    Knüppel kurz nach rechts tippen

    3

    bei Knüppel loslassen

    Knüppel lange rechts halten

    4

    nach Zeitablauf

    Knüppel loslassen nach lange halten

    5

    sofort

    Knüppel nach links (egal wie lange)

    6

    sofort bei Auslenkung

    Knüppel nach rechts (egal wie lange)

    7

    sofort bei Auslenkung


    Die Zeit für „lange halten“ wird vom Wert des Parameters „CLICKWINDOW“ bestimmt (Default-Wert=750ms). Eingaben die kürzer sind als diese Zeit, werden als ein kurzes Antippen des Knüppels interpretiert (clicks = 1 oder 3). Wenn der Knüppel länger als diese Zeit in einer Richtung gehalten wird, wird eine „lange Eingabe“ erkannt (clicks = 2 oder 4). Darüber hinaus löst auch das Loslassen des Knüppels nach „langer Eingabe“ eine Klickzahl aus, welche bei Bedarf einer Schaltaktion zugeordnet werden kann (clicks = 5).


    Die Eingabeaktion „Knüppel nach links/rechts (egal wie lange) ist für Sonderfunktionen (z.B. Steuerung von MP3-Player über 2 Ausgänge) vorgesehen.


    In der Spalte „Reaktion“ ist vermerkt, wann der „Klick“ erzeugt wird. Mit „Zeitablauf“ ist hier ebenfalls der Zeitwert des Parameters „CLICKWINDOW“ relevant.


    Die User Manuals habe ich entsprechend aktualisiert:

    RC Switch 24-07-2020.pdf

    Config Tool 24-07-2020.pdf


    Anbei im ZIP-File beide Programme in aktueller Version zusammen mit den User Manuals.


    Gruß,

    RCfreund

  • Servus RCfreund,

    danke erstmal für die Version 9.


    Ich habe ein Soundmodul mit dem JQ6500 im Verkauf auf meiner Homepage. Ich wollte es so einfach wie möglich gestalten, damit auch Modellbauer damit klar kommen die sich mit Elektronik und Programmieren nicht so gut auskennen. Spiele den Sound für den Kunden auf.

    Das JQ6500 bietet hierzu 5 Eingänge an (PIN -> GND) um die Sounds abzuspielen. Dafür bieten sich die CTI oder einfache Relaismodule an.

    Die galvanische Trennung mach ich aus Sicherheitsgründen, da das Soundmodul mit 7-15V betrieben werden kann (7805). Sollte hier mal was schief gehen würde diese Spannung auf die RC Anlage durchschlagen und sowas kann ich mir nicht leisten . Optokoppler LTV846 oder 2x LTV826 o.ä.

    Wollte das JQ6500 auch per Seriell mit dem Attiny85 ansprechen, habe es aber nicht geschafft.


    Habe inzwischen die Schaltung auf einer gefrästen Platine fertig. Funktioniert tadellos !


    Gruß

    Gerhard68

  • danke erstmal für die Version 9.

    Gerne! Die Version 10 ist in Arbeit :-)

    Ich habe ein Soundmodul mit dem JQ6500 im Verkauf auf meiner Homepage. Ich wollte es so einfach wie möglich gestalten, damit auch Modellbauer damit klar kommen die sich mit Elektronik und Programmieren nicht so gut auskennen. Spiele den Sound für den Kunden auf.

    Ok. Zwischenzeitlich habe ich mir auch das JQ6500 angesehen (zumindest Webseiten, Videos, Spec). Ich bin davon nicht so begeistert. Es zwar (in China) etwas billiger als der DFPlayer + SD-Karte, das Laden der MP3-Files mit dem rein chinesischen Tool (ohne Englisch) begeistert mich aber absolut nicht. Da bleibe ich lieber beim DFPlayer. Der Verbreitungsgrad scheint mir auch höher zu sein.

    Das JQ6500 bietet hierzu 5 Eingänge an (PIN -> GND) um die Sounds abzuspielen. Dafür bieten sich die CTI oder einfache Relaismodule an.

    CTI- oder Relaismodule die mehrere Ampere schalten können für Aufgaben die nur Milliampere benötigen? Das ist ja wie mit Kanonen auf Spatzen schießen :-)

    Optokoppler LTV846 oder 2x LTV826 o.ä.

    Ok, danke für die Info!

    Wollte das JQ6500 auch per Seriell mit dem Attiny85 ansprechen, habe es aber nicht geschafft.

    Hmm. Soll aber funktionieren. Ich glaube da auf Youtube ein Video gesehen zu haben. Oder war wohl doch der DFPlayer? Keine Ahnung???


    Habe inzwischen die Schaltung auf einer gefrästen Platine fertig. Funktioniert tadellos !

    Prima!

    Dann zeig doch mal Fotos, Schaltung, Software!


    Gruß,

    RCfreund

  • 4-Kanal RC Switch mit MOSFETs und Spannungsregler


    Die Leiterplatten für den neusten Switch sind nun angekommen. Die Bestückung der SMDs ging mit “normalem” Lötkolben problemlos vonstatten. Erster kleiner Funktionstest: Der Switch läßt sich mit der Programmierkarte ansprechen und alle Ausgänge funktionieren !


      


    Die verwendeten MOSFETs sind mit max. 20V und 4,2A spezifiziert. In der Praxis muss man da aber Abstriche hinnehmen. Wem das nicht reicht, könnte stattdessen auch einen IRLML6244 probieren. Der verkraftet laut Datenblatt 6,3A. Bei diesen Strömen ist aber auch zu bedenken, dass der Strom nicht nur durch die MOSFETs, sondern auch über die Leiterbahnen (0,7mm) und die Anschlussstifte fließt. Und auch da gibt es irgendwo ein Ende.


    Für den verwendeten LDO-Spannungsregler ist eine maximale Eingangsspannung von 16V im Datenblatt angegeben. Auch das sollte man natürlich nicht ausreizen.


    Hier der Stromlauf dazu:



    Der Anschluß für den RC-Eingang und die Ausgänge kann ganz nach Belieben gestaltet werden. Entweder mit direkt angelöteten Kabeln, abgewinkelten oder geraden Stiftleisten. Die Stiftleisten kann man flach auf die Anschlusspads löten, oder durch die Leiterplatte durchstecken.


    Damit man im Bedarfsfall ein zu steuerndes Servo direkt anschließen kann, braucht man nur den MOSFET Q4 wegzulassen, und stattdessen eine Brücke einzulöten. Masse, Plus 5 Volt und Signal liegen in richtiger Reihenfolge an der Stiftleiste an:



    Die reinen Materialkosten für diesen Switch liegen bei bei 3€.

    Bei Interesse an Leiterplatten oder vorprogrammieren Microcontrollen bitte per PM bei mir melden.


    Gruß,

    RCfreund

  • Hier mal die gefräste Platine (Prototyp). Die vier einzelnen Optokoppler hatte ich noch da. Ein 4fach ist schon bestellt.


    Und der Schaltplan

    Files

    Edited once, last by Gerhard68: Ein Beitrag von Gerhard68 mit diesem Beitrag zusammengefügt. ().

  • Hier der Stromlauf dazu:

    In der Mitte gibt's da ein kleines Problem: GND ist mit PWR_FLAG verbunden, das wiederum +BATT ist.

    Hoffentlich nur ein Zeichenfehler... ;)


    Ansonsten: Schöne Arbeit!

    Und der Schaltplan

    Es wäre m.E. besser, den ATtiny auch mit 5V zu versorgen, denn viele BECs haben 6V oder sogar mehr, und das mag der nicht so.

    Oder ist das bei deinen Fahrzeugen nicht so?

  • In der Mitte gibt's da ein kleines Problem: GND ist mit PWR_FLAG verbunden, das wiederum +BATT ist.

    Hoffentlich nur ein Zeichenfehler... ;)

    Habe mich schon gewundet, wieso der Design Rule Checker immer gemeckert hat. Aber KiCAD war schlau genug, das zu ignorieren. Das wäre ja sonst ein voller Kurzschluss :-)



    Es wäre m.E. besser, den ATtiny auch mit 5V zu versorgen

    Selbstverständlich! Das ist ja die einzige Aufgabe des LDOs.

    Die vom Receiver kommende Versorgungsspannung ist +BATT.

    Signal +5V sind also wirklich die geregelten 5 Volt, wo auch der ATtiny dran hängt :-)


    Schönen Abend noch,

    RCfreund

  • Design Rule Checker immer gemeckert hat. Aber KiCAD war schlau genug, das zu ignorieren.

    Dann entsprechen sich Board und Schaltplan nicht?!

    Wie kann das überhaupt gehen...


    Der zweite Teil war für Gerhard68 ;)

  • Es wäre m.E. besser, den ATtiny auch mit 5V zu versorgen, denn viele BECs haben 6V oder sogar mehr, und das mag der nicht so.

    Oder ist das bei deinen Fahrzeugen nicht so?


    Der zweite Teil war für Gerhard68

    Ja hast recht ich werde noch einen Spannungsregler vor den Attiny setzen.


    Normalerweise versorgen das BEC der Regler den Empfänger usw. in den Modellschiffen. Nur bei größeren Modellen ist ein extra Emfängerakku eingebaut. Meist Bleiakku 6V oder 4-5 NiMH Zellen


    RCfreund kannst Du mir mal ne PM schicken. Habe leider noch keine Berechtigung