Nano hängt sich bei Betrieb eines Fahrtenreglers auf

Moin !

Ich habe da ein sehr merkwürdiges Problem mit einem Nano ... Und zwar bin ich dabei einen Empfänger auszulesen (Summensignal) am damit einen Bagger zu steuern. Der Nano soll die nötige Mischung / Verteilung der Servosignale machen. Getestet habe ich das mit einem 7 Kanal Empfänger und 4-8 Servos. Lief anstandslos - sowohl Summensignal wird sauber dekodiert und auch die 8 Servoausgänge sind am Nano kein Problem.

Nun war gestern der erste Test am lebenden Objekt :slight_smile: - Einbau in den Bagger.
Erst ließ sich alles normal steuern, aber irgendwann kamen Aussetzer. Ein Blick ins serielle Log hat gezeigt dass das Summensignal nicht mehr sauber gelesen wurde.

Also alles reduzieren und nur einen Regler mit einem kleinen Motor an den Nano angeschlossen. Sobald der Motor anläuft setzt das Dekodieren des Summensignals am Nano aus (bzw. liefert falsche Werte) und auch die serielle Schnittstelle verabschiedet sich.

Die 5V BEC vom Regler habe ich übrigens erst gar nicht genutzt. Nur Masse und Signalleitung.

Noch merkwürdiger wird es wenn ich den Regler nicht über den Nano sondern direkt am Empfänger normal anschließe. Der nano macht dann nur noch Dekodierung des Summensignals. Selbst dann hängt er sich weg.

Bin etwas ratlos ... Kann es denn sein das der Regler so massiv über Masse / Signalleitung Störungen verursacht? Werde heute mal mit dem Hersteller des Reglers telefonieren. Aber evtl. hat ja hier jemand ne gute Idee was ich machen könnte ...

Grüße Dominik

Da wir nichts von deinen verwendeten Komponenten kennen (immer schön Geheim halten) muss ich raten. :wink:

Es sind keine Freilaufdioden am Motor verbaut.

Läuft da ein Brushless-Motor? Wenn ja dann kann man keine Dioden anschließen.
Die Brushlessregler vom Chinamann z.B. können Drecksäue sein was die Versorgungsspannung angeht. Ich habe es covern können mit dicken sauberen Masseverbindungen. Wenn du einen Zentralen Akku hast wo der Fahrtregler und der Ardu dran sind mit ner Sauberen Masse dann solltest nur das Summensignal nutzen Masseschleifen sind nicht immer so nett evtl mal einnen 100nF und 10nF Kondensator als an die Versorgung direkt vorm Arduino setzen als "Filter".
Evtl sind auch die Last-Leitungen zu nach am Arduino.
Gruß
DerDani

Moin !

Da wir nichts von deinen verwendeten Komponenten kennen

Empfänger : Scan 7 V2 mit Summensignal Abgriff
Controller für Sum Signal Verarbeitung und Servo Signal Generierung : Arduino Nano
Regler : THOR 4 Regler von CTI Modellbau (BEC wird nicht genutzt)
Motor : Ist fast egal. Die elektr. Zylinder oder ein kleiner normaler DC Motor.
Probleme sind identisch :slight_smile:

Es sind keine Freilaufdioden am Motor verbaut.

Also ich gehe ja mal schwer davon aus das im Regler entsprechende Dioden vorgesehen sind.
Das kann ich aber nochmal nachfragen.
Wäre ansonsten auch ziemlich müssig, weil ich ja dann extra nochmal 4 Dioden anklemmen müsste.

Läuft da ein Brushless-Motor?

Nein normaler Motor.

evtl mal einnen 100nF und 10nF Kondensator als an die Versorgung direkt vorm Arduino setzen als "Filter".

Am Arduino hab ich schon 100µF + 100nF platziert. Kann aber noch nen 10nF testweise dazu setzen.

Habe eben mit dem Hersteller der elektr. Zylinder gesprochen. Er meinte nur das man evtl. die Regler Anschlüsse mit Ferritkern versehen sollte. Muss ich mal testen.

