MultiWii PRO Flight Controller w/MTK GPS Module

Racker

Erfahrener Benutzer
#41
Habe sie runtergeladen und ohne Änderungen versucht zu Kompilieren
Laufend fehler libraries\AP_AHRS\AP_AHRS.cpp:22:56: error: macro "AP_GROUPINFO" passed 5 arguments, but takes just 4 usw. usw.

Habe vorhin mal die Multiwiie MultiWii_2_1_CriusV2_13_01_03.ino ausprobiert.(habe ich hier im Forum gefunden)Kann ich die auch verwenden?
Die obengenannten Änderungen vorgenommen .
Kompilieren abgeschlossen
Binäre Sketchgröße: 16.120 Bytes (von einem Maximum von 258.048 Bytes)
Wo liegt der Fehler bei Megaprates?
MFG
RAcker
 

kajot

Erfahrener Benutzer
#42
Du musst schon Änderungen vornehmen. In der Programmierung ist bestimmt sowas wie eine Plausibilitätsprüfung. Wenn keine FC ausgewählt dann stoppe bei der Kompilierung oder so. Versuche es doch mal mit trial and error. Zuerst nur die FC und Xcopter ohne GPS.

nachtrag: die ino Datei kommt die von hier:

http://fpv-community.de/showthread....-CRIUS-SE-V2-0-MultiWii-Programmcode-(MW-2-1)

Die ist für die SE-Version. Ich kenne zwar nicht den Unterschied, aber mit so etwas wäre ich vorsichtig.
 
Zuletzt bearbeitet:

IngoH

Erfahrener Benutzer
#43
Hallo Racker,

hatte das gleiche Problem, aber lies dir mal die readme Datei im Megapirates Ordner durch:

1. Download and install Arduino 1.0.1!!!!
2. See additional requirements for BlackVortex boards in the release_notes_BlackVortex.txt
3. Delete original libraries folder in Arduino IDE folder
4. Copy libraries folder from MegaPirateNG distributive into Arduino IDE folder
5. Select your Frame, Sensor, Tranmitter type in the APM_config.h (Quad X, ALLINONE by default)

Im Arduino unter Datei --> Einstellung bei Sketchbook Speicherort den Pfad auswählen, unter der MegaPirates bei dir abgelegt ist. Aufgerufen wird das Sketch dann mit Datei --> Sketchbook --> Arducopter

Damit funktioniert´s.

Das Ganze ist hier erklärt: http://www.youtube.com/watch?v=a0r3QpI165g
Zwar teilweise fast etwas zu ausführlich, aber damit habe ich es hinbekommen.

Ingo
 

Racker

Erfahrener Benutzer
#44
Super :) Habe alles so gemacht wie in dem Video und beim Kompilieren werden keine Fehler angezeigt.Kann da vieleich mal jemand drber schauen ob ich alles richtig eingestelt habe oder ob noch was fehlt?

// -*- tab-width: 4; Mode: C++; c-basic-offset: 4; indent-tabs-mode: nil -*-
#ifndef __ARDUCOPTER_APMCONFIG_H__
#define __ARDUCOPTER_APMCONFIG_H__
// Example config file. Take a look at config.h. Any term define there can be overridden by defining it here.

// Fast PWM 490Hz enabled by default (490 Hz can be changed in the APM Planner)
// In order to use an old PWM generator (for slow ESC), uncomment this line
//#define INSTANT_PWM ENABLED

// Select your sensor board
#define PIRATES_SENSOR_BOARD PIRATES_ALLINONE
/*
PIRATES_ALLINONE
PIRATES_FFIMU
PIRATES_FREEIMU
PIRATES_BLACKVORTEX
PIRATES_FREEIMU_4 // New FreeIMU 0.4.1 with MPU6000, MS5611 and 5883L
PIRATES_DROTEK_10DOF_MPU // MPU6000, MS5611 and 5883L
PIRATES_CRIUS_AIO_PRO_V1 // Crius AllInOne Pro v1
*/

// RC configuration
// Uncomment if you uses PPM Sum signal from receiver
//#define SERIAL_PPM ENABLED

