Schritt 3.2: Grundeinrichtung (Umgebungsvariablen, Firmware und xESC)

Richte die Umgebungsvariablen ein, installiere die Firmware auf dem xCore-Board und konfiguriere die xESC-Motorcontroller.

Überblick

Arten von Einstellungen

Die Roboterkonfiguration besteht aus zwei Teilen:

  • Umgebungsvariablen: Sie legen Mähermodell, Hardware-Version und die zu verwendende ROS-Version fest. Diese richten wir zuerst ein.
  • ROS-Parameter: Sie bestimmen das Verhalten von ROS im Betrieb, etwa GPS-Einstellungen, Mähverhalten und MQTT-Konfiguration für das Smart Home.

Das Kommandozeilenwerkzeug openmower

Das von uns entwickelte Kommandozeilenwerkzeug openmower hilft dir beim Betrieb, bei der Einrichtung und bei der Fehlersuche in der OpenMower-Software.

Das Tool ist auf OpenMowerOS vorinstalliert und bietet unter anderem diese Funktionen:

  • ROS-Konfiguration und Umgebungsvariablen bearbeiten
  • Firmware auf dem xCore-Board installieren und aktualisieren
  • ROS-Software starten und stoppen
  • ROS-Logs anzeigen
  • Eine ROS-Shell zur Fehlersuche öffnen

Zugriff auf das Terminal

Für alle folgenden Schritte brauchst du Zugriff auf das Terminal. Du kannst dafür SSH oder das Terminal im Browser verwenden.

Für SSH gelten diese Zugangsdaten:

username: openmower
hostname: openmower
password: openmower

Das Terminal im Browser benötigt keine Zugangsdaten und ist hier erreichbar: http://openmower:7681

Schritt 3.2.0: Grundlegende Prüfungen

Prüfen, ob das Dateisystem korrekt vergrößert wurde

Wenn dein Dateisystem fast voll ist, vergrößere es mit diesen Schritten:

  • Führe aus: sudo raspi-config
  • Wähle Advanced Options -> Expand Filesystem
  • Beende die Einrichtung und starte neu
  • Führe erneut df -h / aus. In der Spalte Use % sollte jetzt ein niedriger Wert stehen, abhängig von der Größe deiner SD-Karte

Das Tool openmower aktualisieren

Aktualisiere das Tool openmower, damit du die neueste Version verwendest. Es hat eine eingebaute Update-Funktion. Führe dazu aus:

sudo openmower update-self

So sollte die Ausgabe aussehen:

Beispielausgabe nach einem erfolgreichen Update.

Hostnamen ändern (optional)

Wenn du mehrere Roboter betreibst, helfen unterschiedliche Hostnamen dabei, sie auseinanderzuhalten.

Folge dazu der Anleitung in der Wissensdatenbank: Hostnamen ändern

Externe WLAN-Antenne aktivieren (optional)

Wenn du eine externe WLAN-Antenne angeschlossen hast, musst du sie aktivieren. Folge dazu der Anleitung in der Wissensdatenbank: Externe Antenne aktivieren

Schritt 3.2.1: Umgebungsvariablen einrichten

Beginne jetzt mit der Konfiguration der Umgebungsvariablen.

  • Starte die Konfiguration mit openmower configure env
  • Wähle deinen bevorzugten Editor, zum Beispiel nano
  • Bearbeite die Umgebungsvariablen. Die Kommentare erklären, was du tun musst
    Wenn du eine ältere OpenMowerOS-Version verwendest, enthält die aktuelle .env-Datei möglicherweise zusätzliche Kommentare oder Optionen, die in deiner lokalen Kopie fehlen. Die aktuelle Version findest du hier: Aktuelle .env-Datei von OpenMowerOS
  • Speichere die Datei (Strg + O, Enter zum Speichern, danach Strg + X, Enter zum Beenden von nano)

Diese Bildschirmaufzeichnung zeigt den gesamten Ablauf:

Im Beispiel wird ein YardForce Classic 500 mit v2-Hardware verwendet.

Danach weiß das System, welche ROS-Version und welches Mähermodell verwendet werden.

Das Tool openmower lädt nun die ausgewählte ROS-Version. Das dauert eine Weile, etwa 30 Minuten. Zeit für einen ☕.

Schritt 3.3.1: Firmware installieren

Da das System jetzt deine Hardware kennt, kannst du die Firmware auf dem xCore-Board installieren.

Führe openmower update-firmware aus, um die Firmware auf dem xCore-Board zu installieren. Das Tool openmower liest deine Umgebungsvariablen, lädt die passende Firmware-Datei herunter und überträgt sie per Ethernet auf das xCore-Board.

