Skocz do zawarto┼Ťci

Sterownie serwami


_cyna_PL

Pomocna odpowied┼║

Witam ­čÖé

Mam mały problem z sterowaniem serwem. Czytałem w help bascoma o instrukcji "CONFIG SERVOS" . Nie wiem czemu serwo po podaniu :

Servo(1) = 100                      'w┼é─ůcz na 1000 mikrosekund

Servo(2) = 200                      'w┼é─ůcz na 2000 mikrosekund

ustawia si─Ö w ta sama pozycje [ max w lewo]

Oto program :

$regfile = "m8def.dat" 
$crystal = 8000000
Config Servos = 1 , Servo1 = Portc.0 , Reload = 10

Config Portc.0 = Output

Enable Interrupts

Do
Servo(1) = 100



Loop
Link do komentarza
Share on other sites

Hm... a procek na pewno jest taktowany 8MHz? To te┼╝ mo┼╝e by─ç przyczyna, program my┼Ťli, ┼╝e co┼Ť trwa 1 sekunde, a w rzeczywisto┼Ťci jest dwa razy wolniej lub dwa razy szybciej ­čÖé

//daniel93

Usun─ů┼éem ┼╝eby nie wprowadza─ç w b┼é─ůd.

Link do komentarza
Share on other sites

Zarejestruj si─Ö lub zaloguj, aby ukry─ç t─Ö reklam─Ö.
Zarejestruj si─Ö lub zaloguj, aby ukry─ç t─Ö reklam─Ö.

jlcpcb.jpg

jlcpcb.jpg

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

Przetestuj to:

    $regfile = "m8def.dat" 
   $crystal = 8000000
   Config Servos = 1 , Servo1 = Portc.0 , Reload = 10

   Config Portc.0 = Output

   Enable Interrupts

   Do
   Servo(1) = 100

   wait 5

   Servo(1) = 200

   wait 5
   Loop

Pownien zmienia─ç pozycje co 5s.

Link do komentarza
Share on other sites

Przetestuj to:
$regfile = "m8def.dat" 
   $crystal = 8000000
   Config Servos = 1 , Servo1 = Portc.0 , Reload = 10

   Config Portc.0 = Output

   Enable Interrupts

   Do
   Servo(1) = 100

   wait 5

   Servo(1) = 200

   wait 5
   Loop

Pownien zmienia─ç pozycje co 5s.

┼╗adnej reakcji sprawdza┼éem na innych serwach, i innym Procku i tez to samo ­čśľ

Po chwili namyslu pdalem taki program :

$regfile = "m8def.dat" 
   $crystal = 8000000
   Config Servos = 1 , Servo1 = Portc.0 , Reload = 10

   Config Portc.0 = Output

   Enable Interrupts

   Do
   Servo(1) = 100



   Loop

Po odpaleniu serwo ustawie si─Ö w pozycji prawie na ┼Ťrodku.

ale po dodaniu kolejnej pozycji na jakiej ma si─Ö ustawi─ç bez czasu oczekiwania serwo nie reaguje na polecenia.

Link do komentarza
Share on other sites

Na pocz─ůtek sprawd┼╝ to co radzi┼é Kshaq. Napisz prosty programik, kt├│ry zapala/gasi diod─Ö LED co okre┼Ťlony czas, np. 1 sekunde (polecenie Wait 1) i zobacz czy rzeczywi┼Ťcie trwa to sekund─Ö. Mo┼╝esz mie─ç w┼é─ůczony podzielnik i wszystko dzia┼éa nie tak.

Link do komentarza
Share on other sites

Napisz prosty programik, kt├│ry zapala/gasi diod─Ö LED co okre┼Ťlony czas, np. 1 sekunde (polecenie Wait 1) i zobacz czy rzeczywi┼Ťcie trwa to sekund─Ö.

sprawdza┼éem i jest tak jak ma by─ç ­čśő

Link do komentarza
Share on other sites

Dobrze, że oscylator jest ustawiony prawidłowo, ale jednak nie w tym rzecz.

Znalaz┼éem w┼éa┼Ťnie fragment w ksi─ů┼╝ce Marcina Wi─ůzani: "[...] Aby serwa by┼éy prawid┼éowo obs┼éugiwane, nale┼╝y stosowa─ç dla mikrokontrolera rezonatory kwarcowe o cz─Östotliwo┼Ťci powy┼╝ej 8 MHz..." Autor w swoim przyk┼éadzie stosuje kwarc 10 MHz, mo┼╝e spr├│buj zrobi─ç tak samo.

Link do komentarza
Share on other sites

Polecenie korzysta z licznika Timer0, ale wygl─ůda na to, ┼╝e przerwanie jest odblokowywane automatycznie. Nale┼╝y jedynie odblokowa─ç globalny system przerwa┼ä (Enable Interrupts).

Link do komentarza
Share on other sites

Do┼é─ůcz do dyskusji, napisz odpowied┼║!

Je┼Ťli masz ju┼╝ konto to zaloguj si─Ö teraz, aby opublikowa─ç wiadomo┼Ť─ç jako Ty. Mo┼╝esz te┼╝ napisa─ç teraz i zarejestrowa─ç si─Ö p├│┼║niej.
Uwaga: wgrywanie zdj─Ö─ç i za┼é─ůcznik├│w dost─Öpne jest po zalogowaniu!

Anonim
Do┼é─ůcz do dyskusji! Kliknij i zacznij pisa─ç...

×   Wklejony jako tekst z formatowaniem.   Przywr├│─ç formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Tw├│j link b─Ödzie automatycznie osadzony.   Wy┼Ťwietla─ç jako link

×   Twoja poprzednia zawarto┼Ť─ç zosta┼éa przywr├│cona.   Wyczy┼Ť─ç edytor

×   Nie mo┼╝esz wklei─ç zdj─Ö─ç bezpo┼Ťrednio. Prze┼Ťlij lub wstaw obrazy z adresu URL.

×
×
  • Utw├│rz nowe...

Wa┼╝ne informacje

Ta strona u┼╝ywa ciasteczek (cookies), dzi─Öki kt├│rym mo┼╝e dzia┼éa─ç lepiej. Wi─Öcej na ten temat znajdziesz w Polityce Prywatno┼Ťci.