NanoWii LiPo-Überwachung, welche Spannung auf TX0?

Bamfax

Erfahrener Benutzer
#1
Hallo,

kurze Frage, weil ich dazu leider keine Antwort gefunden hab.

Ich will an das NanoWii eine LED zur LiPo-Überwachung anschliessen. Der Spannungsteiler ist schon angeschlossen, funktioniert, im Sketch sind Buzzer und Batscale (128) schon eingestellt und die Spannung stimmt. Wenn ich das jetzt richtig gelesen hatte, kommt das Signal für Buzzer/LED per default an TX0 raus. Das passt auch bei mir, weil der serielle ist noch frei (Standard Empfänger ohne Summensignal).

Bloss, bzgl. der Spannung, die dann auf TX0 anliegt, habe ich noch nichts gefunden. Der DauerAn-PIN auf dem Seriellen hat ja 3,3 Volt. Aber TX0? Liegen da jetzt 3,3V, 5V, oder VCC an? Damit ich den richtigen Vorwiderstand dranhänge und nichts kaputt mache - die NanoWii ist mir ans Herz gewachsen -=:). Ich würde es ja auch messen - aber den Copter im Stand leerfliegen während das Voltmeter dranhängt fühlt sich etwas gefährlich an ;)

Danke für die Antworten!

Olli
 

Bamfax

Erfahrener Benutzer
#3
Irgendwann wird man doch schlau... Im Sketch VBATLEVEL1_3S auf 120 gesetzt und gemessen. Es kommen doch 3,3v raus. Also 3,3v LED dran, spare Vorwiderstand und gut ist's. Hübsch :)
 
#4
Hallo,

