• 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 ESP32 Arduino RC Sound und Licht Controller

BAXL

Admin
Mitarbeiter
Wäre es nicht praktisch, wenn die Eingänge zusätzliche Anschlüsse für Widerstände für einen Spannungsteiler hätten, die man bei Bedarf bestücken kann.
 
Wäre es nicht praktisch, wenn die Eingänge zusätzliche Anschlüsse für Widerstände für einen Spannungsteiler hätten, die man bei Bedarf bestücken kann.
Ich denke, der zusätzliche Bestückungsaufwand wäre nicht zu rechtfertigen, da heutzutage praktisch alle Empfänger 3.3V Signale ausgeben. Das Ziel dieser Platine ist, dass sie auch von durchschnittlichen Bastlern einfach bestückt und gelötet werden kann. Wer es braucht, kann ja die nötigen Änderungen selber machen, da alles Open Source ist. Beim SBUS Eingang sind übrigens 5V zulässig, da ein Transistor dazwischengeschaltet ist.
 
SBUS Kommunikation ist nun verfügbar für meinen Empfänger:

Und für den Sound Controller:

Funktioniert einwandfrei, allerdings noch ohne Failsafe.

Alle Signale laufen über ein Kabel. Falls jemand hier Lust hat, es mit einem käuflichen SBUS Receiver zu testen, bin ich für die Rückmeldung dankbar.

Das Video über die Montage der Platine ist gefilmt und muss nur noch geschnitten werden.
IMG_8708.jpg
 

carst

Mitglied
Hallo Martin, Du hast recht wir diskutieren hier weiter. Ich benutze als Fernsteuerung eine Graupner MC 16 und als Empfänger einen jeti REX R6. Das Schaltsignal ist an PIN 12. In der Zeile 967968 steht
// CH2 (not used, gearbox servo)
pulseWidth[1] = pulseIn(SERVO2_PIN, HIGH, 50000);
kann es vielleicht hieran liegen. In Deinem Video funktioniert es auch. Ich verwende übrigens die Version 3.8.
Grüße Carsten
 
Hallo Carsten,
not used ist falsch, das Schaltservo ist hier angeschlossen, habe den Kommentar nun korrigiert.

Wenn beim Schalten Hupe und Sirene ertönen, hast du wahrscheinlich CH 3 & 4 vertauscht.

Kurze Erklärung zu den Steuersignalen. Die Kanalbelegung ist immer die folgende, unabhängig vom Signaltyp:
  • CH1 Lenkung (Pin 13)
  • CH2 3 Position Schalter für 3-Gangschaltung (Pin 12)
  • CH3 Gas (Pin 14)
  • CH4 Potentiometer (oder besser 3 Position Schalter) für Hupe und Blaulicht / Sirene (Pin 27)
Folgende Steuersignale sind nur via SBUS und Seriell verfügbar:
  • Mode 1 on / off für Dachlichter
  • Mode 2 on / off für Nebellampen
  • Momentary 1 Impulstaste für Zusatzsound

Es gibt prinzipiell die folgenden Verdrahtungsmöglichkeiten bzw. Signaltypen, einstellbar in "Adjustments.h" ab Zeile 31
  • 4x klassische Servo-Signale (Y-Kabel verwenden, wenn gleichzeitig ein Servo angeschlossen werden soll)
  • PPM
  • SBUS
  • Serielle Schnittstelle für meinen "Micro RC" Empfänger
SBUS und Seriell liegt auf Pin 36, PPM auf Pin 34 (siehe ab Zeile 46)

Dein Empfänger hat gemäss Beschreibung auch SBUS, ich würde also empfehlen, diesen zu benutzen. In meinen bisherigen Videos habe ich meistens die serielle Schnittstelle verwendet, welche die gleiche Funktion wie der brandneue SBUS bietet. Ev. musst du die Kanalbelegung in der Funktion "readSbusCommands()" anpassen, das heisst die Kanalnummer in [ ] bei der Variable SBUSchannels.

Bitte beachte auch, dass die max. Eingangsspannung der Steuersignale 3.3V beträgt! Je nachdem, ob dein SBUS ein invertiertes Signal liefert oder nicht, die Variable "sbusInverted" true / false umstellen

Hoffe, das hilft.
 
Zuletzt bearbeitet:

carst

Mitglied
Hallo Martin,
Danke für Deine Tips. Die Möglichkeit mit dem SBUS habe ich im Zusammenhang mit dem Jeti Empfänger noch gar nicht gesehen. Ich habe aber auf die schnelle die Einstellungen für den Empfänger auch nicht hinbekommen. Damit muss ich mich erst beschäftigen, meine Empfänger sind auch schon was älter. Dafür habe ich den Fehler gefunden. nicht die Anschlüsse waren vertauscht, sondern ein Mischer im Sender war aktiv.
Das Verhalten des Fahrtregler finde ich spitze, endlich kann man das Schaltgetriebe auch als solches benutzen. Vom Programmieren habe ich leider nicht so viel Ahnung. Vielleicht kannst Du mir helfen, welche Zeilen ich einfügen muss, um die Warnblinkanlage zu implementieren (Auslösung zweimal kurzes antippen des Lenkservos)?
VG Carsten
 
Schön, dass du den Fehler gefunden hast.
Das Verhalten des Fahrtregler finde ich spitze, endlich kann man das Schaltgetriebe auch als solches benutzen.
Heisst das, dass du den ESC vom ESP32 ansteuern lässt und somit das sehr natürliche, träge Fahrverhalten geniessen kannst? Wichtig ist, dass du unbedingt einen "Crawler" ESC mit proportionaler Direktbremse nutzt. Ich empfehle ausschliesslich den im Code erwähnten HOBBYWING ESC. Alles andere ist im Vergleich einfach Schrott und ich kenne viele ESC...

