Akku Alarm akustisch?

gismojs

Form follows function.
#1
Guten Morgen mal wieder...

Um die Überlebenschancen meines kleinen Freundes ein wenig zu erhöhen wäre mir an einer akustischen Akkuwarnung sehr gelegen.

Das Board wird über ein Powermodul versorgt, und im Display des MP bekomme ich auch die entsprechenden Werte angezeigt.
Was ich mir auch schon ergoogelt habe, ist das man einen "Beeper" an den A5 anschliessen kann. So einen habe ich gestern flugs zusammengebastelt, den könnte ich auch dranstecken - aber wo kann ich dann tatsächlich den Brückenschlag von Spannungsüberwachung zu akustischer Warnung einstellen? Gibt's dass in den Tiefen des MP, oder muss ich noch einen Schritt weiter an den Sourcecode heran?

Für einen kurzen Hinweis wäre ich euch sehr dankbar.

LG

Jochen
 

DerKlotz74

Erfahrener Benutzer
#2
Guten Morgen mal wieder...

Um die Überlebenschancen meines kleinen Freundes ein wenig zu erhöhen wäre mir an einer akustischen Akkuwarnung sehr gelegen.

Das Board wird über ein Powermodul versorgt, und im Display des MP bekomme ich auch die entsprechenden Werte angezeigt.
Was ich mir auch schon ergoogelt habe, ist das man einen "Beeper" an den A5 anschliessen kann. So einen habe ich gestern flugs zusammengebastelt, den könnte ich auch dranstecken - aber wo kann ich dann tatsächlich den Brückenschlag von Spannungsüberwachung zu akustischer Warnung einstellen? Gibt's dass in den Tiefen des MP, oder muss ich noch einen Schritt weiter an den Sourcecode heran?

Für einen kurzen Hinweis wäre ich euch sehr dankbar.

LG

Jochen
http://vrbrain.files.wordpress.com/2013/06/bm1.jpg?w=918&h=629["]http://vrbrain.files.wordpress.com/2013/06/bm1.jpg?w=918&h=629[[/URL]

Setz mal den Haken "MP Alert on Low Voltage". Allerdings ob der nur im MP aktiv ist oder auch im Flug musste testen.
 

gismojs

Form follows function.
#3
Argl. Chris hat mich hier auf die richtige Fährte gesetzt. Aber irgendwie gibts im MP den Parameter Copter_LED nicht mehr in der Standard Config - weiß jemand ob der umgezogen ist, geheiratet hat oder gar verstorben sein könnte? :rolleyes:
 

DerKlotz74

Erfahrener Benutzer
#4
Hab nur noch LED_Mode in der Full Parameter List gefunden. Steht leider keinn Kommentar bei, was einzustellen ist.
 

Chriss_:)

Erfahrener Benutzer
#6
Chriss_:) hat gesagt.:
Hi,

ich habe mich mal grade durch den Quelltext gewühlt. Die klassische Zuordnung gibt es nicht mehr, aber die externen LEDs wurden hardcodiert, heißt, es gibt 4 Benachrichtigungs-LEDs, die fest ausgegeben werden. Die Zuordnung findest du hier (ExternalLED.h, Z25ff):

Code:
#if CONFIG_HAL_BOARD == HAL_BOARD_APM2
 #define EXTERNAL_LED_ARMED   61    // Armed LED - AN7
 #define EXTERNAL_LED_GPS     60    // GPS LED - AN6
 #define EXTERNAL_LED_MOTOR1  58    // Motor1 LED - AN4
 #define EXTERNAL_LED_MOTOR2  62    // Motor2 LED - AN8
#elif CONFIG_HAL_BOARD == HAL_BOARD_APM1
Auch der Buzzer hat eine feste Zuordung bekommen:
Code:
#elif CONFIG_HAL_BOARD == HAL_BOARD_APM2
 # define BUZZER_PIN    59      // pin 59 on APM2       # anm.: entspricht AN5
