DYS 3-Axis Sony Nex Gimbal With AlexMOS 3axis controller

WERSJA ROBOCZA.....2014-01-09 v2.8b

    SPIS TREŚCI:
    1. Wstęp
    2. Elementy gimbala DYS 3-Axis.
    3. Konfiguracja:
      • Wstępnie składamy gimbal
      • Kalibracja czujnika ACC w 6 pozycjach
      • Wyważanie "neutralne".
      • Co to jest PID, Konfiguracja
      • PID dla DYS - AlexMOS SimpleBGC - 3rd axis' ext. board 2.20b2 .
      • PID dla RCTIMER - AlexMOS SimpleBGC 32-bit - 2.30b5.
      • ERROR 0.1 b9 :)))
    4. Wnioski - uwagi.
    5. Filmy z pokładu, pierwsze testy.
    6. Źródła.

	  

1. Wstęp.

Sprzęt do konfiguracji udostępnił: www.gobleaplikacje.pl


Do niedawna konstrukcje GIMBALI - stabilizatorów kamery/aparatu były bardzo skomplikowane, trudne w konfiguracji oraz kosztowne. Ceny nawet najprostszych systemów wyposażonych w bardzo skomplikowaną mechanikę z tłumikami drgań (olejowymi, silikonowymi), wyposażonymi w kosztowne serwomechanizmy i skomplikowane układy sterowania zaczynały się od około 1500$ w górę. Nawet w amatorskich konstrukcjach, skomplikowana budowa przekładała się na wzrost wagi gimbala, co znacznie ograniczało możliwość zastosowania w modelach potrafiących udźwignąć spory dodatkowy ładunek od 1,5kg w górę. Nie musze wspominać, że każdy dodatkowy zbędny gram znacznie wpływa na czas lotu modelu. Pojawiały się więc rozmaite konstrukcje oraz ich klony, które czasem lepiej lub gorzej potrafiły spełniac swoją funkcję, czyli stabilizować Kamerę w osiach: YAW, ROLL, PITCH.

Wkońcu wraz z rozwojem elektroniki modelerskiej (głównie silników bezszczotkowych i sterowników), nastąpił długo oczekiwany przełom :). Jeden lub kilku modelarzy (jak zwykle przy genialnych w swojej prostocie wynalazkach trudno znaleźć konkretnego pomysłodawcę) wpadło na pomysł użycia dostosowanych silników 3 fazowych z modeli RC do ... bezpośredniego napędzania każdej z osi gimbala / stabilizatora kamery. Genialność pomysłu polega miedzy innymi na tym iż do pracy zużywa się minimum energii i wykorzystuje fizykę. Zamiast siłować sie z kamerą i utrzymywać ją w danej pozycji, gimbal pracuje nad utrzymaniem punktu neutralnego. Do prawidłowej pracy nowej konstrukcji bezwzględnie jest wymagane wyważenie "neutralne" każdej stabilizowanej osi.

W nowych konstrukcjach zniknęły problemy z:

  • kasowaniem luzów w przekładniach mechanicznych (serwomechanizmy, przełożenia),
  • eliminacją oscylacji i wibracji (silikon, amortyzatory olejowe itp.)
  • skomplikowanymi, trudnymi w kalibracji oraz zawodnymi układami identyfikacji położenia opartymi na potencjometrach
  • nadwagą
  • wysokimi kosztami projektowania i budowy.

Wszystkie powyższe elementy zostały zastąpione trzema podstawowymi:

  • elektronika sterująca oraz moduł czujnika ACC i GYRO mocowany na półce z aparatem/kamerą
  • silnik 3 fazowy bezpośrednio stabilizujący/napędzający daną oś
  • sztywna wyważona rama

Aktualnie rozwijanych jest kilka projektów elektroniki sterującej dla gimbali BLDC. Poniżej wymienię kilka podstawowych:

  1. Commercial: Aleksey Moskalenko, projektant SimpleBGC controlera http://www.basecamelectronics.com/ (komercyjny, dostępny wyłącznie dla oryginalnych sterowników)
  2. Open Source Brushless Gimbal:
    http://rc-fpv.pl
    http://www.rcgroups.com/
    http://code.google.com/p/brushless-gimbal/downloads/list
  3. EvvGC - kontroler 3 osiowy:
    http://www.rcgroups.com
    http://rc-fpv.pl



	  