#define TX_CHANNEL_SET TX_set1
/*
TX_set1 //Graupner/Spektrum PITCH,YAW,THROTTLE,ROLL,AUX1,AUX2,CAMPITCH,CAMROLL
TX_standard //standard PPM layout Robbe/Hitec/Sanwa ROLL,PITCH,THROTTLE,YAW,MODE,AUX2,CAMPITCH,CAMROLL
TX_set2 //some Hitec/Sanwa/others PITCH,ROLL,THROTTLE,YAW,AUX1,AUX2,CAMPITCH,CAMROLL
TX_mwi //MultiWii layout ROLL,THROTTLE,PITCH,YAW,AUX1,AUX2,CAMPITCH,CAMROLL
*/

// Select your baro sensor
#define CONFIG_BARO AP_BARO_BMP085_PIRATES
/*
AP_BARO_BMP085_PIRATES
AP_BARO_MS5611_I2C
*/

// Warning: COPTER_LEDS is not compatible with LED_SEQUENCER, so enable only one option
#define COPTER_LEDS ENABLED // New feature coming from ArduCopter
//#define LED_SEQUENCER ENABLED // Old Oleg's LED Sequencer, see leds.pde for more info

#define MAX_SONAR_RANGE 400

#define OSD_PROTOCOL OSD_PROTOCOL_NONE
/*
OSD_PROTOCOL_NONE
OSD_PROTOCOL_SYBERIAN
OSD_PROTOCOL_REMZIBI // Read more at: http://www.rcgroups.com/forums/showthread.php?t=921467
*/

// For BlackVortex, just set PIRATES_SENSOR_BOARD as PIRATES_BLACKVORTEX, GPS will be selected automatically
#define GPS_PROTOCOL GPS_PROTOCOL_UBLOX
/*
GPS_PROTOCOL_NONE without GPS
GPS_PROTOCOL_NMEA
GPS_PROTOCOL_SIRF
GPS_PROTOCOL_UBLOX <<< Select this for UBLOX LEA-6 (CRIUS GPS boards and others)
GPS_PROTOCOL_MTK16
GPS_PROTOCOL_BLACKVORTEX
GPS_PROTOCOL_AUTO auto select GPS
*/

#define SERIAL0_BAUD 115200 // Console port
#define SERIAL2_BAUD 38400 // GPS port
#define SERIAL3_BAUD 57600 // Telemetry (MAVLINK) port

// New in 2.0.43, but unused in MegairateNG
// MPNG: Piezo uses AN5 pin in ArduCopter, we uses AN5 for CLI switch
#define PIEZO DISABLED
#define PIEZO_LOW_VOLTAGE DISABLED
#define PIEZO_ARMING DISABLED

#define FRAME_CONFIG QUAD_FRAME
/*
QUAD_FRAME
TRI_FRAME
HEXA_FRAME
Y6_FRAME
OCTA_FRAME
OCTA_QUAD_FRAME
HELI_FRAME
*/

#define FRAME_ORIENTATION X_FRAME
/*
PLUS_FRAME
X_FRAME
V_FRAME
*/

# define CH7_OPTION CH7_DO_NOTHING
/*
CH7_DO_NOTHING
CH7_SET_HOVER
CH7_FLIP
CH7_SIMPLE_MODE
CH7_RTL
CH7_AUTO_TRIM
CH7_ADC_FILTER (experimental)
CH7_SAVE_WP
*/

//#define RATE_ROLL_I 0.18
//#define RATE_PITCH_I 0.18
//#define MOTORS_JD880
//#define MOTORS_JD850


// agmatthews USERHOOKS
// the choice of function names is up to the user and does not have to match these
// uncomment these hooks and ensure there is a matching function un your "UserCode.pde" file
//#define USERHOOK_FASTLOOP userhook_FastLoop();
#define USERHOOK_50HZLOOP userhook_50Hz();
//#define USERHOOK_MEDIUMLOOP userhook_MediumLoop();
//#define USERHOOK_SLOWLOOP userhook_SlowLoop();
//#define USERHOOK_SUPERSLOWLOOP userhook_SuperSlowLoop();
#define USERHOOK_INIT userhook_init();

// the choice of includeed variables file (*.h) is up to the user and does not have to match this one
// Ensure the defined file exists and is in the arducopter directory
#define USERHOOK_VARIABLES "UserVariables.h"

// to enable, set to 1
// to disable, set to 0
#define AUTO_THROTTLE_HOLD 1

