RTV forum PL | NewsGroups PL

Problemy z serwomechanizmem HS-322HD: buczenie i nadmierny pobór prądu

serwomechanizm

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Problemy z serwomechanizmem HS-322HD: buczenie i nadmierny pobór prądu

Goto page 1, 2  Next

Janusz U.
Guest

Tue Mar 11, 2008 12:40 am   



witam.

Dorwalem dzis pierwsze w moim zyciu serwo HS-322HD (Hitec) z AVT.
http://www.sklep.avt.com.pl/c/pl/81_561/1/1/0/long/serwomechanizmy.html
http://www.servocity.com/html/hs-322hd_standard_deluxe.html
http://www.hitecrcd.com/servos/show?name=HS-322HD
Steruje tym przez PWM-a 8-bitowego poki co (ATMEGA8515, 11.0592MHz,
preskaler CLK na 256). Czemu dla niektorych wartosci silnik milczy (reaguje
oczywiscie zawsze) a dla innych buczy (w szczegolnym przypadkach pobiera
niezwykle duzy prad, ze az napiecie zasilania siada...)? Da sie to jakos
wyeliminowac? Jakies wartosci czasow sa uprzywilejowane?
Czasy dla tego serwa to 0.9 ms - 1.5 ms (srodek) - 2.1 ms. Kaza niby
wyzwalac impulsy co 20ms, ale jak tak postapilem (wlaczajac i wylaczajac
PWMa), to serwo zwariowalo. Dziala najlepiej w trybie ciaglym PWM. Martwi
mnie jednak ta niestabilnosc silnika i pobor pradu.

pozdrawiam
Janusz U.

Janusz U.
Guest

Tue Mar 11, 2008 1:00 am   



Zauwazylem tez na oscyloskopie, przy odlaczonym serwie, dosc znaczny szum od
ukladu na linii sterujacej serwem (szczegolnie w stanie wysokim). Czy serwo
jest na to czule? Wydaje mi sie, ze w modelach nie ma podwojnego
zasilania... :)

pozdrawiam
Janusz U.

Marek Lewandowski
Guest

Tue Mar 11, 2008 8:42 am   



On Mar 11, 12:40 am, "Janusz U." <nops...@poczta.onet.pl> wrote:

Quote:
Czemu dla niektorych wartosci silnik milczy (reaguje
oczywiscie zawsze) a dla innych buczy (w szczegolnym przypadkach
pobiera niezwykle duzy prad, ze az napiecie zasilania siada...)?


a) masz blad w programie i posylasz na przemian dlugie i krotkie
impulsy, albo krotkie i za czesto

b) posylasz impulsy poza zakresem regulacji serwa i ono usiluje sie
obrocic poza mechaniczny ogranicznik

--
Marek Lewandowski
ICQ#/GG#: ask per mail. mail: locust[X]poczta/onet/pl
my gallery: http://www.pbase.com/mareklew
my kind-of-a-blog: http://lockaphoto.stufftoread.com

LukaszS
Guest

Tue Mar 11, 2008 9:38 am   



Polecam kompendium nt. sygnałów sterujących serwami:
http://www.old.modelarstwo.org.pl/technika/rc/zasady_rc/index.html

Sam ostatnio grzebałem w tym temacie:
http://www.hobbyarea.pl/model_f8_tech.html


Najwieksze moje moje doświadczenie z tej zabawy jest takie, że należy zadbać o
idealnie równe szerokości stanów wysokich. Niedokładności rzędu kilkunastu
taktów zegara powodują, że serwo zacznie drgać. Tak więc albo tylko jedno
przerwanie, albo wogóle obsługę serwa zrobić w "głównym wątku". A najlepjej na
wydzielonym procesorze. Miałem dość poważne problemy, żeby np. przerwanie RS nie
zakłócało mi pracy serw.

--
Lukasz
N 50 05' 04"
E 19 53' 43"

Grzegorz Kurczyk
Guest

Tue Mar 11, 2008 9:42 am   



Użytkownik Janusz U. napisał:
Quote:
Steruje tym przez PWM-a 8-bitowego poki co (ATMEGA8515, 11.0592MHz,
preskaler CLK na 256). Czemu dla niektorych wartosci silnik milczy (reaguje
oczywiscie zawsze) a dla innych buczy (w szczegolnym przypadkach pobiera
niezwykle duzy prad, ze az napiecie zasilania siada...)? Da sie to jakos
wyeliminowac? Jakies wartosci czasow sa uprzywilejowane?

Co Kolega rozumie pod pojęciem milczy ale reaguje zawsze ? Każde serwo
ma pewną stefę nieczułości i niewielkie zmiany czasu impulsu sterującego
będą przez serwo "ignorowane". Te "uprzywilejowania" to najczęściej
trzeszczący potencjometr w układzie sprzężenia zwrotnego serwa. Suwak
ustawia się w takiej pozycji, że kontakt jest kiepski i silnik serwa
próbuje cały czas korygować pozycję wydając przy tym różne odgłosy. W
takiej sytuacji podskakuje średni pobór prądu, bo silnik bez przerwy
kręci to w prawo to w lewo nie mogąc ustalić pozycji.

Quote:
Czasy dla tego serwa to 0.9 ms - 1.5 ms (srodek) - 2.1 ms. Kaza niby
wyzwalac impulsy co 20ms, ale jak tak postapilem (wlaczajac i wylaczajac
PWMa), to serwo zwariowalo. Dziala najlepiej w trybie ciaglym PWM. Martwi
mnie jednak ta niestabilnosc silnika i pobor pradu.

Impuls stanu wysokiego od 0.9ms do 2.1ms i przerwa stanu niskiego ok.
20ms. Czas przerwy nie jest krytyczny i ma wpływ tylko na czas reakcji
serwa. Przy zmniejszeniu czasu przerwy serwo szybciej osiąga zadaną
pozycję (ale to oczywiście w rozsądnych granicach).

Pozdrawiam
Grzegorz

Grzegorz Kurczyk
Guest

Tue Mar 11, 2008 9:47 am   



Użytkownik Janusz U. napisał:
Quote:
Zauwazylem tez na oscyloskopie, przy odlaczonym serwie, dosc znaczny szum od
ukladu na linii sterujacej serwem (szczegolnie w stanie wysokim). Czy serwo
jest na to czule? Wydaje mi sie, ze w modelach nie ma podwojnego
zasilania... :)

Nie bardzo widzę związek z podwójnym zasilaniem. A z czego "wyłazi" ten

szum ? Bezpośrednio z nogi Atmela ?


Pozdrawiam
Grzegorz

http://www.rc.control.slupsk.pl

A. Grodecki
Guest

Tue Mar 11, 2008 11:20 am   



Marek Lewandowski napisał(a):

Quote:
a) masz blad w programie i posylasz na przemian dlugie i krotkie
impulsy, albo krotkie i za czesto

b) posylasz impulsy poza zakresem regulacji serwa i ono usiluje sie
obrocic poza mechaniczny ogranicznik

10/10 :)

--

Pozdrawiam,

A. Grodecki

"Wszystkie zwierzęta sa równe.
Ale te, które mają futerko w trzykolorowe pasy, są równiejsze."

Janusz U.
Guest

Tue Mar 11, 2008 1:49 pm   



[quote:127b440155]Nie bardzo widzę związek z podwójnym zasilaniem. A z czego "wyłazi" ten
szum ? Bezpośrednio z nogi Atmela ?
[/quote:127b440155]
tak, bezposrednio, zasilanie serwo i uC jest wspolne

pozdrawiam
Janusz U.

Janusz U.
Guest

Tue Mar 11, 2008 1:51 pm   



[quote:cec246b551]Co Kolega rozumie pod pojęciem milczy ale reaguje zawsze ?
[/quote:cec246b551]
chodzilo mi ze nie buczy, ale przyjmuje prawidlowa pozycje (tak bedzie
jasniej:)

