Sterownik serwo do silnika DC z enkoderem

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

ksitau
Sympatyk forum poziom 2 (min. 50)
Sympatyk forum poziom 2 (min. 50)
Posty w temacie: 6
Posty: 66
Rejestracja: 11 mar 2005, 21:31
Lokalizacja: Warszawa

#11

Post napisał: ksitau » 15 kwie 2006, 11:56

Wybaczcie tą 3tygodniową zwłokę w odpowiedzi, ale, już sobie ustawiłem powiadamianie o nowych powiedziach do moich postów na grupie. :-)

Właśnie umieściłem nieco szerszy opis działania mojego mechanizmu w wątku ze źródłami. Może raz jeszcze tylko powiem o co chodzi z pierścieniem "analogowym". Idea pracy mojego enkodera nie polega na "zliczaniu" impulsów. U mnie położenie "jest badane" i wyliczane z bardzo dużą częstotliwością na podstawie 2 pierścieni. Jeden pierścień jest w połowie biały i w połowie czarny (bez gładkich przejść) a drugi pierścień nie ma jednolitego koloru, tylko gładkie przejścia między białym a czarnym (i to jest ten "pierścień analogowy").

pozdrawiam,
Daniel



Tagi:

Awatar użytkownika

chomikaaa
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 5
Posty: 988
Rejestracja: 19 cze 2004, 23:22
Lokalizacja: lodz

#12

Post napisał: chomikaaa » 15 kwie 2006, 15:19

czy urzdzenie juz dziala?

powstal prototyp?

jak realizujesz kompensacje zaklocen?


mechanik
Czytelnik forum poziom 1 (min. 10)
Czytelnik forum poziom 1 (min. 10)
Posty w temacie: 3
Posty: 10
Rejestracja: 15 kwie 2006, 16:30
Lokalizacja: jasło

#13

Post napisał: mechanik » 15 kwie 2006, 16:41

przepraszam że przeszkadzam muwicie coś o sterowaniu analogowym bo mam ochtę coś takiego wykona ale nie wiem jak do tego się zabr.
posiadam silniki bardzo mocne pradu stałego i zasilacze tyrystorowe sterowane sygnałem analogowym +/- 10 v.
wszystko chciałbym sterowa parogramem np: MACH2 lub innm.
proszę o pomoc


ksitau
Sympatyk forum poziom 2 (min. 50)
Sympatyk forum poziom 2 (min. 50)
Posty w temacie: 6
Posty: 66
Rejestracja: 11 mar 2005, 21:31
Lokalizacja: Warszawa

#14

Post napisał: ksitau » 15 kwie 2006, 21:59

Odpowiem na pytania:
1. Nie, urządzenie nie działa jeszcze
2. Nie, nie powstał prototyp (i nie powstanie tak długo aż ktoś z lutownicą i odrobiną zdolności z zakresu elektroniki nie wesprze mnie w tym temacie)
3. Nie, nie realizuję kompensacji zakłóceń wynikających z pracy samego silnika DC i oddziaływania innych urządzeń elektrycznych i elektronicznych. Jak chodzi o te kwestie, to zostawiam to "obudowie elektronicznej" (i ew. optoelektronicznej - światłowody, itp..) mikrokontrolera oraz obudowie mechanicznej. Jestem jednak zdania że na początek nie ma co sobie komplikować sprawy, jeżeli dokładność pomiaru zostanie utrzymana na poziomie nawet 10% bez żadnych specjalnych dodatkowych elementów, to nadal mamy 800 kroków na obrót...
4. MEchanik - mój program umożliwia sterowanie servo z poziomu mach, jednak aby całość zadziałała to patrz punkt 2 tego postu...


Pozdrawiam :-)
Daniel


mechanik
Czytelnik forum poziom 1 (min. 10)
Czytelnik forum poziom 1 (min. 10)
Posty w temacie: 3
Posty: 10
Rejestracja: 15 kwie 2006, 16:30
Lokalizacja: jasło

#15

Post napisał: mechanik » 15 kwie 2006, 22:48

napisz trochę o systemie to może razem coś wymyślimy

Awatar użytkownika

chomikaaa
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 5
Posty: 988
Rejestracja: 19 cze 2004, 23:22
Lokalizacja: lodz

#16

Post napisał: chomikaaa » 16 kwie 2006, 10:19

nie chodzilo mi o zaklucenia silnika tylko bledy odczytu z enkodera bo bedzie to powodowalo kolosalne skutki dla maszyny

dokladnosc rzedu 10% hmm wg mnie to masakra zamiast robic duza rozdzielczosc zmniejsz ja a zmniejszajac rozdzielczosc zlikwidujesz blad bo 10% jest nie do przyjecia trzeba pamietac ze enkoder bedzie sprzezony z silnikiem a nie mierzyl kat na oko i nie powinien miec wogole bledu odczytu ten blad musi byc zerowy a
dokladnosc to powinna dotyczyc wykonania tarczy od ktorej bedzie zalezal odczyt i tez powinna byc nie nagana

z 8000 na 800 impulsow a co sie stanie z impulasmi nie wychwyconymi przez uklad np jak zalozymy ze enkoder odczytuje co 10 jednostek dajac impuls to jaka mamy pewnosc ze pokonal 10 a nie np 7jenostek dajac impuls?

ide jest ciekawa natomiast jesli zamierzasz zajac sie projektem na powaznie to musisz go sam wykonac bo mysle ze nie bedzie chetnych aby zrobic to za ciebie przeciez nie mozesz zagwarantowac sukcesu projektu


ksitau
Sympatyk forum poziom 2 (min. 50)
Sympatyk forum poziom 2 (min. 50)
Posty w temacie: 6
Posty: 66
Rejestracja: 11 mar 2005, 21:31
Lokalizacja: Warszawa

#17

Post napisał: ksitau » 16 kwie 2006, 12:56

> nie chodzilo mi o zaklucenia silnika tylko bledy odczytu z enkodera bo bedzie to powodowalo kolosalne skutki dla maszyny

a ja jak osioł będę powtarzać że błędy będą się pojawiać w sytuacji gdy w elektronice enkodera (w ścieżkach, przewodach, krzemie) będą się indukować prądy pochodzące z zmiennego pola magnetycznego wytwarzanego przez silnik itp oraz będą także wynikać z niedoskonałości elementów użytych do wykonania enkodera i zasilaczy...

> dokladnosc rzedu 10% hmm wg mnie to masakra zamiast robic duza rozdzielczosc zmniejsz ja a zmniejszajac rozdzielczosc zlikwidujesz blad bo 10% jest nie do przyjecia trzeba pamietac ze enkoder bedzie sprzezony z silnikiem a nie mierzyl kat na oko i nie powinien miec wogole bledu odczytu ten blad musi byc zerowy a
dokladnosc to powinna dotyczyc wykonania tarczy od ktorej bedzie zalezal odczyt i tez powinna byc nie nagana

Tak, tarcza musi być wykonana dokłądnie, ale to przy dzisiejszych drukarkach domowych nie jest problem.
Rozdzielczość układu jest niezmienna - zależy praktycznie tylko od tarczy i przetwornika A/D, natomiast dokładność pomiaru zależy od czynników, o których mowa powyżej i w inych postach. W programie przewidziałem "programową" zmianę rozdzielczości układu (tzn. zawsze operuje na np 8000 kroków na obrót, ale przy sterowaniu przelicza to na mniejsze jednostki) - prześledźcie załączony kod programu.
Tak, +/-10% to masakra, miałem napisać +/- 10 kroków :-) zatem przepraszam za to małe nieporozumienie.


>z 8000 na 800 impulsow a co sie stanie z impulasmi nie wychwyconymi przez uklad np jak zalozymy ze enkoder odczytuje co 10 jednostek dajac impuls to jaka mamy pewnosc ze pokonal 10 a nie np 7jenostek dajac impuls?

Układ działa w ten sposób że jeśli nie przekroczy się jego prędkości granicznej (kilkadziesiąt tysicy obrotów na sekundę) to NIGDY "nie zgubi kroku".

Układ nie daje impulsów, nie został przewidziany do tego by dawać impulsy tylko do tego by sterować pracą silnika DC na podstawie odczytów z enkodera.

>ide jest ciekawa natomiast jesli zamierzasz zajac sie projektem na powaznie to musisz go sam wykonac bo mysle ze nie bedzie chetnych aby zrobic to za ciebie przeciez nie mozesz zagwarantowac sukcesu projektu

No cóż, sukces projektu zależy zatem od tego czy znajdzie się ktoś, kto podejmie się tego tematu. :-)

Pozdrawiam,
Daniel

PS. Myślę że już dość sporo powiedziałem w temacie, idea jest już znana, mam propozycję aby teraz jeśli ktoś zauważy jakiś problem, to niech od razu zastanowi się jak go rozwiązać.

[ Dodano: 2006-04-16, 13:09 ]
mechanik pisze:napisz trochę o systemie to może razem coś wymyślimy
Może jeszcze jakiś plan działania aby całe przedwsięzięcie odniosło "sukces":
1. Należy dopracować "obudowę elektroniczną" - przygotować już konkretny schemat (z uwzględnieniem tego że pierwsza płytka będzie czymś w rodzaju środowiska testowego (zatem dodatkowe diody kontrolne, punkty pomiaru, zabezpieczenia przez zwarciem końcówek mocy itp...)
2. Przygotować projekt płytki (bądź rozrysować sobie rozmieszczenie elementów na płytce uniwersalnej)
3. Wykonać płytkę
4. Zakupić i zamontować elementy elektroniczne
5. Wykonać mechanikę enkodera (prawdopodobnie wystarczy "wydruk" na przeźroczystej folii i coś w rodzaju szpulki - potrzebny MECHANIK :-) ) i spiąć ją z jakimś silniczkiem testowym
6. Uruchomić płytkę, wgrać do uP aktualną wersję programu
7. Zdebugować program - poprawić błędy
8. Sprawdzić jak się sprawuje w praktyce
9. Poprawić błędy :-)

10. Cieszyć się SUKCESEM :-)


Pozdrawiam,
Daniel


Adalber
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 3
Posty: 687
Rejestracja: 10 lip 2005, 15:13
Lokalizacja: Polska

#18

Post napisał: Adalber » 16 kwie 2006, 17:25

Nie chcę krytykować twojego rozwiązania tylko dla samej krytyki .Dobrze ,że ludzie przedstawiają nowe ciekawe rozwiązania ,zastanawia mnie jednak stosowanie analogowego systemu odczytu pozycji w dzisiejszych czasach .Zalety digitalizacji są bezsporne u Ciebie np.fotodetektor musi być liniowy lub musisz dobrze znać jego charakterystykę ,która nie powinna zmieniać się w czasie .To dotyczy zresztą całego toru pomiarowego -chyba że będzie jakaś kompensacja . Dla analogowego odczytu musisz uwzględnić w programie starzenie elementów nawet blaknięcie wydruku tarczy pomiarowej (jaśniejszy to inna pozycja) .Wprawdzie to błędy stałe (systematyczne),ale trzeba o nich myśleć. A co gdy wyblaknie nieliniowo.
Większości tych problemów nie ma w cyfrowych enkoderach
Co do gubienia impulsów przez zwykły enkoder to tak może się zdarzyć gdy impuls zostanie zamaskowany przez zakłócenie ,ale dla wybrednych jest np. enkoder absolutny albo z tarczą opartą na kodzie Graya .
400 -800 kroków na obrót to żaden cud techniki ,twoje rozwiązanie w tym momencie jest znacznie droższe niż zwykły enkoder i bardziej skomplikowane .
Ponieważ nie analizowałem twojego programu ,zapytam o ważniejszą rzecz jakiego typu to będzie regulator PID ,FF, liniowy ,nieliniowy?


ksitau
Sympatyk forum poziom 2 (min. 50)
Sympatyk forum poziom 2 (min. 50)
Posty w temacie: 6
Posty: 66
Rejestracja: 11 mar 2005, 21:31
Lokalizacja: Warszawa

#19

Post napisał: ksitau » 16 kwie 2006, 23:08

Pamiętaj że to rozwiązanie to nie tylko enkoder, ale enkoder i sterownik w jednym! Czy kupisz coś takiego za 100PLNów? Czy wysterujesz silnikiem DC o mocy 100-200W? (jeśli tak, to proszę o jakieś namiary - serio :-) )

Sterowanie PID (o ile dobrze pamiętam - bo teorii sterowania nie studiowałem). Czyli:
Start z pełną mocą, utrzymywanie stałej prędkości obrotowej (ustawianej w programie) podczas pracy i hamowanie oraz trzymanie położenia przez odpowiednie zmiany polaryzacji silnika (także z pełną mocą).

Pozdrawiam,
Daniel


ODPOWIEDZ Poprzedni tematNastępny temat

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