#define LOGGING_ENABLED DISABLED

// Custom channel config - Expert Use Only.
// this for defining your own MOT_n to CH_n mapping.
// Overrides defaults (for APM1 or APM2) found in config_channels.h
// MOT_n variables are used by the Frame mixing code. You must define
// MOT_1 through MOT_m where m is the number of motors on your frame.
// CH_n variables are used for RC output. These can be CH_1 through CH_8,
// and CH_10 or CH_12.
// Sample channel config. Must define all MOT_ chanels used by
// your FRAME_TYPE.
// #define CONFIG_CHANNELS CHANNEL_CONFIG_CUSTOM
// #define MOT_1 CH_6
// #define MOT_2 CH_3
// #define MOT_3 CH_2
// #define MOT_4 CH_5
// #define MOT_5 CH_1
// #define MOT_6 CH_4
// #define MOT_7 CH_7
// #define MOT_8 CH_8


// ************** EXPERIMENTAL FEATURES *****************

// Alt hold with accelerometer
#define ACCEL_ALT_HOLD 0 // disabled by default, work in progress

#define INERTIAL_NAV DISABLED

#if INERTIAL_NAV == ENABLED
#define ALT_HOLD_P 3
#define ALT_HOLD_I 0
#define ALT_HOLD_IMAX 300

// RATE control
#define THROTTLE_P 5 //
#define THROTTLE_I 0.4 //
#define THROTTLE_D 0.0 //

#define LOITER_P 0.50
#define LOITER_I 0.0
#define LOITER_RATE_P 5 //
#define LOITER_RATE_I 0.1 // Wind control
#define LOITER_RATE_D 0.0 // try 2 or 3 for LOITER_RATE 1
#endif

// Enabling this will use the GPS lat/long coordinate to get the compass declination
//#define AUTOMATIC_DECLINATION ENABLED

// Enable Jeb Madgwick sensor fusion algo
//#define QUATERNION_ENABLE ENABLED

//#define CLI_ENABLED DISABLED

//#define FAILSAFE

#endif //__ARDUCOPTER_APMCONFIG_H__
 

kajot

Erfahrener Benutzer
#45
Super :) Habe alles so gemacht wie in dem Video und beim Kompilieren werden keine Fehler angezeigt.Kann da vieleich mal jemand drber schauen ob ich alles richtig eingestelt habe oder ob noch was fehlt?

.....

// Select your sensor board
#define PIRATES_SENSOR_BOARD PIRATES_ALLINONE
/*
PIRATES_ALLINONE
PIRATES_FFIMU
PIRATES_FREEIMU
PIRATES_BLACKVORTEX
PIRATES_FREEIMU_4 // New FreeIMU 0.4.1 with MPU6000, MS5611 and 5883L
PIRATES_DROTEK_10DOF_MPU // MPU6000, MS5611 and 5883L
PIRATES_CRIUS_AIO_PRO_V1 // Crius AllInOne Pro v1
*/
Welches Board hattest du noch gleich?!?
 

Racker

Erfahrener Benutzer
#47
So möchte mich mal recht Herzlich Bedanken. Vor allem bei Ingo und Kajot . Nachdem ich mir das Video GENAU angeschaut habe und mit Ingo einen regen PN Austausch hatte (Er möge mir meine Dummen Fragen verzeihen) Hat nun alles geklappt mit Kompilieren. Es wird keine Fehler mehr angezeigt
Racker (der happy ist)
 

kajot

Erfahrener Benutzer
#48
Dafür nicht. Dafür ist ja so ein Forum da.


Nicht immer nur was aus dem Trog fressen. Ab und zu auch mal was reinwerfen. :)
 

IngoH

Erfahrener Benutzer
#50
Genau dafür ist ein Forum ja da. Am Anfang ist man meist derjenige, der Fragen hat und die Hilfe anderer braucht. Aber mit der Zeit, wenn man sich ein bisschen in die Sache eingearbeitet hat, kann (und sollte) man sein erworbenes Wissen auch wieder an Anfänger/Hilfesuchende weitergeben.


Ingo
 

Racker

