Pozycjonowanie silnika serwo

Dyskusje dotyczące serwonapędów i napędów serwokrokowych.

Autor tematu
zdzisio1980
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 3
Posty: 3
Rejestracja: 31 mar 2009, 08:38
Lokalizacja: Polska

Pozycjonowanie silnika serwo

#1

Post napisał: zdzisio1980 » 01 kwie 2009, 20:09

Witam serdecznie wszystkich forumowiczów.

Jestem bardzo początkujący, więc jeśli napiszę jakąś głupotę, to proszę o wybaczenie. Zastanawiam się nad dokładnością pozycjonowania w silnikach serwo dc (np. silnik Pittman 14204). Załóżmy, że silnik ten wyposażony jest w enkoder o rozdzielczości 500 imp, czyli sterownik widzi 2000 impulsów. A więc 1 imp odpowiada obrót wału silnika o 0.18° (= 360°/2000). Moje pytanie brzmi czy można obrócić wał silnika o np. kąt 17.28° co będzie odpowiadało 96 impulsom z enkodera, czyli czy można pozycjonować wał silnika z dokładnością wynosząca 0.18°? Czy coś się zmieni np gdy do wału silnika przymocujemy na sztywno płaskownik (np. z aluminium, ale to nie jest ważne) o długości np. 0.3m?

Za wszelkie uwagi będę bardzo wdzięczny.

W załączniku zamieszczam notę katalogową silnika Pittman 14204, jakby była przydatna
Załączniki
14204 DC Servo Motor.pdf
(284.66 KiB) Pobrany 689 razy



Tagi:


b_j
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 4
Posty: 301
Rejestracja: 04 mar 2006, 22:36
Lokalizacja: poznan

#2

Post napisał: b_j » 02 kwie 2009, 21:58

Witam ,

wiec specjalistą nie jestem ale z tego co wiem :

1. tak , rozdzielczosc wynosci 0,18st. czyli mozna uzyskać każda pozycje co 0,18st. ...ale ..
ważny w tym przypadku jest sterownik do tego a dokładniej regulator PID. I z tego co doświadczyłem nigdy sie nie uda ustawić dokładnie idealne zerowego błedu. Człon calkujacy odpowiada za kasowanie tego minimalnego bledu ale zachowuje sie on mimo wszystko powiedzmy w granicach 1-2 impulsów enkodera. Jeżeli na wałku silnika bedzie jakies obciązenie - powiedzmy minimalnie zmienne to regulator cały czas bedzie korygował ten bład i zakłócenia wywolane momentem oporowym ( przez co tez nigdy nie bedzie 'zerowego ' błedu )

dlatego powiedzmy ze mozna powiedzec ze kolega zadajac ustawienie 17,28st. otrzyma 17,28+- 0,18 . Nie jest to regułą ale ma szanse wystąpić takie zjawisko. Wszystko zależy od konkretnego zastosowania.

2. jesli chodzi o ten płaskownik to zależy od kilku czynników .. miedzy innymi od tego jak bedzie zamocowany- wzdłuż , w poprzek, na środku , czy na krawedzi. ?? Jeżeli silnik jest na tyle mocny aby utrzymać w każdej pozycji ten płaskownik to nie ma to wiekszego związku z precyzja pozycjowania - wynosi ona tyle samo. Chyba że kolega ustawi to cudo w dużym przeciagu - gdzie bedzie jakis zmienny moment oporowy to wtedy prawdopodobnie nie bedzie to na tyle sztywno trzymane zeby zachować 0,18 st. ( po odchyleniu sie o taka wartosc sterownik doprowadzi do zmniejszenia błedu, w tym czasie np. moment ustanie , bład sie zrobi -0,18 .... i tak w kółko )

wiele zależy tez od samego sterowania.
jeżeli jest niezbedna granica regulacji co 0,18 st. to najlepiej dac wieksza rozdzielczosc np. chociaz co 0,09 to po błedzie np. o +2 impulsy zachowuje sie dokladnosc +- 0,18



jeśli pomogłem / kliknij pomógł :D


Autor tematu
zdzisio1980
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 3
Posty: 3
Rejestracja: 31 mar 2009, 08:38
Lokalizacja: Polska

#3

Post napisał: zdzisio1980 » 02 kwie 2009, 23:42

