Wiki Ninja

Chris and guys,

 

Sorry to bother you but I posted yesterday a problem with my APM on flight modes (http://diydrones.com/forum/topics/apm-flight-modes-ok-in-cli-flight-planner-not-responding-on-the?xg_source=activity). To refresh, I have loaded the v2.23 on my APM and underwent the radio calibration. I tested the flight modes on my Skywalker. On manual, all flight surfaces responded correctly. When I switched to Stabilize mode, the motor starts running without input from throttle. The servos would not respond to movements of the APM or the SW. I would assume it is the same with the rest of the modes. I'm looking for answers here as I am exasperated. I have included the latest log and some screen shots as maybe some of you can make a sense of this. Thanks in advance.

 

Gent

2011-09-09 04-29-41.tlog

2011-09-09 03-55 1.kmz

imu test.jpg

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –

Replies

  • I have been having a related problem.  Actually on previous releases I was having almost the exact same problem and had just decided I was too ignorant to understand what was happening.  I was also waiting for someone to write the code for the THROTTLE_REVERSE option since I thought that was the source of my issue with the throttle going to max when I switched to stabilize.

     

    But, with v2.23 my throttle suddenly works correctly and only my pitch servo locks up when I switch to stabalize mode.

    I have figured out something of a fix.  I did a lot of debugging in the code trying to figure out where things were going wrong to no avail.  But, I found that by moving my elevator servo to output channel 5 (otherwise unused on my aircraft) and modifying the last few lines of the set_servos() routine in the Attitude.pde file to reverse the channel 2 and 5 outputs, e.g.:

        APM_RC.OutputCh(CH_1, g.channel_roll.radio_out); // send to Servos
        APM_RC.OutputCh(CH_5, g.channel_pitch.radio_out); // send to Servos
        APM_RC.OutputCh(CH_3, g.channel_throttle.radio_out); // send to Servos
        APM_RC.OutputCh(CH_4, g.channel_rudder.radio_out); // send to Servos
        APM_RC.OutputCh(CH_2, g.rc_5.radio_out); // send to Servos
        APM_RC.OutputCh(CH_6, g.rc_6.radio_out); // send to Servos

    I am now getting full control during both manual and stabilize modes and with the correct automatic commands to level the aircraft out when in stabilize mode.  It also seems to work in Auto mode as far as my benchtop testing can tell.

    Obviously there is something else on - like an alternate output signal being given to the servo in another portion of the code - but I have not been able to find it yet.  Unfortunately, I suspect a hardware issue.

     

  • Moderator
    I added some very basic things to check on the original post, since I was reading it there. Sorry if you've already check those things, I'm not making assumptions.
  • Moderator
    Do you need to make sure your switch is forward/away from the receiver pins? I don't know about ArduPlane, but for ArduCoper, if you are in CLI (switch position towards the receiver pins, you can get throttle action on its own.
  • 3D Robotics

    As you can see from the tlog, you never went into Stabilization mode. You were in Manual mode the whole time while you were wiggling around the plane. Just replay the tlog and watch the HUD (to see what mode you were in) and check the Tuning box to see the graphs. 

     

    Check your Modes setup again

     

     

This reply was deleted.

Activity