Welchen IMU Gyro Kompass für Sunray verwenden

ich hatte vermutlich eine kalte Lötstelle,die alles immer mal gestört hat. Habe dann, nachdem ich keine andere Idee mehr hatte, alles zerlegt und das gesamte Board mit der Lupe abgesucht und komisch wirkende Lötstellen nachgearbeitet. Danach war Ruhe.
 
Tja heute Morgen versucht den Roboter zu starten, keine Chance... mehrfach neugestartet, Stromlos gemacht, verschiedene Positionen versucht... keine Chance.
Neuverkabelung muss also wohl doch früher als geplant stattfinden.

Muss eh alle Kabel neu machen, bevor ich jetzt alle Kabel per Hand verdrille, kann ich nicht auch einfach für z.B. ESP32, GPS und IMU wo keine großen Ströme fließen ein Netzwerkkabel nehmen, da hab ich schon jegliche Schirmung und Twisted Pair von Haus aus.
Oder reicht der Aderquerschnitt dafür nicht?
 
sehe ich genauso. Und ansonsten hast du 2 freie Aderpaare, die du zusätzlich für die Spannungsversorgung nutzen kannst.
 
So nachdem ich jetzt halbwegs Ruhe hatte gehen seit einigen Tagen diese verdammten IMU Errors wieder los... es ist echt zum kotzen.
Gibt es irgendeine Option sich anzuschauen welche Werte bei der Sunray ankommen vom IMU Chip?

Das einzige was ich sehe ist halt der (imo timeout) in der App, alles andere im Log sieht halt okay aus.
Er endet dann in einer Endlos Rebootschleife.... 15x piepen für die Kalibrierung, danach ein sehr langer Piepton für 10s und dann wieder Reboot.

Das ist jetzt schon glaube der 6te IMU Chip den ich versuche und jedes mal zerlegt es die irgendwann.
Wobei der Random auch Morgen wieder klappen kann.
Hab mittlerweile den Verdacht das eventuell auch das PCB einen Schlag hat am I2C Bus aber hab keine Idee wo ich das prüfen könnte.

Man kann ja den IMU Chip auch einzeln testen, wurde hier ja schon mal gepostet, aber ich kann damit nichts anfangen, wüsste nicht mal an was ich den anklemmen müsste um so Graphen zu bekommen.

Jemand davon Ahnung und die Muse das mal im Detail zu erklären oder noch andere Ideen.
Oder kann ich irgendwo im Code den IMU deaktivieren bzw. trotz Errors wenigstens mal starten lassen?
Denn wenn der einmal läuft dann macht er das auch für 10h am Stück problemlos.
Hab das Gefühl der Chip funktioniert halbwegs, liefert aber hin und wieder mal Müll und das hält Sunray davon ab überhaupt starten zu wollen.

Update: Gerade ist er nach 20min Rebootschleife dann random auch irgendwann los gefahren... und jetzt läuft das vermutlich 8h wieder problemlos.
 
Zuletzt bearbeitet:
nutzt du die originale Sunray-Firmware oder hast du etwas modifiziert? Wenn du etwas modifiziert hast, dann solltest du dir die looptimes angucken. Wenn die loop zu lang wird, dann bekommst du BUS-Fehler.
 
Original, nur mit paar Anpassung um die Bremse der JYQD Treiber zu implementieren.
Wo würde ich die Looptime sehen?
 
Den IMU Chip macht man mit Vibrationen kaputt. Da sind pizoplatten verbaut. Deshalb muss man die mit doppelseitigen Klebeband festkleben. Am besten nimmt man das Spiegelband (Tesa) oder wie sich das nennt. Auch duch Kabel werden Vibrationen übertragen. Deshalb etwas längere dünne Kabel nehmen. Und nur der Kompas wird durch Magnetfeldern gestört. Zum Beispiel Motore und dessen Kabel.
 
Grad mal meine alten Logs hier angeschaut, da sind in der Tat einige drin von den Meldungen.

WARN: PID unmet cycle time Ta=2.05 TaMax=0.07
WARN: PID unmet cycle time Ta=2.05 TaMax=0.07

Einzige Idee die ich hab, hab immer noch einen Sleep drin um den Motortreiber zu resetten, der läuft aber nur wenn der Treiber in ein Error geht.
Schau ich mir aber nochmal an, würde aber irgendwie nicht erklären warum es dann random irgendwann geht und dann auch wenn er einmal mäht keine Probleme mehr macht.
 
niemals ein sleep/wait ins Programm einbauen! Damit zerschießt du jede looptime. Besser, du legst dir eine Variable an, in der du den Zeitpunkt der Programmausführung speicherst und dann fragst du jede Runde, ob der Zeitpunkt erreicht ist.
hier mal ein Beispiel für den WatchdogReset
if(millis() > wdResetTimer + 1000){
wdResetTimer = millis();
watchdogReset();
}
 
Grad mal meine alten Logs hier angeschaut, da sind in der Tat einige drin von den Meldungen.



Einzige Idee die ich hab, hab immer noch einen Sleep drin um den Motortreiber zu resetten, der läuft aber nur wenn der Treiber in ein Error geht.
Schau ich mir aber nochmal an, würde aber irgendwie nicht erklären warum es dann random irgendwann geht und dann auch wenn er einmal mäht keine Probleme mehr macht.

Neuen kaufen und dann so befestigen wie ich geschrieben habe. Da ist Mechanik drin die sich durch Vibrationen verklemmen können. Und sich dann auch wieder lösen. Kenne das ganze vom Modellheli. Da gibt es die gleichen Probleme wenn man nicht das richtige Klebeband verwendet oder garkeins. Aber musst du selber wissen wie du das lösen willst. Wenn du schon 6 kaputt hast vieleicht doch mal drüber nachdenken. Man kann auch mal Google fragen wie das innen aufgebaut ist.
 
Wo klebst du den Chip fest?
Klebeband ist jetzt grundsätzlich erstmal kein Schwingungsdämpfer wenn der Chip damit irgendwo drauf klebt was ebenfalls schwingt.
Oder meinst du den quasi freihängend mit Klebeband aufhängen?

Hab den aktuell mit einem 3D Druck Klipp direkt oben auf dem Mainboard stecken damit die Kabel so kurz wie möglich sind.
Aber wenn es da ein simple bessere Lösung für gibt schau ich mir das gerne nochmal an.
Hab noch ein paar IMUs als Ersatz hier liegen. :)

Aber bin doch nicht der Einzige der den halbwegs fest verbaut verwendet?
Dann müssten die doch alle regelmäßig hops gehen?
Auf dem neuen PCB 1.5 ist der Chip dann ja sogar fest aufgesteckt direkt auf der Platine.
 
Ich kann dir nur sagen das es im Heli funktionirt mit Klebeband und ohne nicht. Ein Heli hat auch reichlich Vibrationen. Ist ja nur ein Vorschlag. Musst du ja nicht machen. Wo du den hin klebst spielt keine Rolle. Es muss nur X,Y und Z in die richtige Richtung zeigen. Ich weis das es auch nicht alle glauben. Beim Heli habe ich den völlig aus dem Drehzentrum. Die Drehwinkel sind aber überall gleich.

Die Probleme sind ja bekannt. Wer das nicht kennt oder nicht glauben will macht es dann anders.
Wenn das beim PCB 1.5 fest gesteckt ist wird es auch Probleme geben. Muss aber nicht immer.
 
Vieleicht ist es nicht richtig rüber gekommen.
Also kein einfaches doppelseitiges Klebeband. Sondern z.B. Spiegelband. Das ist viel dicker. Schau dir mal an wie das aussieht. Für den Heli kann man auch Pads dafür kaufen.
 
Im having IMU problems too, I believe is due to heat though, if I let the mower rest for a while it works again, but it stops working if its too hot outside,

I have a couple more 6050s...
These MPUs are technically discontinued, maybe we should move to someting like the ICM-20948 wich is supposed to be their replacement.
 
Ich habe die IMU mit Kunststoffabstandhalter von Amazon auf den Boden geschraubt. Zuerst hatte ich die 9250, die ging auch schnell hinüber. Die zweite ist eine 6050 von Marotronics. Funktioniert jetzt das 3 Jahr.
 
Oben