2. Elementy gimbala DYS 3-Axis.

Opisywany poniżej gimbal 3 osiowy firmy DYS, zaprojektowany został do współpracy z kamerami rozmiaru np. aparatu Sony NEX.
W polsce dostępny jest m.in. w sklepach:
Radio-Modele>
ABC-RC
oraz jego klony w Chinach m.in.
http://www.rctimer.com

Podstawowe cechy gimbala DYS.

  • Elektronika sterująca: AlexMOS SimpleBGC - 3rd axis' ext. board, firmware 2.20b2
  • Umożliwia on ruch kamery sterowany za pomocą nadajnika RC. Możliwy jest obrót w 3 osiach, osi poziomej i pionowej oraz obrót w pionie,
  • Precyzyjnie wykonanie z frezowanego aluminium na CNC,
  • Możliwość bardzo szerokiej regulacji ustawień gimbala oraz wyważenia
  • silniki: DYS - BGM4108-130T - 3 szt, Waga silnika: ~90g
  • max. wymiary kamery: 0,8kg
  • waga: 300g (bez silników i elektroniki)
  • wycięte elementy z włókna węglowego - zawieszenie gimbala wraz z amortyzatorami silikonowymi
  • elementy z frezowane aluminium, drobne metalowe elementy montażowe, wkręty, tulejki,

Poniżej foto-lista elementów z których składa się testowany gimbal DYS oraz elementy dodatkowe:

  1. Aluminiowa rama, a w zasadzie frezowane na CNC elementy. Bardzo proste w składaniu, ułatwiające precyzyjne wyważanie gimbala.
  2. Elektronika: AlexMOS 3Axis Controller (składający się z standardowego sterownika dwu osiowego "BaseCam (AlexMos) SimpleBGC 2-axis" oraz rozszerzenia do niego w postaci dodatkowego modułu dla trzeciej osi ), odbiornik RC 4 kanałowy, z PPM SUM, do zdalnego sterowania funkcjami gimbala z poziomu ziemi, okablowanie, elastyczne przewody do czujnika oraz do zasilania silników.
  3. Silniki: GBM4114 (24N22P) x1, GBM4108 (24N22P) x2
  4. elementy mechaniczne złożone w całość, jak widać jest wiele punktów umożliwiających regulację - wyważenie gimbala.



	  

3. Konfiguracja.

Poniżej przedstawię podstawowe zasady/procedurę konfiguracji gimbala 3 osiowego BLDC. Składanie elementów gimbala oraz podpinanie elementów elektroniki (czujnik, silniki, odbiornik RC) jest na tyle proste i opisane w manualu iż pominąłem to w opisie. Jednak pominięcie któregokolwiek z niżej opisanych etapów spowoduje brak możliwości prawidłowego skonfigurowania gimbala. W tym przypadku nie ma drogi na skróty. :)


3.1 Wstępnie składamy gimbal

Składamy wszystkie elementy mechaniczne gimbala. Instalujemy niezbędne okablowanie oraz elektronikę w docelowym miejscu. Posługujemy się instrukcją gimbala oraz dokumentacją sterownika AlexMOS. Zwracamy uwagę aby przewody silników znajdowały się jak najdalej od przewodów czujnika ACC-GYRO. Przewody musza być tak dobrane aby zapewniały swobodę pracy gimbala. Chodzi tu nie tylko o odpowiednią długość aby osiągnąć odpowiedni zakres wychyleń ale również o odpowiednią elastyczność przewodów. Przewody nie powinny wpływać na zachowanie gimbala bez zasilania - nie mogą "ciągnąć go" - wybijać z równowagi.
Mocujemy gimbal na stabilnej podstawie, np. na docelowym podwoziu lub ramie. Nie podpinamy jeszcze zasilania !


3.2 Kalibracja czujnika ACC w 6 pozycjach.

