eiliat Opublikowano 15 Lutego 2013 Udostępnij Opublikowano 15 Lutego 2013 Witam, Mam regulator HobbyKing oraz płytkę z przygotowaną Atmegą8 podpiętą pod kwarc 16 MHz. Fusebity mam już ustawione, wszystko działa prawidłowo. Do dyspozycji mam przykładowy silnik 3 fazowy bezszczotkowy i regulator hobbyking 12A. W jaki sposób (w jakiej kolejności) podłączyć przewody? Czy ma ktoś jakiś przykładowy kod w C, który konfiguruje ten regulator? Chodzi, mi żeby rozpędzić silnik np. na 50%. Bardzo proszę o pomoc bo nie chcę niczego uszkodzić. Jeśli ktoś nie chce udostępniać kodu, to proszę o HEX-a przystosowanego do A8 i 16 MHz. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
idfx Opublikowano 15 Lutego 2013 Udostępnij Opublikowano 15 Lutego 2013 Nie jestem pewien, ale wydaje mi się że regulator sterujesz sygnałem PWM. W Atmedze masz jusz taki układ w standardzie (nie wiem czy w 8ce bo jestem z tym do tyłu). Jeśli nie masz to możesz sam wygenerować taki sygnał na którejś końcówce portu. Czyli przyjmując jakąś częstotliwość (pewnie znajdziesz w sieci jak jest sterowany regulator) regulujesz czas trwania jedynki i zera nie zmieniając częstotliwości sygnału. O ile pamiętam częstotliwość przyjmujesz 50 Hz a czas trwania impulsu - 1- do prawie 1.5 ms - obroty w jedną stronę, 1.5 ms - zatrzymanie silnika, 1.5 - 2 ms obroty w drugą stronę. Mam nadzieję, że nic nie pomieszałem, pewnie ktoś w razie czego sprostuje. Taki programik dużo szybciej zrobisz i dużo szybciej będzie działał w assemblerze. Pozdrawiam ! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
brodziek Opublikowano 15 Lutego 2013 Udostępnij Opublikowano 15 Lutego 2013 Łączysz silnik z regulatorem trzema przewodami , kolejność jest dowolna. Gdyby silnik kręcił się w odwrotną stronę niż potrzebujesz - zamieniasz miejscami dwa dowolne przewody. Co do sterowania: Regulator jest sterowany dokładnie tak jak standardowe serwo , przez impulsy o zmiennym współczynniku wypełnienia w zakresie od 1 do 2 milisekund. Jest jednak jedno "ale" związane z zabezpieczeniem przed przypadkowym uruchomieniem silnika zaraz po włączeniu zasilania. Mianowicie aby regulator się aktywował, w aparaturze modelarskiej drążek gazu musi zostać cofnięty na zero, czyli na wejściu sterującym regulatora , przez pewien czas muszą być impulsy o wypełnieniu 1ms, potem można już sterować obrotami silnika. Inną kwestią jest sprawa kalibracji regulatora - tu odsyłam do jego instrukcji. Generalnie poszukaj przykładów sterowania serwem modelarskim jest tego multum w sieci. Do ćwiczeń, osobiście proponuję podpiąć pod atmegę serwo modelarskie, a dopiero po dopracowaniu programu - finalnie regulator. Wysyłane z mojego Desire Z za pomocą Tapatalk 2 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
eiliat Opublikowano 15 Lutego 2013 Autor Udostępnij Opublikowano 15 Lutego 2013 No dobra. Ale na czym polega zwiększanie obrotów a na czym zmaniejszanie? Np. jak przez 2 sekundy będę podawał impuls 1.5ms to wtedy silnik będzie przyspieszał? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
idfx Opublikowano 15 Lutego 2013 Udostępnij Opublikowano 15 Lutego 2013 Pewnie na długości wypełnienia impulsu, kurcze żałuję że jestem aż tak do tyłu z atmelkami bo z chęcią bym się znów pobawił. Niestety z wiekiem przybyło obowiązków i pewne rzeczy poszły w kąt Jeśli masz oscyloskop to kup najtańszy tester serwomechanizmów - regulator jest sterowany takimi samymi sygnałami, więc analogicznie wychylenie steru = zmiana prędkości. Myślę, że przy długości 1 ms i długości 1.3 ms jedynki prędkość będzie rosła analogicznie. Tak na szybko znalazłem, tu masz wszystko co potrzebujesz, tylko kwestia wyłapania esencji http://www.elektroda...opic871257.html i jeszcze to: http://www.elektroda.pl/rtvforum/topic2268725.html Pozdrawiam ! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
brodziek Opublikowano 16 Lutego 2013 Udostępnij Opublikowano 16 Lutego 2013 Sterowanie prędkością odbywa się poprzez zmianę szerokości impulsu, czyli jego wypełnienia. Na wejście regulatora podajesz sygnał o stałej częstotliwości a tylko zmieniasz współczynnik wypełnienia, czyli inaczej mówiąc regulator dostaje na wejście cykl impulsów o zmiennej długości, i to od długości impulsu zależy prędkość silnika. Np. dla impulsu o dł. 1ms silnik nie obraca się(analogicznie serwo dajmy na to lewym skrajnym położeniu), dla dł. impulsu 1,5ms silnik ma obroty 50% (serwo w środkowym położeniu), dla dł. impulsu 2ms - silnik ma obroty 100% (serwo w skrajnym, prawym położeniu). Czyli zmieniając dł. impulsu sterującego zmieniasz obroty. Aby silnik kręcił się z prędkością 50% na wejście regulatora musisz ciągle podawać impulsy o stałej dł. 1,5ms , dla prędkości 100% impulsy muszą mieć dł. 2ms - jak tych impulsów zabraknie - regulator nie będzie sterował silnika. Nie wiem jak mogę to prościej wytłumaczyć. Szukaj i czytaj o sterowaniu serwomechanizmów, a wszystko stanie się jasne! Np tu: http://www.forbot.pl...dium-vt3902.htm Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
eiliat Opublikowano 16 Lutego 2013 Autor Udostępnij Opublikowano 16 Lutego 2013 Wszystko jasne, myślałem że robię błąd w programie a okazało się, że mam wadliwy regulator. Po wymianie, wszystko działa Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi