W końcu rozwiązałem problem skalowania wskaźnika sterowanego serwem.Zrobiłem to przy pomocy niezawodnego kolegi codeking,który podpowiedział jak ułożyć równania realizujące ten projekt.
Przystępując do projektu nie miałem pojęcia jak działa serwo i jak zrobić skrypt do wskaźnika np.RPM dla Falcona.
1.Etap pierwszy to znalezienie sposobu sterowania serwem w relacji SIOC (program OpenCockpits),FAST (program do komunikacji Falcon SIOC) oraz serwo podpięte do karty USBServo.Ten etap był najtrudniejszy,ponieważ w dokumentacji OC są przykłady ale dotyczące FS.Na forum OC brak informacji.W końcu przez prywatny kontakt z forum viperpits uzyskałem informację jak zrealizować sterowanie Falcona w relacji SIOC,FAST.
2.Etap drugi to testowanie serwa przy pomocy programu testującego.Program jest niedostępny na stronie OC.Dostałem go od członka forum OC w momencie gdy realizowałem etap trzeci i miałem problemy z serwem.
Etap drugi polega na tym,że zmieniamy sterowanie serwem manualnie zadając wartość z zakresu od 0 do 1023 i obserwujemy wychylenie "wskazówki serwa".Karta OC umożliwia sterowanie serwa z rozdzielczością 10 bitów co odpowiada zakresowi 1 do 1023.Badając serwo zauważyłem,że działa wadliwie w zakresie 1 do 155.Objawiało się to tym,że wzrastał prąd z 8mA do 200 mA,serwo się grzało oraz hałasowało.Sterując serwo od warości większych do mniejszych przy zakresie 120 serwo przestało się obracać.
W etapie drugim poznałem wady tego typu serwa.
3.W etapie trzecim mojego projektu znając jego wady ułożyłem przy pomocy codeking równania realizujące sterowanie.
Założenia były następujące:
-określenie rozmiaru zakresu z uwzględnieniem wadliwego 1 do 155
-podział zakresu 868 na dwa zakresy tak aby rozszerzyć jeden kosztem drugiego,punkt podziału to 70% RPM
Po uwzględnieniu tych założeń można było obliczyć współczynniki dla obu zakresów i ułożyć odpowiednie równania.
4.W etapie 4 mając wyliczone dla poszczególnych warości RPM odpowiadające im wartości zakresu mogę to sprawdzić w relacji program testujący,serwo, wyliczenia i wykonać skalowanie.
Na załączonym wykresie jest to pokazane.Ten rysunek zrobiłem dla punktu podziału 40% RPM.
5.W etapie 5 trzeba napisać skrypt i wykonać skalowanie.Skalowanie wykonujemy na podstawie wskazań wskaźnika RPM w Falconie.
6.W tym etapie porównujemy skalowania z punktu 4 oraz 5 i wykonujemy korekcję równań.
Jak widać jest dużo pracy.Każdy wskaźnik ma trochę inną charakterystykę (zakres,liniowość).Trzeba w związku z tym dobrać przekładnie oraz zębatki aby skala pokrywała 0 do 360 stopni.
Na koniec chciałbym podziękować codeking za pomoc teoretyczną oraz EGHI za pomoc w realizacji precyzyjnego wykonania panelu.Projekt jest w fazie realizacji,ale jest nadzieja,że będzie zrealizowany i konkurencyjny do projektu na viperpits,który kosztuje około 300 EUR bez silniczków (4x20 EUR).
