Moin Maccl
Die sourcen für SimonK und BLHeli sind ja offen, zumindest kann man die Anschlussbelegungen der Regler in den inc Files entnehmen, am einfachsten, ich hatte es mal am laufen, (Das Video war im Mai) aber dann wieder zugunsten der 32Bit Regler verworfen (Das Update von den 32er Regler mit der deaktivierbarem damping light kam Ende April).Ich setze mittlerweile wieder auf externen Prozessor für MPP, es wiegt keine 0,2g mehr, und habe so aber alle Freiheiten, der MPP rennt völlig unabhängig von dem was der Regler tut, niemand muss auf niemand warten, und einfacher ist es auch.
BLHELI; In meinem Fall bei ca. 3000Umdr/min, /60s/min = 50umdr. /S, ergibt bei einem 10Poler 250Feldumdrehungungen/S, der AC löst dann 6mal aus, also 1500x /Sekunden, bzw alle 667uS. Den ADC benötigt 104uS ja bei 16MHz in Standardconfig bis der sich auf dem ISR wieder meldet, also Zeit genug, um den dazwischen zu schieben. Bei höherdrehenden oder höherpoligen kann es aber auch eng werden.
Einfacher ist es natürlich in C, und bei den gemütlichen Drehzahlen schafft man das auch, neben den AVR BLDC Papers gibt es noch einige Projekte als Ausgangslage:
Ulrich Rahlig
https://www.ulrichradig.de/home/index.php/avr/brushless-motor-controller
Paul Fantom
https://github.com/paulfantom/BLDC-ESC
Julian
https://github.com/juwis/mppt-bldc
https://www.mikrocontroller.net/articles/Brushless-Controller_für_Modellbaumotoren
https://www.mikrocontroller.net/articles/Sensorlose_BLDC_Ansteuerung
An sich immer dasselbe vom Prinzip her, teilweise ist es leider sehr Hardwarebezogen, insbesondere bei der PWM, bei den gekauften Reglern, wo die FETs nicht am PWM Pin hängen, kann man nur per ISR OVR und COMP des PWM Timers dann takten.
Vielleicht setze ich mich im Winter da nochmal dran, dann aber als kombinierten Flash für die Simonk, wie es das z.B. für die F5B Jungs gibt, dann rennt das auf jedem Simonk-tauglichem Regler.
-----------
Bilder;
Kleines externes gefrästes Platinchen, Attiny44 drauf, auf der Rückseite sind 3x470uF Tantal drauf, auf dem 32Bit reichen vermutlich auch 2Stück. Ich muss mich mal wieder mit dem Oszzy in den Garten bewegen, und entripplen, am SimonK war 1800uF perfekt, 2200 kaum sichtbar besser, 1500 hat man schon Verschlechterung gesehen, das ist aber auch noch etwas Fallabhängig.
Software habe ich zweierlei, einmal die fixedVoltage, vor ein paar Seiten hier das OneShot Update für den Cheapduino rennt mit ein paar kleinen Anpassung auf dem Attiny44, und eine (noch) experimentelle dynamik-MPP. evtl. soll noch ein Tempsensor mit in den Flieger, dann müsste es perfekt sein.
Bootloader natürlich den AVRootloader vom Hagen, Update dann über das Servokabel, spart das ganze Gedöhns mit irgendwelchen Pads und Buchsen.
Fräsdaten Code etc. kann ich gerne weitergeben. Das 1,27mm Rastermass ist das was meine Fräse, Augen und Hände mit Lötkolben grad so noch hergeben, kleiner will ich nicht
Auf den Bildern Version1 aus Juni. Hier noch mit Stecki zum Regler, um den auch mal updaten zu können.
edit, ein paar von den gefrästen Platinchen(V1) liegen hier noch rum, wenn jemand Interesse daran hat, ich brauche sie nicht mehr, weil ich etwas geändert habe. Die Bauteile dazu liegen hier auch genug.
edit-edit eine MPP-Softversion fürs OpenLog (1,7g) inkl Logfunktion der MPP-Daten und One-Wire Bootloader müsste hier auch noch im Forum rumdümpeln, das OpenLog nutzen wir ja als GPS Logger in den Solarmodellen, so sollte es dann mal beides können, aber irgendwie hat sich das mit dem GPS erledigt.