Witam.
Rozpoczynam właśnie zabawę w obsługę serw modelarskich przy pomocy attiny2313 i bascoma. Niestety wbudowana w bascoma procedura "Config servo" mnie zawiodła. Postanowiłem więc samodzielnie wygenerować sygnał, który posłuży do obsługi serwa. Napisałem więc taki prosty skrypt:
Niby proste, ma wysłać sygnał na PB1 przez A mikrosekund (w tym przypadku 1500), a potem wyłaczyć nadawanie na B mikrosekund (dopełnienie do 20000us). Ale niestety w praktyce nie zadziałało. Obok sygnału do serwa, kazałem mikrokontrolerowi identyczny sygnał wysyłać na diodę LED. Okazało się że dioda miga, ale stanowczo za wolno. Jakby każdorazowo po wykonaniu pętli mikrokontroler robił sobie przerwę na pół sekundy. Po sprawdzeniu w ten sam sposób wbudowanej w Bascoma komendy "Config servo" otrzymałem identyczne wyniki. A teraz najlepsze: Kiedy jako wartości waitus wpisałem konkretne liczby zamiast zmiennych, wszystko zaczęło działać jak należy. Serwo ustawiło się w konkretnej pozycji, a dioda zamiast migać, świeci ciąłym światłem (troszkę przygaszonym, ale ciągłym). I teraz moje pytanie - o co tu chodzi i jak temu zaradzić? Nie mogę predefiniować w skrypcie wychylenia serwa, wolałbym żeby było ono wyliczone w postaci zmiennej
Prosze o pomoc i pozdrawiam
Rozpoczynam właśnie zabawę w obsługę serw modelarskich przy pomocy attiny2313 i bascoma. Niestety wbudowana w bascoma procedura "Config servo" mnie zawiodła. Postanowiłem więc samodzielnie wygenerować sygnał, który posłuży do obsługi serwa. Napisałem więc taki prosty skrypt:
Kod: VB.net
Niby proste, ma wysłać sygnał na PB1 przez A mikrosekund (w tym przypadku 1500), a potem wyłaczyć nadawanie na B mikrosekund (dopełnienie do 20000us). Ale niestety w praktyce nie zadziałało. Obok sygnału do serwa, kazałem mikrokontrolerowi identyczny sygnał wysyłać na diodę LED. Okazało się że dioda miga, ale stanowczo za wolno. Jakby każdorazowo po wykonaniu pętli mikrokontroler robił sobie przerwę na pół sekundy. Po sprawdzeniu w ten sam sposób wbudowanej w Bascoma komendy "Config servo" otrzymałem identyczne wyniki. A teraz najlepsze: Kiedy jako wartości waitus wpisałem konkretne liczby zamiast zmiennych, wszystko zaczęło działać jak należy. Serwo ustawiło się w konkretnej pozycji, a dioda zamiast migać, świeci ciąłym światłem (troszkę przygaszonym, ale ciągłym). I teraz moje pytanie - o co tu chodzi i jak temu zaradzić? Nie mogę predefiniować w skrypcie wychylenia serwa, wolałbym żeby było ono wyliczone w postaci zmiennej
Prosze o pomoc i pozdrawiam
