Solarflieger

Hallo Nando
Die sind toll für Camping, damit das Panel biegbar bleibt.
Für das Modell sind mir die zu weich, zu schwer, zu wenig winkeltolerant. GFK muss eh auf die Fläche, damit sie hällt, und ergibt mit den Zellen zusammen ein sehr stabiles Sandwitch, so wiegt die Beschichtung quasi null Gramm.
 
:)
Motivier, Motivier, ...

Leicht bauen ist angesagt an allen Ecken.
Holger, mit deinem Regelverhalten bin ich noch nicht ganz einverstanden.
Ein Abfall der Spannung bis auf 5 Volt ist doch nicht mehr sinnvoll, davon hat doch fast keiner mehr was.
Regeln muss doch zwischen naja, 5.2 bis 6.3 V stattfinden , is die Spannung höher , hätte auch schon mehr Gas auf dem Motor sein sollen,
oder der Pilot will halt gerade kein Gas.
Ich habe auf meinen Arduino innerhalb der letzten 7 Tage nicht weniger als ueber 60 Flashvorgänge gemacht, davon über 30 in 48 Stunden, ich zähle jetzt mal nur die Major-Releases ...
, dabei musste ich 3 mal den USB abkoppeln, weil Windoof den nicht mehr am COM erkannt hat, aber selbst das schiebe ich mal auf zu schnelles hantieren mit Upload und Start vom Serialmonitor.
So grundsätzlich schlecht kann die Plattform nicht sein.

need debug


Code:
// Arduino IDe 1.8.8
// Boardlayout  Lilypad Arduino USB
// Programmer: USBtinyISP (AtTinyCore)
// Hardware: Arduino ProMicro 3.3V, z.B. Sparkfun.com
// Pinout: 
// RAW: +Vsolar
// GND: -Vsolar, -Rx, -ESC
// D4: <= RX Signal Motor
// D5: => ESC Signal
//
// v64 23-02-2019
// can touch this
uint8_t   SERIALMONITOR = 1;             // default: 0 0=schaltet die serielle Debugausgabe ab,  1=schaltet sie ein. Durch Debug wird der Schleifendurchlauf stark verlangsamt. Niemals im Debug Mode Fliegen gehen ! 
float     VOLTCAL = 5.44;                // default: 5.45 ein Anpassungsfaktor für Messergebniskalibrierung der Solarspannung Mit Multimeter und Debugausgabe einleveln
uint8_t   Sprungwertpwmhoch = 1;         // default: 1  Sprungwert zur Anpassung des Regelverhaltens bei steigender Spannung 
uint8_t   Sprungwertpwmrunter = 10;      // default: 10  Sprungwert zur Anpassung des Regelverhaltens bei fallender Spannung 
uint16_t  Abbruchspannung = 510;         // default: 530 bei Erreichen von 5.30V oder weniger wird der Antriebsmotor ohne weiteren Regelzyklus ausgemacht um rc-blackout zu verhindern
uint16_t  UntereKnueppelgrenze = 1100 ;  // default: 1100 feste untere Grenze im uS des Gaswertes festlegen um Fehlmessungen im Bereich darunter zu egalisieren
uint16_t  ObereKnueppelgrenze  = 1900 ;  // default: 1900 feste obere Grenze im uS des Gaswertes festlegen um Fehlmessungen im Bereich darueber zu egalisieren
// touch no further



volatile uint16_t RC=0, DIFF=0, Solarvolt, VorherigeSolarspannung;
uint16_t MPP;

void setup() {    
           
    PORTD |= 0b00010000;                  // Read RC Pullup aktiviert
    TCCR1A = 0b00000000;                  // Read RC Normal PWM-Mode 
    TCCR1B = 0b01000010;                  // Read RC ICP aktivieren, Prescale 1/8
    TIMSK1 = 0b00100000;
    DDRC  |= 0b01000000;                  // PPM_OUT
    TCCR3A = 0b10000010;                  // PPM_OUT
    TCCR3B = 0b00011010;                  // PPM_OUT
    ICR3   = 2000;                        // PPM_OUT    
    OCR3A  = 1100;                        // 1100uS zum Init an den Regler ausgeben   ohhhhcr

    
    Serial.begin(500000);
    delay(2500);                         // warten bis Regler initialisiert ist 
}

void loop() {
  
while(TIFR3  & (1<<TOV3)){              // OVF -Flag abfragen, wenn gesetzt dann OVF1 Flag löschen,
      TIFR3 |= (1<<TOV3);               // Schleife rennt nun mit 500HZ sync zu PPM-OUT 
 

      
  if (SERIALMONITOR == 1)               // Serial Debug siehe Unterprogramm
      //serialdebug();   
      MPP  = 2400-RC;                   // MPP aus RC uebertragen
      ADMUX  = 0b11000110;              // ADC1 fuer Solarspannung waehlen
      ADCSRB = 0b00000000;
      uint16_t Utemp = 0;  

for  (int i=1; i <= 5; i++)             // zum Runden mehrfach lesen und addieren
     {            
      ADCSRA |= (1<<ADSC);  
      while (ADCSRA & (1<<ADSC)) ;
      Utemp = Utemp + ADC; 
      }    
Solarvolt = Utemp / VOLTCAL;      // bei 5 Durchläufen passt der Teiler von Variable VOLTCAL sehr genau


// #################### beginn regelkreis ##########
// Motornotausbedingungen auswerten : Solarspannung dramatisch gering oder Gasknueppel auf null ? daher pwm fuer null leistung zum esc senden



// ########## Solar komplett im Eimer - Knueppelstellung egal
if (Solarvolt <= Abbruchspannung) {
    OCR3A = UntereKnueppelgrenze;
    // Serial.println("STOPP: Kein Solar mehr da");
  }

// nix tun, da Leerlauf
else if (RC <= (UntereKnueppelgrenze + 10)) { // 10 ist ein Puffer, dass alles was < 1110 ist = 1100 gesetzt wird und Motor-STOPP erzwingt
    OCR3A = UntereKnueppelgrenze; 
    // Serial.println("STOPP: Leerlauf");
  }

// ########## Normalbetrieb - Regelkreis
// bei Solarspannungsabfall Motor herunterregeln, unabhaengig davon, was der Knueppelausschlag sagt
else if (VorherigeSolarspannung > Solarvolt) {
    // Abfrage verhindert, dass Knueppelstellung in den negativen Bereich wandert
    if (OCR3A > UntereKnueppelgrenze) {
        OCR3A = OCR3A - Sprungwertpwmrunter;
        // Serial.print("RUNTERREGELN weil Spannungseinbruch - Motorleistung: "); Serial.println(OCR3A);
      }
  }

// bei Solarspannungsanstieg / Solarspannung bleibt konstatnt
else if (VorherigeSolarspannung <= Solarvolt) {
    // ...und bereits erreichtem Knueppelausschlag
    if (OCR3A == RC) {
        // Serial.print("NIX TUN da nix vom Knueppel gefordert und Spannung groesser resp. konstant - Motorleistung: "); Serial.println(OCR3A);
      }
      
    // ...und noch nicht erreichtem Knueppelausschlag Motor heraufregeln
    else if (OCR3A < RC) {
        // Abfrage verhindert, dass Knueppelsteuerung in oberen Bereich ueberlauft
         if (OCR3A < ObereKnueppelgrenze) {
            OCR3A = OCR3A + Sprungwertpwmhoch;
            // Serial.print("HOCHREGELN weil Spannungszuwachs - Motorleistung: "); Serial.println(OCR3A);
          }
      }

    // ...und gefordertem Herunterregeln des Motors
    else if (OCR3A > RC) {
        // Abfrage verhindert, dass Knueppelstellung in den negativen Bereich wandert
        if (OCR3A > UntereKnueppelgrenze) {
          OCR3A = OCR3A - Sprungwertpwmrunter;
          // Serial.print("RUNTERREGELN da Knueppel zurueckgenommen - Motorleistung: "); Serial.println(OCR3A);
        }
      }
  }



else {
    // Serial.println("NIX von alledem");
  }

// +++++++++++++++++++ hier rausgenommen


//DIFF = Solarvolt - VorherigeSolarspannung;
//Serial.print(DIFF); Serial.print (Solarvolt); Serial.println (VorherigeSolarspannung);
VorherigeSolarspannung = Solarvolt;

// ########## kommende vier Zeilen einkommentieren fuer eine Ausgabe aller Randparameter
//Serial.print("Knueppelausschlag: "); Serial.print(RC);
//Serial.print(" Motorleistung: "); Serial.print(OCR3A);
//Serial.print(" Vorherige Solarspannung: "); Serial.print(VorherigeSolarspannung);
//Serial.print(" Jetzige Spannung: "); Serial.println(Solarvolt);

//serialdebug();


}}  


