RoπLawnMow

Today I did some tests with ultrasonic sensors on the Raspberry Pi using a Python script.
I tested the waterproofed JSN-SR04 as well as the HC- SR04. My findings:
The HC SR-04 is cheaper and more accurate than the slightly more expensive JSN-SR04. This sensor can only measure the shortest distance of 20cm. It doesn't provide any valid if the distance is shorter. The HC SR-04 measures minimum distances to 3 cm very reliably. Both sensors deliver valid values up to a distance of 250cm. However, strong reflections occur in the room, which distorts the measurement results. This would still have to be tested outdoors. A disadvantage is that you need 4 GPIOs for 2 sensors. I haven't found a script that uses only one trigger signal yet.
So if I change the ToFs in Ultrasonics Sensors I will use the HC- SR04. But I see in the moment not a great advantage to the VL530X ToF.
Has anybody a solution on Raspberry Pi for 2 Sensors with only one Trigger Signal?
May be this can be a solution
Code:
 while True:
       GPIO.output(TRIG, True)
       time.sleep(0.00001)
       GPIO.output(TRIG, False)
       while GPIO.input(ECHO_left)==0:
          pulse_start = time.time()
       while GPIO.input(ECHO_left)==1:
          pulse_end = time.time()
       pulse_duration = pulse_end - pulse_start
       distance_left = pulse_duration * 17150
       distance_left = round(distance+1.15, 2)
       GPIO.output(TRIG, True)
       time.sleep(0.00001)
       GPIO.output(TRIG, False)
       while GPIO.input(ECHO_right)==0:
          pulse_start = time.time()
       while GPIO.input(ECHO_right)==1:
          pulse_end = time.time()
       pulse_duration = pulse_end - pulse_start
       distance_right = pulse_duration * 17150
       distance_right = round(distance_right+1.15, 2)
       print("Left: ",distance_left,"cm \t Right: ",distance_right,"cm" )
       time.sleep(0.2)
 
Last edited:
i Have exactly the same result in my side .
HC-SR04 is perfect for short detection, so put it in direct front of mower and read it each 500 ms and normally mower never hit object.
JSN-SR04 are OK between 50 cm and 1.5 meter but no so reliable than HC-SR04 at short distance.

For 1 trigger signal i never test.
Teensy is here to have more free pin and i don't know if MCP23017 is fast enough for sonar use.:ROFLMAO:
 
i Have exactly the same result in my side .
HC-SR04 is perfect for short detection, so put it in direct front of mower and read it each 500 ms and normally mower never hit object.
JSN-SR04 are OK between 50 cm and 1.5 meter but no so reliable than HC-SR04 at short distance.

For 1 trigger signal i never test.
Teensy is here to have more free pin and i don't know if MCP23017 is fast enough for sonar use.:ROFLMAO:
Thanks for sharing your results with me. I thought JSN is a good alternative for the ToF, but unfortunately no.
During the winter months I will rebuild my first Mower with the actual drivers and SW. for that I have to print some parts. In this mower (Project name "Hybrid") I wil use the SR04. And its easy to transfer the distance Data form the teensy together with the perimeter Data via i2C to the pi.
So I will do that in this way. Nice weekend!
 
HC-SR04 is perfect for short detection, so put it in direct front of mower and read it each 500 ms and normally mower never hit object.
What is your experience with bushes, flowers and shrubs?
The reflection is not as good as a smooth surface like a wall or something similar
 
What is your experience with bushes, flowers and shrubs?
They are detected, but not all the time in my test, so not a 100% reliable solution.
I only test detection between 40 and 90 cm with JSN and HC sonar , so certainly sensor at front of mower work better.
Perimeter wire is more secure for flower.
 
They are detected, but not all the time in my test, so not a 100% reliable solution.
Do you have any experience with disruptions on the I2C bus in the ArdoMower projects?
The only reason I would replace the ToFs with SR04 on my Test Mower is to avoid sensor malfunctions
due to I2C interference. Malfunctions very rarely occur. The sensor values usually only freeze
for one sensor. If I restart the script it works propper again. But there is no way to detect that.
Because if its freeze e.g. 200cm you don't know if there is an obstacle or not. If its freeze e.g. 76cm
and he drive forward, and the distance not change, then it make sense to restart the Script.
But I recognized this only at my MINI Test Mower Model

P1230626.JPG
 
Heute habe ich bei meinem MINI Test Mower Model die VL53L0X ToF Sensoren gegen VL53L1X ToFs ausgetauscht.
Ich hatte diese Sensoren noch in meiner Bastelkiste gefunden und wollte die schon seit langem mal testen. Was soll ich sagen, ich bin begeistert,
In freiem Gelände konnte ich die noch nicht testen, aber in meinem Hobby Zimmer stellen die die VL53L0X ToFs in den Schatten. Die ich vorher hatte waren bis 2m distance angegeben und schafften 127cm. Darüber hinaus wurde es schwierig. Gut für das Ausweichen des Mowers ist da Platz genug. Aber mit ToF400C-VL53L1 habe ich eben im Flur ohne Probleme 376cm Entfernung messen können. Da war ich schon beeindruckt. Also qualitativ doch besser als die VL53L0X für ca. 3,50€. Für die ToF400C-VL53L1 mit vorgesetzter Schutzlinse habe ich bei Ebay ca. 7€ pro Stück bezahlt. Ich betreibe sie mit dem TCA9548 am I2C Bus.
Für meinen großen Alko Mäher den ich im Winter umrüste, stelle ich mir diese an der Front vor, jeweils rechts und links und ebenfalls an den Seiten, um vor einer Drehung zu schauen ob an der jeweiligen Seite genügend Platz ist. Der ALKO Mäher ist gute 60cm lang und braucht zum Drehen schon ein wenig Platz.
 
Hallo
heute habe ich in meine Android BT-App eine Kompass Rose eingebaut.
Sie zeigt mir die aktuelle Fahrtrichtung vom QMC5883L an. Der Kompasswert wird alle 250ms an die App übertragen. Batteriestatus und Mähmotor Anzeige werden sekündlich aktualisiert. Der Mittelpunkt der Rompass Rose fungiert nach wie vor als Joystick für die RC Steuerung.
Im Moment ist es bei uns aber so nass auf dem Rasen, dass ich da leider nicht fahren kann.
Also muss ich vielleicht noch bei @Fürst Ruprecht in die Lehre gehen und auf Allrad umstellen. Das kommt sicher noch wenn ich mein BoByCar aufrüste. Der receiver Code und den Code für die Android HandyApp findet ihr hier auf github
Ich habe sie mit Android Studio geschrieben und ist ab API 28 lauffähig.
Vielleicht finde ich noch einen Ziffern Kreis um auch die YAW Werte darstellen zu können.
1731688663457.png
Your Feedback is welcome
 
In den letzten 2 Wiochen habe ich mit dem Perimeter Empfänger beschäftigt.
@Bernard war so nett und hatte mir das Perimeter Empfänger Programm aus der Ardumower SW isoliert damit ich das auf meinem RoπLawnMow
auch einzeln auf einem Teensy betreiben kann. Es funktioniert ja auch sehr zuverlässig. Da ich in den nächsten Wochen meinen anderen Mäher auch auf meine aktuelle SW umrüsten möchte habe ich überlegt ob es nicht eine preisgünstigere Alternative zum Teensy 4.1 gibt, das dann auch die Geschwindigkeit erfüllt um das Signal vom Sender ordentlich zu decodieren. Eigentlich war mein Ziel das mit einem PiCo zu lösen. Der war aber viel zu langsam bei der Analog verarbeitung. Dann habe ich mit einem MC3204 über SPI an einem Pi experimentiert. Das hätte den Charme gehabt, dass ich nicht noch einen zusätzlichem Controller in meine Mäher einbauen muss, sondern einfach ein zusätzliches Python Script auf dem Pi laufen lasse. Das funktionierte zwar von der Geschwindigkeit, aber benötigte viel zu viel CPU LAst vom Pi.
Also zurück zu einem seperaten Controller. Nach einem Umweg über ein STM32 (Blackpill) - ihr seht das Experiment im Video- habe ich mich doch auf das ESP32 Board focusiert, da es später man über OTA auch administrierbar wäre. Die erzielten Messwerte mit dem ESP32 waren nicht viel schlechter als das beim STM32. Der ESP benötigt zum auslesen eines Analogkanales ca 82us. Passt also zu dem Signal von ich glaube 102 oder 104us. In dem Original Scetch vom Teensy Board wird alle 24us der Analogeingang ausgelesen.
Damit bin ich mit den 82us zu langsam. Meinen Timer habe ich auf 5*24us eingestellt. Damit erzielt er schon beachtlich gute Ergebnisse. Ohne dass ich Mittelwerte bilde, das will aber noch implementieren. In meinem Bastelzimmer läuft der Perimeter Draht unter meinem Tellpch entang
(120 x 160cm). Gestern war ich draußen im Garten mit meinem Testaufbau, da funktionierte der Aufbau schon extrem gut. Im meinem Zimmer habe ich ab und zu Fehl interpretationen, das würde aber mit einer Mittelwert Bildung z.B. der letzten zehn Messungen ( da liege ich noch immer bei kleiner 2ms) elimenieren können. Also habe ich heute eine Huckepack Platine für ein D1 R32 Board gelötet und werde das wohl in meinen
RoπLawnMow einbauen. Den i²C Bus benötige ich damit ich die Werte dann auf dem Pi für die Steuerung auslesen kann.
Vieleicht entwerfe ich auch dafür eine PCB, dann aber für ein D1 Mini Board mit einem ESP32, das kann dann noch ein wenig kleiner werden.
Das OLED Distplay benötige ich nur zum Ablesen der Werte im Moment während des Testens, das kann dan später auf dem D1 Board Espander weg fallen. Den Sketch findet ihr in der ZiP datei, der I2C Bus ist noch nicht implementiert, wenn es kpl ist stelle ich das in meinen Github bereich ein und informiere. Wenn jemand interesse an solch einem Board hat, dann würde ich wohl eins im Januar erstellen. Also einfach melden.

