Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

T-REX 600 sterowanie-> Atmega 8 + PWM + regulator RCE BL100 + silnik RCM BL65

janusz_cichowski 28 Lip 2011 13:43 2764 9
  • #1 28 Lip 2011 13:43
    janusz_cichowski
    Poziom 10  

    Witam szanowne forum, nie jestem zagorzałym modelarzem jednak udało mi się popełnić projekt sterowania serwomechanizmami do helikoptera T-REX 600.

    Przedstawiony poniżej układ ma za zadanie z wykorzystaniem interfejsu USB -> FT232 -> Atmega 8 sterować wychyleniem serwomechanizmów oraz docelowo prędkością obrotów silnika bez-szczotkowego RCM BL650L za pośrednictwem regulatora RCE BL100. Specyfikacje elementów w załącznikach.

    T-REX 600 sterowanie-> Atmega 8 + PWM + regulator RCE BL100 + silnik RCM BL65 T-REX 600 sterowanie-> Atmega 8 + PWM + regulator RCE BL100 + silnik RCM BL65 T-REX 600 sterowanie-> Atmega 8 + PWM + regulator RCE BL100 + silnik RCM BL65 T-REX 600 sterowanie-> Atmega 8 + PWM + regulator RCE BL100 + silnik RCM BL65 T-REX 600 sterowanie-> Atmega 8 + PWM + regulator RCE BL100 + silnik RCM BL65 T-REX 600 sterowanie-> Atmega 8 + PWM + regulator RCE BL100 + silnik RCM BL65





    Moduł został zaprojektowany z wykorzystaniem elementów SMD ponieważ w ostatecznym rozwiązaniu będzie umieszczony na helikopterze. W oparciu o timer PWM zaimplementowano 10 softwarowych kanałów PWM, które generują impulsy na poszczególnych wyjściach o długości od 900 us do 2100 us.

    Moduł jest sterowany za pośrednictwem protokołu RS-232. Wysyłając polecenie sterujące w postaci:

    :XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:

    gdzie każdy XXXX odpowiada długości impulsu wystawianego na konkretny pin. Jeżeli zamiast wartości zostanie wysłany ciąg **** to szerokość impulsu na wyjściu nie ulegnie zmianie. Aby uzyskać impuls o długości 900 us należy podać wartość 0900.

    W załącznikach umieszczone zostały noty aplikacyjne wykorzystanych modułów, dokumentacje, wygenerowane pliki PDF oraz schemat PCB programu EAGLE oraz plik HEX z programem. Dodatkowo znajduje się fragment dokumentacji dotyczący prezentowanego układu.


    Umieszczenie tego artykuły nie było spowodowane chęcią pochwalenia się, ale problemem, którego nie jestem w stanie sam rozwiązać mianowicie: układ, który został zaprezentowany pozwala płynnie sterować serwomechanizmami z wykorzystaniem komputera i prostej aplikacji w języku C. Oprócz serwomechanizmów, aby możliwe było sterowanie helikopterem konieczne jest sterowanie prędkością obrotową silnika bez-szczotkowego, który sterowany był z odbiornika kontrolera Futaba, do którego podłączony był regulator obrotów.

    W załączonej instrukcji do regulatora obrotów zaprezentowano zasadę obsługi i startowania silnika. Jednak pomimo faktu, że przebiegi impulsów generowane przez zbudowany układ są identyczne pod względem czasowym z tymi, które generuje firmowy kontroler Futaby to nie jestem w stanie nawiązać jakiejkolwiek interakcji z posiadanym regulatorem.

    Proszę o pomoc: dlaczego mogę sterować serwomechanizmami w całym zakresie bez żadnych problemów, ale regulator obrotów nie reaguje mimo że wartości impulsów PWM są takie same w skrajnych ustawieniach przepustnicy.

    FT232

    FT232 USB -> RS232 converter

    0 9
  • #2 28 Lip 2011 14:02
    PUPILANDER
    Poziom 15  

    Przy uruchomieniu układu do regulatora powinien iść sygnał 0% czyli ok 1000us. Jeśli będzie inaczej to regulator może wejść w stan programowania, wtedy silnik nie będzie pracował a zmiany sygnałów będą "programować" regulator. Czy po włączeniu zasilania słychać "pikaine"?

    PS: Obawiam się o sterowanie przez RS. Nawet jeśli prędkość będzie 115200 to może się okazać zbyt wolne dla helika.

    0
  • #3 28 Lip 2011 14:34
    janusz_cichowski
    Poziom 10  

    Wydaje mi się, że szybkość zmian serwomechanizmów z użyciem układu jest porównywalna do zmian generowanych oryginalnym sterownikiem. Jednak prędkość transmisji jest jeszcze do skorygowania. Problemem jest nie możność wysterowania silnika/regulatora z mojego układu.

    Tak czas trwania impulsu wysyłany na starcie jest identyczny (zmierzyłem oscyloskopem) z tym, który generuje oryginalny układ odbiorczy Futaba.

    Mianowicie po podłączeniu zasilania w przypadku oryginalnego sterowania słychać jakąś melodyjkę i od razu zmiana położenia przepustnicy powoduje obracanie wirnika. W przypadku podłączenia mojego układu na wyjściu PWM mam taki sam czas trwania (około 950 us) jak w oryginale, ale sygnał wydobywany z regulatora to jedno piknięcie na jakieś 5 sekund i tak pika cały czas, a zmiany pozycji przepustnicy nie powodują żadnych zmian i sygnałów.

    0
  • #4 28 Lip 2011 14:41
    PUPILANDER
    Poziom 15  

    To pikanie świadczy o wejściu regulatora w stan programowania. Sygnał nie powinien się zmieniać zanim melodyjka się nie skończy.

    0
  • #5 28 Lip 2011 14:56
    janusz_cichowski
    Poziom 10  

    Trochę nie rozumiem?

    podłączam baterie do regulatora ze swoim układem i czekam aż melodyjka się skończy?

    Ogólnie wygląda to tak, że jak podłącze do regulatora samą baterię bez żadnego układu to pikanie jest takie samo jak wtedy kiedy podłączam swój układ. Mam wrażenie jakby regulator nie widział mojego sterownika.

    Pomierzyłem oscyloskopem czasy trwania poszczególnych wyjść PWM i zgadzają się z tym co generuje sterownik Futaby, ale mój sterownik pobiera zasilanie z USB i napięcia sygnałów są mniejsze niż w przypadku Futaby nie wiem czy natężenie prądu może mieć znaczenie na sterowanie PWM?

    Czy są jakieś sugerowane parametry (prąd/napięcie) sygnału PWM, oprócz czasu trwania, które powinienem zapewnić żeby zadziałało?

    0
  • #6 28 Lip 2011 15:01
    PUPILANDER
    Poziom 15  

    Zrobiłem kiedyś podobny sterownik. Testowałem go również na zasilaniu z USB i działał. Po podłączeniu zasilania do regulatora od razu wyślij sygnał 950us i poczekaj aż skończy się melodyjka. Później regulator powinien móc sterować silnikiem.

    0
  • #7 28 Lip 2011 15:10
    janusz_cichowski
    Poziom 10  

    Z tego co rozumiem w instrukcji do regulatora (Strona 2, Using Mode):

    1. ustawiam na wyjście 950 (przepustnica minimum)
    2. podłączam swój kontroler do USB
    3. podłączam do regulatora baterię
    4. słyszę melodyjkę jak się skończy to mogę latać??

    a jednak nie działa. Mam ustawione 950 us, robię wszystko wedle instrukcji i po podłączeniu zasilania regulatora słyszę jedno piknięcie na kilka sekund.

    jak wykonuję te czynności z oryginalnym sterownikiem po podłączeniu zasilania regulatora słyszę parę dźwięków, krótką melodyjkę i już mogę sterować silnikiem.

    Nie wiem co jest nie tak, czy da się zrobić własny regulator obrotów?

    0
  • #8 28 Lip 2011 16:38
    PUPILANDER
    Poziom 15  

    Wszystko wydaje się dobrze. Czy masz odłączny przewód zasilania od regulatora? Przy podłączeniu regulatora do układu zasilanego z innego źródła powinno się odseparować zasilania (przewód czerwony w regulatorze nie powinien być podłączony).

    0
  • #9 29 Lip 2011 10:21
    McRancor
    VIP Zasłużony dla elektroda

    Na moje oko problemem jest czas startu regulatora - czas otrzymania pierwszych impulsów. Spróbuj z ustawieniem tego czasu. Pamiętaj że w oryginale podłączenie zasilania regulatora ~= podłączenie zasilania odbiornika. Tak więc regulator chwilę pracuje zanim otrzyma pierwsze impulsy.

    Spróbuj tak: załączenie regulatora, a potem dopiero załączenie kontrolera.

    0
  • #10 29 Lip 2011 12:07
    PUPILANDER
    Poziom 15  

    Proponuje też zrobić test na zasilaniu z BECa regulatora. Nie podłączać wcale układu do USB. To będzie chyba najbliższe oryginalnej konfiguracji. W modelu regulator zasila odbiornik, który od razu zaczyna wysyłać sygnał.

    0