Subversion Repositories FlightCtrl

Rev

Rev 116 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 116 Rev 117
Line 140... Line 140...
140
      if((MessLuftdruck > 950) || (MessLuftdruck < 750)) SucheLuftruckOffset();
140
      if((MessLuftdruck > 950) || (MessLuftdruck < 750)) SucheLuftruckOffset();
141
     }
141
     }
142
    AdNeutralNick= abs(MesswertNick);  
142
    AdNeutralNick= abs(MesswertNick);  
143
        AdNeutralRoll= abs(MesswertRoll);      
143
        AdNeutralRoll= abs(MesswertRoll);      
144
        AdNeutralGier= abs(MesswertGier);
144
        AdNeutralGier= abs(MesswertGier);
-
 
145
// Salvo 1.9.2007 ACC mit festen neutralwerten *****
-
 
146
        if (ACC_NEUTRAL_FIXED > 0)
-
 
147
        {
-
 
148
                NeutralAccX     = ACC_X_NEUTRAL;
-
 
149
                NeutralAccY     = ACC_Y_NEUTRAL;
-
 
150
//              NeutralAccZ     = ACC_Z_NEUTRAL;
-
 
151
        }
-
 
152
        else
-
 
153
        { // Automatisch bei Offsetabgleich ermitteln
145
    NeutralAccY = abs(Mittelwert_AccRoll) / ACC_AMPLIFY;
154
        NeutralAccY = abs(Mittelwert_AccRoll) / ACC_AMPLIFY;
146
        NeutralAccX = abs(Mittelwert_AccNick) / ACC_AMPLIFY;
155
                NeutralAccX = abs(Mittelwert_AccNick) / ACC_AMPLIFY;
-
 
156
        }
-
 
157
 // Salvo End   
147
        NeutralAccZ = Aktuell_az;
158
        NeutralAccZ = Aktuell_az;      
148
   
-
 
149
        Mess_IntegralNick = 0; 
159
        Mess_IntegralNick = 0; 
150
    Mess_IntegralNick2 = 0;
160
    Mess_IntegralNick2 = 0;
151
    Mess_IntegralRoll = 0;     
161
    Mess_IntegralRoll = 0;     
152
    Mess_IntegralRoll2 = 0;
162
    Mess_IntegralRoll2 = 0;
153
    Mess_Integral_Gier = 0;    
163
    Mess_Integral_Gier = 0;    
Line 594... Line 604...
594
        ZaehlMessungen = 0;
604
        ZaehlMessungen = 0;
595
        if(IntegralFehlerNick > 500/DRIFT_FAKTOR)   AdNeutralNick++;
605
        if(IntegralFehlerNick > 500/DRIFT_FAKTOR)   AdNeutralNick++;
596
        if(IntegralFehlerNick < -500/DRIFT_FAKTOR)  AdNeutralNick--;
606
        if(IntegralFehlerNick < -500/DRIFT_FAKTOR)  AdNeutralNick--;
597
        if(IntegralFehlerRoll > 500/DRIFT_FAKTOR)   AdNeutralRoll++;
607
        if(IntegralFehlerRoll > 500/DRIFT_FAKTOR)   AdNeutralRoll++;
598
        if(IntegralFehlerRoll < -500/DRIFT_FAKTOR)  AdNeutralRoll--;
608
        if(IntegralFehlerRoll < -500/DRIFT_FAKTOR)  AdNeutralRoll--;
599
//Salvo 31.8.2007 Abgleich Giergyro nur wenn Kompass aktiv und ok ist ***********************
609
// Salvo 31.8.2007 Abgleich Giergyro nur wenn Kompass aktiv und ok ist ***********************
-
 
610
// Ohne Kompass wird die Gyrodrift durch die Driftkompensation nur verschlimmert
-
 
611
// Ohne Driftkompensation ist die Gierachse wesentlich stabiler
600
                if ((EE_Parameter.GlobalConfig & CFG_KOMPASS_AKTIV) && (!SignalSchlecht))
612
                if ((EE_Parameter.GlobalConfig & CFG_KOMPASS_AKTIV) && (!SignalSchlecht))
601
                {
613
                {
602
         if(Mess_Integral_Gier2 > 500/DRIFT_FAKTOR)  AdNeutralGier--;        
614
         if(Mess_Integral_Gier2 > 500/DRIFT_FAKTOR)  AdNeutralGier--;        
603
         if(Mess_Integral_Gier2 <-500/DRIFT_FAKTOR)  AdNeutralGier++;  
615
         if(Mess_Integral_Gier2 <-500/DRIFT_FAKTOR)  AdNeutralGier++;  
604
                }  
616
                }  
605
                else
617
                else
606
                {
618
                {
607
                  Mess_Integral_Gier2 = 0;     
619
                  Mess_Integral_Gier2 = 0;     
608
                }
620
                }
609
                   
-
 
610
// Salvo End ***********************
621
// Salvo End ***********************
611
    ANALOG_OFF; // ADC ausschalten, damit die Werte sich nicht während der Berechnung ändern
622
    ANALOG_OFF; // ADC ausschalten, damit die Werte sich nicht während der Berechnung ändern
612
        Mess_IntegralNick2 = IntegralNick;
623
        Mess_IntegralNick2 = IntegralNick;
613
        Mess_IntegralRoll2 = IntegralRoll;
624
        Mess_IntegralRoll2 = IntegralRoll;
614
        Mess_Integral_Gier2 = Integral_Gier;
625
        Mess_Integral_Gier2 = Integral_Gier;