Erfahrener Benutzer
#51
Eine Frage habe ich aber (erstmal) noch
Kann man an den Serial Port nur einen Spektrum Sateliten anschließen Und wenn ja, muss dann in der Config noch was eingetragen werden.
Habe was im RCgroup Forum was dazu gefunden. Werde aber nicht so recht schlau daraus.Mein Englisch Auserdem geht es da wohl um das ältere Board
http://www.rcgroups.com/forums/showthread.php?t=1551599&page=128

MFG
Dieter
 
#52
Testflug heute, ein Problem habe ich noch. Wenn ich Level, MAG und Baro aktiv habe und ich mit dem Copter von mir wegfliege und anschliessend den Knüppel loslasse damit er sich horizontal ausgleicht, dann geht das nicht und seine Neigung geht in meine Richtung, quasi zurück zu mir, da bekommt er extrem Speed in meine Richtung :(. Wenn ich anschliessend den Baro ausschalte dann pendelt er aus.
Wo könnte das Problem liegen?
Sonst funtkioniert alle perfekt mit MAG, Level und auch fast Baro.
Danke!
 

Goetz_Cologne

Erfahrener Benutzer
#53
@Marcel:
Hast Du den Kopter in der erforderlichen Reihenfolge getrimmt...? Wenn er im Levelmode nicht horizontal steht, dann hört sich das nicht so an...


1) muss im ACRO-Mode erfolgen: Der Kopter darf seine Lage ohne Stickeingabe nicht ändern, ansonsten an der Funke trimmen. Wenn die Lage (Pitch, Poll und Yaw) ohne Stickeingabe stabil getrimmt ist, dann (und erst dann) kann man

2) den Kopter möglichst waagerecht aufstellen, Lipo dran, NICHT armen, linker Stick oben links, rechter Stick gleichzeitig mitte unten (kalibrieren des ACC)

3) Danach kommt die Trimmung (nicht Kalibrierung, die hatten wir unter (2)) des ACC: Erklärung am Beispiel:
Kopter im Levelmode starten, er fliegt nach links -A landen, disarmen, linken Stick mitte oben, dabei mehrmals rechten Stick nach rechts. Armen, Lage kontrollieren und Schritt 3 ggfs mehrfach wiederholen.
Im Levelmode NICHT an der Funke trimmen! Die Trimmung der Funke ist ausschliesslich für den Acromode und zwingende Vorraussetzung für die Trimmung des ACC (Levelmode)
 
#54
Ja, das habe ich alles durch, am schluss habe ich noch über die Stick den ACC perfekt getrimmt. Der Kopter steht perfekt ohne dass er sich in einen Richtung bewegt (bei Windstill). Auch wenn ich den ACC deaktiviere steht er perfekt getrimmt, quasi Stick überall in der Mittelstellung.
Ich denke das Problem liegt nicht da. Kann das sein wenn GPS aktiv ist, dass er irgendwie nicht mit sich geht, nicht einrastet?

Denn wenn ich den Baro ausschalte wenn er ich meine Richtung gedonnert kommt (das heisst nur noch Level und Mag aktiv) dann stabilisiert er sofort und belibt je nach Fahrtwind stehen und bleibt.

