Fehlerbehebung: Unterschied zwischen den Versionen
(→How to report a new bug/new feature/new code) |
(→Further links) |
||
Zeile 145: | Zeile 145: | ||
Jede andere Info, die brauchbar sein kann... | Jede andere Info, die brauchbar sein kann... | ||
− | = | + | =Weitere Links= |
#[[Ardumower PCB|Diagnostic]] | #[[Ardumower PCB|Diagnostic]] |
Version vom 9. Juli 2015, 11:29 Uhr
Inhaltsverzeichnis
Fehlersuche
Fehlercodes
wenn dein Ardumower periodisch piepst, ist er in einem Fehler-Status. Um den genauen Fehler zu finden, kann man die serielle Konsole oder die APP ('pfodApp->Error Counters') benutzen.
ERR_MOTOR_LEFT Fehler linker Getriebemotor * Überprüfe Motortreiber und linken Getriebemotor * MC33926: stelle sicher, dass der SLEW Jumper nicht gesteckt ist * beim Fahren: veringere 'Motor-Max-PWM' und 'Tracking-P' um EMF zu veringern ERR_MOTOR_RIGHT Fehler rechter GetriebemotorRight gear motor error * Überprüfe Motortreiber und rechten Getriebemotor * MC33926: stelle sicher, dass der SLEW Jumper nicht gesteckt ist * beim Fahren: veringere 'Motor-Max-PWM' und 'Tracking-P' um EMF zu veringern ERR_MOTOR_MOW Mähmotor Fehler * Überprüfe Motortreiber und Mähmotor * MC33926: stelle sicher, dass der SLEW Jumper nicht gesteckt ist * Veringere Motor-Max-Power, damit Überstrom früher erkannt wird ERR_MOW_SENSE Mähmotor Überstrom * Überprüfe Mähmotor-Treiber und Mähmotor * Vergrößere Motor-Max-Power, damit Überstrom später erkannt wird ERR_IMU_COMM IMU Kommunikationsfehler * Überprüfe die Verbindung zum IMU-Modul ERR_IMU_CALIB IMU Abgleich-Fehler * Start 'IMU calibration' (entweder über die Konsole oder über pfodApp->Settings->IMU) ERR_IMU_TILT IMU Neigungsfehler * Überprüfe IMU-Modul und Ausrichtung des Roboters ERR_RTC_COMM RTC Kommunikationsfehler * Überprüfe die Verbindung zum RTC-Modul, Batterie usw. ERR_RTC_DATA RTC-Daten sind fehlerhaft * stelle und speichere Datum und Zeit ERR_PERIMETER_TIMEOUT Perimeter-Signal, Zeitüberschreitung * Überprüfe Perimeter-Sender, Schleife usw. * veringere 'Perimeter-smag', damit die Auszeit größer wird * Erhöhe 'Perimeter-timeout-seconds', damit die Auszeit größer wird ERR_TRACKING Perimeter-Folge-Fehler * Überprüfe Perimeter-Sender, Schleife usw. * Erhöhe 'Perimeter-tracking-timeout', damit die Auszeit größer wird ERR_ODOMETRY_LEFT Odometrie-Fehler linker Motor * Überprüfe das linke Odometrie-Kabel ERR_ODOMETRY_RIGHT Odometrie-Fehler rechter Motor * Überprüfe das rechte Odometie-Kabel ERR_BATTERY Akku-Fehler * Überprüfe Akku-Verbindung ERR_CHARGER Ladefehler * Überprüfe Verbindung zum Ladegerät ERR_GPS_COMM GPS Kommunikationsfehler * Überprüfe GPS-Kabel ERR_GPS_DATA GPS Datenfehler * Überprüfe GPS-Antenne und -Kabel ERR_ADC_CALIB ADC Abgleich-Fehler * Starte 'ADC calibration' (entweder über Konsole oder pfodApp->ADC calibration) ERR_EEPROM_DATA EEPROM Datenfehler * Speichere Benutzer-Einstellungen (entweder über Konsole oder pfodApp->Settings-Save)
Deaktiviere alle Pins, die nicht angeschlossen sind
Stelle sicher, dass alle Pins und Eigenschaften die nicht angeschlossen sind (nicht verwendet werden), in der Roboter-Konfiguration deaktiviert sind.
Beispiel: Wenn du die Odometrie-Pins nicht beschaltet hast, muss Odometrie in der Roboter-Konfiguration deaktiviert werden. (mower.cpp):
odometryUse = 0; // use odometry?
Drehen die Motoren richtig?
Führe einen Motortestlauf aus. Gehe in die serielle Konsole (Arduino IDE: STRG+SHIFT+M, 19200 Baud) drücke 'd' und ENTER um ins Menü zu gelangen. Dann drücke '1' und ENTER. Es startet der Motortest.
Unerwartete Sensorauslösung
Wenn dein Roboter etwas Unerwartetes tut, kann es ein Sensor , der fehlerhaft auslöst. Überprüfe das über die serielle Konsole:
Starte die serielle Konsole (Arduino IDE: CTRL+SHIFT+M, 19200 Baud), und schalte den Roboter ein. Jedes Mal, wenn ein Sensor auslöst, wird der Zähler dieses Sensors erhöht. Siehe Beschreibung der Sensoren weiter unten. Wenn sich also der Roboter nicht so verhält, wie er soll, dann schau dir die Sensor-Zähler an, stelle fest, welcher Zähler hochzählt, um das Problem zu lokalisieren.
Einige Sensoren lösen nicht aus?
...
Keine Verbindung über Bluetooth
- Stelle sicher, dass die Baudrate des BT-Modules richtig eingestellt ist (verwende die Ardumower Konsole) - Aktiviere den Programmier-Modus des BT-Modules und stelle die Baudrate ein Bluetooth & App.
- Stelle sicher, das das BT-Modul mit dem Handy "gepaart" ist
- Überprüfe, dass der Arduino Mega nicht über USB mit Strom versorgt wird.
Konsolen-Ausgabe
Beim Start des Roboters wird über die serielle Konsole beispielsweise folgendes ausgegeben:
START Ardumower rXXXX press... d zum Menü v um Konsolenausgabe zu ändern (Sensor-Zähler, Werte, Perimeter usw.)
t 0 l177 v0 FORW spd 33 33 0 sen 0 0 0 bum 0 0 dro 0 0 son 0 yaw 0 pit 0 rol 0 bat 20.8 chg 21.7 0.0 imu 0 adc 0 Ardumower t 1 l177 v0 FORW spd 33 33 0 sen 0 0 0 bum 0 0 dro 0 0 son 0 yaw 0 pit 0 rol 0 bat 20.8 chg 21.7 0.0 imu 0 adc 0 Ardumower t 3 l177 v0 FORW spd 33 33 0 sen 0 0 0 bum 0 0 dro 0 0 son 0 yaw 0 pit 0 rol 0 bat 20.8 chg 21.7 0.0 imu 0 adc 0 Ardumower
Wenn ein Sensor auslöst, wird sein Zähler erhöht.
Beispiel (Mähmotor-Überstromsensor löst aus):
t 4 l177 v0 FORW spd 33 33 0 sen 0 0 0 bum 0 0 dro 0 0 son 0 yaw 0 pit 0 rol 0 bat 20.8 chg 21.7 0.0 imu 0 adc 0 Ardumower t 5 l177 v0 REV spd -26 -26 0 sen 0 0 1 bum 0 0 dro 0 0 son 0 yaw 0 pit 0 rol 0 bat 20.8 chg 21.7 0.0 imu 0 adc 1 Ardumower
Hier ist eine Beschreibung jeder Spalte:
t - Zeit des akt. Maschinenzustands (ms) l - Programmschleifen-Durchläufe/sek v - Anzeige-Modus des ausgewählten Sensors (0 = Zähler / 1 = Sensorwerte / 2 = Sensorwerte) - aktueller Status (FORW, REV, ROLL usw.) - Nachhause-Fahrt? (1/0) spd - Steuerung / Drehzahl der Motoren: links (PWM), rechts (PWM), Mähmotor (speed) sen - Motor-Überstromzähler: links, rechts, Mähmotor bum - Bumperzähler: links, rechts son - Ultraschall- Distanz-Unterschreitung: Zähler pit, roll - inclination (berechnet mit Beschleunigungssensor) yaw - Kompass-Kurs bat - Akkuspannung chg - Ladespannung
---Befehle---
'd': Testmenü, Abgleich IMU, Bluetooth 'v': Anzeigemodus(zeigt Werte oder Zähler 'h': Fahr zur Ladestation 'p': Schleifenfahrt 'l': simuliert linken Bumper 'r': simuliert rechten Bumper 's': simuliert Rasensensor 'm': schaltet Mähmotor 'c': simuliert Laden '+': drehen 90 Grad '-': drehen 90 Grad '3': aktiviert Fernsteuerung '0': Aus '1': Automode motorMowEnable
wie melde ich einen Programmfehler/eine neue Eigenschaft/neuen Programmcode
Klicke auf 'this link' und erzeuge ein neues Thema - bitte teile uns mit:
Deine Plattform (Arduino Mega 2560, Arduino Due) Deine Arduino IDE-Version (der letzte Programmcode erfordert 1.6.3) Dein genaues Betriebssystem (Windows 8, Linux usw.) Deine Ardumower-Programmversion (eine Liste der Veröffentlichungen siehst du hier https://github.com/Ardumower/ardumower/releases) Jede andere Info, die brauchbar sein kann...