No to idźmy dalej. Załóżmy że silnik jest wyposażony w enkoder o rozdzielczości 2000 impulsów (sterownik widzi 8000 impulsów na obrót). A więc 1 impulsowi z enkodera odpowiada obrót osi o 0.045° = 360°/8000). Czy nadal można pozycjonować wał silnika z dokładnością +/- 0.045° (czyli np. chcemy obrócić wał o 4.635° co odpowiada 103 impulsom z enkodera). Chodzi mi tutaj raczej o to czy konstrukcja silnika serwo na to pozwala? Gdyż kolega faniron w poście: https://www.cnc.info.pl/topics65/silnik ... 894,10.htm
napisał:

"Robiłem takie próby: silnik od wycieraczek z jakiejś ciężarówki, silnik od skutera 150W. Nie chodziło to zbyt dobrze. Były problemy z pozycjonowaniem - buczenie silnika na postoju, nie umiał stanąć w zadanym położeniu. W sumie nieciekawie. Być może przyczyną było to, że "zwykłe" silniki mają na wirniku proste żłobki, w których są uzwojenia, a serwa mają je skręcone, jakby linia śrubowa o dużym skoku. Taki wirnik potrafi stanąć w każdym położeniu."

A więc wynikałoby że teoretycznie można (wszystko zależałoby oczywiście od sterownika).


b_j
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 4
Posty: 301
Rejestracja: 04 mar 2006, 22:36
Lokalizacja: poznan

#4

Post napisał: b_j » 03 kwie 2009, 07:40

Jeśli chodzi o sprawe enkodera 2000 imp. wszystko analogicznie jak dla 500 imp. te same problemy.

Kolega musi okreslic dokladnosc z jaka ma pracowac serwo - a rozdzielczosc czyli podział na elementarne 'kroki' powinien - a w recz musi byc znacznie mniejsza niz oczekiwana dokładnosc. Oczywiscie pod kątem elektrycznym i teoretycznym mozliwe powinno byc pozycjonowanie wału silnika z dokładnoscia taka jaki jest enkoder 360st/200 , 360/2000 imp .itd.


przykład : chcemy miec maszyne z dokładnoscia +-0,1mm to serwo powinno działac z rozdzielczoscia np. +-0,01 - wtedy nawet jak beda jakies drgania albo male błedy wszystko zachowa sie w +- 0,1.

praktycznie to wyglada tak ze +- 0,01 kolega jest w stanie uzyskac poprzez przekladnie mechaniczną , +-0,001 juz ciężko - a mimo to zakłada sie enkodery np 2500 imp ( i wiecej ) które zapewniaja +-0,0005 .


Jeśli chodzi o inne silniki - trudno mi cos powiedziec na ten temat.
Skrecenie na silniku jest sprawa dyskusyjna - dokladnie co kolega porównywał. z tego co wiem skreca sie złobki w silnikach indykcyjnych klatkowych - celem zmniejszenia pulsacji momentu, silnik od wycieraczek i od skutera jest silnikiem na prad stały ( nie wiem jak tam dokładnie wyglada sprawa wirnika. )

Drgania i buczenie pewnie są spowodowane zbyt dużą inercją układu- duza bezwładnosc wirnika , uzwojenia maja duza indukcyjnosc itp.
Przez co wystepuje taki problem ze np. sterownik ( regulator) dostaje bład o +1imp , stara sie zniwelowac bład wiec zwieksza napięcie i prad az do czasu kiedy bład zmaleje - silnik jest na tyle wolny i ma duza indukcje ze dzieje sie to po np 0,01s , ale prad zostaje wyłaczony dopiero w momencie kiedy do regulatora dotrze informacja ze bład jest zerowy.
W tym momencie prad sie wylącza ale zanim sie wyłaczy całkowiecie mamy juz -1imp .
sytuacja sie powtarza w kółko i mamy buczenie gotowe - to są dgania wywołane naprzmeinna zmiana kierunku i staraniem sie wyeliminować bład do 0. Co w przypadku "kombinowanych" silników i regulatorów moze byc niewykonalne.

tyle wiem na ten temat - ale moze ktos inny przedstawi swoja opinie w tym temacie, albo mnie poprawi jesli cos jest zle.


jeśli pomogłem / kliknij pomógł


Autor tematu
zdzisio1980
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 3
Posty: 3
Rejestracja: 31 mar 2009, 08:38
Lokalizacja: Polska

