hansfreak Napisano Styczeń 10, 2010 Udostępnij Napisano Styczeń 10, 2010 Witam wszystkich , jako że jest to mój pierwszy post na diodzie. Staram się do bólu wykorzystywać opcję szukaj ale mój problem niestety ją przerósł 🙂 Czy jest możliwe sterowanie 2 serwonapędami przy użyciu polecenia servos(n)= x przy zew rezonatorze 8MHz? Przy studiowaniu książki Marcina Wiązania natknąłem się na informację że powinno to być powyżej 8MHz (w tamtejszym przykładzie zastosowano 10MHz). Chciałem sprawdzić tą informację 😋 , więc przerobiłem program tak aby obserwować pracę serw dla poszczególnych wartości "I" od 0 do 150. Zaobserwowałem zmianę położenia serwa 1 z każdym krokiem w przedziale od 0 do 65 , następnie następuje blokada więc zakładam że szerokość impulsu sterującego wynosi powyżej 2,0ms . Mógłby mi ktoś łopatologicznie wytłumaczyć jak się ma parametr RELOAD i częstotliwość rezonatora do charakterystyki generowanego sygnału pwm ? załączam program ❗❗❗ UWAGA przestrzegam przed używaniem tego programu może doprowadzić do uszkodzenia serwa !!! $regfile = "m8def.dat" $crystal = 8000000 Config Pinb.0 = Output Config Pinb.1 = Output Config Pinc.1 = Input Config Pinc.2 = Input Config Servos = 2 , Servo1 = Portb.1 , Servo2 = Portb.0 , Reload = 10 Config Lcdpin = Pin , Db4 = PortD.5 , Db5 = PortD.4 , Db6 = PortD.3 , Db7 = PortD.2 , E = PortD.0 , Rs = PortD.1 Dim I As Integer Enable Interrupts I = 0 Cls Lcd "SERWO v1" Wait 2 Cls Do Cls For I = 0 To 150 Servo(1) = I Servo(2) = 150 - I I = I + 1 Locate 1 , 1 Lcd I Waitms 200 Next I I = 0 Loop End Link do komentarza Share on other sites More sharing options...
Sabre Styczeń 10, 2010 Udostępnij Styczeń 10, 2010 Osobiście w ogóle nie polecam używania polecenia Servo(x) przy dwóch i większej ilości serw. Nie da się sterować serwami. Próbowałem w wakacje opanować 2 serwa naraz i się nie udało. Dopiero gdy podłączyłem pod dwa sprzętowe PWMy to wszystko działało bez zarzutu i to niejako w tle, ponieważ sygnał PWM jest niezależnie generowany sprzętowo, nie programowo jak w poleceniu Servo(x). Dodatkowo dochodzi jeszcze jedna zaleta, pomimo niezbyt dobrej jakości serw udało mi się osiągnąć około 170° przy rozdzielczości mniej niż 2°. Choć skoki serwa nie były równe to i tak wycisnąłem z nich więcej niż mógłbym się tego spodziewać. Link do komentarza Share on other sites More sharing options...
Mazicort Styczeń 10, 2010 Udostępnij Styczeń 10, 2010 Osobiście polecam zacząć naukę C, tam albo możesz sterować poprzez sprzętowe PWM albo samemu stworzyć moduł na timerach. No i masz kontrolę nad tymi timerami. Link do komentarza Share on other sites More sharing options...
hansfreak Styczeń 12, 2010 Autor tematu Udostępnij Styczeń 12, 2010 Przecież bascom nie stoi na przeszkodzie sterowaniu serwami poprzez timery 🙂 , zastanawiałem się głównie nad problemem wykorzystania rezonatora 8MHz ( pozwoli to uniknąć montowania rezonatora i kondensatorów w układzie) co do C może faktycznie daje więcej możliwości ale jak dla mnie bascom jest intuicyjny ,wystarczająco rozbudowany , szybki w pisaniu a w przypadku konieczności posiadania większej kontroli nad programem wystarczy posłużyć się assembler 'owymi wstawkami do biblioteki... 🙄 Tak czy inaczej zrobię jak radzi Sabre bo rzeczywiście sterowanie serwami równolegle do programu jest z pewnością efektywniejsze Pozdrawiam 😉 Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »