• 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

but i need to hold the "knob" down, as it selfs centers..
Yes this is a little drawback of this remote, because it is mainly designed for tracked vehicles like excavators.
ob ein 540er Motor ab 45T und aufwärts (verwende in meinen Tamiya Trucks nur 80T) nicht auch mit dem RZ7886 betreibbar sein sollte?
Ja, klar geht das. Massgebend ist für mich der Wicklungswiderstand. Daraus ergibt sich dann der maximale Blockierstrom.
Welche denn?
Bei den Achsen musste ich auch noch etwas Herumschleifen bis es einigermaßen gepasst hat.
Das ist normal.
Bin gespannt auf deine Versuchsergebnisse. Anhand der Bilder hast du ja einiges vor.

Das nächste Update wird den schon oft gewünschten "Crawler Modus" (mit nur minimaler Masseträgheit zur Schonung des Getriebes) enthalten. Aktiviert wird er je nach der eingestellten Lautstärke:
Bildschirmfoto 2022-06-10 um 20.35.03.png

Einstellbar hier:
Bildschirmfoto 2022-06-10 um 20.36.03.png

Funktioniert sehr gut im Landy. Es erlaubt, einen "Show Modus" (mit Sound, Masseträgheit) und einen "Competition Modus" (Leiser oder gar kein Sound, minimale Masseträgheit) im gleichen Fahrzeug zu haben. Die Maximalgeschwindigkeit kann mittels des Gangwahl-Kippschalters im Stillstand eingestellt werden. Es gibt aber natürlich im "Crawler Modus" auch Einschränkungen. Z.B. dürfen die Gänge bei Verwendung eines echten Schaltgetriebes nicht während der Fahrt geschaltet werden.

Was denkt ihr dazu?

Dem Landy hab ich übrigens testweise die Räder des WPL C34 spendiert. Sieht sehr passend aus, abgesehen davon dass er noch etwas zu hochbeinig ist:
IMG_4057.JPG
 

neo2001

Mitglied
Abgesehen von Kleinigkeiten wie fehlende Beschriftungen an manchen Stellen und kleinere Anpassungen bezüglich den Abständen.

Die Dioden Footprints waren dann doch etwas zu lang bzw. unnötig, eine Stufe kleiner reicht auch gut aus.

Der Tantal Kondensator am Eingang des Treibers werde ich durch einen größeren Keramikkondensator ersetzen.

Den Trimpot habe ich so platziert, dass die Einstellschraube durch eines der Löcher des ESP32 Boards schaut. Ist zwar irgendwie originell, aber einfacher ist es, denn einfach durch einen zu ersetzen bei dem die Schraube and der Seite herausschaut (wenn er vollkommen unter dem Board sitzen soll).

Die Widerstände für die Spannungsmessung der Batterie habe ich bei dem Board ohne Treiber-IC auf der Rückseite platziert. Genauso wie den Kondensator für den EN-Pin.
Habe zunächst mal 100 kΩ / 22 kΩ gewählt.


Bezüglich der Pin-Zuordnung habe ich überlegt, ob es langfristig nicht doch sinnvoll wäre zumindest die einfach austauschbaren Pins flexibel zuordenbar zu machen. Man sieht ja, dass bezüglich der Lichtauswahl sehr unterschiedliche Anforderungen bestehen. Wenn man dann kompakte Boards macht, muss man bestimmte Lichter "opfern", zumindest wenn man keine weiteren Anpassungen vornimmt.
Vorstellbar wäre z.B. die wichtigsten Lichter wie Headlight, Indicators und Taillight (ggf. auch Rev) fest zu belassen und dann aber zusätzliche Lichter wie Fog-, Roof-, Side-, Cab-Lights aber flexibel auf "AUX1,2,3" o.ä. legen zu können. Dann kann jeder entscheiden (falls notwendig) welche Lichter wichtiger sind.

Board mit Motor Treiber:
PXL_20220611_121412112cr.jpg PXL_20220611_121008169cr.jpg PXL_20220611_121353894cr.jpg

Board für "non-Truck" Fahrzeuge:
PXL_20220611_121110732cr.jpg PXL_20220611_121258106cr.jpg

Bin erstmal froh, dass das mit den PCBs alles relativ gut geklappt hat, da das meine erste eigenes "Design" und Bestellung war. Sicherlich besteht noch Verbesserungspotenzial, aber funktionieren tun sie soweit einwandfrei.
 
Zuletzt bearbeitet:

neo2001

Mitglied
Habe mir gerade mal die Schaltung nochmal angeschaut und bin nicht ganz sicher ob die Pins richtig herum sind (bei mir).
Laut Quellcode ist Pin 33 ("ESC") an Treiber Pin 1 ("BI") und Pin 32 an Treiber Pin 2 ("FI").

Ohne im Detail drüber nachzudenken habe ich "FO" als den Pluspol des Motors bezeichnet und "BO" als den Minuspol, weil es sinnvoll erscheint, dass der Motor "vorwärts" dreht wenn man eine positive Spannung an Plus anlegt. Gerade ist mir aber aufgefallen, der WPL-Motor (mit Schaltgetriebe dran) falsch herum lief (wofür es natürlich noch andere Gründe geben kann, nicht zuletzt das Gertriebe selbst). Also habe ich einfach die Leitungen vertauscht, was auch funktioniert hat. Bin mir aber nicht sicher, ob das nicht noch einen Nebeneffekt hat den ich jetzt übersehe?

Grundannahme von mir ist, dass Motoren quasi-standardmässig gegen den Uhrzeigersinn drehen, wenn am markierten Pin der Pluspol angeschlossen wird. Was dann "vorwärts" entspräche. Bei manchen Motoren ist das ja wichtig wegen den Schleifkohlen und/oder dem fest eingestellten Timing.

C++:
#define RZ7886_PIN1 33 // RZ7886 motor driver pin 1 (same as ESC_OUT_PIN)
#define RZ7886_PIN2 32 // RZ7886 motor driver pin 2 (same as BRAKELIGHT_PIN)

screenshot_20220612_172540.png
 

neo2001

Mitglied
Das hört sich schon sehr vielversprechend an. Bei einem Crawler ist mir -- allgemein gesagt -- die Kontrolle über das Fahrzeug wichtiger als Realismus. Sprich selbst wenn der Gesamteindruck bezüglich der realistischen Klangkulisse ggf. etwas leidet, würde ich das in diesem Fall vorziehen. Manuelle, wie auch simulierte Schaltung würde ich in diesem Fall gar nicht verwenden.

Ja, das denke ich auch. Bei mir funktioniert allerdings die FS-i6X (mit NICHT gehackter original 10 Kanal Firmware) zusammen mit dem FS-IA6B einwandfrei zwischen ca. 96000 und 104000 Baudrate. Ebenso meine Micro RC Funke / Empfänger mit lausigem 8MHz ATmega 328. Auf dem Soundcontroller waren alle erdenklichen Optionen wie wireless Trailer, Dashboard und Neopixel aktiv.
Ich würde vermuten, dass das Problem von den gehackten Flysky firmwares kommt? Vermutlich verursachen diese Timingprobleme.
Das werde ich auf jeden Fall noch testen. Das würde auch erklären, dass nicht mehr Fehler dieser Art gemeldet werden.
Habe vorhin mal mit meiner FrSky X9D+ und dem Multiprotokol-Modul im Flysky AFHDS2-Modus zu dem A8S Receiver verbunden und bisher keine Probleme provozieren können. Muss es aber mal eine halbe Stunde o.ä. laufen lassen.
 
