A.T. wrote: No i tutaj jest właśnie problem, czy ten prąd musi ciągle płynąć nawet gdy nie ma zmiany pozycji? Trochę to bez sensu, akumulatory się rozładowują, a silnik się grzeje.
Niby nie musi ciągle płynąć ale najprościej jest zrobić żeby płynął ciągle.
A.T. wrote: Jeśli chodzi o niestosowanie enkoderów (lub innych czujników wyznaczających pozycję rotora względem statora) w sterownikach gimbala to się do końca z tym nie mogę zgodzić. Np. bardzo dobry dron DJI Phantom3 posiada nie dość, że czujniki Halla przy silnikach gimbala to jeszcze potencjometr na jego osi wyznaczający pozycję. I raczej na 100% czujniki Halla służą tam właśnie do komutacji. Są usytuowane identycznie jak w takich silnikach ze stacji dysków, dyskietek. Komercyjne projekty takie jak np. sterownik gimbala Alexmos 32 także posiadają możliwość dodania enkoderów. Autor twierdzi, że enkodery poprawiają proces komutacji, sterownik nie gubi niepotrzebnie kroków w komutacji. Pytanie tylko w jaki sposób one oddziałują w procesie komutacji, w którym miejscu tego procesu się je uwzględnia.
No nie do końca one służą do komutacji.
Komutacja jest procesem używanym gdy wirnik jest w ruchu.
W pewnym uproszczeniu mówi się że wirnik po osiągnięciu pozycji docelowej (tam gdzie go ciągnie siła elektromotoryczna) powoduje przełączenie prądów w uzwojeniach (za pomocą komutatora). I ta pozycja docelowa się zmienia. I wirnik się porusza dalej. Pozycja docelowa mu ciągle ucieka, bo co raz osiągnie jedną to się ta pozycja robi nieaktualna i się w jej miejsce pojawia następna.
Ale to jest wyjaśnienie uproszczone. Bo w rzeczywistości przełączanie nie występuje po osiągnięciu pozycji docelowej ale przed nią. Największy moment wirnik ma w połowie drogi do pozycji docelowej. Czyli gdy przesunięcie fazy wynosi 90°.
I np. w klasycznym silniku trójfazowym BLDC gdzie jest 6 pozycji, każdy pełny cykl komutacji składa się z 6-ciu części. Cykl można uznać za 360°, przy czym nie chodzi o obrót wirnika o 360°, lecz o sam "obrót" cyklu komutacji. I w takim przypadku komutacji dokonuje się po osiągnięciu pozycji 60° przed pozycją docelową (w przypadku sterowania trapezoidalnego). Wcześniej jest dalej od pozycji docelowej: 120°. I wirnik jedzie od tych 120 do 60°, czyli w środku mija 90° gdzie ma największy moment. Daje to największą sprawność silnika.
I teraz gimbal. Tu występuje zupełnie inna sytuacja.
Silnik w ogóle nie ma być komutowany. Ani po osiągnięciu pozycji docelowej, ani też po osiągnięciu jakiejś innej gdzieś pomiędzy (np. tych 60° jak przy normalnym silniku).
Silnik w gimbalu pracuje inaczej. On zwykle stoi. I tylko wykonuje delikatne ruchy korygujące w tył albo przód. Komutacja nic tutaj nie da bo silnik nie może przekraczać pozycji docelowej. On ma ją osiągać i się w niej zatrzymywać.
Druga sprawa to położenie pracy. Jak pisałem wcześniej, zwykły silnik pracuje w okolicach przesunięcia fazy 90°, bo wtedy ma największy moment obrotowy.
W gimbalu jest inaczej. Silnik stoi, i moment obrotowy jest potrzebny rzadko. Za to często jest potrzebny moment trzymający.
Czyli silnik praktycznie ciągle ma być w pozycji 0°. Tu w ogóle nie ma jak wprowadzić komutacji bo skoro jesteśmy w 0° to gdzie miejsce na komutację?
Komutacja na podstawie teraźniejszego położenia ma przewidzieć przyszłe. Czyli musi być jakieś przesunięcie. Musi być określony kierunek w którym się dąży.
A gdy się siedzi ciągle na 0° to takiego kierunku nie ma, bo jesteśmy tam gdzie mamy być (nie ma przyszłego innego położenia).
Taki silnik w gimbalu pracuje więc jak silnik krokowy.
Moment obrotowy będzie potrzebny przy szybkich ruchach. Czasami gimbal takie ma wykonać. Tylko występuje tu nietypowa sytuacja: nim lepiej gimgal będzie kompensował szybkie (niechciane) ruchy, tym będzie mu lżej.
Bo ten ruch jest ruchem pozornym. Jest to ruch wirnika względem stojana. Natomiast element który jest na wirniku (kamera) w rzeczywistości ma się nie przesunąć.
W takim przypadku gimbal nawet podczas ruchów (wirnika względem stojana) będzie widział małe obciążenie momentem obrotowym. Ciągle więc nie potrzebuje pracować na dużym przesunięciu fazy. Może ciągle pracować w okolicach 0°.
Można tutaj zaimplementować enkoder i na pewno polepszy to działanie. Ale taki enkoder nie będzie pracował jako komutator. Jedynie jako układ który pilnuje czy nie zgubiliśmy kroków. Można go użyć do ograniczenia maksymalnego przesunięcia fazy. Gdy z jakichś przyczyn silnik nie da rady skompensować ruchu i wirnik wyskoczy z synchronizmu względem stojana. Wtedy przesunięcie fazy wzrasta ponad 0°, a nawet ponad 90°. W takim przypadku (po minięciu 90°) siła ciągnąca wirnik (moment trzymający) nie tylko przestanie wzrastać, ale zacznie maleć.
Więc w takim przypadku można wykorzystać enkoder. Żeby po osiągnięciu 90° przełączać uzwojenia aby przesunięcie fazy się już dalej nie zwiększało. Tylko to znowu nie była by taka normalna komutacja. Bo wysterowanie uzwojeń było by w kierunku ruchu wirnika. Czyli goniło by wirnik. A nie tak jak jest normalnie, gdzie to wirnik goni uzwojenia.
Koniec końców, enkoder/komutator można zaimplementować, ale potrzebny jest algorytm nadrzędny który będzie wyłączał komutację dla kątów mniejszych niż 90°.