// # # # # # # # # # # Read-RC-ISR-Routine START # # # # # # # # # # //
ISR (TIMER1_CAPT_vect){
if  (PIND &(1<<PD4)){         // rising edge
    OCR1A  = ICR1;            // ICP-Timestamp in OCR1A zwischenspeichern
    TCCR1B = 0b00000010;      // ICP auf falling edge stellen
}else{                        // falling edge
    RC     = ICR1-OCR1A;      // RC berrechnen
    if (RC < UntereKnueppelgrenze) {RC = UntereKnueppelgrenze;};  //bei gemessenen Ausreissern nach unten feste Grenze setzen vom VariablenGrenzwert
    if (RC > ObereKnueppelgrenze) {RC = ObereKnueppelgrenze;};  //bei gemessenen Ausreissern nach oben feste Grenze setzen vom VariablenGrenzwert      
    TCCR1B = 0b01000010;      // ICP auf rising edge stellen
    TCNT1  = 0b00000000;      // Zähler zurücksetzen um Überläufe zu meiden   
}}


// # # # # # # # # # # SERIALDEBUG # # # # # # # # # # //
void serialdebug()                            // Wird mit ca. 2Hz ausgefuehrt
 {       
  static uint8_t loopcount; loopcount++;      // 2x pro Sekunde         
  if (loopcount == 0 )
   {         
    Serial.print("aktVolt ");   Serial.print(Solarvolt); 
    Serial.print("vorherigeVolt ");   Serial.print(VorherigeSolarspannung); 
    Serial.print(" Gasknüppelwert uS ");    Serial.print(RC);
    Serial.print(" PWM  zu ESC uS ");   Serial.print(OCR3A);
    Serial.println();
   }
  }
 
Moin Rudi
So ganz verstehe ich das nicht.
Übliche vorgehensweise, 2-Wegeschalter, das eine Ende ist Leerlauf = Motor aus, das andere Ende erstmal per Servoeinstellung und Voltmeter auf 6,25V einstellen. Dann verlässt der die Range von 6,2V-6,3V nicht, egal was passiert.
Wie kommst du an die 5V?
 
Moin Rudi
Ich hab grad Dein Code mal dreingeschaut, das war eine alte Version.

Habe grad mal den aktuelleren Code mit Deinen Werten eingetragen:
Code:
uint16_t RC, MPP, SVolt,  ICR1a;

void setup() { 
      DDRB   |= 0b01010100;     // ESC-PPM-OUT OC1B 32u4 = PB6(D10)
      PORTD  |= 0b00010000;     // READ-RC-IN  ICP1 32u4 = PD4(D4) 
      TCCR1A  = 0b00100011;     // Fast PWM,   OC1A as Top, OC1B is PWM
      TCCR1B  = 0b01011010;     // ICP-rising, Prescale 1/8
      TIMSK1  = 0b00100000;     // ICP-ISR activ
      OCR1A   = 2000;           // PPM-OUT Timer Top for 2mS 500Hz
      OCR1B   = 1050;           // Start PPM ESC      
      sei();    
      analogReference(INTERNAL);
      delay(2500);              //wait init ESC
}
 
void loop(){
while ( TIFR1   & (1<<TOV1))          // OVF -Flag abfragen, taucht alle 2mS auf.
{       TIFR1  |= (1<<TOV1);          // wenn gesetzt dann OVF1 Flag löschen. 
  
       //serialdebug();();            //Darf maximal 0,5mS dauer
        
      MPP     = 2200- RC;             // RC wird in die ADC range gewandelt                       
      SVolt   = 0;                    // SVolt zurücksetzen
      for(int i=1; i<=8; i++)         // Schleife zum ADC runden
{     SVolt  += analogRead(A0);       // alle ADC Werte addieren  
}     SVolt  /= 5.44;      // teilen und zugleich Kalibrieren

  if (SVolt > MPP) {if (OCR1B < 1900) {OCR1B += +1 + ((SVolt - MPP) / 5); }} //Voltage to high -inc PWM
  else             {if (OCR1B > 1050) {OCR1B += -1 - ((MPP - SVolt) / 5); }} //Voltage to high -dec PWM
}}}