Do prawidłowej pracy, gimbal musi mieć prawidłowo skalibrowany czujnik ACC. Kalibrację wykonujemy z odłączonymi silnikami. Podobnie jak w wielowirnikowcach (np. KFC32 Marbalona) kalibrację możemy wykonać na dwa sposoby:

  • A. Zgrubnie - w podstawowym położeniu, wystarcza w niektórych przypadkach. Ustaw czujnik w orientacji (XYZ) w której ma znajdować się na gimbalu, następnie możliwie dokładnie wypoziomuj go, a w aplikacji GUI wybierz CALIB.ACC. Uważamy przy tym, aby nie powodować drgań czujnika podczas procesu kalibracji. Gdy zielona dioda przestanie szybko mrugac, wybieramy klawisz WRITE. Możemy rozłączyć się z sterownikiem.
  • B. Dokładnie - w 6 możliwych pozycjach w jakich może znajdować się czujnik. Jest to najbardziej optymalna kalibracja czujnika, może niwelować np. objawy delikatnego driftu w osi YAW. Do tego celu potrzebujemy pudełko w kształcie szescianu wykonanego z sztywnego materiału. Przyklejamy np. taśmą do jednej ze scianek czujnik, w orientacji (XYZ) w której ma znajdować się w gimbalu. Staramy się aby czujnik był możliwie równolegle zorientowany do ścianki do której go przymocowaliśmy. Uruchamiamy GUI i wybieramy CALIB.ACC. Ważne aby podczas kalibracji - gdy szybko mruga zielona dioda - nie trącać czujnika. Czynność powtarzamy dla każdego z boków sześcianu. Obracamy pudełko z przyklejonym czujnikiem na bok lewy-prawy, przód-tył, a następnie do góry nogami. Za każdym razem - w każdej pozycji - klikamy w GUI CALIB.ACC. Po zakończeniu ustawiania dla 6 pozycji (wszystkich boków pudełka), ustawiamy go w pozycji wyjściowej - takiej jak ma być w gimbalu i klikamy WRITE. Możemy rozłączyć się z sterownikiem.


    roland- IMU Nie ma żadnego sygnału odniesienia dla osi yaw. Kierunek (w GUI pokazywany przez kompas) jest wyliczany tylko przez całkowanie, więc prędzej czy później się rozjedzie. W niektórych kontrolerach obok akcelerometru i żyroskopu pojawia się magnetometr i wtedy jest możliwość korygowania tego dryfu. AlexMos w wersji SimpleBGC tego nie posiada, gdzieś czytałem (ale nie jestem 100% pewien) że nadchodzący SimpleBGC 32-bit będzie tym dysponował. Pożyjemy, zobaczymy.


    Poniżej przykładowy film użytkownika Tera Max przedstawiający kalibracje w 6 położeniach.
    http://www.youtube.com/watch?v=fNrUNJOb4tY




3.3 Wyważanie "neutralne"...

Doszliśmy do najważniejszego etapu pracy - wyważenie gimbala. Do prawidłowej pracy gimbal musi być wyważony neutralnie, tzn. aparat umieszczony na podstawce musi pozostawać w położeniu w jakim ustawimy go "ręcznie" - bez zasilania. Dotyczy to bez wyjatku każdej osi w jakiej pracuje gimbal - Pitch, Roll oraz YAW. Jakiekolwiek odstępstwo nie jest dopuszczalne! Jeżeli w którejś z osi kamera nie pozostaje w pozycji w której ją ustawiliśmy, ma tendencje do powrotu do jakieś pozycji neutralnej to nalezy korygować ustawienie gimbala aż osiągniemy pożądany efekt. Korekcji położenia środka ciężkości dla każdej z osi dokonujemy za pomocą przemieszczania elementów gimbala, luzując i zaciskając śruby mocujące. Każdą oś regulujemy oddzielnie (nie wszystkie naraz), procedurę rozpoczynamy od PITCH, następnie ROLL a kończymy na YAW.

Ustawiamy oś PITCH. Dla ułatwienia pozostałe osie można zblokoać mechanicznie.

Gdy mamy ustawioną oś PITCH możemy wykonac regulację osi ROLL:

Ostatnią oś YAW wyważamy obracając gimbal na jeden z boków. Tylko w takiej pozycji możemy przeprowadzić wyważanie. Uwaga, wszystkie niedoskonałości wyważenia PITCH, ROLL będą się nam kumulować w osi YAW. Jeżeli w poprzednich punktach coś nam nie wyszło do końca to tutaj będzie nam jeszcze trudniej. Więc nie warto skracać drogi...


3.4 Co to jest PID, Konfiguracja.

Jeżeli mamy już:

  • wyważony "neutralnie" gimbal,
  • zainstalowaną elektronikę z ustawionym (oś Pitch i ROLL) i skalibrowanym czujnikiem ACC i GYRO (manual Simple BLDC)

możemy przystąpić do tzw. ustawienia PID w sterowniku za pomocą aplikacji GUI. W tym celu podpinamy sterownik do komputera i uruchamiamy aplikację do sterownika AlexMOS (możemy ją pobrać ze strony producenta - podana powyżej).

Do sterownika gimbala dostępna jest instrukcja z którą warto sie zapoznać:
AlexMOS SimpleBGC_manual_2_3_eng.pdf
Bardzo pomocny "Guide"
AlexMos Brushless Gimbal Controller (SImpleBGC) Tuning Guide


Co to są te "tajemnicze" PID ? :)
Alex ładnie opisuje je w instrukcji.... Poniżej postaram się wyjaśnić o co chodzi. Kolejność opisywanych parametrów odpowiada kolejności w jakiej je regulujemy. Oczywiście podczas ostatecznego korygowania nastaw możemy minimalnie korygować je w dowolnej kolejności.


P - Parametr mocy i momentu ("wzmocnienia")

Parametr momentu (wzmocnienia) i mocy jaka jest dostarczana cały czas do silnika, muszą być wystarczjące do utrzymania statycznego lub obracania. Powinno też być ustawione tak, aby temperatura silnika znajdowała się poniżej 60 ° Celsjusza, i tak aby nie powodowała "Oscylacji". Powinieneś zauważyć, że zbyt wysokie wartości "Mocy" spowodują iż silnik nie będzie miał większego momentu obrotowego a będzie się po prostu przegrzewał. Musisz znaleźć prawidłową wartość dla zastosowanych silników oraz masy gimbala i aparatu (niektóre wymagają około 50, niektóre nawet 80-100, a niektóre więcej). Wyważenie gimbala jest bardzo istotne dla prawidłowej pracy sterownika.