Janusz U.

A. Grodecki
Guest

Tue Mar 11, 2008 3:06 pm   



Janusz U. napisał(a):

[quote:4962d6edbf]chodzilo mi ze nie buczy, ale przyjmuje prawidlowa pozycje (tak bedzie
jasniej:)
[/quote:4962d6edbf]
Buczy nie tylko gówniane trafo sieciowe ale też serwo sterowane
jednoukładowcem z marnym softem ;)

--

Pozdrawiam,

A. Grodecki

"Wszystkie zwierzęta sa równe.
Ale te, które mają futerko w trzykolorowe pasy, są równiejsze."

Janusz U.
Guest

Tue Mar 11, 2008 10:04 pm   



Dzieki. Poczytam. Zdaje sie, ze przyczyna bedzie przerwanie od drugiego
timera...

pozdrawiam
Janusz

Janusz U.
Guest

Tue Mar 11, 2008 10:06 pm   



Dziekuje za potwierdzenie moich hipotez - nie bylem pewien czy dobrze
zrozumialem dosc watla dokumentacje serwa.

pozdrawiam
Janusz U.

Konop
Guest

Wed Mar 12, 2008 11:32 pm   



Janusz U. pisze:
Quote:
witam.

Dorwalem dzis pierwsze w moim zyciu serwo HS-322HD (Hitec) z AVT.
http://www.sklep.avt.com.pl/c/pl/81_561/1/1/0/long/serwomechanizmy.html
http://www.servocity.com/html/hs-322hd_standard_deluxe.html
http://www.hitecrcd.com/servos/show?name=HS-322HD
Steruje tym przez PWM-a 8-bitowego poki co (ATMEGA8515, 11.0592MHz,
preskaler CLK na 256). Czemu dla niektorych wartosci silnik milczy (reaguje
oczywiscie zawsze) a dla innych buczy (w szczegolnym przypadkach pobiera
niezwykle duzy prad, ze az napiecie zasilania siada...)? Da sie to jakos
wyeliminowac? Jakies wartosci czasow sa uprzywilejowane?
Czasy dla tego serwa to 0.9 ms - 1.5 ms (srodek) - 2.1 ms. Kaza niby
wyzwalac impulsy co 20ms, ale jak tak postapilem (wlaczajac i wylaczajac
PWMa), to serwo zwariowalo. Dziala najlepiej w trybie ciaglym PWM. Martwi
mnie jednak ta niestabilnosc silnika i pobor pradu.

Chyba wiem, w czym może tkwić przyczyna... w jaki sposób włączałeś i
wyłączałeś PWMa?? Pewnie programowo, na przerwaniu Wink... popatrz, PWM
działa sprzętowo, bez przerwania... licznik się przepełnia, noga PWMa
zostaje przełączona, zgłoszone zostaje przerwanie, ale obsłużone - po
chwili... przez chwilę na wyjściu jest impuls... króciutki, ale jest...
zakładam, że zanika po wyłączeniu PWMa... jeśli nie - to tym gorzej, bo
mamy baaaardzo długi impuls (rzędu 20ms Wink). Aby to wyeliminować:
a) przestawić PWMa tak, aby impulsy pojawiały się co ok. 20ms, ale
długość impulsu zmieniać tylko w wąskim zakresie - ale wówczas mamy
kiepską rozdzielczość, bo wykorzystujemy jakies 6% całego zakresu (od
0,9 do 2,1ms, a cały zakres jest do 20).... daje to jakieś 16 możliwych
ustawień serwa Wink... no chyba, żeby przejść na licznik 16-bitowy ;>...
b) zrobienie programowego PWMa, który jednocześnie wyłączy impuls
wyjściowy i przejdzie w tryb odliczania 20ms Smile... rozumiesz, sterowanie
serwomechanizmem z poziomu programu, a nie za pomocą hardware'owego PWMa...