Zuletzt bearbeitet:
Der Tantal Kondensator am Eingang des Treibers werde ich durch einen größeren Keramikkondensator ersetzen.
Wie gross denn? ist der überhaupt nötig? Hast du Tests gemacht?
Die Widerstände für die Spannungsmessung der Batterie habe ich bei dem Board ohne Treiber-IC auf der Rückseite platziert.
Teile auf der Rückseite möchte ich soweit möglich vermeiden wegen der Beschädigungsgefahr. Zudem besteht das Risiko, dass sich beim Löten Teile auf der Oberseite wieder lösen.
Habe zunächst mal 100 kΩ / 22 kΩ gewählt.
Kannst du damit stabil messen?
Bezüglich der Pin-Zuordnung habe ich überlegt, ob es langfristig nicht doch sinnvoll wäre zumindest die einfach austauschbaren Pins flexibel zuordenbar zu machen.
Das macht sicher Sinn, ist aber jetzt schon recht einfach möglich durch Anpassen der Pin #defines. Man könnte verschiedene Sektionen für verschiedene Boards machen. Muss ich mir noch überlegen.
Bin erstmal froh, dass das mit den PCBs alles relativ gut geklappt hat, da das meine erste eigenes "Design" und Bestellung war.
Ist sehr gut geworden.
Das hört sich schon sehr vielversprechend an. Bei einem Crawler ist mir -- allgemein gesagt -- die Kontrolle über das Fahrzeug wichtiger als Realismus. Sprich selbst wenn der Gesamteindruck bezüglich der realistischen Klangkulisse ggf. etwas leidet, würde ich das in diesem Fall vorziehen. Manuelle, wie auch simulierte Schaltung würde ich in diesem Fall gar nicht verwenden.
Bin nun einige Kilometer mit dem Landy gefahren und ich muss sagen, dass mir die Umschaltmöglichkeit sehr gut gefällt. Speziell in schwierigem Gelände oder wenn man mal etwas zügiger fahren will. Nun noch mit Überlebensausrüstung am Heck montiert:
IMG_4068.JPG
Habe mir gerade mal die Schaltung nochmal angeschaut und bin nicht ganz sicher ob die Pins richtig herum sind (bei mir).
Das ist egal, da du die Drehrichtung hier einstellen (hab ich wohl vergessen zurückzustellen bei der letzten Version) kannst:
Bildschirmfoto 2022-06-12 um 20.38.29.png
 
Zuletzt bearbeitet:

neo2001

Mitglied
Wie gross denn? ist der überhaupt nötig? Hast du Tests gemacht?
Nein, keine Tests. Im Datenblatt wird nur der 100 nF und 470 µF empfohlen. Dachte, dass man evtl. noch einen im µF-Bereich setzt, da der große Elko relativ weit weg ist. Aber unbedingt notwendig ist der sicher nicht. Nicht zuletzt lief auch alles problemlos nur mit dem 100 nF und ganz ohne Elko.

Teile auf der Rückseite möchte ich soweit möglich vermeiden wegen der Beschädigungsgefahr. Zudem besteht das Risiko, dass sich beim Löten Teile auf der Oberseite wieder lösen.
Die Fertigung habe ich nicht berücksichtigt, da bin ich von mir ausgegangen (selber löten). Denke, dass Widerstände relativ unkritisch sind bezüglich Beschädigung, da die meisten anderen THT Teile bzw. deren Bedrahtung weiter herausstehen und diese dann quasi schützen. Kondensator ist schon wieder etwas größer, klar. Mal sehen was sich machen lässt...

Mit dem ESP32 habe ich es ehrlich gesagt noch gar nicht ausprobiert. Aber ich hatte bei meinem ESP8266-Trailer den A0 zur Batteriemessung verwendet und dort die teilweise schon vorhandenen Widerstände des Dev-Boards verwendet, inkl. 100 kΩ zwischen Batterieplus und A0 Pin:
Ein Präzisionswunder ist das natürlich nicht, aber die Werte schwanken nicht o.ä., sondern bleiben im jeweiligen Bereich konstant. Letztendlich habe ich noch einen linearen Offset eingefügt. Dafür, dass er anfängt rot zu blinken, wenn die Batterie einen bestimmten Wert unterschreitet, reicht es zumindest aus.
 

Nolethai

Mitglied
Thanks for the reply. This is already done, but since the FS i6s doesnt have knobs like i6x , i cant get it to work properly. I can adjust trim to under 80% to get my beacon to works, but then im loosing one of the horn.
Sure that is no problem, but i need to hold the "knob" down, as it selfs centers..

Den Anhang 134094 betrachten
Hallo ImprezaDicken,
take a look at this part of the manuel from FS-i6s. Specialy the 8.4 and 8.5.