ISR (TIMER1_CAPT_vect) {          // RC READ ISR  
if(TCCR1B   &  (1<<ICES1))        // we have rising edge -
{   TCCR1B &= ~(1<<ICES1);        // switch ICP to falling edge                                             
    ICR1a   =  ICR1;              // store ICP1 IN ICP1a
} else                            // we have falling edge
{   TCCR1B |=  (1<<ICES1);        // switch ICP @ rising edge                                               
 if (ICR1   <  ICR1a)             // if Overflow ? 
       {RC  =  ICR1+2000-ICR1a;}  // Yes > Calc RC with OVF
 else  {RC  =  ICR1     -ICR1a;}  // No  > Calc RC without OVF
}}

Was ist anders,
PWM Timer ist Timer 1, der zugleich auch RC mit einem neuem Code ausliest, Lesefehler sind mir da keine mehr aufgetaucht.

OCR1B ist nun PWM
im Setup OCR1B = 1050; damit der Regler initialisiert, sollte zugleich auch knüppeluntergrenze sein, damit der Regler auch im Resetfall wieder aufwachen kann.

Timer3 wird nicht mehr verwendet, so rennt es auch auf dem Nano u.s.w. (8MHz Normal Fast PWM, 16MHz normal PWM konfigurieren im Timer1)

Abruchbedingung Sender-Leerlauf ist enthalten.
ADC / analogRead kann einen Wert von maximal 1023 einlesen (10Bit). 5Runden ergibt einen Max-Wert von 1023 x 5 = 5115. Du teilst für Deine Widerstände durch 5,44, ergibt mV und einen maximal möglichen Wert von 940.
Für die MPP Berrechnung rechnest Du 2400-RC, ich hatte 2200-RC, Da RC minimal 1100(1000?), ist der MaxWert bei Dir 2400-1100 = 1300, bei mir 2200-1100 = 1100.
Nun kommt in der Regelschleife die Abbruchbedingung, ist MPP höher als die Realspannung, was bei Leerlauf IMMER der Fall ist, regelt sie bis Motorstillstand zuverlässig runter.
(letzte Regelung hatte statt dessen MPP = RC / 1,85 da es etwas "feinfühliger ist, aber der Knüppel ist dann revers.



Alternative, so habe ich es bei mir, nur ist es zu unflexibel für die meisten, für den der mit dem Schleppi am MPP umgehen kann m.E. die bessere Lösung.
if (RC < 1500) {MPP = 2000;} else {MPP = 625;}
Ist der Knüppel im Leerlauf, wird durch das utopisch hohe MPP der Motor zuverlässig abgeregelt (nicht ab-geschaltet, das ist wichtig, bitte kein OCR1B=1100 !!!)
ist der Knüppel über Halbgas, ist MPP Dein Wunsch-Sollwert, hier im Beispiel 625.(mV).




Abruchbedingung Spannung unter 5V ist enthalten.
Wenn die Spannung unter Deiner eingestellten MPP Spannung liegt, z.B. 6,25V, dann wird runtergeregelt. Da 5V und darunter auch unter 6,25V regelt, wird runtergeregelt. >Wenn die Abweichung größer ist, wird in größeren Schritten gelegt (Division statt subtraktion !! ).
Wenn die Regelung sauber arbeitet, dann ist das dadurch mehr als schnell genug.

Was fehlt ist der Watchdog wenn das Signal mal verloren geht, das dann der Motor ausgeht, ist aber bei den "Mörderleistungen" absolut verzichtbar. Bei einem Eigenstabilem Modell sollte man das aber einbauen, sonst wäre der Flieger bei RC-Verlust auf nimmer Wiedersehen bis zu Abenddämmerung.

Es wäre wohl geschickter auf diesen neueren Code aufzubauen :)
 
Serialdebug

Die Loop dauert immer genau 2mS bzw 2000uS, kommt sie darüber, gibts schluckauf.
Der 32u4 sendet glaub ich immer 57600Baud, egal was man einstellt Serial.begin(123);
Der Code wird max. 1mS dauern, das Serial davor sollte also unter 1mS liegen. Rechnerisch bekomm man in dieser Zeit bis zu 6>Zeichen durch die Serielle durch, besser weniger.

Hier mein Vorschlag wie man das machen kann, ohne das sich da was ins gehege kommt.


Code:
void serialdebug(){     //Immer maximal 3-4 Zeichen senden ! 
  static uint8_t loopcount; loopcount++;
  switch(loopcount){
  case  0:    Serial.print("MPP");    break;
  case  10:   Serial.print(MPP);      break; 
  case  20:   Serial.println("mV");   break;
  case  30:   Serial.print("SOL");    break;
  case  40:   Serial.print(SVolt);    break;
  case  50:   Serial.println("mV");   break;
  case  60:   Serial.print("PWM");    break;
  case  70:   Serial.print(OCR1B);    break;
  case  80:   Serial.println("mV");   break;
  }

Ich habe immer 10 dazwischen gelassen, gibt ein bissl Zeit zur Erholung ;) und man kann mal nachher was zwischenflicken .
Beim Attiny sende ich gar immer nur ein Byte direkt im HEX mit 19200Baud, da muss ich die Variablen dann aber erst mit itoa zerlegen.
das println gilt auch als ein Zeichen (Zeilenumbruch, weiss jetzt nicht ob der auch den Wagenrücklauf macht, dann sogar 2Zeichen /r /n)


============
Sprungantworten

in der Loop serialdebug deaktivieren, und Spannung / PWM als Bye senden
Code:
 // serialdebug();
Serial.write(OCR1B / 8);
Serial.write(SVolt / 4);
Dann rotzt der im 2mS Takt zu jedem Regel-schritt diese beiden Werte auf die Serielle.

Nun Serialplot https://bitbucket.org/hyOzd/serialplot/downloads/ installieren, (das Plot von Arduino taucht nicht).
unten in den Reitern
Dataformat: Simple Binary; Uint8; Number of channels: 2
Port noch auf dein Kram einstellen, Baud rate (ein bissl probieren evtl da die ja fix vom 32u4 ist, hinterher kennen wir sie dann ;)
Dann hast du die beiden Kurven wie oben gepostet auf dem Schirm, und auch noch beide auf einmal :)
Jetzt siehst jedes schwingen und springen, und kannst perfekt optimieren. (OSZI-light)


Sooo, war fleisig genug fürs erste :D


edit, der Regler muss natürlich auch richtig eingetellt sein, Rampuppower 150%, sonst ist der träge, dann hilft die beste Steuerung nicht. Maximum Acceleration.. u.s.w.

Wichtig ist auch; Non-Damped Mode muss ON sein.
Brake On Stop (EMK Bermse) nach Geschmack.

BLHeliSuite32ESC setup2.png
 
Servus Holle,

Das sieht dann so aus:
Regelung (PI) zu agressiv eingestellt, dargestellt wird die PWM, sie beginnt dann zu schwingen. Der große Schwinger ist eine Zeitung auf den Solarzellen, die ich fix drauf, und wieder fix abgezogen habe, so kann man das "einschwingen" in die beiden Zustände schick sehen.

Nun das Gegenteil, Regelung zu weich, im Bild dazu die Spannung, gleiches Spiel mit der Zeitung, bei zu weich schwingt zusätzlich die Spannung.

Die Kurven schreien geradezu nach einem D-Anteil!

Schöne Grüße,
Jakob
 
Moin Jakob
Jaaaa, da haste Recht. Und mich freut es, das der Plot doch jemand interessiert :) Das gibt neue Möglichleiten zur Optimierung, die vorher so nicht da waren.
Nicht verdreht sieht es sooo schlecht dann nicht aus, das war ja Absicht. Was an der Regelung noch nicht optimal ist, ich muss noch eine Absschwächung basteln, das bei wenig Leistung (=geringe PWM) die Regelung softer wird, da fängt es eher an zu schwingen, als bei hoher Leistung. Aber es wird....:)
 
Moin Moin

Bin gerade dabei was neues zu basteln, um diese ganze MPP Geschichten einfacher zu machen.

Man braucht einen Nano und zwei Widerstände, alos sehr einfach zu löten, und kostet alles um die 3€

Den Nano hängt man mit USB am Schleppi, dort den XLoader von hier starten: https://github.com/xinabox/xLoader, und damit die Software draufspielen, sollte mit Anleitung jeder hinbekommen.
xloader.jpg





Schritt 2 ist dann die Einstellerei, dazu bastel ich gerade eine kleine Oberfläche, ist nur ein winziges .exe Progrämmchen ohne installieren (+linuxversion natürlich).

Bildschirmfoto zu 2019-03-02 16-06-00.png

Die Anzeige der Werte erklärt sich selber ?

Start: aktiviert das Ganze
Save: die Einstellung auf dem MPP speichern
Motor ON: startet den Motor, der Sender ist dann inaktiv
Motor OFF, macht den Motor wieder aus
Cal - + : Spannung calibrieren,einfach an irgendeiner bekannten Spannung, notfalls am 3,3V Pin
MPP - +: hier wird der MPP Arbeitspunkt eingestellt, man kann hier mit laufendem Motor auch tunen
GAIN: drei PID presets, fast medium slow
RESET: Es werden alle Daten in Ursprung zurückgestellt.


Also alles ganz easy :)
Gibt es noch Ideen und Anregungen ?
Man könnte noch Android, ....?
 
Hallo Bernd
Ist ja noch nicht ganz fertig, so 1-2wochen brauch ich noch.

Bei Linux wollt ich den flashloader im Programm direkt mit einbauen, dann kann man die Soft per Mausklick auf den Arduino beamen.

Windows kann ich am ende nur hoffen das am Ende alles funzt, weil ich kein Windoofrechner habe, nur ne xp virtual maschine. Aber es gibt ja knoppix :D
 
Aktuelle Bezugsquellen

Aktuelle Bezugsquellen

Hallo Gerhard & Holger,

besten Dank für die Links; nun hab' ich bei diesen 101 Seiten echt was zu tun !


Während 20 Jahren Abstinenz vom Solarflug hab' ich wohl sehr viel an Neuentwicklungen verpasst: Könntet ihr mir bitte kurz nützliche Links (Bezugsquellen) hinsichtlich eines heutzutage aktuellen Antriebsstrangs durchgeben ?

- Zellen
- MPP-Regler
- Motor
- Getriebe (?)
- Prop


Telefunken TZSS4020/04 Schindelstrings hatte ich früher vom Franz Weißgerber bezogen; aktuell hab' ich polykristalline Zellen mit 26 x 52 mm aus China bestellt (17,4 %); lediglich 7 ct / Zelle.

Regler... weiß ich nimmer.

Motor/Getriebe und Prop kamen von Ernst Schöberl.


Das aktuelle Modell mit seinen 1500 mm Spannweite wird ein Leichtgewicht sein (139 g), welches um einen winzigen - bereits vorhandenen - Faulhaber Getriebemotor samt dessen MPP Regler definiert wurde.

Wird Etwas sehr gemütliches werden.

Mit aktuellen Komponenten könnte ich etwas Flotteres realisieren.

Wegen Wettbewerben: Neben Solarpylon könnte man sowas wie eine Solar-Silber-C ausschreiben (so wie wir es bei den manntragenden Seglern machen).

Bei einer soliden Hochdrucklage mit trockener Luft aus dem Osten ist keine Wolkenbildung zu befürchten und man kann beliebig Höhe tanken.

Die Konditionen könnten sein (von FAI abgeleitet):

- 5 Stunden Dauerflug.
- 300 - 500 m Höhengewinn (je nach Modell und ggfls. mit zus. Beobachter mit Fernglas).
- 1000 m Streckenflug (zusammen mit dem Modell "a bissl wandern".

Das wär doch was, eine Solar-Silber-C !

Aber erstmal hier fertig bauen ;)


Bis dann und schon mal viele Grüße für evtl. Links zu aktuellen Bezugsquellen.


Volker
 
Aha , Silber-C, da spricht der manntragende Segelflieger !
Dann lass uns direkt den guten alten 50km Flug definieren ! ;-)
 
Zuletzt bearbeitet:

