Fehlerbehebung: Unterschied zwischen den Versionen

Aus www.wiki.ardumower.de
Wechseln zu: Navigation, Suche
(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...
  
=Further links=
+
=Weitere Links=
 
#[[Ardumower PCB|Diagnostic]]
 
#[[Ardumower PCB|Diagnostic]]

Version vom 9. Juli 2015, 11:29 Uhr

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...

Weitere Links

  1. Diagnostic