Pozdrawiam
Konop

Janusz U.
Guest

Thu Mar 13, 2008 9:08 am   



Quote:
Chyba wiem, w czym może tkwić przyczyna... w jaki sposób włączałeś i
wyłączałeś PWMa?? Pewnie programowo, na przerwaniu Wink...

dokladnie, na dodatek poprzez sterowanie kierunku linii, ktora nie miala
zadnego rezystora typu pull-down...

Quote:
popatrz, PWM działa sprzętowo, bez przerwania... licznik się przepełnia,
noga PWMa zostaje przełączona, zgłoszone zostaje przerwanie, ale
obsłużone - po chwili... przez chwilę na wyjściu jest impuls... króciutki,
ale jest...

w skrocie:
init_____------__________________________-----____
on-------------|off-------------------------------------|on---
a wiec jak widac po impulsie, mniej nie jestem pewien stanu po off (brak
rezystora...)

Quote:
zakładam, że zanika po wyłączeniu PWMa... jeśli nie - to tym gorzej, bo
mamy baaaardzo długi impuls (rzędu 20ms Wink). Aby to wyeliminować:
a) przestawić PWMa tak, aby impulsy pojawiały się co ok. 20ms, ale długość
impulsu zmieniać tylko w wąskim zakresie - ale wówczas mamy kiepską
rozdzielczość, bo wykorzystujemy jakies 6% całego zakresu (od 0,9 do
2,1ms, a cały zakres jest do 20).... daje to jakieś 16 możliwych ustawień
serwa Wink... no chyba, żeby przejść na licznik 16-bitowy ;>...

od razu po zobaczeniu 20ms pomyslalem o nim Smile obecnie tez mam niewielki
przedzial bo na 8bit jest od 38 do 91 (odstep miedzy impulsami < 6ms), a
wiec jakies 22% zakresu, przy rozdzielczosci czasowej lepszej o 256 razy jak
te 6% (chyba nawet < 1%) na 16bit Smile. Tylko czy ja przypadkiem nie uzyskam
zamiast tych 20ms wartosci 11059200Hz / 65536 = 168.75Hz czyli ponownie
5.9ms? Dajac zas preskaler 8 to juz bedzie za duzo :/ Pozostaje zatem soft
on/off, ktory wydluzy odstep? Brakuje posredniej wartosci preskalera lub
innej fclk :)

Quote:
b) zrobienie programowego PWMa, który jednocześnie wyłączy impuls
wyjściowy i przejdzie w tryb odliczania 20ms Smile... rozumiesz, sterowanie
serwomechanizmem z poziomu programu, a nie za pomocą hardware'owego
PWMa...

tez myslalem i o tym, np. na timerze i programowo, ale tutaj bedzie jakis
jitter, bo on i off wypadna w innym miejscu w kodzie...

Dzieki wielkie za sugestie (zwlaszcza pkt. a) i utwierdzenie mnie, ktora
droga dalej. Ponadto chyba zrezygnuje z programu demo, zawierajacego
wszystko (UART, LCD, ADC, 1Wire, I2C, 4x 7-seg.LED), a skupie sie na samym
PWM-ie. Pierwsze testy to wycieciu jednego przerwania (drugiego timera) daja
nadzieje na dalsza poprawe.

pozdrawiam
Janusz U.

Janusz U.
Guest

Thu Mar 13, 2008 2:17 pm   



Zasililem serwo z oddzielnego zrodla, znaaaacznie lepiej Smile Popatrzylem juz
teraz na oscyloskopie cyfrowym a nie na analogu, no i wyszlo, ze pobor pradu
(serwo+LEDy) jest na tyle istotny, ze spada napiecie zasilania. W efekcie
zmienia sie efektywny czas trwania impulsow.

pozdrawiam
Janusz U.

Goto page 1, 2  Next

elektroda NewsGroups Forum Index - Elektronika Polska - Problemy z serwomechanizmem HS-322HD: buczenie i nadmierny pobór prądu

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map