Die Ausgabe sollte ungefähr so aussehen:

Beispielausgabe des Befehls openmower update-firmware.

Schritt 3.3.2: xESC-Motorcontroller konfigurieren

Die xESC-Motorcontroller lassen sich für viele BLDC- und DC-Motoren konfigurieren. Ihre Firmware basiert auf dem Open-Source-Projekt VESC. Deshalb kannst du sie mit dem VESC Configuration Tool einstellen.

Voraussetzungen

  • Windows- oder Linux-Computer für das VESC Configuration Tool
  • VESC Tool (https://vesc-project.com/vesc_tool ) Du kannst das Tool kostenlos herunterladen, indem du die „free“-Version in den Warenkorb legst und den Bestellvorgang abschließt.
  • Die OpenMower-Firmware muss erfolgreich auf dem xCore-Board installiert sein. Das xCore-Board stellt die Verbindung zwischen deinem Computer und dem xESC her. Falls die Firmware noch nicht installiert ist, folge der Anleitung Firmware aktualisieren .
  • Optional, aber hilfreich:
    Konfigurationsdateien für deinen Mäher.
    Suche im OpenMower-Repository nach den passenden Dateien für deinen Mäher.
    Du brauchst drei Dateien:
    • App-Konfiguration als XML: legt unter anderem die Baudrate fest und ist für alle drei xESC-Controller gleich
    • Mähmotor-Konfiguration als XML: Parameter des Mähmotors
    • Fahrmotor-Konfiguration als XML: Parameter der Radmotoren

Konfigurationsablauf

Zugriffe von ROS auf die Controller stoppen

Führe openmower stop aus, damit ROS während der Konfiguration nicht auf die Controller zugreift.

ESC im Netzwerk bereitstellen

ESC im Netzwerk bereitstellen Führe openmower expose-xesc [left|right|mower] aus, um den gewünschten xESC-Controller bereitzustellen. Wähle left, mower oder right.
Der Controller ist dann im lokalen Netzwerk unter openmower:65102 erreichbar, bis du folgende Tastenkombination drückst: Strg + C.

Mit dem xESC verbinden

VESC Tool mit dem ESC verbinden Öffne das VESC Configuration Tool und verbinde dich mit dem xESC:

  • Connection -> TCP [1]
  • Trage die IP-Adresse des Mähers oder openmower in das Feld „Address“ ein [2].
  • Setze den Port auf 65102 [3]
  • Klicke auf Connect [4]

xESC konfigurieren

Konfigurationen übertragen

Wenn das VESC Configuration Tool verbunden ist, übertrage die Konfiguration auf die xESC-Controller:

  • [Bild 1]: Klicke auf File -> Load Motor Configuration XML
  • [Bild 2]: Wähle die Motor-Konfigurationsdatei für den jeweiligen Motor. Mähmotor und Fahrmotoren verwenden unterschiedliche Dateien
  • [Bild 3]: Ignoriere die Versionsmeldung, falls sie erscheint
  • [Bild 4]: Klicke auf Write Motor configuration. Bei Erfolg erscheint ein grüner Hinweis.
  • [Bild 5]: Klicke auf File -> Load App Configuration XML. Ignoriere die Versionsmeldung, falls sie erscheint
  • [Bild 6]: Klicke auf Write App configuration. Bei Erfolg erscheint ein grüner Hinweis.
  • Drücke im OpenMower-Terminal Strg + C, um die Netzwerkfreigabe des xESC-Controllers zu beenden.

Wiederhole diese Schritte für alle drei xESC-Controller.

Notwendige Vorbereitungen

  1. Baue das Mähmesser ab.
  2. Wirklich: Nimm das Messer ab! Das ist ein großer Mäher mit einem starken Motor und einem großen Messer! 💀
  3. Bocke den Mäher hinten so auf, dass sich die Räder frei drehen können. Verwende dafür einen Karton, Klotz oder Ständer.
  4. Baue das Mähmesser ab!
  5. Versorge den Mäher während der Kalibrierung über den Akku, nicht über die Ladestation. Achte auf einen ausreichend geladenen Akku.
  6. Prüfe, ob du das Mähmesser wirklich abgebaut hast!

Kalibriere zuerst den linken Antrieb und wiederhole den Vorgang danach rechts.

  1. Echtzeitdaten aktivieren: Später prüfen wir die Kalibrierung anhand eines bekannten Referenzwerts. Auch während der Kalibrierung sind die Werte im Fenster mit der Markierung 2 hilfreich. Aktiviere deshalb zuerst die Echtzeitdaten:
    RT Data

  2. Starte den FOC Calibration Wizard:
    FOC-Kalibrierung starten

  3. Gib nun die Motordaten ein. Diese Werte gelten für den linken und rechten Fahrmotor. Für den Mähmotor verwenden wir andere Werte:
    🡆 🡆

    🡆 🡆

  4. Ändere nach der Kalibrierung nicht die Drehrichtung, auch wenn sich das linke Rad bei der Kalibrierung vorwärts und das rechte rückwärts dreht:

  5. Prüfe nach erfolgreicher Kalibrierung das Ergebnis: Test ausführen

    Teste mit „D 0,4“ (1) und drücke die Wiedergabetaste für „Duty cycle“ (2). Wenn die Stromaufnahme ≤ 0,15 A (3) beträgt und der Motor unauffällig klingt, ist die Kalibrierung gut.
    Teste auch höhere Tastgrade. Der Motor wird dabei lauter, sollte aber gleichmäßig laufen und unauffällig klingen. Falls nicht, drücke STOP (4).

  6. Lade als letzten wichtigen Schritt über File → Load App Configuration XML die passende ESC-App-Konfiguration SABO_Drive-App.xml (siehe SABO-ESC-Konfigurationen ) und drücke rechts auf ↧A („Write app configuration“).

Geschafft 😆
aber noch nicht fertig ✌️ … Wiederhole den gesamten Vorgang für den rechten Antrieb.

Beende openmower expose-xesc left mit Strg+C und mache mit openmower expose-xesc right weiter.

Mähmotor kalibrieren

Für den ESC des Mähmotors verwendest du denselben Ablauf mit angepassten Werten:

  1. openmower expose-xesc mower

  2. Verwende im FOC Calibration Wizard diese Werte:

    • Tab “Motor” = Medium Inrunner ~750g
      • Advanced: Max Power Loss = 200, Motor Poles = 8
    • Tab “Battery”
      • Battery Capacity = 3.9Ah (wie zuvor)
    • Tab “Setup”
      • Gear Ratio = Check Direct Drive
      • Motor Poles = 8
      • Motor Temp. Sensor = disabled
  3. Teste mit „D 0,08“. Die Stromaufnahme sollte ≤ 0,52 A betragen, bei abgebautem Messer

  4. Drehrichtung des Messers prüfen/anpassen:
    Das Messer muss sich gegen den Uhrzeigersinn drehen, wenn du von unten auf die Achse schaust. Prüfe das bei niedriger Drehzahl, zum Beispiel mit „D 0,02“.

    Wenn es sich im Uhrzeigersinn dreht, ändere die Richtung über: Motor Settings → General → Tab General → Invert Motor Direction. Vergiss nicht, die Änderung mit „Write motor configuration“ über ↧M zu speichern!

  5. Lade über File → Load App Configuration XML die passende ESC-App-Konfiguration SABO_Mower-App.xml (siehe SABO-ESC-Konfigurationen ) und drücke rechts auf ↧A („Write app configuration“).

  6. Messerdrehzahl begrenzen:
    Begrenze die maximale Drehzahl unbedingt auf den Wert des Originalmähers! Sonst können die Motorlager beschädigt werden. Noch gefährlicher: Das Messer könnte sich lösen und wegfliegen. 💀 Drehzahl begrenzen

  7. Akkustrom begrenzen:
    Begrenze den Akkustrom passend zur Hardware-Version deiner SABO-Trägerplatine:

    SABO-Trägerplatinen-VersionVESC-Einstellung Battery Current max.AkkusicherungMähmotorsicherung
    v0.2.x6AKonservativ: 4 A mittelträge-
    v0.4.x4.5AKonservativ: 4 A mittelträge-
    v0.5.x9A4 A mittelträge, hier aber nicht maßgeblich8 A mittelträge

    Hinweis: Die oben angegebenen Werte für Battery Current max. sind theoretische Auslegungsgrenzen auf Grundlage konservativer Berechnungen der Leiterbahnbreiten.

    Warnung: Wenn du einen Wert oberhalb des Nennstroms der Originalsicherung wählst, musst du damit rechnen, dass sie durchbrennt und durch eine Sicherung mit höherem Nennstrom ersetzt werden muss.

    Ströme begrenzen

Bei anderen Mähermodellen musst du die passenden Einstellungen für deinen Umbau selbst ermitteln.

Weiter mit Schritt 3.4: ROS-Parameter konfigurieren