#5

Post napisał: zdzisio1980 » 03 kwie 2009, 10:10

Dzięki za odpowiedź.
A więc podsumowując, aby pozycjonować wał silnika (bez przekładni) z dokładnością powiedzmy +/- 0.1° należy użyć enkodera o odpowiedniej rozdzielczości (im większa rozdzielczość tym lepiej).


paulg
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 3
Posty: 790
Rejestracja: 28 paź 2005, 19:59
Lokalizacja: Wejherowo
Kontakt:

#6

Post napisał: paulg » 03 kwie 2009, 10:37

zdzisio1980 pisze:należy użyć enkodera o odpowiedniej rozdzielczości (im większa rozdzielczość tym lepiej).
Owszem - ale należy pamiętać iż sterowniki także mają ograniczenie co do enkoderów - i np UHU z enkoderem powyżej 1000imp już może nie pracować poprawnie.
Dopiero sterowniki z wyższej półki mogą obsłużyć enkodery z wyższą rozdzielczością. (np 10000imp i więcej )
"Tak naprawdę, to nie rozumiesz jakiegoś zagadnienia, dopóki nie potrafisz go wytłumaczyć swojej babci."
Albert Einstein


b_j
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 4
Posty: 301
Rejestracja: 04 mar 2006, 22:36
Lokalizacja: poznan

#7

Post napisał: b_j » 03 kwie 2009, 17:59

a i owszem słuszna refleksja :D

Awatar użytkownika

skoti
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 1
Posty: 1743
Rejestracja: 28 gru 2004, 23:56
Lokalizacja: Rybnik

#8

Post napisał: skoti » 05 kwie 2009, 12:03

Jest jeszcze kwestia szybkosci . Sterujac serwo z PC powiedzmy z macha mamy do dyspozycji jakas tam maksymalna czestotliwosc sygnalu . Zakladajac enkoder z wieksza iloscia impulsow ograniczamy max szybkosc serwa .


paulg
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 3
Posty: 790
Rejestracja: 28 paź 2005, 19:59
Lokalizacja: Wejherowo
Kontakt:

#9

Post napisał: paulg » 05 kwie 2009, 17:34

skoti pisze:Zakladajac enkoder z wieksza iloscia impulsow ograniczamy max szybkosc serwa .
Tak - ale można to łatwo obejść stosując np SS , lub DSPMC :wink:
"Tak naprawdę, to nie rozumiesz jakiegoś zagadnienia, dopóki nie potrafisz go wytłumaczyć swojej babci."
Albert Einstein


b_j
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 4
Posty: 301
Rejestracja: 04 mar 2006, 22:36
Lokalizacja: poznan

#10

Post napisał: b_j » 05 kwie 2009, 18:39

Tutaj problem że tak powiem sie robi nieco innej materii.

Tzn moze tak. Jeśli użyjemy mnożnika kroku ( w wiekszości sterowników jest wbudowany) to problem prędkości mamy z głowy. Ale schody zaczynaja sie z dokładnościa i precyzją.
Zeby nie pomylic. Rozdzielczość z jaką możemy sterować maleje odwrotnie poprocjonalnie do mnożnika - mnożnik mamy 5 x - rodzielczość zmniejsza sie 5 razy. Ale precyzja z jaką sterownik pozycjonuje zostaja taka jaka była - czyli taka jaką ma enkoder.
Dzieje sie tak ponieważ mnożony jest tylko sygnał zadający. Ale nie ma to związku z tym jaką podziałke ma enkoder i z jaką rozdzielczoście pozucjonuje serwo .
I tak na przykład jeżeli mamy enkoder 500 imp. to pozycjonujemy +- 1 impuls ( z rozdzielczościa 1 imulsu - czyli jest osiągalna każda pozycja co 1 impuls. ( 360st/500 ) jeśli zamontujemy sterownik z mnożnikiem kroku np. 5 razy to serwo pozycjonuje z dokładnością +-1 impuls - ale z tą różnicą ze możliwe do osiągnięcia pozycje są co 360/100 imp.)
Niestety coś kosztem czegoś. W przypadku zastosowania smooth steppera mamy bez mnoznika kroku duza predkości i wysoką rozdzielczość . :-D


jesli pomogłem kliknij pomógł :D

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Serwomotory / Serwonapędy / Napędy Serwokrokowe”