-
Notifications
You must be signed in to change notification settings - Fork 2
Troubleshooting
Plane snakes or wanders in RTL mode; it doesn't come back to me and circle cleanly overhead
You need to tune your gains for your aircraft. We'll assume you've already followed the flight testing and tuning guide here. So the plane should be flying well in stabilization mode and should be at least trying to come back home in RTL mode. If it's struggle to make it back in a headwind or otherwise being easily blown off course do the following in the Mission Planner Configuration screen, in this order until it solves the problem:
- Increase !Nav_Roll P by 25%
- Increase !Nav_Roll I by 25%
- Increase Crosstrack Gain by 25%
No servo output in any mode other than manual
When you tilt your plane or APM board when the autopilot is in Stabilize mode, the servos should move to compensate. You should also be able to move them with your RC sticks in that mode. If they aren't moving check the following:
- Is your CLI switch in Flight Mode (away from RC pins)? Remember to reset the board with the reset button after changing switch positions.
- Are you powering your RC pins with an ESC or other power source?
- Have you done a radio setup as part of the setup process? If not, do it now. If you've already done it, go to the CLI Setup menu again, and enter "reset", then "radio" and do it again. Remember that you must have an ESC or other power source plugged into to the RC pins to power the radio. The values you get on the channels that your RC receiver are connected should be around 1000 at the bottom (anywhere from 900 to 1100 is fine) and around 1900 at the top (from 1800 to 2100 is fine).
My board isn't reading the radio inputs
- First, move the CLI slider switch to CLI mode, open the Mission Planner terminal and type "test" to go to the Test menu, then "radio" to test the inputs. This will show you what's being read when you move the your RC transmitter sticks. If you don't see any change, check the following:
- Are you powering the RC pins with an ESC or other 5v source? (You must). If your RC receiver's power LED isn't on, that means the RC rail isn't getting power.
- Are you sure the RC connectors are plugged in the right way? Signal wires at the top, ground at the bottom, closest to the board
- Is your transmitter on?
- Plug a servo into one of your receiver's spare channels and make sure it's working.
The APM board works when it's plugged into the USB, but not when it's powered by the RC rail (ESC/Lipo)
APM allows for both RC power or a separate battery run through APM's built-in power regulator as described here. A solder jumper called SJ1 determines which is used. By default from the factory, that jumper should be soldered which means APM will be powered by the RC rail.
If for some reason, connecting power to the RC rail does not power your board, check to see if that jumper is soldered. If it isn't, as shown below, just solder a blob of solder over the two pads to connect them.
http://ardupilot-mega.googlecode.com/svn/ArduPilotMegaImages/amonet-3.jpg
When I try to compile, I get a stream or errors in red at the bottom of the Arduino IDE window that start like this:
ArduPilotMega.cpp:17:24: error: FastSerial.h: No such file or directory
ArduPilotMega.cpp:18:23: error: AP_Common.h: No such file or directory
ArduPilotMega.cpp:19:51: error: APM_RC.h: No such file or directory
ArduPilotMega.cpp:20:77: error: APM_ADC.h: No such file or directory
Solution: You have not put the libraries in the right folder or set the correct folder in the Arduino IDE configuration menu. Please review the instructions on this page, ensure that everything is in the right place, restart Arduino and try again.
When I try to compile, I get a different stream of errors in red at the bottom of the Arduino IDE window that start like this:
C:\Users\Chris\Documents\Arduino\libraries\APM_RC\APM_RC.cpp: In function 'void TIMER4_CAPT_vect()':
C:\Users\Chris\Documents\Arduino\libraries\APM_RC\APM_RC.cpp:40: error: 'ICR4' was not declared in this scope
C:\Users\Chris\Documents\Arduino\libraries\APM_RC\APM_RC.cpp: In member function 'void APM_RC_Class::Init()':
C:\Users\Chris\Documents\Arduino\libraries\APM_RC\APM_RC.cpp:73: error: 'COM1C1' was not declared in this scope
C:\Users\Chris\Documents\Arduino\libraries\APM_RC\APM_RC.cpp:77: error: 'OCR1C' was not declared in this scope
Solution: You forgot to select "Arduino Mega (Atmega1280)" as the board type before you compiled/uploaded.
My MUX LED keeps flickering and I'm getting weird RC readings. Servos may be twitching like crazy.
Solution: You probably have bad PPM encoder firmware in the Atmega328 on your APM board. Instructions on how to reload/update it are here.
I'm using a !MediaTek GPS, and although the module's blue lock LED goes solid, APM is not showing a lock and I'm not getting GPS data in my telemetry.
Solution:
There are a few things that could cause this. First, ensure that you've selected the right MediaTek version in the config file. If you bought your module from the DIY Drones store before December, 2010, it had version 1.0 firmware: select GPS_PROTOCOL_MTK in the config file. If you bought it after that, it as version 1.6 firmware: select GPS_PROTOCOL_MTK16 in the config file.
This is a timing bug in the !MediaTek setup process. While we sort it out, just hit the reset button after powering up the board (ie, do a "warm start"). The !MediaTek module should take the setup string properly this second time, and APM should show a lock.
Finally, if things still aren't working, check your cable. Cables longer than the short one that ships with the GPS module tend to have thinner wires that can break.
No GPS lock, and/or board keeps resetting itself.
Solution: Are you sure you plugged the GPS module into the APM board and NOT the similar connector on IMU shield? It says "No GPS!" for a reason ;-)
Can't access datalogger memory (memory reads freeze the code)
Solution: Did you remember to solder on the 2x3 connectors that connect the AT1280 ICSP port to the IMU shield, as shown in the assembly instructions?