#else
Brauchst also nichts mehr einstellen, nur noch anschließen, dann sollte es funktionieren! ;)
Schöne Grüße aus dem Sauerland!
Chriss
 

Chriss_:)

Erfahrener Benutzer
#7
Hab nur noch LED_Mode in der Full Parameter List gefunden. Steht leider keinn Kommentar bei, was einzustellen ist.
Hi,

es kann sein, dass das Überbleibsel aus einer älteren Konfig sind, in der neuen FW-Version wurden diese schlichtweg rausgenommen und für bestimmte Ereignisse fest einprogrammiert. Hatte den Parameter auch in der FPL gefunden, aber keine Einstellungen vornehmen können.

Achja "MP Alert on Low Voltage" lässt nur den Mission Planner bei Low Voltage warnen, nicht aber die Flight Control! ;)

Schöne Grüße aus dem Sauerland!
Chriss
 

gismojs

Form follows function.
#8
@Chris: Ich hab das Ding jetzt am A5 hängen, aber es macht (mindestens beim Arming/Disarming) keinen Mucks.
Wenn ich die # richtig deute, ist das noch auskommentiert und inaktiv, richtig?
 

Chriss_:)

Erfahrener Benutzer
#9
Hi Jochen,

ne die sind nicht auskommentiert, die Anweisungen mit dem Hash davor sind für den Compiler. So kann man beim Kompilieren entscheiden, welche Blöcke im Microcontroller verfügbar sind. Sollen so z.B. bestimmte Funktionen aus Platzgründen nicht drauf, können die mit solchen if/else Abfragen ausgeschlossen werden.

Im Beispiel oben ist es so, wenn das entsprechende Board gewählt ist (HAL_BOARD_APM2), werden die entsprechenden Pins für die Ausgabe gesetzt.

Ich werde mir nochmal den Source-Code anschauen, vielleicht finde ich noch was! ;)

Schöne Grüße aus dem Sauerland!
Chriss
 

Chriss_:)

Erfahrener Benutzer
#10
Hi,

ich nochmal! ;) Könntest du mal in der Full Parameter List schauen, ob du den Wert "EPM_ENABLE" findest? Wenn ja, auf welchen Wert steht der?

Im neuen Master branch ist dies wohl implementiert und kollidiert mit den Externen LED's. Ich untersuche aber weiter den Quelltext, auch wegen dem Buzzer! ;)

Edit: es scheint, man kann die Akkuwarnung nur einschalten, wenn man Battery-Failsafe aktiviert. Einen Low Voltage-Buzzer scheint es in der neuen FW Version nicht mehr zu geben... :( Vielleicht kann man das noch zusätzlich implementieren, wenn gewünscht.

Schöne Grüße aus dem Sauerland!
Chriss
 
Zuletzt bearbeitet:

Chriss_:)

Erfahrener Benutzer
#12
Hi,

das wäre zu einfach! ;) Nein, da habe ich mit Jochen schon drüber gesprochen, es geht hier darum, die Funktionen der Software auszunutzen, zudem gibt der LiPo-Warner keinen Piep ab, wenn der Copter ge- oder disarmed wurde! ;)

Achja, in den aktuellen Sourcen sind die Ausgänge auf AN 4-8 gemappt, der Buzzer kommt somit tatsächlich an AN5, "Armed LED" ist AN7 und "GPS LED" AN6 zugeordnet (vergl. ExternalLED.h Z25ff & Buzzer.h Z24).

Somit sollte also der Buzzer bei Arm / Disarm beepen, ebenso, wenn Battery FS eingestellt und aktiv ist. Dazu muss aber der Parameter "EPM_ENABLED" auf 0 stehen... Könnte das mal jemand verifizieren? Mein APM liegt zuhause, schön verpackt und ich komme frühestens am Sonntag dazu... :p

Schöne Grüße aus dem Sauerland!
Chriss
 

gismojs

Form follows function.
#14
Ok, Leute, Hosen runter. Es sieht so aus: Chris hat recht, einfach an den A5 dranstecken das gute Stück. Keine Gedanken um irgendwelche Einstellungen machen.