Ich zweifle langsam am Board :( Obwohl ich das Crius AIO V2 Pro bestellt habe (mit all drum und dran) wäre es trotzdem gut wenn ich wüsste wo das Problem liegt.

Danke und Gruss
 
#55
Keiner eine Idee? Oder ist das Problem beim Board?
 
#56
Hallo alle zusammen

Ich habe zu diesem Board (MultiWii PRO Flight Controller w/MTK GPS Module) auch ne Frage, und zwar geht es um die Lipo Überwachung (blinkende Led oder so). Ich kenne das von der Nanowii, Spannungsteiler an nen pin anlöten Led dran und gut.
Aber wie funktioniert das bei dieser FC? der Pin der bei der Nanowii angegeben ist gibt es bei der FC nicht. Auch in der Gui wird mir ein falscher Wert angezeigt. Der Wert liegt so um die Einzelzellenspannung.

In der SuFu und bei Google bin ich nicht fündig geworden.
 

maker7

Erfahrener Benutzer
#57
Hallo Sixkiller,

Da ich vor demselben Problem stehe, hier mein Lösungsansatz:

In der "def.h" wird für die Spannungsmessung, bei Verwendung eines Mega-Controllers, auf ADC0 definiert:

Code:
#define V_BATPIN                   A0    // Analog PIN 0
Soweit ich das ohne den nicht vorhandenen Schaltplan nachvollziehen kann, ist ADC0 (Pin 97 am Mega2560) auf dem Board nicht angeschlossen.


Meine Idee wäre nun mittels der vorgesehen "Override-Funktionalität" einen Verbundenen ADC-(RX)Pin zu nutzen. Da ich das Summensignal ("SERIAL_SUM_PPM" und "PPM_ON_THROTTLE" definiert) nutze, werden in der "RX.ino" ADC9 bis ADC15 nicht als Interrupt-Eingänge deklariert.
In der "config.h" (Zeile 466) kann die Standard-Pin-Belegung geändert werden:

Code:
#define OVERRIDE_V_BATPIN                   A15 // instead of A0    // Analog PIN 15
Habe auf ADC15 gewechselt (Anschluss A15 auf dem Board) standardmäßig der RX-AUXPIN4.

Werde das jetzt so erst mal Testen. Sollte der Test erfolgreich sein muss mit dem Buzzer ähnlich verfahren werden, welcher standardmäßig von MultiWii am MEGA Pin PC5 erwartet wird.


Grüße
Elias
 

maker7

Erfahrener Benutzer
#58
Werde das jetzt so erst mal Testen. Sollte der Test erfolgreich sein muss mit dem Buzzer ähnlich verfahren werden, welcher standardmäßig von MultiWii am MEGA Pin PC5 erwartet wird.
Scheint alles so zu funktionieren wie gedacht. Den Buzzer habe ich auf die selbe Art mit eingebunden. Anbei alle relevanten Stelle des Config-Headers:

Code:
  /**************************************************************************************/
  /********                      override default pin assignments    ********************/
  /**************************************************************************************/

  /* only enable any of this if you must change the default pin assignment, e.g. your board does not have a specific pin */
  /* you may need to change PINx and PORTx plus #shift according to the desired pin! */
  [COLOR="#FF0000"]#define OVERRIDE_V_BATPIN                   A15 [/COLOR]// instead of A3    // Analog PIN 3

  //#define OVERRIDE_LEDPIN_PINMODE             pinMode (A1, OUTPUT); // use A1 instead of d13
  //#define OVERRIDE_LEDPIN_TOGGLE              PINC |= 1<<1; // PINB |= 1<<5;     //switch LEDPIN state (digital PIN 13)
  //#define OVERRIDE_LEDPIN_OFF                 PORTC &= ~(1<<1); // PORTB &= ~(1<<5);
  //#define OVERRIDE_LEDPIN_ON                  PORTC |= 1<<1;    // was PORTB |= (1<<5);

  [COLOR="#FF0000"]#define OVERRIDE_BUZZERPIN_PINMODE          pinMode (A14, OUTPUT); [/COLOR]// use A14 instead of d8
  [COLOR="#FF0000"]#define OVERRIDE_BUZZERPIN_ON               PORTK |= 1<<6 //PORTB |= 1;[/COLOR]
  [COLOR="#FF0000"]#define OVERRIDE_BUZZERPIN_OFF              PORTK &= ~(1<<6); [/COLOR]//PORTB &= ~1;
Code:
  /********************************************************************/
  /****                             Buzzer                         ****/
  /********************************************************************/
    [COLOR="#FF0000"]#define BUZZER[/COLOR]
    #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 [s] to save you lipo (if your TX does not have a countdown)
    //#define PILOTLAMP             //Uncomment if you are using a X-Arcraft Pilot Lamp
Code:
  /********************************************************************/
  /****           battery voltage monitoring                       ****/
  /********************************************************************/
    /* for V BAT monitoring
       after the resistor divisor we should get [0V;5V]->[0;1023] on analog V_BATPIN
       with R1=10K and R2=20K
       vbat = [0;1023]*16/VBATSCALE
       must be associated with #define BUZZER ! */
    [COLOR="#FF0000"]#define VBAT              [/COLOR]// uncomment this line to activate the vbat code
    #define VBATSCALE       136 // (*) change this value if readed Battery voltage is different than real voltage
    #define VBATNOMINAL     74 // 7,4V full battery nominal voltage - only used for lcd.telemetry
    #define VBATLEVEL_WARN1 70 // (*) 7,0V
    #define VBATLEVEL_WARN2  68 // (*) 6.8V
    #define VBATLEVEL_CRIT   62 // (*) 6.2V - critical condition: if vbat ever goes below this value, permanent alarm is triggered
    #define NO_VBAT          16  // (*) Avoid beeping without any battery
Der Lipo hängt über einen 3:1 Spannungsteiler am ehemaligen RX-A15 Anschluss und der Buzzer am RX-A14.


Grüße
Elias
 
Zuletzt bearbeitet:

maker7

Erfahrener Benutzer
#59
Hallo,

habe mir den Code nochmal angesehen, um zu verstehen wie sich die Sache mit einer X-Aircraft Pilot Pilot Lamp verhält.
Hier scheint ein "Bug" in der MW2.2 zu sein oder es wurde einfach nicht berücksichtigt auch hier die Overrides nutzen zu können.

Wenn mann die Overrides für den Buzzer nutzt werden diese auch nur zur Ansteuerung des (einfachen) Buzzers berücksichtig. Wird die Pilot Lamp (#define PILOTLAMP) verwendet, wird immer (beim MEGA) der PC5 als Portpin definiert. Im MultiWii-Forum wurde auch schon auf diesen "Missstand" hingewiesen.

Möchte man also die X-Aircraft Pilot Pilot Lamp in Verbindung mit der HK MultiWii Pro 2.0 FC verwenden, bedarf es einer Codeänderung.

Mein Ansatz hierzu wäre die Overrides auch für die Pilotlamp in der "def.h" zu setzen:

Original (MW2.2 def.h ab Z. 1771)
Code:
/**************************************************************************************/
/***************               override default pin assignments ?  ********************/
/**************************************************************************************/
#ifdef OVERRIDE_V_BATPIN
  #define V_BATPIN OVERRIDE_V_BATPIN
#endif
#ifdef OVERRIDE_LEDPIN_PINMODE
  #define LEDPIN_PINMODE OVERRIDE_LEDPIN_PINMODE
  #define LEDPIN_TOGGLE  OVERRIDE_LEDPIN_TOGGLE
  #define LEDPIN_OFF     OVERRIDE_LEDPIN_OFF
  #define LEDPIN_ON      OVERRIDE_LEDPIN_ON
#endif
#ifdef OVERRIDE_BUZZERPIN_PINMODE
  #define BUZZERPIN_PINMODE OVERRIDE_BUZZERPIN_PINMODE
  #define BUZZERPIN_ON      OVERRIDE_BUZZERPIN_ON
  #define BUZZERPIN_OFF     OVERRIDE_BUZZERPIN_OFF
#endif
Änderung (def.h ab Z. 1771)
Code:
/**************************************************************************************/
/***************               override default pin assignments ?  ********************/
/**************************************************************************************/
#ifdef OVERRIDE_V_BATPIN
  #define V_BATPIN            OVERRIDE_V_BATPIN
#endif
#ifdef OVERRIDE_LEDPIN_PINMODE
  #define LEDPIN_PINMODE      OVERRIDE_LEDPIN_PINMODE
  #define LEDPIN_TOGGLE       OVERRIDE_LEDPIN_TOGGLE
  #define LEDPIN_OFF          OVERRIDE_LEDPIN_OFF
  #define LEDPIN_ON           OVERRIDE_LEDPIN_ON
#endif
#ifdef OVERRIDE_BUZZERPIN_PINMODE
  #define BUZZERPIN_PINMODE OVERRIDE_BUZZERPIN_PINMODE
[COLOR="#FF0000"]  #ifdef PILOTLAMP
    #define PL_PIN_ON         OVERRIDE_BUZZERPIN_ON
    #define PL_PIN_OFF        OVERRIDE_BUZZERPIN_OFF[/COLOR]
    #define BUZZERPIN_ON
    #define BUZZERPIN_OFF
  #else
    #define BUZZERPIN_ON      OVERRIDE_BUZZERPIN_ON
    #define BUZZERPIN_OFF     OVERRIDE_BUZZERPIN_OFF
  #endif 
#endif

Habe leider keine (funktionierende) Pilot Lamp mehr da, kann also nicht sagen ob es wirklich so funktioniert. Vielleicht kannd as ja mal jemand testen.
Pilot Lamp sollte zur Sicherheit über einen 1k Widerstand angeschlossen werden, ein weiterer 1k Widerstand als Pulldown ist auch nicht verkehrt, siehe auch MultiWii-Wiki.


Grüße
Elias
 
#60
Scheint alles so zu funktionieren wie gedacht. Den Buzzer habe ich auf die selbe Art mit eingebunden. Anbei alle relevanten Stelle des Config-Headers:

Code:
  /**************************************************************************************/
  /********                      override default pin assignments    ********************/
  /**************************************************************************************/

  /* only enable any of this if you must change the default pin assignment, e.g. your board does not have a specific pin */
  /* you may need to change PINx and PORTx plus #shift according to the desired pin! */
  [COLOR="#FF0000"]#define OVERRIDE_V_BATPIN                   A15 [/COLOR]// instead of A3    // Analog PIN 3

  //#define OVERRIDE_LEDPIN_PINMODE             pinMode (A1, OUTPUT); // use A1 instead of d13
  //#define OVERRIDE_LEDPIN_TOGGLE              PINC |= 1<<1; // PINB |= 1<<5;     //switch LEDPIN state (digital PIN 13)
  //#define OVERRIDE_LEDPIN_OFF                 PORTC &= ~(1<<1); // PORTB &= ~(1<<5);
  //#define OVERRIDE_LEDPIN_ON                  PORTC |= 1<<1;    // was PORTB |= (1<<5);

  [COLOR="#FF0000"]#define OVERRIDE_BUZZERPIN_PINMODE          pinMode (A14, OUTPUT); [/COLOR]// use A14 instead of d8
  [COLOR="#FF0000"]#define OVERRIDE_BUZZERPIN_ON               PORTK |= 1<<6 //PORTB |= 1;[/COLOR]
  [COLOR="#FF0000"]#define OVERRIDE_BUZZERPIN_OFF              PORTK &= ~(1<<6); [/COLOR]//PORTB &= ~1;
Code:
  /********************************************************************/
  /****                             Buzzer                         ****/
  /********************************************************************/
    [COLOR="#FF0000"]#define BUZZER[/COLOR]
    #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 [s] to save you lipo (if your TX does not have a countdown)
    //#define PILOTLAMP             //Uncomment if you are using a X-Arcraft Pilot Lamp
Code:
  /********************************************************************/
  /****           battery voltage monitoring                       ****/
  /********************************************************************/
    /* for V BAT monitoring
       after the resistor divisor we should get [0V;5V]->[0;1023] on analog V_BATPIN
       with R1=10K and R2=20K
       vbat = [0;1023]*16/VBATSCALE
       must be associated with #define BUZZER ! */
    [COLOR="#FF0000"]#define VBAT              [/COLOR]// uncomment this line to activate the vbat code
    #define VBATSCALE       136 // (*) change this value if readed Battery voltage is different than real voltage
    #define VBATNOMINAL     74 // 7,4V full battery nominal voltage - only used for lcd.telemetry
    #define VBATLEVEL_WARN1 70 // (*) 7,0V
    #define VBATLEVEL_WARN2  68 // (*) 6.8V
    #define VBATLEVEL_CRIT   62 // (*) 6.2V - critical condition: if vbat ever goes below this value, permanent alarm is triggered
    #define NO_VBAT          16  // (*) Avoid beeping without any battery
Der Lipo hängt über einen 3:1 Spannungsteiler am ehemaligen RX-A15 Anschluss und der Buzzer am RX-A14.


Grüße
Elias
Hallo,

ich habe in mein QuadX auch das HK Multiwii Pro Board eingebaut.
Es funktioniert soweit sehr gut, auch GPS, nur VBAT misst Mist.
In der config.h habe ich wie oben beschrieben die Änderungen gemacht.
Software: MultiWii_dev_2013_08_23_r1573_pre_2.3
BUZZER funzt.
VBATSCALE habe ich auf 130 gestellt.
Wenn ich jetzt ein vollen 3S (12,6V)Akku anschließe bekomme ich auch 12,6V angezeigt, aber bei bei einem Akku mit nur noch 10,5V bekomme ich noch 11,8V angezeigt.

Die VBAT Schaltung mit zwei Widerständen funzt an meinem 328P Board ohne Probleme.

Wo liegt der Fehler ?

Gruß Matthias
 
FPV1

Banggood

Oben Unten