RTL & land on low battery - how to do it?

Hi,

Is it possible to configure ArduCopter (2.7.3) to do and RTL (and optionally land) if the battery voltage becomes too low?

I read the Wiki over and I'm not sure how to do it.

I have battery monitoring on my setup (APM1) and can read the correct battery voltage on the Mission Planner (via telemetry).

Alternatively, can MP be set up to sound a loud alarm when the battery voltage is too low?

Dror

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

Join diydrones

Email me when people reply –

Replies

  • This discussion sort of fizzled out...  but I still think it's an important feature.

    Any chance of it getting into an upcoming release?

    Dror

  • 100KM

    Thing is, it's kinda dangerous and VERY scary to have your drone suddenly do stuff you didn't expect (land or RTL).  That's why it's commented out by default I guess, so only experienced users can get it working.

    I found having warning leds is much safer : U4eake's showleds (copterleds will also do it I think).

    As usual : suggestions there are plenty.  Devellopers to turn the suggestions into reality : too few.  But you should be able to get it working now.  Just be carefull with it and test it in safe conditions !

  • 100KM

    In events.pde you'll find this :

    static void low_battery_event(void)
    {
        static uint32_t last_low_battery_message;
        uint32_t tnow = millis();
        if (((uint32_t)(tnow - last_low_battery_message)) > 5000) {
            // only send this message at 5s intervals at most or we may
            // flood the link
            gcs_send_text_P(SEVERITY_LOW,PSTR("Low Battery!"));
            last_low_battery_message = tnow;
        }
     
        low_batt = true;
     
        // if we are in Auto mode, come home
        if(control_mode >= AUTO)
            set_mode(RTL);
    }

    You need to set #define BATTERY_EVENT ENABLED in apm_config.h for it to work AND it is commented out by default.  To enable it you need to remove the // in sensors.pde, line 82

    #if BATTERY_EVENT == ENABLED
        //if(battery_voltage < g.low_voltage)
        //  low_battery_event();

    So set #define BATTERY_EVENT = ENABLED in apm_config.h and remove the comment (//) before the 2 lines in sensors.pde and then it should work.

    Ow, you should also set the low battery limit with # define LOW_VOLTAGE                    9.6 or you can also set it in mission planner.

    The default is 9.6V (if you don't set it) and also configure voltage measuring so it measures correctly.

    Carefull however !  It will always switch to RTL when in auto and battery drops low.

  • RTL on low battery it's a desirable feature.

    +1

  • Just raising this discussion again because it seems to be lost among the 2.7.x discussions.  I believe this is an important feature and would like to have the developers' opinions.

    Dror

  • I build a voltage devider with 2 resistors (metal film, low tolerance) for 3S setup here http://diydrones.com/forum/topics/no-serious-problems-just-some-que... . After calibration with a simple multimeter in the missionplanner i get very good readings in my OSD. Perhaps this could be the first step for you. BTW i always disable this autolanding feature on my naza setup in the first place. Because i have too much water, trees and obstacles in my flying area and i don't want an automatic landing when i just need 2 sec more flighttime to navigate to a secure landing place. You can bet everything on this: if there is only one place where you can wreck your copter - you will def. find it with an low voltage autolanding feature. So, yes, low voltage protections are not fun - indeed.

    That is offtopic and just my point of view.

    So long

    Kraut Rob

  • I would really like it to work like the Naza (below) or better :)

This reply was deleted.

Activity