Das mit dem Warnblinker ist schwierig. Es ist für mich praktisch unmöglich, alle individuellen Wünsche zu verwirklichen. Er wird über die Variable "hazard" angesteuert. In meinem Fall, wenn keine Verbindung zum Sender besteht. Das Einfachste ist, wenn du im Code nach "hazard" suchst und dann die Variable entsprechend ansteuerst. Prinzipiell wird alles über Vergleiche der Mikrosekunden gesteuert. Alle Kanäle werden intern in Mikrosekunden gerechnet. Das heisst, 1000 - 2000 Mikrosekunden, was normalerweise +/- 45° Servoweg entspricht.

Mach dir einfach eine Sicherungskopie der funktionierenden Konfiguration und dann Spiel bis du erreicht hast, was du willst. Bei Fragen einfach googeln, mach das auch immer, wenn ich nicht weiterkomme und habe bis jetzt jedes Problem gelöst. Natürlich darfst du auch hier weitere Fragen stellen. Viel Spass mit dem meiner Meinung nach einfach unvergleichlich realistischen Fahrgefühl!
 
Habe jetzt noch Failsafe für den SBUS programmiert:

Danach war das Board bereit, das Lochraster-Teil im KingHauler zu ersetzen:
IMG_8732.jpg
IMG_8736.jpg

Danach habe ich auch den Empfänger auf SBUS umprogrammiert. Der King Hauler wird jetzt also "normgerecht" mittels SBUS gesteuert. Funktioniert alles wunderbar und auch der optimierte Detroit Diesel gefällt mir. Habe nun das USB Kabel ausgebaut und die Kabine verschraubt.

Die 30 pin Platine hat nun Dresden erreicht und wird wohl morgen die Schweiz erreichen.

Nun wird es Zeit, den Actros anzufangen und da weiter zu programmieren...
 
Hallo Carsten,
das ist aber eine Überraschung, dass du selber eine Platine zeichnest. Hast du auch Eagle verwendet? Vom Layout her würde ich mir noch überlegen, GND und 5V auf eine Flächenfüllung zu legen und die stromführenden Leiterbahnen breiter zu machen. Die Idee mit dem ULN2003 finde ich sehr gut. Habe mir auch überlegt, diesen zu verwenden und werde es wohl bei der angedachten SMD Version auch tun.

Meinst du mit dem empfohlenen Regler den HOBBYWING ESC? Der ist wirklich top und hat eine unvergleichlich gute Proportionalbremse.

Bin sehr gespannt auf deinen Erfahrungsbericht und die Bilder!

Habe soeben den ersten Soundcheck mit der 30 Pin Platine gemacht und nach Ersatz des defekten :thumbsdown: Trimmpotis funktioniert alles super! Als nächstes werde ich die Schaltung zur Invertierung und zur Erreichung der 5V Tauglichkeit des SBUS Einganges bestücken. Habe zwar kürzlich herausgefunden, dass die Invertierung auf dem ESP32 auch in Software möglich ist und dies so in der SBUS Library vorgesehen.
IMG_8759.jpg
 

carst

Mitglied
Hallo Martin, ich benutze für Schaltpläne und Platinen TARGET. Das schon seit einigen Jahren. Damit kann ich auch eagle Dateien einlesen. Die Platinen lasse ich bei Platinenbelichter.de fertigen. Dort kann ich das Projekt aus Target hinsenden und habe in der Regel 1 Woche später die fertigen Platinen.
An eine SMD Version habe ich auch schon gedacht. Ich werde aber erst mal den Ford fertigstellen. Für den habe ich ja die Platine auf die 62 mm (Rahmenbreite) gemacht.
VG Carsten
 
Habe die Platine jetzt fertig bestückt und alle Ein- und Ausgänge durchgetestet. Funktioniert alles, wer Lust hat kann die Platine also bedenkenlos bestellen. Das einzige Problemchen ist, dass R28 etwas zu nah am Anhängerstecker liegt und mit der Verriegelungsnase am Stecker in Konflikt kommt. Die Nase muss dann halt etwas abgeschnitten werden. Werde die Widerstände bei der nächsten Version noch etwas schieben.

Bestückte Platine:
IMG_8767.jpg

IMG_8765.jpg

IMG_8766.jpg

Mit klassischen Servosignalen und mittels Doppelstecker durchgeschleiften Servos:
IMG_8761.jpg

PPM Eingang:
IMG_8763.jpg

Und die SBUS Variante, die viel weniger Kabel benötigt und erst noch bis zu 16 Kanäle einlesen kann:
IMG_8764.jpg
 
Mein Arduino basierter Eigenbau Sender ist schon richtig voll. Für zukünftige Projekte will ich aber noch mehr Funktionen ansteuern können. Also werden noch 3 zusätzliche Tasten auf den letzten freien Analogkanal gelegt:
IMG_8770.jpg
IMG_8776.jpg

Das ist mein Lieblingssender und ich verwende ihn für praktisch alle meine Fahrzeuge, bis hin zum super schnellen Brushless TAMIYA Neo Fighter und sogar für ein einfaches 2 Kanal Flugzeug mit differential thrust Lenkung.
Meine Videos dazu in der Arduino Playlist: https://www.youtube.com/channel/UCqWO3PNCSjHmYiACDMLr23w

Projekt auf GitHub: https://github.com/TheDIYGuy999/RC_Transmitter
 
Top Bottom