GPS jumps to invalid when starting to mow

rothnic

New member
I've had some hit or miss luck with RTK. When I first put together my mower, it worked, but had a lot of GPS fix dropouts. Then, while working on other issues it seemed to start working pretty good. I've continued working on other unrelated issues and completing the build, but now I'm back where I can't seem to maintain a fix when starting mowing.

Issue: The mower will sit all day in a great spot with wide field of view and maintain a fix. However, when I tell it to mow, almost immediately the you'll hear the beeping, then the mower motor, then the gps will change to Invalid, then go back and forth between Invalid, float, and fix. Typically when there is a fix, it will go to start up the mower motor and then it goes right back to invalid.

I don't understand why it would sit there forever with a fix and then without moving at all, when I tell it to start mowing that it would start having issues. All of my wires are short and soldered in place if possible. All the high-current stuff is twisted together.

Things I've done recently:
  • After having this issue, I soldered the wires on the rover gps board to make sure there wouldn't be a bad connection
  • I wired in the kill switch in-line with the battery, so I could turn off the robot. This was the change I made right before I started having these problems
  • I enabled some IMU settings in the config to detect rotation errors right before this began
  • I've made sure the base station has a good view of the sky (still in the same spot as before when working great)
  • Checked how my wires are located in the mower. The only wiring that comes close to anything GPS related is the kill switch wiring is near the antennas

Somehow I went from maintaining a fix 90% of the time, to barely being able to get the mower to start moving without getting an invalid state. I assume it has to be interference, but I don't see how I could make it much better.
 
Without understanding the root of this problem my solution was to set
Code:
#define DOCK_IGNORE_GPS
to true in config.h
 
I removed the kill switch and I think that has helped a good bit, but I'm still getting it some. I can turn on the mowing motor manually and drive it around with the remote and it'll keep a fix all day long. Then, once I tell it to start mowing almost instantly goes to float or invalid before even beginning to move. It is doing it less without the kill switch and will at least start mowing.

I tried tracking down in the code all the things that start to happen when the mower goes into a mow state, but it was kind of hard to track it all down.
 
I’m having a similar issue. Any update on this. I thought the mower may be causing interference to the GPS module/wiring. I’m going to try moving some stuff around to see if it resolves.
 
Yeah, I've had it off and on. I just have been as careful as possible to keep all the antenna cables and wiring for the gps as far away from motors and wiring as possible.

At the moment, I've just had to not use the kill switch, which is a bit worrying. I tried to move the kill switch to the motor stop connection, but haven't gotten that to work.

I still believe there must be some aspect of a firmware issue here with the ardumower code. I just don't get why it would sit with a fix all day until you tell it to mow. But, by avoiding interference it seems to at least get back into a fix even if it goes to float temporarily.
 
Ok good to know. Do you think some cable shielding would improve the interference? I’m thinking about trying that to see if things look better.
 
Ok good to know. Do you think some cable shielding would improve the interference? I’m thinking about trying that to see if things look better.

I'm not sure what kind of shielding might be able to be added, but in theory I would think so. Interference issues like this tend to be about a combination of factors. You tend to be just trying to push down the noise floor to where the communication/error correction algorithms can consistently handle any minor interference. The other side of that is if you can increase the signal-side of things, but the behavior I was seeing made it hard to know for sure where it was coming from.

Here we are talking about a combination of multiple systems, multiple communication paths/protocols, and firmware, so it is hard to understand where the issue is originating from, so it leaves a lot of uncertainty. Is it due to the xbee communication, the gps signal, the motor interference, the imu, the firmware of the ardumower or the gps unit, or a combination of everything and how they interact? So yeah, you are left kind of having to try account for everything.

One thing I wish I had done was consider trying the xbee and esp32 antenna on the back of the mower, just below the lid. This would help isolate the cabling for those into the far back of the mower and it would be in a more consistent place. I was having to take the lid off over and over while tweaking other things, so it is hard to make sure you get the lid on with the wiring in a consistent place every single time, while also making sure they don't get pinched. I have for now at least tried to tuck the extra gps antenna, xbee antenna, and esp32 antenna wiring all into that back section of the mower where the battery was intended to go. My battery is too large to fit it there, so I have it next to the mow motor. Having the antennas on the lid just make it a pain in the butt to get the lid on each time.
 
Today I found a broken koaxialcable which connect the RTK antenna of the Ardumower with the Xbee board.
 
Der Ardumower darf zwischen Fix und Float wechel, was ganz normal ist.
Nach meiner Beobachtung tritt Invalied nur auf wenn
das Antennenkabel defekt d.h. gebrochen, oder die Kontakte nicht in Ordnung sind. Als 3. Ursache sind CHK Summen Fehler durch zu viele Daten eine Ursache.
 
Ich habe jetzt auch ein irgendwie geartetes Phänomen, dass ich den Mäher gelegentlich nicht loslegen lassen kann.
Dann startet der Motor ganz normal und läuft rund. Ein Fix mit ausreichend Satelliten ist noch immer gegeben. Wenn man eigentlich erwartet, dass er losfährt, springt die Ausgabe auf invalid mit 0/0 Satelliten und der Motor stoppt kurz, läuft aber gleich wieder an und es steht auch gleich wieder ein Fix mit ordentlicher Zahl an Satelliten zur Verfügung. Das wiederholt sich dann. Mäher stoppen und woanders noch mal probieren führt immer zum gleichen Ergebnis.

Erstmals ist das Problem aufgetreten als ich den Mäher dieses Jahr aus dem Keller geholt und initial in Betrieb genommen habe. Eigentlich schien der Akku von der Spannung her noch ausreichend geladen zu sein. Dennoch nach etwas weiterem laden (im Haus) und erneutem Inbetriebnahmeversuch gab es dann keine Probleme.
Akku voll geladen hatte ich dann die letzten Tage keine derartigen Probleme.

Heute hatte ich dann einigen gemäht und den Mäher nach Abschluss 1-2h ohne nachladen draußen stehen lassen. Beim Versuch fortzusetzen, kam es wieder zu o.g. Phänomen. Spannung bei laufendem Mähmotor war noch 24.9V. Dennoch keine Anfahrt zum automatischen Mähvorgang. Manuelle Fahrt mit Fernbedienung war auch bei Laufendem Mähmotor kein Problem.
Nur wenig auf 25,3V im Haus nachgeladen, lief alles wieder.
Nach wenig weiter Mähen den Vorgang manuell beenden und ein Neustartversuch bei 24,7V war auch möglich.

Sicher bin ich mit da noch nicht. Aber ich tippe gerade darauf, dass es damit zu tun hat, wenn der Akku nur noch bei ca. 50% voll und kalt ist. Dann scheint für irgendwas nicht mehr ausreichend Strom zur Verfügung zu stehen.
Mich wundert nur, dass es nur im automatischen Betrieb zu den Problemen führt, nicht aber im manuellen Betrieb. Also müsste es ja irgendwas mit IMU oder MapData-Zugriff, ... zu tun haben.
 
Hallo,

ich muss das Thema nochmal aufgreifen. Bis vor ein 3 Wochen war alles gut. Plötzlich __immer__ GPS invalid, wenn im "mow"-Betrieb die Fahrmotoren anrucken. Mower bleibt stehen, Mähmotor geht aus. GPS sofort wieder fix (0,02 m, 45/45 Satelliten). Mähmotor geht wieder an. GPS-Fix bleibt stehen. Wenn die Fahrmotoren anrucken, GPS wieder invalid. Das geht wirklich stundenlang ohne Fortschritt.

Ich habe mir die "Multiband Budget Survey Antenna" gegönnt. Ich habe 2x neue GPS-Antennenkabel angefertigt.

Wenn ich mit eingeschaltetem Mähmotor und Steuerung der Fahrmotoren übe das Fadenkreuz in der App "manuell" mähe, bleibt der Fix. Da kann es doch kein EMV-Problem sein?!? Ich habe mir die "Multiband Budget Survey Antenna" gegönnt. Ich habe 2x neue GPS-Antennenkabel angefertigt.

Hat jamand eine Idee?

Ich zünde das Ding gleich an...
 
Hallo,

ich muss das Thema nochmal aufgreifen. Bis vor ein 3 Wochen war alles gut. Plötzlich __immer__ GPS invalid, wenn im "mow"-Betrieb die Fahrmotoren anrucken. Mower bleibt stehen, Mähmotor geht aus. GPS sofort wieder fix (0,02 m, 45/45 Satelliten). Mähmotor geht wieder an. GPS-Fix bleibt stehen. Wenn die Fahrmotoren anrucken, GPS wieder invalid. Das geht wirklich stundenlang ohne Fortschritt.

Ich habe mir die "Multiband Budget Survey Antenna" gegönnt. Ich habe 2x neue GPS-Antennenkabel angefertigt.

Wenn ich mit eingeschaltetem Mähmotor und Steuerung der Fahrmotoren übe das Fadenkreuz in der App "manuell" mähe, bleibt der Fix. Da kann es doch kein EMV-Problem sein?!? Ich habe mir die "Multiband Budget Survey Antenna" gegönnt. Ich habe 2x neue GPS-Antennenkabel angefertigt.

Hat jamand eine Idee?

Ich zünde das Ding gleich an...
hast Du mal über die Console verfolgt was passiert? Wenn Du die Fremdeinwirkung auf den Kabelsalat ausschließen kannst...
Vielleicht ist auch Deine Speicherkarte schuld, das hatte ich auch mal dass das GPS immer wieder in den reboot geht weil er keinen Mähpunkt hat, Sobald man die Mähkarte frisch auf den Mäher spielt und den Mähvorgang startet war das Problem weg. Hab dann die Karte getauscht.
 
+1 Formatieren der SD-Karte hat geholfen.


Hallo Algo,

sorry, konnte erst jetzt probieren. VIELEN DANK!!!

Hartmut
 
Hallo,

ich muss das Thema nochmal aufgreifen. Bis vor ein 3 Wochen war alles gut. Plötzlich __immer__ GPS invalid, wenn im "mow"-Betrieb die Fahrmotoren anrucken. Mower bleibt stehen, Mähmotor geht aus. GPS sofort wieder fix (0,02 m, 45/45 Satelliten). Mähmotor geht wieder an. GPS-Fix bleibt stehen. Wenn die Fahrmotoren anrucken, GPS wieder invalid. Das geht wirklich stundenlang ohne Fortschritt.

Ich habe mir die "Multiband Budget Survey Antenna" gegönnt. Ich habe 2x neue GPS-Antennenkabel angefertigt.

Wenn ich mit eingeschaltetem Mähmotor und Steuerung der Fahrmotoren übe das Fadenkreuz in der App "manuell" mähe, bleibt der Fix. Da kann es doch kein EMV-Problem sein?!? Ich habe mir die "Multiband Budget Survey Antenna" gegönnt. Ich habe 2x neue GPS-Antennenkabel angefertigt.

Hat jamand eine Idee?

Ich zünde das Ding gleich an...
1. Das Ublox wird mit 2,7- bis 3,6 Volt betrieben. Meine Boad bringt aber nur 3.1 Volt am GPS Stecker. D.h. ,alles altert die Kondensatoren und die Spannungsregler auch. Ebenso die Kontakte. Da ist meine Vref also nicht 3,3V. Wenn du Vref noch hochsetzt wegen der Spannungsanzeige auf 3,35V dann können nur noch Störungen übertragen werden. Also lass die Motoren laufen mit miss die Versorgungsspannung am GPS und die Referenzspannung am GPS. Dann stelle deine Vref in der Config.h gleich ein und teste.

Ich hatte mich entschlossen am F9P Stromanschluss direkt noch einen ELKO so 68V und 100 μF anzulöten. Man kann ja mal messen mit Ozi ob es da auch noch Störungen auf der Stromleitung gibt und noch 5 nF parallel anlöten.

2. Ich habe gestern mal die Sunary https://github.com/ShadedSelf/Sunray-CE/tree/main/sunray getetet. Die Version zeigt genau das gleiche verhalten Mow an Fix weg usw. Dann die neue 318 runtergeladen und der Spuck mit dem verschwundenen Fix war weg.

Dennoch bekomme auch ich immer wieder ganz kurz GPS Invalid dann sofort Fix. Ich gehe zu 99% von einem Softwareproblem aus, da ich zwei Rover benutze und es bei beiden auftritt mal mehr oder weniger. Entweder ist es ein Timerproblem oder ein Interrupt oder Vref usw.

3. Zum Test nimm mal eine ganz alter Version und prüfe ob diese VerschwindeFIX dann weg ist. Oder Takte mal das M4 hoch, ob es da besser wird insbesondere den BUS.
 
Ich hatte dieses Jahr auch viele Probleme mit kurzen "invalid" Peaks, Mähmotor ab- und Anschaltungen, ... - Mal mehr, mal weniger Probleme. Da ich nichts an Hardware geändert hatte, aber auf die neue SW aufsetzte, suchte ich hierin die Fehler - gab bestimmt auch einige. Aber mein Grundproblem blieb vermutlich bestehen.
Zuletzt konnte ich ihn nur noch ferngesteuert fahren, bis ich einmal den Mähmotor versucht habe zu starten. Dieser blieb aus und ab da konnte ich ihn auch nicht mehr ferngesteuert bewegen.
Beim normalen Mähstart blieb er gerade stehen und piepte nur langsam. Eine Fehlermeldung hatte ich jedoch nicht.
Dann Mäher zerlegt und mit Bluetooth verbunden ließ sich der Mähmotor starten.
Eine Bluetooth-Verbindung blieb immer nur kleiner 1 Minute bestehen und brach dann ab. Ich dachte erst, es hinge mit dem Mähmotor zusammen. Dann musste ich feststellen, dass diese Verbindung auch dann abbrach, wenn ich nichts machte.

Darauf habe ich mal die Realtime-Clock-Batterie getauscht, obwohl diese in Leerlauf noch 3,4V brachte.

Jetzt hat er gerade den Garten das 2. Mal problemlos gemäht.

Mal sehen, ob es das wirklich war oder ob das Problem in den nächsten Tagen wieder aufkommt.
 
1. Das Ublox wird mit 2,7- bis 3,6 Volt betrieben. Meine Boad bringt aber nur 3.1 Volt am GPS Stecker. D.h. ,alles altert die Kondensatoren und die Spannungsregler auch. Ebenso die Kontakte. Da ist meine Vref also nicht 3,3V. Wenn du Vref noch hochsetzt wegen der Spannungsanzeige auf 3,35V dann können nur noch Störungen übertragen werden. Also lass die Motoren laufen mit miss die Versorgungsspannung am GPS und die Referenzspannung am GPS. Dann stelle deine Vref in der Config.h gleich ein und teste.

Ich hatte mich entschlossen am F9P Stromanschluss direkt noch einen ELKO so 68V und 100 μF anzulöten. Man kann ja mal messen mit Ozi ob es da auch noch Störungen auf der Stromleitung gibt und noch 5 nF parallel anlöten.

2. Ich habe gestern mal die Sunary https://github.com/ShadedSelf/Sunray-CE/tree/main/sunray getetet. Die Version zeigt genau das gleiche verhalten Mow an Fix weg usw. Dann die neue 318 runtergeladen und der Spuck mit dem verschwundenen Fix war weg.

Dennoch bekomme auch ich immer wieder ganz kurz GPS Invalid dann sofort Fix. Ich gehe zu 99% von einem Softwareproblem aus, da ich zwei Rover benutze und es bei beiden auftritt mal mehr oder weniger. Entweder ist es ein Timerproblem oder ein Interrupt oder Vref usw.

3. Zum Test nimm mal eine ganz alter Version und prüfe ob diese VerschwindeFIX dann weg ist. Oder Takte mal das M4 hoch, ob es da besser wird insbesondere den BUS.
Ich habe auch dieses Verhalten, oft wenn der bumper ausgelöst wird bzw. Obstacle mit anschließendem pathfinder. Oft ist das invalid so kurz, dass es in der App nicht angezeigt wird. Ich habe die Häufigkeit reduzieren können, indem ich den invalid status erst nach 200 iterationen setze. Ein schmutziger workaround. Ich denke jedenfalls es ist ein interrupt problem oder aber, wahrscheinlicher... Die 2 -3 Sekunden pathplanner wo die ublox Daten Kommunikation dann kaputt geht. Pathplanner ist auch bei jedem mal mowop aus allen anderen ops aktiv.
 
Hallo Hartmut, hier ist Hartmut ;-),

vielen Dank. Bei mir wird das FP9 via USB vom Raspi versorgt, weil darüber auch die NTRIP-Daten zum GPS kommen. Das 5V-Kabel zum Ardumower ist unterbrochen. Der Raspi wird von einem eigenen LM2596S versorgt, de wiederum am Akku hängt.

VREF ist bei 3,27 V. Der Oszi zeigt ca. +-0,06 V Ripple mit 14 µs Periode, also 71 kHz. Niederfrequentere Anteile konnte ich nicht identifizieren. Wenn ich Elkos oder 10 nF ranhalte, ändert sich nichts. Einschalten der Fahrmotoren bringt noch ein paar höherfrequente Anteile, aber mit geringerer Amplitute.

Die 5V rippeln auch mit etwa diese Amplitute, aber höherer Frequenz. Darauf bekomme ich den Analog-Oszi nicht getriggert.

Ich verwende 322 (via GIT), mit 318 war ich wegen der Tänzchen am Bahnende nicht zufrieden.

Wie gesagt, seit dem Formatieren der SD-Karte läuft er.

Hallo EastSoft,

RTC ist bei mir bereits seit vorigem Jahr ausgebaut und nur noch PullUp Widerstände drin.
 
Oben