Mein Quad mit Nanowii 1.0 fliegt prima. Ich bekomme nur die Lipo-Überwachung nicht hin.
Ich benutze einen Summensignalempfänger (Jeti).
Spannungsteiler 33k/56k an A3 ist angeschlossen (gemessen bei Lipospannung 12V etwas über 4V an A3.
An Tx habe ich zum Testen eine LED über Widerstand an VCC gehängt. Die LED bleibt dunkel, auch, wenn ich die Lipo-Spannung langsam absenke bis 7V.
Im Sketch habe ich folgendes eingetragen:
/********************************************************************/
/**** Buzzer ****/
/********************************************************************/
//#define BUZZER
//#define RCOPTIONSBEEP // uncomment this if you want the buzzer to beep at any rcOptions change on channel Aux1 to Aux4
//#define ARMEDTIMEWARNING 330 // Trigger an alarm after a certain time of being armed to save you lipo (if your TX does not have a countdown)

/********************************************************************/
/**** battery voltage monitoring ****/
/********************************************************************/
/* for V BAT monitoring
after the resistor divisor we should get [0V;5V]->[0;1023] on analog V_BATPIN
with R1=33k and R2=51k
vbat = [0;1023]*16/VBATSCALE */
// must be associated with #define BUZZER !
#define VBAT // uncomment this line to activate the vbat code
#define VBATSCALE 131 // change this value if readed Battery voltage is different than real voltage
#define VBATNOMINAL 126 // 12,6V full battery nominal voltage
#define VBATLEVEL1_3S 107 // 10,7V
#define VBATLEVEL2_3S 103 // 10,3V
#define VBATLEVEL3_3S 99 // 9.9V
#define VBATLEVEL4_3S 93 // 9.3V - if vbat ever goes below this value, permanent alarm is triggered
#define NO_VBAT 16 // Avoid beeping without any battery

Der woanders beschriebene bug in der serial.ino-Datei ( fehlendes "break") ist in meiner Version nicht vorhanden.

Kann ich den Ausgang Tx für die LED-Ansteuerung benutzen, obwohl ich PPM-Summensignal verwende?
Kann ich die Lipo-Alarmfunktion in der MultiWiiConf erkennen?
(Bei mir erscheint untereinander:
Power=0
pAlarm=0
Volt=25,500

Schön, wenn ich einen Tip bekommen könnte.
 

Bamfax

Erfahrener Benutzer
#5
Hi Bloh,

dein Spannungsteiler sollte an A3 und GND angeschlossen sein, das ist er vermutlich auch schon(?).

Wenn Dein Spannungsteiler keinen Mist misst, zeigt Dir das MultiWiiConf auch die gemessene Spannung an (linker Rand Mitte: "Volt")

Dass Deine LED mit auskommentiertem "//#define BUZZER" nicht leuchtet, wundert mich nicht. Meine MW lässt mich nur mit aktiviertem Buzzer kompilieren: "/def.h:1498:10: error: #error "to use VBAT, you must also configure BUZZER"". Oder hast Du das anders gelöst?

Um den Alarm zu testen, musst Du die Spannung auch nicht absenken (wie bist Du auf 7V runter, mit Netzteil oder tatsächlich mit LiPo-Folter?), sondern kannst den Alarm hochsetzen, z.B. auf 13V. Die LED geht dann auch nicht auf Dauerleuchten, sondern eher auf Blitzen mit verschiedenen Blitzmustern (je hektischer, desto lande).

Bzgl TX mit Summensig keine Ahnung. Theoretisch und evtl könnte es gehen, TX wird ja grundsätzlich nicht gebraucht. Du könntest ja mal messen, ob TX schon beschaltet ist. Alternativ gibt es auch #define D8BUZZER, um den PIN umzulegen. Oder Du steuerst per LED_FLASHER LED-Stripes an.

Check doch erstmal im MWConf, ob die Spannung vernünftig gemessen wird. Wenn ja, kannst Du dann danach schauen, ob der Output PIN richtig 'feuert'. Hier kannst Du ja auch den Empfänger vorher abziehen, und per Voltmeter messen, dann geht auf jeden Fall nichts kaputt.

ps.: Sehe gerade erst, dass Du schon die MWConf Voltanzeige bekommst. Stimmen denn die 25V? Das wäre dann ein 6S LiPo? :wow:

Grüße,
Olli
 
#6
Hallo Bamfax,

vielen Dank für die Informationen.

Der Spannungsteiler an A3 war o.k. Die Anzeige im MultiwiiConf auch.
Ich hatte aber an TX kein Ausgangssignal (ob mit oder ohne BUZZER).
Weil ich beim Empfänger ein PPM-Summensignal benutze, musste ich den Ausgangsport von TX auf D8 ändern (in der config.h unter Buzzer Pin) Jetzt funktioniert die Lipo-Überwachung durch entsprechendes Blinken der LED-Streifen. Da das Signal für einen Buzzer bestimmt ist, musste ich neben dem LED-Treiber noch einen Inverter einbauen. Eine Invertierung per Software habe ich nicht gefunden.
Kleiner Schönheitsfehler: Die Alarmwerte und der angezeigte Spannungswert in der MWConf sind noch um 0,6V daneben.
Kein Problem (dachte ich), wird mit VBATSCALE (131) zurechtgetrimmt. Ich habe die Zahl mehrfach geändert, aber die angezeigten Spannungswerte ändern sich dadurch nicht. Naja, Hauptsache es läuft schon mal.

Gruß

BLoh
 

Bamfax

Erfahrener Benutzer
#7
Probier mal vbatscale 128, siehe post #1, das sollte auf deine 33k/56k zutreffen.

Du schreibst von led-streifen... hast du eine led oder streifen angeschlossen?
 
#8
Hallo Bamfax,

LED-Strips (12V) ist sicher der bessere Ausdruck. Ich nehme die 12V vom Lipo 3S und steuere über 2 Transistoren an (einer zum invertieren des Signals).
 
#10
Die Voltangabe mit batscale stimmt auch mit 128 leider nicht. Ich kann hier einstellen, was ich will, der Fehler von 0,6V bleibt immer gleich.
 
#11
dev version nehmen, vbatscale ueber terminal (arduino IDE serial monitor) aendern ohne recompile.
Der Wert steht seit kurzem im eeprom, ein neu-upload aendert den dann nicht - hoechstens ein reset aus dem GUI.
 
#12
Vielen Dank für die Info zu vbatscale.

vbatscale muss im EEPROM geändert werden.
Ardoino starten, über Tools "seriel Monitor" wählen.
Und was muss ich da eingeben (senden) , um vbatscal zu ändern??
Nach meiner Kenntnis benötigt man zum Empfangen und ändern des EEPROM-Inhaltes ein kleines Programm.
Oder hab ich das was ganz falsch verstanden?
 
#13
Nun hat es endlich geklappt mit der Eingabe des Wertes für vbatscale:
Man muss nur Reset in der GUI drücken, damit der neue Wert ins EEPROM kommt.
Die anderen Konfigurationen (z.B. aux1) müssen dann noch einmal in der GUI eingegeben werden.
Nun stimmen die Werte für die Lipoüberwachung.
 

Klema

Erfahrener Benutzer
#14
Hast Du evtl. ne konkrete Schaltung für das Ansteuern der LED Stripes? Vor allem das Invertieren interessiert mich, sofern das nicht softwaremäßig geht. Hab hier mal einen knappen Meter an einen BS170 gehängt, das klappt am AArduino Uno ohne Probleme, würde aber bedeuten, dass die LEDs erst bei leerem Akku angehen ;)
 
#17
Hallo Klemens,

ich habe folgende kleine Schaltung mit einem zweiten Transistor zum Invertieren gebaut:

Anhang anzeigen 39345

Gruß

Bloh
Ich versuche auch gerade die Ansteuerung von LED Stripes zu realisieren. Ich habe nun diese Schaltung gefunden und habe dazu noch zwei Fragen.
1. Reichen bei dieser Schaltung die einfachen BC547 Transistoren oder sollten es schon die BC337 sein? Meine LED Stripes (rot - 24LEDs) benötigen ~150mA.
2. Soll der eine Widerstand vom ersten Transistor (Kollektor) zu +12V ein 4k7 oder ein 4,7Ohm Widerstand sein? Sorry für diese blöde Frage.
 
#18
Der wiederstand soll4,7kohm, also4k7 sein. Der einfache Trannsistor kann 100mA. Das reicht auch beim 2. Transistor für normale LEDdketten. Widerstandswerte und Transistortypen sind völlig unkritisch.
 
#19
Vielen Dank. Ich habe es gerade auf einem Steckbrett ausprobiert und es funktioniert gut. Nun kann ich mir eine kleine Platine löten und die LEDs an den Kopter anbringen.
 
FPV1

Banggood

Oben Unten