Grüße

Es hört sich jedenfalls sehr stark nach EMV-Problemen an, also nach Störstrahlungen aus den einzelnen Komponenten die dir nach irgendwo durchschlagen. Jeweils die richtige Dämpfung zu bekommen ohne die Störung als solche direkt messen zu können ist schwer. Deswegen testen. 100µF Kondensatoren sind Stützkondensatoren gegen Spannungsschwankungen, helfen aber bei sehr hochfrequenten Ströstrahlungen kaum. 10nF sind da eher passend.

Ferrite dämpfen Induktiv, aber eher in kleineren Frequenzbereichen und ein Ferrit um eine Leitung entspricht gerade mal einer Windung. Da aber arbeiten sie sehr gut. Vieleicht mal einen Ringkern nehmen und den Draht mehrfach durchwickeln als Spule um zu dämpfen. Dann aber beide Seiten wickeln auf einen Kern, also + und GND und dabei die Wickelrichtung so setzen das die +-Wicklung ZUM verbraucher geht und die GND-Wicklung weg vom Verbraucher, weil sich die Wirk-Ströme dann im Kern aufheben und nur die Störungen gedämpft werden.

Die Ströme müssen also gegeneinander fliesen Wenn man Wicklungsanfang und Wicklungsende betrachtet an der Spule.

Das dämpft noch besser als ferrrite, es entspricht quasi 2-3 Ferrite oder noch mehr, je nach Kernmaterial.

Ebenfalls eine Standardmassnahme im Labor ist Masse großflächig zu verbinden. Also in diesem Fall alles was GND heist und auf unterschiedlichen Platinen sitzt mit möglicht großem Querschnitt verbinden, nur um mal rauszufinden obs überhaupt einen Effekt hat. Mein Laborassistent sagt immer: das ist keine Wissenschaft sondern schätzen auf hohem Niveau.

Hier mal einige Infos zu EMV-Störungen. Wobei Schalttransistoren keinen Abschaltfunken haben. Aber die Schutzmassnahmen gegen Störimpulse sind unabhängig davon wie die Störung erzeugt wird.

Moin !

Der 100µF war auch als Stütze gedacht.
Zum Blocken war der 100nF gedacht. Aber ich werde das mal mit 10nF testen.

Und das mit der Masse muss ich mir auch nochmal genau ansehen.

Grüße

Moin !

Ich habe gestern Abend nochmal einen Versuch gestartet die Sache ans Laufen zu bekommen. Leider vergebens. Weder 10nF am µC noch eine zentrale "dicke" Masse haben was geholfen.

Ich habe dann einen anderen Ansatz gewählt und lese die Signale vom Empfänger jetzt nicht über die Summe ein sondern jeden Kanal einzeln. Mit der RC Arduino Fast Lib geht das sehr gut. Ich habe sogar den Eindruck das die Signale "ruhiger" eingelesen werden als beim Summensignal. Dort haben die Werte stärker geschwankt bei gleicher Knüppelstellung.

Jedenfalls läuft es mit der "neuen" Methode sauber. Keine Aussetzer mehr und der Bagger läuft butterweich. :slight_smile:

Danke aber für die Anregungen zur Problemlösung !!

Wenn es mit einem "normalen" Arduino Performance Problme gibt kann ich dir noch den Teensy 3.2 empfehlen. Der hat wesentlich höhren Takt was auch beim einlesen der Signale hilft. Er ist auch vom Preis her wesentlich angnehmer bei der Power als "Arduino"s.
Gruß
DerDani

Moin !

Wenn es mit einem "normalen" Arduino Performance Problme gibt

Die Performance war ok. Mit etwas Glättung konnte man die Werte schon brauchen.

Problem war eher das ich Störungen im System hatte. Und die habe ich nicht weg bekommen.
Beim direkten abfragen aller Pins vom Empfänger habe ich die Störungen nicht.
Ich vermute mal das da irgendwas mit dem Summenabgriff im Empfänger nicht gestimmt hat.