Troubleshooting ru

Aus www.wiki.ardumower.de
Wechseln zu: Navigation, Suche

Troubleshooting

Error codes

If your robot beeps periodically, it is in ERROR state. Either run the serial console or 'pfodApp->Error Counters' to find out the detailed error. The possible solutions for each error are given below. For details about your robot settings, see Settings.

 ERR_MOTOR_LEFT          Left gear motor error
                         * Check gear motor driver module and left gear motor
                         * MC33926: ensure SLEW jumper is not set
                         * Tracking: reduce Motor-Max-PWM and Tracking-P to reduce EMF
 ERR_MOTOR_RIGHT         Right gear motor error
                         * Check gear motor driver module and right gear motor
                         * MC33926: ensure SLEW jumper is not set
                         * Tracking: reduce Motor-Max-PWM and Tracking-P to reduce EMF
 ERR_MOTOR_MOW           Mower motor error 
                         * Check mower motor driver module and mower motor
                         * MC33926: ensure SLEW jumper is not set
                         * Reduce Motor-Max-Power, so over-current is detected earlier
 ERR_MOW_SENSE           Mower motor over-current 
                         * Check mower motor driver module and mower motor
                         * Increase Motor-Max-Power, so over-current is detected later
 ERR_IMU_COMM            IMU communication error 
                         * Check IMU module connections
 ERR_IMU_CALIB           IMU calibration error
                         * Start IMU calibration (either via Console or pfodApp->Settings->IMU)                     
 ERR_IMU_TILT            IMU tilt error
                         * Check IMU module and robot orientation
 ERR_RTC_COMM            RTC communication error 
                         * Check RTC module connections, RTC battery etc.
 ERR_RTC_DATA            RTC corrupt data error
                         * Set and save RTC date and time
 ERR_PERIMETER_TIMEOUT   Perimeter signal timeout 
                         * Check perimeter sender, wire etc.
                         * Check coil polarity
                         * Reduce Perimeter-smag, so timeout is higher
                         * Increase Perimeter-timeout-seconds, so timeout is higher
                         * Check your signal-to-noise ratio is higher than 1.0
 ERR_TRACKING            Perimeter tracking error 
                         * Check perimeter sender, wire etc.
                         * Increase Perimeter-tracking-timeout, so timeout is higher
 ERR_ODOMETRY_LEFT       Left motor odometry error 
                         * Check left odometry cable
                         * Check left motor direction
 ERR_ODOMETRY_RIGHT      Right motor odometry error 
                         * Check right odometry cable
                         * Check right motor direction
 ERR_BATTERY             Battery error 
                         * Check battery connections
 ERR_CHARGER             Charger error 
                         * Check charger connections 
 ERR_GPS_COMM            GPS communication error 
                         * Check GPS cables
 ERR_GPS_DATA            GPS data error 
                         * Check GPS antenna and cable
 ERR_ADC_CALIB           ADC calibration error 
                         * Start ADC calibration (either via Console or pfodApp->ADC calibration)
 ERR_EEPROM_DATA         EEPROM data error 
                         * Save user settings (either via Console or pfodApp->Settings-Save)

Disable all pins not connected

Ensure that you have disabled all features and pins in the robot configuration that are not connected (not used).

Example: If you do not have connected odometry pins, disable them in the robot config (robot.cpp):

odometryUse       = 0;       // use odometry?

Motors working correctly

Run the serial console (Arduino IDE: CTRL+SHIFT+M, 19200 Baud) and press 'd' and ENTER for menu. Then press '1' and ENTER to run the motor test.

Any unexpected sensor triggering

If your robot does something unexpected, it might be a sensor that is incorrectly triggering. Check this via the serial console:

Run the serial console (Arduino IDE: CTRL+SHIFT+M, 19200 Baud), and start the robot. Each time a sensor triggers, the counter of that sensor will increase. See description of each sensor below. Now when your robot does something unexpected, have a look which of the sensor counters increased to locate the problem.

Some sensor not triggering?

...

Bluetooth not connecting?

  • Verify that BT module baudrate is configured properly (using Ardumower Console) - activate programming button on BT module for programming procedure.
  • Verify that BT module is 'paired' on your Android phone
  • Verify that Arduino Mega is not powered via USB (but DC/DC instead)

Console output

When the robot starts, it outputs something like this in the serial console:

 START 
 Ardumower rXXXX
 press...
   d for menu
   v to change console output (sensor counters, values, perimeter etc.)


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


Once a sensor triggers, its counter increases. Example (mower motor current overflow triggered):

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


Here is a description of each column:

t - time of current machine state (ms)
l - loop () - cycles per second 
v - Verbose mode selected sensor (0 = counts / 1 = sensor values ​​/ 2 = sensor values​​) 
- Current machine status (FORW, REV, ROLL etc.) 
- After-home-drive? (1/0) 
spd - control / speed motor: left (PWM), right (PWM), mower (speed) 
sen - motor current overflow counter:  left, right, mower 
bum - bumper counter: left, right 
son - ultrasonic distance-below: counter 
pit, roll - inclination (calculated with Accel sensor) 
yaw - compass course 
bat - battery voltage 
chg - charger voltage sensor


--- commands ---

'd': menu for testing, adjust IMU, Bluetooth
'v': monitorMode (show Value not Counter
'h': drive home
'p': track perimeter
'l': simulate left bumper
'r': simulate right bumper
's': simulate lawn sensor
'm': toggle mower motor
'c': simulate charging
'+': rotate 90 degrees 
'-': rotate 90 degrees
'3': activate model RC
'0': OFF
'1': Automode motorMowEnable

How to report a new bug/new feature/new code

Click on 'this link' and create a new issue - Please let us know:

   Your platform version (Arduino Mega 2560, Arduino Due)
   Your Arduino IDE version (latest code requires 1.6.3)
   Your exact operating system (Windows 8, Linux etc.)
   Your Ardumower code version (for a list of releases see https://github.com/Ardumower/ardumower/releases)
   Any other information that may be useful...

Further links

  1. Diagnostic