Zune94 pisze: ↑06 paź 2023, 21:07
Tutaj ja nic nie rozumiem o co Ci chodzi
Ja lubię te po lewej, ale te po prawej działają tak samo, tylko więcej kabli się plącze.
Tak czy inaczej, pętla sprzężenia zwrotnego zamyka się pomiędzy drajwerem, silnikiem i enkoderem, natomiast sterownik CNC (Mach, Linuxcnc, GRBL czy inne SZGH) steruje w pętli otwartej, czyli wysyła polecenia ruchu i nie sprawdza rzeczywistego położenia napędu.
Wszystkie istotne parametry, jak rampy czy PID programuje się w drajwerze silnika.
Mówiąc inaczej, jeśli wyślesz do zwykłego krokowca tysiąc impulsów w ciągu sekundy, to albo on wykona tysiąc kroków w ciągu tej sekundy, albo zgubi kroki i nigdy ich nie nadrobi, natomiast serwo wykona zadany ruch, ale niekoniecznie w ciągu sekundy.
Serwo ma swoją rampę, według której się rozpędzi i według której zwolni.
Miałem dość paskudną sytuację, kiedy uruchamiałem sterowanie na GRBL z serwokrokowcami. Otóż kiedy zadawałem ruch o 10 mm, to suport potrafił przejechać pięć... Kwadratowych jaj szukałem, nic nie pomagało i myślałem że osiwieję... Wytłumaczenie okazało się wyjątkowo proste, mianowicie sterowanie miało domyślnie ustawione zdejmowanie sygnału ENABLE po wykonaniu ruchu, taka zielona paranoja... Z krokowcami to działa, bo krokowiec kręci się synchronicznie z impulsami STEP, Ale serwokrokowiec kręci się asynchronicznie, rozpędza się i zwalnia po swojemu, więc się zdarzało, że w połowie zadanego ruchu sterowanie wyłączało napęd, bo było przekonane że ruch został już wykonany i można kilka watów "zaoszczędzić"...
Podobnie jest z korekcją położenia. Śruba kulowa NIE JEST samohamowna, więc jak podziałasz na suport odpowiednio dużą siłą, to śruba się obróci. Oczywiście sterowanie w zamkniętej pętli będzie próbowało błąd położenia naprawić, ale znowu po swojemu, ze swoimi ustawieniami PID (PID to algorytm wyliczający taką odpowiedź na błąd, żeby sterowanie nie wpadło w oscylację, czyli jakby przewidujące odpowiedź układu).
Tak czy inaczej, jeżeli drajwer ma wpisane swoje parametry, według których steruje silnikiem, to głupotą jest dołożenie drugiego enkodera z drugą zamkniętą pętlą sterowania. Te dwie pętle będą sobie nawzajem przeszkadzać i będą się działy cuda...
Natomiast są układy, gdzie pętla sterowania jest tylko jedna, a enkoder nie jest montowany na osi silnika, tylko gdzie indziej.
Wyobraź sobie na przykład enkoder sztywno sprzęgnięty ze śrubą, a zwykły silnik DC napędzający śrubę zwykłym paskiem klinowym (przykład może głupi, ale doskonale tłumaczący zasadę). Między silnikiem a śrubą będzie występował poślizg, ale napęd będzie pilnował położenia śruby. W takiej sytuacji pętlę można poprowadzić przez sterowanie i na przykład Linuxcnc to potrafi.