Der Jochen (dummerweise bin ich das) hat tatsächlich den Buzzer verpolt gehabt, deswegen ging der nicht. Einmal gedreht, und der Kamerad macht was er soll.

Ich stelle hiermit ne virtuelle Kiste Bier aufn Tisch und geh um die Ecke mich schämen... :engel:
 

SvenL

Erfahrener Benutzer
#15
Ich bastle gerade an dem Code herum, denn ein Buzzer auf Dauerton bringt reichlich wenig. Ich versuche ihn auf Intervall umzubauen...

Viele Grüße!

Sven
 

Chriss_:)

Erfahrener Benutzer
#16
Hi Sven,
in den aktuellen Sourcen ist der Dauerton nicht mehr zu finden! ;) Batt FS wird nun mit Beethoven 5th signalisiert! :p

@Jochen, schön, dass es geklappt hat! :) Jetzt nur noch den i2c Bus fixen und alles wird gut! :)

Schöne Grüße aus dem Sauerland!
Chriss
 

SvenL

Erfahrener Benutzer
#17
Wie bitteschön soll man mit einem Piepser, der nur einen Ton abspielen kann, Beethoven's 5. Sinfonie abspielen?

3x kurz, 1x lang?

Ich bin ja dafür, dass der Piepser ein B für BATTERY in sauberem CW gibt...dah-di-di-dit.

Sven
 

Chriss_:)

Erfahrener Benutzer
#18
Ja, ich musste auch etwas schmunzeln! ;) Aber ja, so machen die das, ich suche die Stelle morgen mal raus! :p

Welche Version hast du als Grundlage zum Umschreiben genommen? Hast du noch ne leds.pde? Würde ja jetzt alles ausgelagert in die Libs (AP_Notify => ExternalLED und Buzzer).

Schöne Grüße aus dem Sauerland!
Chriss
 

SvenL

Erfahrener Benutzer
#19
Ich habe 3.1 als Grundlage genommen...

Dann muss ich mir jetzt mal den Branch anschauen, denn ich wollte zusätzlich auch, dass meine GPS Led schnell blinkt, wenn Battery Failsafe aktiv ist. Ist natürlich doof, wenn sich genau die Quellen ändern, an denen man selbst gerade arbeitet.

Viele Grüße!

Sven
 

Chriss_:)

Erfahrener Benutzer
#20
Hi Sven,

ich hatte den Master Branch geladen und wie ich grade sehe, ist die aktuelleste Version "ArduCopter V3.1.2-rc1". Was den Buzzer angeht, so finde ich, ist es viel einfacher, neue Tonfolgen zu erstellen und diese Pattern dann bestimmten Ereignissen zuzuweisen. Hier mal der Auszug aus der Buzzer.cpp:
Code:
case GPS_GLITCH:
                // play bethoven's 5th type buzz (three fast, one long)
                switch (_pattern_counter) {
                    case 1:
                    case 3:
                    case 5:
                    case 7:
                        on(true);
                        break;
                    case 2:
                    case 4:
                    case 6:
                        on(false);
                        break;
                    case 17:
                        on(false);
                        _pattern = NONE;
                        break;
                    default:
                        // do nothing
                        break;
                }
                return;
Achja, ich hatte mich vertan mit dem Dauerton, Beethoven hat mich da zu sehr abgelenkt... ;) Ist natürlich immer noch ein Dauerton, aber den kannst du ganz einfach ändern! ;) Denke ma, da wäre ein eigenes Pattern ganz gut! ;)

In der ExternalLED.cpp kannst du die LED's nach ähnlichem Muster ansteuern und dir auch so eigene Pattern definieren! ;)

Für meinen Copter darf ich derzeit leider noch mit den älteren Sourcen vorlieb nehmen, da ich auf der Crius AIOP v2 nur MPng nutzen kann... Eine Eigene Portierung schaffe ich aus Zeitgründen iwie nicht so richtig^^ :p

Schöne Grüße aus dem Sauerland!
Chriss
 
FPV1

Banggood

Oben Unten