GC

User
Nein,
wir müssen was anderes definieren, wo Holger nicht von vornherein gewonnen hat;)! Z.B. Wer fliegt 100m in gerader Linie mit geringster Geschwindigkeit:D mit einem Flächenflieger. (Holger liebt Speed.)
 
Solar-Silber-C

Solar-Silber-C

Aha , Silber-C, da spricht der manntragende Segelflieger !
Dann lass uns direkt den guten alten 50km Flug definieren ! ;-)

Könnte man rein theoretisch machen, wenn man vom Pkw aus steuert und ein Kollege fährt …

… nur wie ist es mit dem Rechtlichen bei uns in D ?

Nach dem Start, also Verlassen des Flugplatzes ist man als "Wildflieger" unterwegs.

Bei vielen Vereinen darf man auch nicht den lokalen Luftraum verlassen; man müsste als unmittelbar extern starten.

In den 1990 haben wir im Verein http://www.rmsadenver.com solche Wettbewerbe - ohne GPS - rein thermisch ausgetragen; kann sehr spannend werden !
 
Nein,
wir müssen was anderes definieren, wo Holger nicht von vornherein gewonnen hat;)! Z.B. Wer fliegt 100m in gerader Linie mit geringster Geschwindigkeit:D mit einem Flächenflieger. (Holger liebt Speed.)

Da mach ich doch mit meinem "130 g Wiesenschleicher" glatt mit !!

Flächenbelastung <9 g/dm.
 
Naaaa so ist das ja nun nicht, bisher konnte ich machen was ich wollte, der Rolf sein Flieger war immer deutlich leichter, und wenn ich es mal geschafft hatte, Gewicht rauszupopeln, kam er mit nem noch leichterem Flieger um die Ecke :rolleyes:
9g/dm² ist echt ne Ansage, da komm ich mit meinen 12,x g/dm² nicht mit :)


Material, am besten bekommt man die Sachen auf den Meetings, der eine hat dies, der andere das.
MPP habe ich im Winter was neues gemacht, bin grad in der Endphase, und warte zwecks Feinabstimmung auf ordentlich Sonne, soll es diese Woche ja geben.
Und die ungeliebten Anleitungen schreiben:cry:

Das ist nun ein einfacher DIP Chip, da muss nur ein Widerstand angelötet werden, und die Kabel. Den Chip (AVR) kann man sich selber bespielen, oder ab Ende März beim Micha im Shop auch fertig bespielt kaufen. Den unbespielte Chip bekommt bei Ebay ab ca 1,5€+Widerstände Porto, als Bausatz mit bespieltem Chip soll der MPP bei Micha soll unter 5€ kosten (ist mehr ein "verfügbar machen").
Das lösten sollte an sich jeder hinbekommen http://solarflug.lambertus.info/index.php?id=tiny-mppc-kit (an der Seite werde ich noch ein paar Tage sitzen, bis alles fertig ist, sooviel Zeit ist derzeit dafür leider nicht)
tmm10.jpg

tinympp60.jpg


Der MPP kommt zwischen Motor und Regler, so gibt der MPP immer genau soviel Gas, das der Arbeitspunkt stimmt.

Einstellung, früher war auf dem Sommerauer ein Poti auf der Rückseite, an dem man die MPP-Vorgabespannung einstellt.
In der vorhererigen Version hatten wir das Poti quasi als Gaskanal, so konnte man die MPP Spannung darüber einstellen, Vollgas (bzw invertiert) war dann Motor-aus und man konnte so die Soll-MPP-Spannung anfahren, und dort den Knüppel fest programmieren.