View attachment ArduPeri_1.mp4


1733336144056.png
 

Attachments

Heute habe ich bei meinem MINI Test Mower Model die VL53L0X ToF Sensoren gegen VL53L1X ToFs ausgetauscht.
Ich hatte diese Sensoren noch in meiner Bastelkiste gefunden und wollte die schon seit langem mal testen. Was soll ich sagen, ich bin begeistert,
In freiem Gelände konnte ich die noch nicht testen, aber in meinem Hobby Zimmer stellen die die VL53L0X ToFs in den Schatten. Die ich vorher hatte waren bis 2m distance angegeben und schafften 127cm. Darüber hinaus wurde es schwierig. Gut für das Ausweichen des Mowers ist da Platz genug. Aber mit ToF400C-VL53L1 habe ich eben im Flur ohne Probleme 376cm Entfernung messen können. Da war ich schon beeindruckt. Also qualitativ doch besser als die VL53L0X für ca. 3,50€. Für die ToF400C-VL53L1 mit vorgesetzter Schutzlinse habe ich bei Ebay ca. 7€ pro Stück bezahlt. Ich betreibe sie mit dem TCA9548 am I2C Bus.
Für meinen großen Alko Mäher den ich im Winter umrüste, stelle ich mir diese an der Front vor, jeweils rechts und links und ebenfalls an den Seiten, um vor einer Drehung zu schauen ob an der jeweiligen Seite genügend Platz ist. Der ALKO Mäher ist gute 60cm lang und braucht zum Drehen schon ein wenig Platz.
Ich bin gerade am zweifeln, ob ich die TOF-Module einsetzen soll. Laut technischer Beschreibung reicht bei starkem Licht der Kontrast der Module nicht mehr für die korrekte Funktion. Das erklärt dann auch die negativen Berichte beim Einsatz im Freien (wohl insbesondere im Sommer).
Bei den Ultraschallsendern sind die „Doppelten“ leider nicht Korrosionsfest und die Wasserdichten haben eine separate Platine, die in meinem blauen Mäher über die Jahre dann Kontaktausfälle aufweist.
Und wenn die Grundstücke nahtlos ineinander übergehen, dann nutzen weder Ultraschall- noch TOF-Sensoren etwas.

Und nun?
Wenn ich mit der Konstruktion meines nächsten Gehäuses weiterkommen will, muß ich zeitnahe eine Entscheidung treffen.


Ich habe gerade einen Wischroboter angeschafft und muß sagen, ich bin sehr beeindruckt von den Navigationsfähigkeiten. Die erzeugten Karten sind sehr genau. Allerdings erzeugen Spiegelflächen und bodentiefe Fenster endlos große oder eben spiegelsymmetrische Fehlräume.
 
Ich bin gerade am zweifeln, ob ich die TOF-Module einsetzen soll. Laut technischer Beschreibung reicht bei starkem Licht der Kontrast der Module nicht mehr für die korrekte Funktion. Das erklärt dann auch die negativen Berichte beim Einsatz im Freien (wohl insbesondere im Sommer).
Bei den Ultraschallsendern sind die „Doppelten“ leider nicht Korrosionsfest und die Wasserdichten haben eine separate Platine, die in meinem blauen Mäher über die Jahre dann Kontaktausfälle aufweist.
Und wenn die Grundstücke nahtlos ineinander übergehen, dann nutzen weder Ultraschall- noch TOF-Sensoren etwas.

Und nun?

Ich habe gerade einen Wischroboter angeschafft und muß sagen, ich bin sehr beeindruckt von den Navigationsfähigkeiten. Die erzeugten Karten sind sehr genau. Allerdings erzeugen Spiegelflächen und bodentiefe Fenster endlos große oder eben spiegelsymmetrische Fehlräume.
Mein Fürst,
ich habe mit den Wasserdichten Ultraschall Sensoren herum experimentiert und muss sagen die haben mich überhaupt nicht überzeugt. Das wurde auch schon von Bernard bestätigt.
Die ToFs haben natürlich auch den Nachteil dass man sie dann gut abdichten muss wenn man sie bei jedem Wetter draußen hat. Vorteilhaft wären da schon die, mit dem fest verbauter Schutzlinse. Die bekommt man in ein 26mm rundes "Loch" eingebaut da könntest Du dann wenn es im Sommer gar nicht funktionieren sollte noch die Waserdichten Ultraschalls einfach austauschen.
Ich habe jetzt seit mehreren Sommern die ToFs ohne Kappe draußen betrieben. Fehlmessungen / Reaktionen traten nur auf, wenn ein Grashalm im Wege war. Die Mit fest verbauter Linse habe ich draußen noch nicht getestet, aber ich bin von den VL53L1X echt begeistert, die leifern gute Messergebnisse. Ich muss schauen wie das im nächsten Sommer draußen ist. Um zu testen welcher Sensor anspricht lasse ich extra bei jedem "Sensor Event" egal ob Kamera ToF oder Perimeter ein Bild schießen blende die Sensor Werte ein und speichere es ab. Also kann ich im Juli Augsut 25 was zu den neuen ToFs sagen will aber auf keinen Fall die Erfahrungen der Kollegen anzweifeln.
Abhilfe für die Situation, dass grundstücke in einander Übergehen, schafft m.E. nur teures RTK oder Perimeter Draht.
Der Saugroboter wird ein LiDAR System haben, dass er drinnen einsetzt, da hat er Wände und Hindernisse und kann sich daran orientiern.
Die Frage ist für mich halt immer was hat man im Budget und ist es das Wert es auzuprobieren. Für mich und mein kleines Grundstück schließe ich RTK derzeit aus, auch weil die Bebauung bei uns viel zu dicht ist.
Ich weiß nicht ob ich Dir jetzt weiterhelfen konnte. Was ich von Deinen Modellen geshen habe ziehe ich den Hut vor Deinen Konstruktionen. Daher wäre es sicher vür Dich einfach ein Öffnung z.B. bei den Scheinwerfern vorzusehen, in der Du entweder die Wasserdichten Ultraschall Sensoren einbaust, oder bei Bedarf gegen ToFs mit Linse ausstauschst.
Viel Erfolg beim Treffen der Entscheidung
 
Hallo ullisun58,
danke für Deine Einschätzungen.
hallo Schrauber und Bastler,

Ich werde wohl bei den „Doppelten“ Ultraschall Sensoren bleiben.
Es gibt noch zu viele offene Punkte, die ich in diesem Jahr nicht ins Ziel bringen konnte.
Daher mache ich nach Möglichkeit keine weitere Baustelle auf.
Meine Erwartung, daß der Einsatz von RTK in meiner Umgebung kritisch werden könnte, hat sich bisher so bestätigt.
Ich habe bei beiden RTK-Mähern Sprünge im Signal, kann allerdings den Auslöser nicht erkennen.
Aufgegeben habe ich RTK noch nicht. Wahrscheinlich werde ich eine RTK/Draht-Kombi-Lösung machen.
Meine neue Software kann aber noch keinen Begrenzungsdraht. Der Draht selbst muß gewechselt werden, weil ich mit dem Reparieren nicht mehr hinterher komme. Ich werde es jetzt mit Feldmeldekabel der Bundeswehr versuchen( 4 isolierte Drähte aus Kupfer+Stahl).
Am roten Mäher („Arnold“) soll das Chassis im Winter noch überarbeitet werden und dann soll noch
der neue Mäher „Charger“ in Produktion gehen ! Wer da allerdings „aufgeladen“ ist, ist noch nicht bekannt. Ich denke aber, es wird wohl der Konstrukteur, der „Fürst“ sein !

Soweit liebe Grüße
in der Hoffnung, Du/Ihr hast/habt am 6.ten 12.ten meinen Namenstag gefeiert.
Noch einen schönen Advent

Ruprecht (der „Fürst“)
 
