
[C][Atmega32] Opis serwonapędu + TWORZENIE v2.0
-
- Lider FORUM (min. 2000)
- Posty w temacie: 4
- Posty: 3962
- Rejestracja: 18 wrz 2004, 12:51
- Lokalizacja: k/w-wy
- Kontakt:
czyli okolice kamami... ładne książki robią ... w bardzo ładnych okładkach -- polecamblue_17 pisze:BTC z tego co wiem

SpotkanieCNC: STOM-TOOL Marzec 2014
http://www.cnc.info.pl/topics79/spotkan ... t55028.htm
http://www.cnc.info.pl/topics79/spotkan ... t55028.htm
-
- Specjalista poziom 2 (min. 300)
- Posty w temacie: 2
- Posty: 495
- Rejestracja: 04 kwie 2006, 18:08
- Lokalizacja: Białystok
Witam
Mam mała sugestię
a może by tak zamiast AVR pod lupę wziąść ARMa
np STM32 mają sprzętowe wejście enkodera, PWMy
są w tak śmiesznie niskiej cenie
że grzech się cofać , ceny spadają a popularność rośnie
wyprą z rynku ATMELe jak nic
ja jak znajdę czas to pobawię się i dam znać
mam podobne plany do autora
pozdrawiam
Mam mała sugestię
a może by tak zamiast AVR pod lupę wziąść ARMa
np STM32 mają sprzętowe wejście enkodera, PWMy
są w tak śmiesznie niskiej cenie
że grzech się cofać , ceny spadają a popularność rośnie
wyprą z rynku ATMELe jak nic
ja jak znajdę czas to pobawię się i dam znać
mam podobne plany do autora
pozdrawiam
-
- Lider FORUM (min. 2000)
- Posty w temacie: 25
- Posty: 2083
- Rejestracja: 11 cze 2011, 18:29
- Lokalizacja: Warszawa / Lublin
Ja wziąłem pod lupę - powstaje sterownik 4x servo DC oparty na STM32F4. W tej chwili czekam na płytki części wykonawczej; częścią obliczeniową jest (na razie) STM32F4Discovery.
Z 2 przyczyn nie stosuję sprzętowych wejść enkoderów
1. są podatne na zakłócenia (wiem, miałem źle zaprojektowaną płytkę, ale jednak...)
2. na Discovery zintegrowane peryferia zajmują sporo pinów i nie dałbym rady zrobić jednocześnie sprzętowych enkoderów, wyjść PWM na 4 silniki i 8 krańcówek.
Jeżeli kiedyś zastąpię discovery własną płytką, to pewnie się pokuszę o użycie sprzętowych wejść enkdoerów - jak nie wyjdzie, to użyję ich jako GPIO.
Z 2 przyczyn nie stosuję sprzętowych wejść enkoderów
1. są podatne na zakłócenia (wiem, miałem źle zaprojektowaną płytkę, ale jednak...)
2. na Discovery zintegrowane peryferia zajmują sporo pinów i nie dałbym rady zrobić jednocześnie sprzętowych enkoderów, wyjść PWM na 4 silniki i 8 krańcówek.
Jeżeli kiedyś zastąpię discovery własną płytką, to pewnie się pokuszę o użycie sprzętowych wejść enkdoerów - jak nie wyjdzie, to użyję ich jako GPIO.
-
- Specjalista poziom 2 (min. 300)
- Posty w temacie: 2
- Posty: 495
- Rejestracja: 04 kwie 2006, 18:08
- Lokalizacja: Białystok
Witam
Mi się wydaje że sprzętowe wejścia są w takim samym stopniu podatne jak i inne
wejścia, kiedyś jak czytałem notę jakiegoś procka ze sprzętowy wejściem enkodera to nawet miał jakąś tam sprzętową filtrację zakłóceń ale nie pamiętam co to był za sprzęt
a sprzętowe zawsze będą szybsze niż obsługa w programie, no ale zależy co komu potrzeba
a na czym będzie u ciebie stopień mocy i jakiej wielkości to ma popędzać silniki ?
pozdrawiam
Mi się wydaje że sprzętowe wejścia są w takim samym stopniu podatne jak i inne
wejścia, kiedyś jak czytałem notę jakiegoś procka ze sprzętowy wejściem enkodera to nawet miał jakąś tam sprzętową filtrację zakłóceń ale nie pamiętam co to był za sprzęt
a sprzętowe zawsze będą szybsze niż obsługa w programie, no ale zależy co komu potrzeba
a na czym będzie u ciebie stopień mocy i jakiej wielkości to ma popędzać silniki ?
pozdrawiam
-
- Lider FORUM (min. 2000)
- Posty w temacie: 25
- Posty: 2083
- Rejestracja: 11 cze 2011, 18:29
- Lokalizacja: Warszawa / Lublin
STM32F4 nie ma filtra softwarowego (np. kilkukrotnego próbkowania) dla sygnałów enkoderpwych - dla zwykłych timerów zliczających filtrowanie jest, dla kwadraturowych nie 
Stopień mocy: 4x IRFR1018E + HIP4018A
link do tematu:
https://www.cnc.info.pl/topics12/sterow ... t40791.htm

Stopień mocy: 4x IRFR1018E + HIP4018A
link do tematu:
https://www.cnc.info.pl/topics12/sterow ... t40791.htm
-
Autor tematu - Sympatyk forum poziom 1 (min. 40)
- Posty w temacie: 33
- Posty: 45
- Rejestracja: 03 mar 2007, 10:44
- Lokalizacja: Bydgoszcz
Pracę na serwonapędem trwają.
Póki co przeszedłem z kalkulacji stałoprzecinkowych na zmiennoprzecinkowe w pętli PID.
Dodałem anti-windup i zmieniłem trochę algorytm. Silnik chodzi duuużo płynniej,
Gdy wszystko będzie gotowe udostępnię kod + całą dokumentację.
Pytanie, do tych którzy pisali swój kod serwonapędu lub mają wgląd w szczegóły kalkulacji.
Jaki jest błąd w Waszych serwonapędach podczas ruchu?
U mnie bez obciążenia to do 10 imp. enkodera z dużym obciążeniem (prąd 3A) do 20 imp enkodera. Eksperymentuję jeszcze z nastawami PID, ale nic lepszego póki co nie udało mi się uzyskać.
[youtube][/youtube]
I jeszcze jedno pytanie. Mój silnik w jedną stronę ma większą moc niż w drugą? Widać to też po prądzie... Wymieniłem L298 (zmostkowany) i teraz jest to prawie niezauważalne jednak w poprzednim L298 gdy napięcie zasilania > 14V to w jedną stronę kompletnie nie miał mocy. W drugą normalnie. Gdy obniżałem napięcie to zachowywał się normalnie. Na pewno nie była to kwestia sterowania.
[youtube][/youtube]
prawy dolny róg LCD to największa ilosc imp. enkodera, o którą pomylił się PID.
Póki co przeszedłem z kalkulacji stałoprzecinkowych na zmiennoprzecinkowe w pętli PID.
Dodałem anti-windup i zmieniłem trochę algorytm. Silnik chodzi duuużo płynniej,
Gdy wszystko będzie gotowe udostępnię kod + całą dokumentację.
Pytanie, do tych którzy pisali swój kod serwonapędu lub mają wgląd w szczegóły kalkulacji.
Jaki jest błąd w Waszych serwonapędach podczas ruchu?
U mnie bez obciążenia to do 10 imp. enkodera z dużym obciążeniem (prąd 3A) do 20 imp enkodera. Eksperymentuję jeszcze z nastawami PID, ale nic lepszego póki co nie udało mi się uzyskać.
[youtube][/youtube]
I jeszcze jedno pytanie. Mój silnik w jedną stronę ma większą moc niż w drugą? Widać to też po prądzie... Wymieniłem L298 (zmostkowany) i teraz jest to prawie niezauważalne jednak w poprzednim L298 gdy napięcie zasilania > 14V to w jedną stronę kompletnie nie miał mocy. W drugą normalnie. Gdy obniżałem napięcie to zachowywał się normalnie. Na pewno nie była to kwestia sterowania.
[youtube][/youtube]
prawy dolny róg LCD to największa ilosc imp. enkodera, o którą pomylił się PID.
-
- Lider FORUM (min. 2000)
- Posty w temacie: 25
- Posty: 2083
- Rejestracja: 11 cze 2011, 18:29
- Lokalizacja: Warszawa / Lublin
Jeżeli to jest zwykły silnik szczotkowy, a nie specyficznie serwo, to może mieć różne właściwości w różne strony* (zob. poniżej). Silniki serwo są konstruowane tak, aby zachowywały się możliwie symetrycznie.
* Dla typowego silnika kąt pomiędzy polem stojana i wirnika jest tak dobrany, aby był to kąt prosty przy nominalnej prędkości i napięciu silnika (zmiana kąta pola jest związana z indukcyjnością uzwojeń). Tak więc na początku ten kąt będzie wynosił nieco ponad 90° i potem będzie zbliżał się do 90°. Po przekroczeniu prędkości roboczej silnik będzie dalej się rozpędzał, ale kąt zmniejszy się, co pociągnie za sobą zmniejszenie momentu.
Przy pracy w drugą stronę taki silnik bedzie startował z kątem poniżej 90° i ten kąt będzie już tylko malał - dlatego nigdy nie osiągnie pełnego momentu dostępnego przy ruchu w drugą stronę.
Silnik można usymetryzować obracając szczotki względem magnesu stojana (lub obracając magnes), ale jest to raczej trudne i pociąga za sobą raczej paskudne przeróbki.
* Dla typowego silnika kąt pomiędzy polem stojana i wirnika jest tak dobrany, aby był to kąt prosty przy nominalnej prędkości i napięciu silnika (zmiana kąta pola jest związana z indukcyjnością uzwojeń). Tak więc na początku ten kąt będzie wynosił nieco ponad 90° i potem będzie zbliżał się do 90°. Po przekroczeniu prędkości roboczej silnik będzie dalej się rozpędzał, ale kąt zmniejszy się, co pociągnie za sobą zmniejszenie momentu.
Przy pracy w drugą stronę taki silnik bedzie startował z kątem poniżej 90° i ten kąt będzie już tylko malał - dlatego nigdy nie osiągnie pełnego momentu dostępnego przy ruchu w drugą stronę.
Silnik można usymetryzować obracając szczotki względem magnesu stojana (lub obracając magnes), ale jest to raczej trudne i pociąga za sobą raczej paskudne przeróbki.