8. DIY Customization..........................................................................................................18
8.1 Throt Bracket Installation...................................................................................................................................................18
8.2 Throt Spring Installation.....................................................................................................................................................19
8.3 Swapping Gimbals................................................................................................................................................................20
8.4 Knob Bracket Installation...................................................................................................................................................21
8.5 Knob Spring Installation.....................................................................................................................................................22
8.6 Device Holder.........................................................................................................................................................................23

I had the same problem, but after i remove the spring like they explane in the manuel it is ok.

Kindly regards
Norbert
 

Anhänge

Zuletzt bearbeitet:

neo2001

Mitglied
Baue gerade einen "kleinen" Tamiya Scania R470 mit 80T-Motor und werde den mal als Testplattform für den Treiber nutzen.

PXL_20220616_131409945cr.jpg

Habe außerdem mal das mit dem Messen der Batteriespannung ausführlich durchgetestet (mit Netzteil von 0 bis 17 V).

PXL_20220616_100211220cer.jpg

Eigentlich wollte ich neben 100 kΩ 22 kΩ nehmen, aber habe auf die Schnelle nur einen 20 k gefunden.

Der Kondensator macht bei mir in der Praxis keinen Unterschied. Die Messung funktioniert mit und ohne einwandfrei und ohne Auffälligkeiten oder Schwankungen.

Ich bin so vorgegangen, dass ich die Widerstände vor dem Einlöten exakt gemessen und die Werte eingetragen habe. Danach musst ich noch einen Offset von -0,08 eintragen und damit waren die Messungen dann auf zwei Nachkommastellen genau. Erst bei 13 V aufwärts ist es etwas mehr geworden.

Irgendwie habe ich erst ein paar Kleinigkeiten geändert und dann immer mehr. Das ist bei mir so eine Angewohnheit, um den Code besser zu verstehen, benenne ich die Variablen für mein besseres Verständis um und bin dann quasi gezwungen ihnen zu folgen bis alles wieder funktioniert. Wollte deswegen jetzt kein Pull-Request machen. Hier sind meine Änderungen zu Einsicht:
Falls gewünscht, kann ich immer noch einen Pull-Request machen.

Habe die Messintervalle von 300 ms auf 3 s verringert (würde sogar auf 5s oder gar 10s gehen). Könnte sein, dass es Sinn macht öfters zu messen, mir fällt nur gerade kein Grund ein.

Bei der Berechnung habe ich den Offset erst später berücksichtigt, kann aber sein, dass das mathematisch keinen Unterschied macht.
Habe es Offset anstatt Diode drop genannt, da es letztendlich das Gleiche ist. Offset kann positiv oder negativ sein.

Anzahl der Samples die für die Glättung verwendet werden, kann jetzt eingestellt werden.

Ein paar Kommentare und Ausgaben habe ich ergänzt.

Habe alle Eventualitäten durchgetestet.

C++:
// Battery low discharge protection (only for boards with voltage divider resistors):
// IMPORTANT: Enter used resistor values in Ohms (Ω) and THEN adjust BATTERY_VOLTAGE_OFFSET, until your readings match the actual battery voltage!
#define BATTERY_PROTECTION // This will disable the ESC output, if the battery cutout voltage is reached

#define BATTERY_TEST_INTERVAL_SECONDS 3 // Probe battery voltage every ... seconds.
const float CELL_LOW_CUTOFF_VOLTAGE = 3.4; // For example 3.4 V per LiPo/LiIon cell. LiPo NEVER below 3.2 V!
const float CELL_FULLY_CHARGED_VOLTAGE = 4.2; // Usually 4.2 V per LiPo/LiIon cell.
// Note on resistor values: These values will be used to calculate the actual ratio between these two resistors (which is also called a "voltage divider").
// When selecting resistors, always use two of the same magnitude: Like, for example, 10k/2k, 20k/4k or 100k/20k. NEVER exceed a ratio LOWER than (4:1 = 4)!
// WARNING: If the ratio is too LOW, like 10k/5k (2:1 = 2), the battery voltage will most likely DAMAGE the controller permanently!
// Example calculation: 2000 / (2000 + 10000) = 0.166 666 666 7; 7.4 V * 0.167 = 1.2358 V (of 3.3 V maximum on GPIO Pin).
//
const uint32_t RESISTOR_TO_BATTERY_PLUS = 100650; // Value in Ohms (Ω), for example 10000 (9900 for switch mode test board, 9650 for Ural, 9500 for Landy).
const uint32_t RESISTOR_TO_GND = 19932; //  Value in Ohms (Ω), for example 1000. Measuring exact resistor values before soldering, if possible, recommended!
const float BATTERY_VOLTAGE_OFFSET = -0.08; // Fine adjust measured value and/or consider diode voltage drop (about 0.34V for SS34 diode on switch mode board; 0 for Ural & Landy).
const uint8_t BATTERY_VOLTAGE_AVERAGING_SAMPLES = 6;  // Number of samples to keep/use for averaging the measured voltage over time
volatile int outOfFuelVolumePercentage = 80; // Adjust the message volume in %
 
Zuletzt bearbeitet:

neo2001

Mitglied
Nachtrag zum Thema SBUS Glitches:

Habe jetzt zwei Tage lang eine andere Fernsteuerung verwendet und keine Probleme mehr gehabt, obwohl ich einen FlySky A8S verwende und WiFi an habe. War praktisch sicher, dass es nun tatsächlich daran liegt (Custom firmware der Flysky i6).

Aber eben habe ich den Aufbau der oben auf dem Bild zu sehen ist einfach nur wieder angestöpselt, ansonsten nichts verändert und nun blinkt und hupt er praktisch im Sekundentakt und die Servos zucken usw.. In der Dimension ist es noch nie aufgetreten.

Einziger Unterschied ist der 100 nF Kondensator und die Änderungen am Code für die Spannungsmessung.

Dieser Fehler macht mich wirklich wahnsinnig, weil er so extrem sporadisch und in vollkommen unterschiedlichen Ausmaßen auftritt.
 
Der Kondensator macht bei mir in der Praxis keinen Unterschied.
Ich habe auch nie einen verwendet.
Falls gewünscht, kann ich immer noch einen Pull-Request machen.
Ich habe gewisses übernommen. Den Rest muss ich erst anschauen.
Dieser Fehler macht mich wirklich wahnsinnig, weil er so extrem sporadisch und in vollkommen unterschiedlichen Ausmaßen auftritt.
Ich kann mir nur vorstellen, dass die Testverdrahtung das Problem (bzw. die Variable) ist. Auf deinem Bild sind die Motorkabel direkt neben den Servokabeln verlegt. Der Motor scheint auch keine Entstörkondensatoren zu haben.

Neue Version mit "Crawler Mode":
 
Zuletzt bearbeitet:

neo2001

Mitglied
Ich kann mir nur vorstellen, dass die Testverdrahtung das Problem (bzw. die Variable) ist. Auf deinem Bild sind die Motorkabel direkt neben den Servokabeln verlegt. Der Motor scheint auch keine Entstörkondensatoren zu haben.
Die Aussetzer passieren genauso ohne Motor und ohne Servos. Nur die Blinker-LEDs und der Receiver sind noch angeschlossen. Trotzdem hupt und blinkt er inzwischen fast im Sekundentakt. Eigentlich gut zur Fehlersuche. Habe mir das Signal mal mit dem Oszilloskop angeschaut, aber keine plötzlichen Störungen o.ä.. gefunden. Das Signal sieht auch einigermaßen sauber und klar definiert aus. Auch die Versorgungsspannung bleibt stabil bei 5 V.

Ein Kondensator zwischen SBUS und GND hat nichts gebracht, ebenso wenig wie den Receiver in Alufolie einzuwickeln.

Erst wenn ich die Fernsteuerung abschalte und der Receiver kein Signal mehr empfängt hört der Zauber auf (keine Überraschung).

Vermutlich entstehen immer wieder kurze Aussetzer und ein Kanal springt kurz auf Maximum. Vermutlich gehen deswegen auch meistens ein Blinker und die Hupe an.
 
Dann können wir ja Einstreuungen ausschliessen. Das Problem wird dann wohl die nicht stimmende Baudrate sein. Die erwarteten und die tatsächlich ankommenden Signale driften somit auseinander und somit entstehen den Kanälen fehlerhaft zugewiesene Bits und somit Fantasiewerte. Leider habe ich kein Oszilloskop, das dies überprüfen könnte. Wie bereits mehrfach erwähnt, kenne ich das Problem kaum. Es treten bei mir nur äusserst selten Störungen auf.
Was passiert, wenn du die Baudrate in 2000er Schritten anpasst oder #define CHANNEL_AVERAGING aktivierst? Du bist sicher, dass es nicht an deinen Code-Änderungen liegt?

Off topic: die neuen 3D gedruckten, mehr oder weniger massstäblichen Landy-Felgen:
IMG_4086.JPG

Mehr hier: #2

Bin nun an der v9.9.0 am arbeiten.
 
Thanks for the tip about removing the springs in those top knobs/wheels.
But i use this remote both for my tamiya truck and my excavator.

Excavator.. Im having problem with the sound card (not compact one) regular size one..

It worked fine for an hour or two a week ago. But now it doesnt make any sound at all, its like it having proble connect or understand what to do? (sbus)
Blue led flashing on esp32..

I managed to get it to work some days ago, but then the sound just looped, had to unplyg battery, but then it didnt start again, justblue led flashing.

Today i got it to work for 10minutes, but it was a huge delay (5sec) from when moving bucket, or tracks..

Im using FS10iab for this
 
Can you clarify?

Blue blinking/flashing led is because ESP thinks everything is not "neutral" ?

Im using 6-7 ESC for my excavator, every ESC except one got the red cable (read somewhere something can break, when you got all red wire connected, due to BEC from each ESC).

The one with the red cable is connected on ch5 on my fs-ia10b. ch5 i use for locking my bucket. So the switch is swb 3point , and all time in middle. Could this be the cause?

1655663841316.png
 
Yes, the number of blinks is indicating the channel number
Its blinking until i unplug it. It worked for 5seconds, then it freeze/looped. Cant get it to work again, very.. uneven problem, so i cant really diagnose it.

Tried, changing the rx to pcb cable.
Changed esp32, changed pcb.

I swapped to another esc (changed the red wire aswell).
I have yet not tested another rx, as i dont have another 10ch one.

Will see if i can make a short video of it
 

FrikkieBester

Mitglied
Super-Kompakt Version für den WPL C34. Der Eigenbau "Nano RC" SBUS Empfänger sitzt huckepack. Die 4 Widerstände sind alle 10k. Funktioniert soweit. Licht (es wird wohl nur Scheinwerfer kommen) und RZ7886 ESC fehlen noch. Bemerkenswert: es werden soweit keine zusätzlichen Kondensatoren verwendet. Beim RZ7886 will ich auch minimal fahren. Basierend darauf will ich dann ein Kompakt Board layouten.
IMG_4146.JPG
IMG_4147D.JPG
IMG_4145.JPG

Und noch ein neues Video:
 
Zuletzt bearbeitet:

Francis

Mitglied
Ola amigos! Sou novo aqui, deixa eu me apresentar, sou o Francisco do Brasil. Encontrei este projeto no YouTube há cerca de um ano e meio enquanto procurava mais informações sobre Arduino e RC. Desde então acompanha o aprimoramento, o desenvolvimento e os exercícios de todos vocês. Aliás, quero parabenizar o idealizador do projeto, que comecei a acompanhar as postagens no YouTube e Instagram, parabéns, amigo! E parabéns aos outros membros que também estão ajudando a melhorar, vocês são ótimos! Já um monte de necessidade da placa para minhas, há poucos dias chegou ao meu primeiro rc, um Scania Hercules 6x4. Estou muito feliz, poder usar e personalizar os sons e a iluminação ao nosso gosto. Eu acho que é muito melhor do que os que estão prontos para venda. Em breve conto mais sobre meu projeto e como faço. Espero contribuir e contribuir com o grupo! Por fim, gostaria de pedir desculpas por qualquer erro ortográfico. Eu uso o tradutor do Google para traduzir o conteúdo compartilhado com você aqui para o português Abraço! para traduzir o conteúdo compartilhado com você aqui para o português. Abraço! para traduzir o conteúdo compartilhado com você aqui para o português. Abraço!
 
Top Bottom