Moin,
so wie ich es sehe, ist ja doch der ein oder andere noch basteln.
Mir fehlt leider momentan einfach die Zeit und Lust irgendwas weiter zu machen, obwohl ich eigentlich dringend an die Platinen muss.
Ich habe hier noch ein Arctic Hare rumstehen, der noch zusammengebaut werden muss und den großen Worx.
Beide sollen mit RTK fahren, da ich keine Lust mehr habe, ständig das Kabel zu reparieren.
Aber ich wünsche euch weiterhin viel Spaß beim basteln.
 
Moin,
so wie ich es sehe, ist ja doch der ein oder andere noch basteln.
Mir fehlt leider momentan einfach die Zeit und Lust irgendwas weiter zu machen, obwohl ich eigentlich dringend an die Platinen muss.
Ich habe hier noch ein Arctic Hare rumstehen, der noch zusammengebaut werden muss und den großen Worx.
Beide sollen mit RTK fahren, da ich keine Lust mehr habe, ständig das Kabel zu reparieren.
Aber ich wünsche euch weiterhin viel Spaß beim basteln.
Nun liegt bei mir seit Mai das Kabel im Garten, bisher alles tip-top. Was ist der Grund warum das Kabel immer unterbricht? Und wie findet man dann die defekte Stelle?
 
Kinder unser kleiner buddelt gerne an Stellen, an den er nicht buddeln soll oder man haut unbedacht einen Spaten in die Erde. Gibt viele Möglichkeiten 😜
 
Kinder unser kleiner buddelt gerne an Stellen, an den er nicht buddeln soll oder man haut unbedacht einen Spaten in die Erde. Gibt viele Möglichkeiten 😜
Danke für Deine Rückmeldung, ja wenn das Grün ersteinmal drüber gewachsen ist fällt es schwer zu erkennen wo man ihn verlegt hat. Mit der Zeit oder Lust, da würde ich mir jetzt keine Gedanken machen. Es ist auch gut und okay wenn man sich auch einfach mal mit anderen Dingen beschäftigt. Dir weiterhin eine schöne Adventszeit.!
 
Mal abgesehen vom Stechen des Löwenzahns habe ich zwei Typen von Unterbrechungen. Bei dem einen ist der Draht wie durchgeschnitten, bei dem anderen reißt der Draht (eine Litze, die aus einer seltsamen Legierung besteht, die man nicht löten kann) und die Trennstellen der einzelnen Adern liegt bis zu 2 cm auseinander. Ich hatte beim Verlegen alle paar Meter eine Schleife als Vorhaltung für spätere Änderungen am Verlauf eingebaut. Ich dacht, die könne auch als Zugausgleich dienen. Das scheint aber nicht zu funktionieren. Diese Jahr hat der Draht nach dem Winter noch funktioniert (ein kleines Wunder für mich), ist dann aber gleich mehrmals hintereinander und auch an mehreren Stellen kaputt gegangen. Die Fehlersuche mache ich mit dem Ohm-Meter und einem seeehr langen Kabel mit Prüfspitzen. Vorgehensweise: Loch graben, Kabel suchen mit Prüfspitze anstechen und auf Durchgang testen. Ich hatte es auch versucht, das Kabel mit 48V-Wechselspannung zu beaufschlagen und mit einem kontaktlosen Leitungsprüfer su suchen - hat nicht funktioniert.
Ich vermute, meine Schäden kommen aus der Erdbewegung, die man auch optisch (Böschung) sehen kann.
Hoffentlich hält das Feldkabel besser.
Ich hatte überlegt, zusätzlich Wellrohr zu verlegen, ist aber zu teuer. Da kann man besser mehrmals Feldkabel verlegen.
Dieses Mal werde ich den Perimeter in Abschnitte unterteilen und Verteilerdosen oder etwas vergleichbares als Meßpunkte verbutteln. Bei 4 Adern könnte man auch zusätzliche Funktionen realisieren (Funkortung ?).
Mal sehen.
 
Ja an Abzweigdosen hatte ich auch schon mal gedacht. Dann hatte ich überlegt ob bei dem ganzen Glasfaser Wahn der im Moment herrscht da leerrohr abzweigen kann. und das dann verlegen. Aber mit der Böschung, das leuchtet ein. Da wird das kabel dann reißen. Zur Fehlersuche, ja das ist nicht optimal. Ohmmeter ist eine Lösung Klingel ginge auch. Ich bin gespannt wann ich das erste Mal buddeln muss.
Also good Luck weiterhin.
 
Back
Top