low throttle stability issues

Hi Folks

 

I am used to my mikrokopter quad spining the motors up when armed to the point of enough rotation to stabilize quad but not enough to lift off the ground.

 

On my arducopter - the motors do not spin up at all once armed.

 

I have had a few minor mishaps close to the ground and when testing alt hold (that were all my fault) but related to the fact that you can completely stop the motors in the air if you accidently lower throttle too much. if the motors keep spinning at min throttle at a point of stabilization like the MK then at least when the quad falls, it falls more level rather than falling at an odd angle

 

is there a variable in the code that would allow me to set and adjust a min throttle level when armed so I can have the ardu mimick my MK

 

Also ican I manually define the "hover throttle" in code rather than with flipping channel 7

Thanks

Al

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

Join diydrones

Email me when people reply –

Replies

  • yes, MIN_Throttle is the variable name, I'm not familiar with ACM code, but i think you could change it to, let's say 1200 and you'll be fine.

    refer to jason, he's the code master ;)

  • Developer

    Hover throttle is set automatically with any Alt hold enabled mode. 

    I really like the low throttle cut out. It's saved a lot of pain during crashes. It's also a real pain to disarm the motors when a dog runs up to you in the park and you have to set it down quickly. Among many other reasons.

    When in the air, if you don't go completely to neutral, the engines wont cut out. I've had zero issues flying this way for 5 months.

     

    If you want to change it, see the motors_quad.pde. look for 

     

     

       // Send commands to motors
    if(g.rc_3.servo_out > 0){
    APM_RC.OutputCh(CH_1, motor_out[CH_1]);
    APM_RC.OutputCh(CH_2, motor_out[CH_2]);
    APM_RC.OutputCh(CH_3, motor_out[CH_3]);
    APM_RC.OutputCh(CH_4, motor_out[CH_4]);
    // InstantPWM
    APM_RC.Force_Out0_Out1();
    APM_RC.Force_Out2_Out3();
    }else{
    APM_RC.OutputCh(CH_1, g.rc_3.radio_min);
    APM_RC.OutputCh(CH_2, g.rc_3.radio_min);
    APM_RC.OutputCh(CH_3, g.rc_3.radio_min);
    APM_RC.OutputCh(CH_4, g.rc_3.radio_min);
    }


    Change to:


       // Send commands to motors
    APM_RC.OutputCh(CH_1, motor_out[CH_1]);
    APM_RC.OutputCh(CH_2, motor_out[CH_2]);
    APM_RC.OutputCh(CH_3, motor_out[CH_3]);
    APM_RC.OutputCh(CH_4, motor_out[CH_4]);
    // InstantPWM
    APM_RC.Force_Out0_Out1();
    APM_RC.Force_Out2_Out3();



    Jason

This reply was deleted.

Activity