Wtedy, nastawa "P" wzmocnienie jest mocą lub raczej momentem, z jakim silnik się obraca i powinien wystarczyć silnikowi do utrzymania zdefiniowanej pozycji (za pomocą" RC wejscia / FC wejscia / Analogowe wejscia) lub do powrotu do referencyjnej (wyjściowej) ustabilizowanej pozycji. Większe wartość wzmocnienia "P" oznacza mocniejszy moment z jakim silnik będzie ruszał (zmieniał pozycję).

Wtrącę tu przykład z samochodem który ma np. 250KM i musimy nim "delikatnie ruszyć" o 1m do przodu. Jeżeli będziemy mieli zbyt dużą moc i za wysoki moment "P" będzie to nawet lekkie wcisnięcie gazu spowoduje ,że Samochód nam przejedzie dalej niż 1m i będzie musiał wrócić. Znowu powrót będzie realizowany z zbyt duża mocą i momentem w efekcie ponownie przeskoczymy poza ustaloną pozycję ....



I - prędkość obrotowa, szybkość reakcji

Jest prędkością obrotową silnika. Im wyższa jest tym szybciej silnik reaguje - obraca się. Ale szybka reakcja oznacza w punkcie neutralnym potrzebę natychmiastowego zatrzymania. Ponieważ duża masa aparatu i gimbala stanowi dużą bezwładność podczas obrotu aparatu, zbyt duża wartośc "I" może przysparzać problem z stabilizacją. "I" musi być więc ustawiony rozsądnie i nie więcej niż to jest konieczne.

Idealnym przykładem dla zrozumienia zasady dobierania nastawy "I" jest oś ROLL. Ruch powrotny do pozycji neutralnej po zakłóceniu zewnętrznym (np.: trąceniu palcem) powinien wykonywać znacznie wolniej niż PITCH dla małych lekkich gimbali (np. z GoPro). Powinieneś ustawić "I" tak aby gimbal poziomował się nie za szybko, ale bardzo jednostanie i liniowo a następnie zatrzymał się po mikroskopijnie miękkim odbiciu. (Niska prędkość z niską wartością "I" powinno zredukować końcowe odbicie, ale w konsekwencji silniki będą bardzo powoli korygować położenie zanim osiągną zadany punkt stabilizacji, więc tracisz na zcasie reakcji po wytrąceniu zewnętrznym gimbala z stabilizacji. Nalżey zwrócić uwagę iż szybkośc reakcji "I" dla aparatów o dużej masie jest znacznie niżej ustawiana niż np. dla GoPro, chodzi o różnicę w bezwałdności).


D - współczynnik członu różniczkującego

Umożliwia redukcję oscylacji - odbić, kiedy silnik dochodzi do punktu neutralnego i przekracza go nieco dalej niż to konieczne. Wartośc tej nastawy pomaga zredukować oscylacje niskiej częstotliwości. Zbyt wysoka wartość D może wywołać oscylacje wysokiej częstotliwości - wibrowanie gimbala, np. w sytuacji kiedy czujnik IMU (ACC+GYRO) poddawany jest wibracjom przenoszonym z układu napędowego poprzez ramę na gimbal.


Poniżej wykresy obrazujące proces dostrajania PID, wykres symbolizuje ruch jednej z osi gimbala.


Rozpoczynamy konfigurację gimbala w GUI
Ustaw w GUI wartośći domyślne, skorygowane o prawidłowe parametry użytych do budowy gimbala silników oraz położenie czujnika. W naszym przypadku zastosowano silniki DYS - BGM4108-130T, jak podaje producent posiadają 22 Pole - 22 magnesy.
Poniżej wartości domyślne (dla opisywanego gimbala) od których rozpoczynamy ustawianie PID. Uwaga nie zmieniamy wartości POLE dla silników. To jest stały parametr dla zastosowanych silników wynikający z ich budowy.



Znamy już zasady regulacji P,I,D, MOC - wiemy do czego musimy dążyć. Możemy przejść do kolejnego etapu.
Podpinamy IMU - sterownik gimbala do pakietu, silniki powinny rozpocząć "podrygiwanie". Świadczy to o nieprawidłowych parametrach PID, tym się jednak nie przejmujemy, jeżeli wyważyliśmy gimbal prawidłowo możemy przystąpić do korekty ustawień.

    1. Za pomocą GUI (zaawansowane) lub fizycznie odpinamy silniki sterujące osie których aktualnie nie ustawiamy (np. ROLL i YAW), pozostawiamy jedynie podłączony silnik dla regulowanej osi np. PITCH.
    2. Wykonujemy korektę nastaw P, I, D, MOC wyłącznie dla regulowanej osi PITCH.
      • zmieniamy delikatnie parametr P, I (w górę / w dół), zapisujemy i testujemy
      • palcem wymuszamy zmianę położenia aparatu w regulowanej osi i obserwujemy w jaki sposób następuje stabilizacja
      • wykonujemy zmianę położenia z aparatury RC i obserwujemy sposób stabilizacji (patrz wykresy powyżej).
      • dokonujemy korekty P,I,D, MOC
    3. Po wyregulowaniu osi PITCH, ponownie wykonujemy pkt.1-2 tym razem regulując kolejno oś ROLL, YAW, za każdym razem odpinając zasilanie pozostałych osi.
    4. Skonfigurowaliśmy każdą oś oddzielnie, pora na testy równoległe. Musimy sprawdzić wpływ poszczegulnych osi na siebie nawzajem. Czasem mogą wystąpić wzajemne wzbudzenia powodowane:
      • złym wyważeniem
      • luzami na śrubach łączących
      • zbyt długimi - mało sztywnymi ramionami gimbala (staramy się aby nie pozostawiać zbędnej przestrzeni pomiędzy ramionami gimbala, jezeli aparat ma pracowac w wybranym zakresie kątów (-45, 45) nie musimy zostawiać swobody 360 stopni i miejsca na obrócenie np. obiektywu pod silnikiem YAW....
    5. Włączamy równoczesnie osie PITCH i ROLL,
      • testujemy nastawy i reakcję gimbala na wytrącenie z równowagi oraz reakcję na zmianę położenia ramy nośnej w przestrzeni (proces autos tabilizacji).
      • jeżeli współpraca osi ROLL i PITCH przebiega prawidłowo możemy przejść dalej, jeżeliw sytępują problemy (np, wzbudzanie się) wracamy do poczatku konfiguracji korygując nastawy
      • nadal występują problemy, czy cierpliwie krok po kroku wykonujesz operacje? może nie wyważyłeś prawidłowo gimbal ?


    3.5 PID dla DYS - AlexMOS SimpleBGC - 3rd axis' ext. board 2.20b2 .

    Poniżej przedstawię uzyskane optymalne nastawy PID dla opisywanego gimbala DYS 3 AXIS z Sony NEX

    ... czy są to optymalne ustawienia? Na pewno wymagają wykonania kilku testów w locie (aby zbadać wpływ wibracji napędu oraz innych czynników na stabiliziację).
    Nie są to nastawy ostateczne z których byłbym zadowolony. Niestety miałem gimbal tylko na 4 godziny w nocy :) tak więc kiedyś zapewne wrócę do tematu.
    CDN......


    3.6 PID dla RCTIMER- AlexMOS SimpleBGC 32-bit - 2.30b5..

    Kolejny test z doskoku, tym razem 30min spotkania z zestawem dostarczonym z RCTIMER wyposażonym m.in. w najnowszą elektronikę AlexMOS

    Zdjecia zestawu z RCTIMER z ciekawostką, podwozie posiada unoszone stopy przez dwa serwa.

    Poniżej przedstawię uzyskane "optymalne ?" nastawy PID dla gimbala 3 AXIS z Sony NEX dostarczonego z RCTIMER wraz z najnowsza wersją sterownika AlexMOS 3 AXIS.

    ... czy są to optymalne ustawienia? Na pewno wymagają wykonania kilku testów w locie (aby zbadać wpływ wibracji napędu oraz innych czynników na stabiliziację).
    Nie są to nastawy ostateczne z których byłbym zadowolony. Niestety miałem gimbal tylko na 30minut :) tak więc kiedyś zapewne wrócę do tematu.


    Poniżej zdjęcia "cudeńka" ;) w wykonaniu RCTIMER wraz z podnoszonym podwoziem.

    Fot. Tomasz

    CDN......




    3.7 ERROR 0.1 b9 :)))

    Podczas próby połączenia z kontrolerem gimbala 3-axis w najnowszej wersji 32bit, występuje komunikat w GUI o nieprawidłowej wersji firmware AlexMOS: "Error Firmwaer version 0.1 b9".
    Rozwiązanie:
    Komunikat wprowadza w błąd. Nie ma wersji firmware 0.1 b9, prawdopodobnie używasz starszej wersji GUI, która nieprawidłowo rozpoznała nowy sterownik. Pobierz najnowsża wersję GUI do kontrolera 3-osiowego 32bit pod firmware 2.3b5 ze strony AlexMOS http://www.basecamelectronics.com/downloads/ i po problemie ;) .

    Tak wygląda komunikat o błędzie:


    	  

    4. Wnioski - uwagi.



    Kluczem do prawidłowej konfiguracji jest wyważenie neutralne gimbala oraz duży zapas cierpliwości :).... Każdy może zostać KAMERUNEM.

    	  

    5. Filmy, pierwsze testy..


    Test współpracy sterownika z układem sterowania RC. Odbiornik podpięty do płytki sterownika gimbala za pomocą lini PPM SUM (jeden przewód). Sterowane osie za pomocą aparatury to YAW, ROLL i PITCH.
    https://www.youtube.com/watch?v=IXGf_shugP8


    Test stabilizacji przed lustrem, jak widac pozostało wyregulowac oś YAW. .....
    https://www.youtube.com/watch?v=IN5vjBykAdo


    Pierwszy lot z gimbalem 3-axis na pokładzie. Sprawdzamy wpływ wibracji układu napędowego na stabilizację obrazu oraz reakcję na sterowanie położeniem kamery z ziemi.
    https://www.youtube.com/watch?v=3MRwxt0oKpk

    	  

    6. Źródła...

    W opracowaniu powyższego opisu wykorzystano zasoby wiedzy oraz publikacje dostępne w internecie, m.in.: