[TUT]Programowanie regulatorów na Fast PWM Silabs
Moderatorzy: moderatorzy2014, moderatorzy
[TUT]Programowanie regulatorów na Fast PWM Silabs
Dużo osob pyta mnie jak programować regulator z prockiem Silabs na fast PWM. Przysyłacie też regulatorki. Opiszę krok po kroku jak tego dokonać. A naprawdę łatwiej jest niż z procem Atmega.
Soft ten według mnie jest o wiele lepszy niż Simonk. Można go konfigurować wedle uznania. A regulatory z prockiem Silabs w moim odczuciu są mniej awaryjne od Atmegi. Testowałem kilka regulatorów. W skwarze i zimą. Brak jakichkolwiek anomalii. Na Nazie działają jak złoto. Według mnie lepiej kupić dobrego Pluszaka od Turnigy i samemu go przerobić niż kupić regle rctimera fast PWM i modlić się żeby w powietrzu nie odmówiły posłuszeństwa.
Dodatkowo poniższy soft ma bardzo dobrą funkcję Soft Start. Może nam uratować palce gdy coś pójdzie nie tak. Jest też alarm w przypadku kiedy zapomnimy odłączyć model z zasilania itd.
I. Co potrzebujemy?
Obojętnie jaką płytkę z prockiem Atmega aby tymczasowo przerobić ją na programator procków Silabs. Może być multiwii SE, Multiwii AIO a nawet MinimOSD. Ważne żeby płytka miała piny ISP(pokaże niżej jak wyglądają). Spokojnie nie będziemy nic lutować. Wgramy jedynie tymczasowo inny soft.
II. Oprogramowanie
Paczka oprogramowania: http://www.olliw.eu/2012/owsilprog/#firmware
III. Przygotowanie programatora
Podłaczamy płytkę którą przerabiamy pod USB i uruchamiamy program z paczki o nazwie AvrBurnTool aby wgrać tymczasowe oprogramowanie do naszej płytki programującej. Wybieramy typ atmegi. Ja akurat mam CRIUS AIO więc wybieram owSilProg on Arduino Mega 2650. Jak ktoś ma mniejszą Atmegę to powinien wybrać owSilProg on Arduino Nano 328P.
Dalej wybieramy port COM (chociaż powinien automatycznie być wybrany) i klikamy BURN ALL. Po wgraniu softu mamy gotowy programator. Oczywiście po programowaniu regulatora możemy wgrać z powrotem to co mieliśmy na płytce np Multiwii.
IV. Przygotowanie połaczenia z regulatorem.
Prawie każdy regulator ma pady do programowania. Musimy sprawdzić ich kolejność połączeń. Pomoże nam ta strona: http://wiki.openpilot.org/display/Doc/R ... AtmelBased
Szukamy naszego regulatora. Moim regulatorem jest Turnigy Plush 30A. Po prawej mamy link do zdjęcia regulatora z opisem padów:
Pady łaczymy zgodnie z kolorami z wyjściem ISP naszej płytki programującej. Mamy do podłączenia tylko 3 pady (czerwony, czarny, biały). Wyjście i kolory wyglądają tak:
V. Programowanie
Regulator podłączony pod programator musimy zasilić lipolem w trakcie programowania. Jeśli ktoś się boi to można go zasilić przez szeregowo podłączoną żarówkę samochodową. W razie pomyłki zaświeci nam się żarówka a nie regulator.
Mamy już zasilony regiel i podłączony pod programator. Uruchamiamy program BLHeliTool.
Standardowo wybieramy port (jeśli sam się nie ustawi automatycznie).
Multiple ESC mode ustawiamy na default.
Przechodzimy na zakładkę FlashBLHeli to ESC:
Z listy rozwijanej BESC wybieramy nazwę naszego regulatora.
Niżej wersję softu (najlepiej najnowszą).
Mode ustawiamy na MULTI (czyli program dla multikopterów).
Klikamy Verify. Jeżeli wszystko jest dobrze podłączone, powinniśmy niżej ujrzeć coś takiego. (oczywiście numer Device ID możę być inny).
Jeżeli pojawi się napis "Connection to target FAILED" to znaczy że regulator jest źle podłączony, coś nie styka albo nie jest zasilony z lipola.
"MCU INCORRECT"- któryś ze styków nie łączy z padem.
"Block read FAILED" Oznacza, że regulator jeszcze nie ma wgranego softu fast PWM. Nie przejmujemy się tym napisem.
Jeśli wszystko jest OK. Klikamy Flash. Parę sekund, widzimy status "Flash HEX file.... DONE"
Mamy zaprogramowany regulator na soft Fast PWM
Możemy sobie wejść teraz w zakładkę SETUP Basic i kliknąć niżej READ. Wczytają się wszystkie ustawienia jakie mamy w regulatorze. Nie zalecam ich zmieniać bo są już na gotowo ustawione pod dany regulator.
Kalibracja gazu:
1. Podłączamy regulator pod kanał gazu aparatury ustawiony na MAX.
2. Po zasileniu regulatora usłyszymy sekwencję rosnących piknięć. Gry się skończą dajemy gaz aparatury na MIN
3. Usłyszymy sekwencję malejących piknięć. Gaz skalibrowany, można odłączyć regulator z zasilania.
Wyjaśnienie funkcji
Tak dla ciekawostki, choć nie polecam niektórych tykać.
1.Name: Można nadać indywidualną nazwę regulatora.
2. BESC: Nazwa i typ regulatora
3. Motor/Gear Setup:Właściwości silnika (KV, magnesy i zęby). Zmiana tych właściwości nie wpływa na ustawienia regulatora.
4. Main Governor P-Gain: Pidologia. Dla zrozumienia: jak szybko mam biegnąć na autobus biorąc pod uwagę jak daleko od niego jestem.
5. Main Governer I-Gain: Pidologia. Dla zrozumienia: Jak szybko mam biegnąć biorąc pod uwagę jak długo autobus będzie stał zabierając pasażerów.
6. Main Governer Mode: Zmiana ustawień regulatora za pomocą TX.
7. Low Voltage Limiter: Wiadomo. Odcięcie zasilania przy spadku napięcia celi.
8. Startup Method: Sposób rozruchu silnika. W silniku bezszczotkowym uruchamianie silnika jest trochę skomplikowane. Regulator musi wiedzieć w którą z 3 faz "uderzyć" aby uruchomić silnik. Funkcja Stepped uruchamia silnik od najwolniejszych obrotów bez zrywu.
9. Startup Power: Moc "rozrusznika silnika".
10. PWM Frequency: Częstotliwość wyjściowa sygnału PWM (do silnika)
11. Motor Direction: Kierunek silnika
12. Input Polarity: Polaryzacja sygnału wejściowego PWM. Jeśli ją przestawimy to przy ustawieniu drążka gazu na minimum ESC poda maksymalny gaz na silnik.
13. Damping Force: Hamowanie silnika przy jego wyłączeniu.
14. Starting RPM: Coś w stylu: Jak szybko chcesz odpalić silnik.
15. Startup Acceleration: Przyspieszenie od zera
16. Demag Compensation: Oszczędzanie energii. Coś w stylu kiedy pedałujesz rowerem i osiągasz żądaną prędkość to nie musisz już tak mocno naciskać na pedały.
17. Motor Timing: Wyobraź sobie naciskanie na pedały w rowerze. Możesz naciskać na pedały od razu kiedy jest np. na godzinie 1 lub w połowie obrotu. (nie wiem jak to wytlumaczyc logiczniej)
18. Governor Setup Target: ???
19. Governor Range: Czybkość zmiany faz. Coś jak praca cylinda w samochodzie.
20. Throttle Change Rate: Ta funkcja najbardziej nas interesuje czyli szybkość reakcji silnika na podawany sygnał PWM. Lepiej nie zmieniać tej wartości bo każdy regulator ma inną. Ta wartość już jest dopieszczona :)
21. PPM Min Throttle: Wiadomo. Minimalny gaz z aparatury.
22. PPM Max Throttle: Maksymalny gaz aparatury.
23. Beep Strenght: Głośność pikania silnika przy podłączaniu zasilania, zmiany ustawień itd.
24. Beacon Strength: Głośność piknięcia kiedy regulator wykryje sygnał PWM z aparatury (ostatnie piknięcie)
25. Beacon Delay: Alarm niewykrycia sygnału PWM. Przydaje się kiedy zapomnimy odłączyć model z zasilania.
26. Re Arming every Start: Sprawdza czy przy włączaniu regulatora nie daliśmy przypadkiem gazu. Lepiej tego nie tykać bo kiedyś możemy stracić paluchy.
27. Programming by TX: Programowanie z aparatury
Soft ten według mnie jest o wiele lepszy niż Simonk. Można go konfigurować wedle uznania. A regulatory z prockiem Silabs w moim odczuciu są mniej awaryjne od Atmegi. Testowałem kilka regulatorów. W skwarze i zimą. Brak jakichkolwiek anomalii. Na Nazie działają jak złoto. Według mnie lepiej kupić dobrego Pluszaka od Turnigy i samemu go przerobić niż kupić regle rctimera fast PWM i modlić się żeby w powietrzu nie odmówiły posłuszeństwa.
Dodatkowo poniższy soft ma bardzo dobrą funkcję Soft Start. Może nam uratować palce gdy coś pójdzie nie tak. Jest też alarm w przypadku kiedy zapomnimy odłączyć model z zasilania itd.
I. Co potrzebujemy?
Obojętnie jaką płytkę z prockiem Atmega aby tymczasowo przerobić ją na programator procków Silabs. Może być multiwii SE, Multiwii AIO a nawet MinimOSD. Ważne żeby płytka miała piny ISP(pokaże niżej jak wyglądają). Spokojnie nie będziemy nic lutować. Wgramy jedynie tymczasowo inny soft.
II. Oprogramowanie
Paczka oprogramowania: http://www.olliw.eu/2012/owsilprog/#firmware
III. Przygotowanie programatora
Podłaczamy płytkę którą przerabiamy pod USB i uruchamiamy program z paczki o nazwie AvrBurnTool aby wgrać tymczasowe oprogramowanie do naszej płytki programującej. Wybieramy typ atmegi. Ja akurat mam CRIUS AIO więc wybieram owSilProg on Arduino Mega 2650. Jak ktoś ma mniejszą Atmegę to powinien wybrać owSilProg on Arduino Nano 328P.
Dalej wybieramy port COM (chociaż powinien automatycznie być wybrany) i klikamy BURN ALL. Po wgraniu softu mamy gotowy programator. Oczywiście po programowaniu regulatora możemy wgrać z powrotem to co mieliśmy na płytce np Multiwii.
IV. Przygotowanie połaczenia z regulatorem.
Prawie każdy regulator ma pady do programowania. Musimy sprawdzić ich kolejność połączeń. Pomoże nam ta strona: http://wiki.openpilot.org/display/Doc/R ... AtmelBased
Szukamy naszego regulatora. Moim regulatorem jest Turnigy Plush 30A. Po prawej mamy link do zdjęcia regulatora z opisem padów:
Pady łaczymy zgodnie z kolorami z wyjściem ISP naszej płytki programującej. Mamy do podłączenia tylko 3 pady (czerwony, czarny, biały). Wyjście i kolory wyglądają tak:
V. Programowanie
Regulator podłączony pod programator musimy zasilić lipolem w trakcie programowania. Jeśli ktoś się boi to można go zasilić przez szeregowo podłączoną żarówkę samochodową. W razie pomyłki zaświeci nam się żarówka a nie regulator.
Mamy już zasilony regiel i podłączony pod programator. Uruchamiamy program BLHeliTool.
Standardowo wybieramy port (jeśli sam się nie ustawi automatycznie).
Multiple ESC mode ustawiamy na default.
Przechodzimy na zakładkę FlashBLHeli to ESC:
Z listy rozwijanej BESC wybieramy nazwę naszego regulatora.
Niżej wersję softu (najlepiej najnowszą).
Mode ustawiamy na MULTI (czyli program dla multikopterów).
Klikamy Verify. Jeżeli wszystko jest dobrze podłączone, powinniśmy niżej ujrzeć coś takiego. (oczywiście numer Device ID możę być inny).
Jeżeli pojawi się napis "Connection to target FAILED" to znaczy że regulator jest źle podłączony, coś nie styka albo nie jest zasilony z lipola.
"MCU INCORRECT"- któryś ze styków nie łączy z padem.
"Block read FAILED" Oznacza, że regulator jeszcze nie ma wgranego softu fast PWM. Nie przejmujemy się tym napisem.
Jeśli wszystko jest OK. Klikamy Flash. Parę sekund, widzimy status "Flash HEX file.... DONE"
Mamy zaprogramowany regulator na soft Fast PWM
Możemy sobie wejść teraz w zakładkę SETUP Basic i kliknąć niżej READ. Wczytają się wszystkie ustawienia jakie mamy w regulatorze. Nie zalecam ich zmieniać bo są już na gotowo ustawione pod dany regulator.
Kalibracja gazu:
1. Podłączamy regulator pod kanał gazu aparatury ustawiony na MAX.
2. Po zasileniu regulatora usłyszymy sekwencję rosnących piknięć. Gry się skończą dajemy gaz aparatury na MIN
3. Usłyszymy sekwencję malejących piknięć. Gaz skalibrowany, można odłączyć regulator z zasilania.
Wyjaśnienie funkcji
Tak dla ciekawostki, choć nie polecam niektórych tykać.
1.Name: Można nadać indywidualną nazwę regulatora.
2. BESC: Nazwa i typ regulatora
3. Motor/Gear Setup:Właściwości silnika (KV, magnesy i zęby). Zmiana tych właściwości nie wpływa na ustawienia regulatora.
4. Main Governor P-Gain: Pidologia. Dla zrozumienia: jak szybko mam biegnąć na autobus biorąc pod uwagę jak daleko od niego jestem.
5. Main Governer I-Gain: Pidologia. Dla zrozumienia: Jak szybko mam biegnąć biorąc pod uwagę jak długo autobus będzie stał zabierając pasażerów.
6. Main Governer Mode: Zmiana ustawień regulatora za pomocą TX.
7. Low Voltage Limiter: Wiadomo. Odcięcie zasilania przy spadku napięcia celi.
8. Startup Method: Sposób rozruchu silnika. W silniku bezszczotkowym uruchamianie silnika jest trochę skomplikowane. Regulator musi wiedzieć w którą z 3 faz "uderzyć" aby uruchomić silnik. Funkcja Stepped uruchamia silnik od najwolniejszych obrotów bez zrywu.
9. Startup Power: Moc "rozrusznika silnika".
10. PWM Frequency: Częstotliwość wyjściowa sygnału PWM (do silnika)
11. Motor Direction: Kierunek silnika
12. Input Polarity: Polaryzacja sygnału wejściowego PWM. Jeśli ją przestawimy to przy ustawieniu drążka gazu na minimum ESC poda maksymalny gaz na silnik.
13. Damping Force: Hamowanie silnika przy jego wyłączeniu.
14. Starting RPM: Coś w stylu: Jak szybko chcesz odpalić silnik.
15. Startup Acceleration: Przyspieszenie od zera
16. Demag Compensation: Oszczędzanie energii. Coś w stylu kiedy pedałujesz rowerem i osiągasz żądaną prędkość to nie musisz już tak mocno naciskać na pedały.
17. Motor Timing: Wyobraź sobie naciskanie na pedały w rowerze. Możesz naciskać na pedały od razu kiedy jest np. na godzinie 1 lub w połowie obrotu. (nie wiem jak to wytlumaczyc logiczniej)
18. Governor Setup Target: ???
19. Governor Range: Czybkość zmiany faz. Coś jak praca cylinda w samochodzie.
20. Throttle Change Rate: Ta funkcja najbardziej nas interesuje czyli szybkość reakcji silnika na podawany sygnał PWM. Lepiej nie zmieniać tej wartości bo każdy regulator ma inną. Ta wartość już jest dopieszczona :)
21. PPM Min Throttle: Wiadomo. Minimalny gaz z aparatury.
22. PPM Max Throttle: Maksymalny gaz aparatury.
23. Beep Strenght: Głośność pikania silnika przy podłączaniu zasilania, zmiany ustawień itd.
24. Beacon Strength: Głośność piknięcia kiedy regulator wykryje sygnał PWM z aparatury (ostatnie piknięcie)
25. Beacon Delay: Alarm niewykrycia sygnału PWM. Przydaje się kiedy zapomnimy odłączyć model z zasilania.
26. Re Arming every Start: Sprawdza czy przy włączaniu regulatora nie daliśmy przypadkiem gazu. Lepiej tego nie tykać bo kiedyś możemy stracić paluchy.
27. Programming by TX: Programowanie z aparatury
Ostatnio zmieniony czwartek 03 paź 2013, 13:11 przez shaggee, łącznie zmieniany 5 razy.
https://github.com/bitdump/BLHeli/blob/ ... BLHeli.asmBQB pisze:Jakiś czas temu szukałem kodu źródłowego do regulatora, aby tak sobie zerknąć i jest to wielki problem, niby to wszystko bazuje na opracowaniu jakiegoś niemca, jednak, tak jakby wszyscy nabrali wody w usta. shaggee masz może jakieś źródło? Nawet najprostsze?
Witam
Mam regulator Skywalker quattro i zacząłem go flashowa'ć, i tak poszedł nr 2 i nr 4, jednak przy nr 1 zaczęły się problem. Program pokazuje coś takiego:
Flash hex file... Please wait!
delay... OK
v... OlliW SilProg v1.20 PB2PB3
flash target no. 1
r... rok
d... dok0A -> Device ID 0A F33x
i... iok
e... .....bc.Device erase FAILED!
Nr 4 ma takie same problemy. Czy możecie mi podsunąć jakieś rozwiązanie bo tak nie ciekawie zostałem z połówką przed i połówką za.
Mam regulator Skywalker quattro i zacząłem go flashowa'ć, i tak poszedł nr 2 i nr 4, jednak przy nr 1 zaczęły się problem. Program pokazuje coś takiego:
Flash hex file... Please wait!
delay... OK
v... OlliW SilProg v1.20 PB2PB3
flash target no. 1
r... rok
d... dok0A -> Device ID 0A F33x
i... iok
e... .....bc.Device erase FAILED!
Nr 4 ma takie same problemy. Czy możecie mi podsunąć jakieś rozwiązanie bo tak nie ciekawie zostałem z połówką przed i połówką za.
-
- Posty: 98
- Rejestracja: poniedziałek 24 cze 2013, 10:55
- Lokalizacja: Poznań
kiedyś ktoś juz o tym pisał na: http://www.olliw.eu/2012/owsilprog/simoneus pisze:Device erase FAILED!
możliwe, że to jest tylko błędny komunikat.
Link do pdf'a z pinami i instrukcją: https://raw.github.com/bitdump/BLHeli/m ... 20ESCs.pdf
Może troszkę odkopie temat . Dziś właśnie przerobiłem swojego hobbywinga skywalkera 4 in 1 20A na soft bl-heli. użyłem do tego opisanego sposobu i softu ze strony olliw.eu , do flashowania użyłem minim osd bez najmniejszego problemu i do odczytu danych też . Natknąłem sie jednak na taką paczunie z najnowszym softem w wersji 11V http://www.helifreak.com/blog.php?b=2001 w paczce tej też jest fajny soft do ostawień i za razem do przerobienia programatora i tu nastąpił problem mój programator niby działa a tak naprawdę nie mogę nic wgrać ani odczytać mogę w tym programie przerobić OSD i niby wszystko idzie tak jak należy a jednak nie działa. Zdesperowany wgrałem soft w wersji v11 po przez program ze stronki olliw .eu i wszystko ładnie chodzi oprócz opcji odczytu i zmiany ostawień program podaje że inna wersja i nie da rady odczytać. Miał ktoś do czynienia z tym nowym softem? może coś źle robię . A i jeszcze jedno czy do Nazy trzeba coś zmieniać w ustawieniach tych regli? Naza niby potrzebuje mid point na 1520 a w tych reglach jest ustawiony środek na 1480 czy to będzie coś robiło?
Pozdrawiam łukasz
Pozdrawiam łukasz