Przesunięty przez: daniel93 25 Cze 08 01:29 |
serwo-programowanie |
| Autor |
Wiadomość |
siemian


Posty: 27 Otrzymał 4 piw(a) Skąd: Wysoka
|
Wysłany: 18 Lip 07 10:45 serwo-programowanie
|
|
|
zakupiłem serwa z conrada jednak nie potrzebuje ich przerobionych jako napęd lecz normalnie. nie mogę znaleźć nigdzie w sieci w jaki sposób napisać program aby serwo wychylało się o tyle stopni ile chcę, procesor jakiego chcę użyć to ATMEGA8, jeszcze jedno pytanie czy napięcie które będę podawał na serwo musi być dodatkowo stabilizowane czy wystarczy dać normalne z zasilacza?
Najlepiej żeby program było można napisać w c |
|
|
|
|
 |
abxyz
Expert programowanie

Pomógł: 16 razy Posty: 158 Otrzymał 26 piw(a) Skąd: zza winkla
|
|
|
|
 |
siemian


Posty: 27 Otrzymał 4 piw(a) Skąd: Wysoka
|
Wysłany: 15 Gru 07 08:02
|
|
|
Nareszcie znalazłem czas i środki żeby się zająć tym porządnie i od razu porażka. Program który mi podałeś nie działa poprawnie, nie reaguje na klawisze a serwo jak by próbowało się kręcić tylko w jedną stronę, ale tylko próbowało bo się nie kręci, nie wiem może ja popełniam jakiś błąd, żeby nie było niedomówień, serwo i uC zasilam stałym napięciem 5V (stabilizator L7805) z jednego źródła, serwa są sprawne bo są to nówki, działanie sprawdzałem na dwóch sztukach i na obu to samo, uC tak samo sprawdzałem 3 sztuki. Czy element podpięty oprócz serwa do PB1 jest niezbędny? nie potrafiłem tego zidentyfikować więc pomyślałem że to tylko coś dla lepszego zobrazowania działania.
Chciałem w takim razie zacząć od czego prostszego więc napisałem program w bascomie:
| Kod: | $crystal = 10000000
Config Servos = 1 , Servo1 = Portb.2 , Reload = 10
Config Portb = Output
Enable Interrupts
Do
Servo(1) = 20
Waitms 500
Servo(1) = 80
Waitms 500
Servo(1) = 120
Waitms 500
Servo(1) = 180
Waitms 500
Servo(1) = 200
Waitms 1000
Loop
End
|
Tutaj serwo nawet się nie poruszyło i nie słychać aby próbowało.
Już nie wiem co dalej, chciałem zrobić mechaniczne ramię zakupiłem 6 serw, a nawet jednego nie potrafię zaprogramować. Liczę na waszą pomoc we wskazaniu błędu lub przy napisaniu nowego programu.
Pozdrawiam
Z góry dziękuję. |
|
|
|
|
 |
raddeon


Posty: 35 Skąd: Hrubieszów
|
Wysłany: 16 Gru 07 08:23
|
|
|
a zadeklarowałeś w programie odpowiedni procek np. $regfile = "2313def.dat"
masz to przykładowy program bo mi się nie podoba twój między DO a LOOP.
$regfile = "2313def.dat"
Config Servos = 2 , Servo1 = Portb.0 , Servo2 = Portb.1 , Reload = 10
Config Portb = Output
Enable Interrupts
Servo(1) = 100 'włącz na 1000 mikrosekund
Servo(2) = 200 'włącz na 2000 mikrosekund
Dim I As Byte
Do
For I = 1 To 100
Servo(1) = I
Waitms 1000
Next
For I = 200 To 1 Step -1
Servo(1) = I
Waitms 1000
Next
Loop
End |
|
_________________ Jestem otwarty na kontakty związane z elektroniką i robotyką (ja nie ukrywam swojej wiedzy . |
|
|
|
 |
siemian


Posty: 27 Otrzymał 4 piw(a) Skąd: Wysoka
|
Wysłany: 16 Gru 07 09:25
|
|
|
dzięki za pomoc na reszcie serwo się ruszyło, ja wzorując się na przykładzie z polskiego helpa nie dopisałem regfile ponieważ był tam przykładowy program na użycie serw i nic o tym nie wspomniano
Teraz mam kolejne pytanie, jak ustawiać parametry dla "servo(1)=" bo przy wykonywaniu takiego programu:
| Kod: | $regfile = "m8def.dat"
$crystal = 1000000
Config Servos = 1 , Servo1 = Portb.2 , Reload = 10
Config Portb = Output
Enable Interrupts
Do
Servo(1) = 20
Waitms 500
Servo(1) = 80
Waitms 500
Servo(1) = 120
Waitms 500
Servo(1) = 180
Waitms 500
Servo(1) = 200
Waitms 500
Loop
End |
serwo ustawia się w pewnej pozycji wtedy wykonuje obró o jakieś ok. 120 stopni i wali o blokadę,
Czy przy projekcie mechanicznego ramienia warto wykorzystać bascoma? czy lepiej posiedzieć trochę więcej i próbować swoich sił w "c", jeżeli tak to proszę o wskazówki gdzie szukać potrzebnej mi wiedzy |
|
|
|
|
 |
abxyz
Expert programowanie

Pomógł: 16 razy Posty: 158 Otrzymał 26 piw(a) Skąd: zza winkla
|
|
|
|
 |
szpatryk

Posty: 1 Skąd: Piotrków Tryb.
|
Wysłany: 06 Mar 08 10:52
|
|
|
| Witam, mam pytanie, czy tego programu do sterowania serw można użyć do mikrokontrolera Atmega16-16PU DIP40, a jeśli nie to jakie zmiany należałoby wprowadzić ? ( nie wiem, czy to pytanie jest banalne, ale dopiero się zapoznaje z mikrokontrolerami ). |
|
|
|
|
 |
abxyz
Expert programowanie

Pomógł: 16 razy Posty: 158 Otrzymał 26 piw(a) Skąd: zza winkla
|
|
|
|
 |
Decado


Pomógł: 6 razy Posty: 154 Otrzymał 5 piw(a) Skąd: Bełk
|
Wysłany: 07 Mar 08 02:12
|
|
|
Tak właściwie to w bascomie nigdy nie deklaruje procka i zawsze mi działa jak natura chciała...
Pozdrawiam |
|
_________________ "Niema ludzi niewinnych, są tylko źle przesłuchiwani" Feliks "Krwawy Feliks" Dzierżyński |
|
|
|
 |
pawel


Pomógł: 5 razy Posty: 121 Otrzymał 3 piw(a) Skąd: Rybnik
|
|
|
|
 |
daniel93


Pomógł: 11 razy Posty: 377 Otrzymał 17 piw(a) Skąd: Wujskie
|
Wysłany: 07 Mar 08 03:12
|
|
|
| Bez ustawienia procka, czasami zdarzały mi się problemy, tak więc lepiej ustawić. |
|
|
|
|
 |
|
|