Da das aber immer wieder zu Missverständnissen gab, habe ich mich darangesetzt zusätzlich eine Progbox zu bauen, die basiert auf einem Arduino mit einem Steckdisplay, damit kann man den MPP und auch andere Parameter einstellen.
Dazu hat die Progbox noch eine nützlicher Menge Zusatzfunktionen, Live-Datenanzeige(Messgerät) Pyranometer(Solarmeter) mit einem Lichtsensor, Programmieradapter für BLHeliregler, Firmware-Updatadapter für den MPP als solches, u.s.w.
Besorgt man sich die Teile bei Ebay, und spielt die Software selber drauf, kostet die Progbox unter 10€, bei Micha wird sie wohl fertig um die 15€ kosten.(auch hier nur "verfügbar machen"
progbox.jpg


Für die SMD Version soll auch noch ein Bausatz folgen, aber das ist dann konsequent nur für Leute die auch SMD löten und programmieren mögen.
mppc_mini1.jpeg



Regler werden zumeist BLHeli_32 Regler benutzt, da sie im Teillast recht fix auf Gaswechsel regieren können (der MPP schiebt ja stetig nach), recht ordentlich im Teillaseta sind, und dazu auch sehr günstig zu haben sind. Derzeit der Sunrise Siskin 11A recht beliebt, winzig klein, und hat ein gutes SBEC drauf. Funzt aber erst ab 12Zellen. kostet bei Bangood 11€ protofrei. Unter 12Zellen weichen die meisten auf den Tattoo 8A aus, das ist ein BLHeli_32 Regler ab 1S Lipo, der Regler ist kaum größer als ein Servostecker.

Motor für die typischen 12-14Zeller flotterer Gangart wird gerne der AXI2212/34 genommen mit 11x12 und 12x13 Aeronautklappis, die man noch um die Hälfte des Gewichts reduzieren kann.
Getriebe sieht man kaum noch, da die kleinen Ausenläufer schon ein recht ordentliches Moment haben, für was gemütlicheres kann das natürlich Sinn machen. Die FAI F1Q Elektrofreiflieger haben da sehr ähnliche Anforderungen, und scheuen da keine Kosten und Mühen den optimalen Mini-Getriebemotor mti Hi-Tech Riesenprops auf die Beine zu stellen, da kann man schauen was grad aktuell brauchbar ist.

Solarzellen geht kaum noch ein Weg um die Sunpower C60 E60 herum, sie sind sehr dünn (0,135-0,15mm) und leicht, semiflexibel an das Profil anpassbar, und haben Wirkungsgrade typisch 22-24%. In der GFK Positiv Bauweise ein laminiert dienen sie zugleich als Holm, und sind dann superstabil, auch wenn mal was drauf fällt.
 
Hi Holger,

vielen Dank für die ersten Infos !

Bin mir nicht sicher, ob der winzige MPP-Regler meines kleinen Faulhaber-Motörchens noch intakt ist; ansonsten hättet ihr bereits einen Kunden für eure Version.

Ich müsset dann nur noch nach einem neuen Winz-Regler schauen, den man vor euren MPP setzt.

Aber erst mal testen, was los ist !


Für ein größeres Solarmodell könnte ich den alten Plan meines Langstrecken-Emodells (330 cm) s. unten modifizieren.

Hat einen 60 cm (!) Schöberl-Prop (Pusher) mit angepasster Schambeck-Getriebeeinheit incl. mod. Regler.


Dieser bräuchte natürlich auch einen MPP-Vorsatz...

Aber Eins nach dem Anderen und vor allem: Das aktuelle Leichtgewicht fertigstellen.


Grüße

Volker
 

Anhänge

  • Draufsicht Version 1.jpg
    Draufsicht Version 1.jpg
    84,7 KB · Aufrufe: 118
  • Seitenansicht Version 1.jpg
    Seitenansicht Version 1.jpg
    60,6 KB · Aufrufe: 109
  • Vorderansicht Version 1.jpg
    Vorderansicht Version 1.jpg
    79 KB · Aufrufe: 147
Aha , Silber-C, da spricht der manntragende Segelflieger !
Dann lass uns direkt den guten alten 50km Flug definieren ! ;-)

Aus diesen Zeiten existiert noch ein nettes Filmchen, das ich Anfang der 1990er in El Tiro / Arizona als Pilot einer Lark gedreht hatte:

https://www.youtube.com/watch?v=D7hhobuo7BE

Die Jungs vom dortigen Verein haben es selbst heute noch auf ihrer Webseite:

http://tucsonsoaring.org/Page.asp?n=22904&org=TUCSONSOARING.ORG

Hat halt diese typisch amerikanischen Schnörkel drin ...

… aber schon nett ;)

Dort könnte man >360 Tage im Jahr von morgens bis abends Solarflug betreiben :cry:
 
Ansicht hell / dunkel umschalten
Oben Unten