Ahh, nun bin ich auf dem Stand der Dinge. Viel alles abgelesenes Zeug, Praxis noch ausstehend.
Hardwarestand von vor über 2Jahren
http://www.rc-network.de/forum/showthread.php/505097-Solarflieger?p=4056062&viewfull=1#post4056062 (werden die ollen Xmegas überhaupt noch produziert?)
Zusätzlich gibt’s jetzt ne holprige Standard BLDC C-Routine(warumdas
) um einen fixed Voltage-MPP erweitert.
Die tollen MPP Sachen, die man so im Inet liest, die Du da umsetzen möchtest, sind Top für ne Solar-Brunnenpumpe, aber haben sich für die Flieger so nicht bewährt.
Mein Tipp, Bring das Zeug mal in die Luft, und sammel Praxis, dann reifen nach hunderten von Testflügen die Dinge auf die es wirklich ankommt.
ASM ist so schwierig eigentlich nicht, 8Bit BLHeli, einfache Aufgabe: Wir schreiben den Governor von BLHeli auf MPP um.
Hier die Sourcecodes:
https://github.com/bitdump/BLHeli
Zusätzlich die BLHeliSuite
https://www.mediafire.com/folder/dx6kfaasyo24l/BLHeliSuite
In der BLHeli.asm ändern wir folgendes:
in der Routine "check_temp_voltage_and_limit_power“ können wir den ADC auslesen, und zwischenspeichern (erstmal nicht optimal, da langsam).
nun folgende Stelle in der ASM suchen:
Code:
t0h_int_rcp_gov_by_tx:
lds I_Temp2, Governor_Req_Pwm
cp I_Temp2, I_Temp4 ; Is governor requested pwm equal to requested pwm? (Requested_Pwm in I_Temp4)
breq t0h_int_rcp_gov_pwm_done ; Yes - branch
brcs t0h_int_rcp_gov_pwm_inc ; No - if lower, then increment
dec I_Temp2 ; No - if higher, then decrement
rjmp t0h_int_rcp_gov_pwm_done
hier ersetzen wir die Drehzahl für das Governor_Req_Pwm mit unserem zwischengespeichertem ADC, und vertauschen im Compare die Regelrichtung. Den ganzen Rotz noch durch den Assembler schieben, und fertig is.
Nun steht uns aber schon bereits ein ordentlich laufender Regler als MPP Regler zur Verfügung, der sich mit der Windows Setup Software (Suite) schick der Maus in allen Einzelheiten einstellen lässt. Das Ganze rennt dann auf nahezu jedem Atmega8 basierendem Regler, die einem derzeit ab 2€ beim König hinterhergeworden werden, das fertige HEX bekommt dann auch der der Unerfahrene über die Suite auf seinen Regler geschossen.
Im nächstem Schritt machen wir dem ADC ein bissl Beine (die ISR ein bissl modden),
und dann kanns eigentlich auch schon zur 32Bit Version gehen (geht aber nicht öffentlich, da nicht opensource).
Richtig gute 32Bit Regler Hardware gibt es mit STM32 und voller Sensorik es für sehr wenig Geld, nur auf die Soft kommts halt an, und die rockt zur Zeit von Tag zu Tag besser