Piko + miniserwo = ...
: 02 paź 2013, 04:49
Zamontowałem sobie miniserwa na osiach X i Y. Świetna sprawa. Kontrola błędów, możliwość samoczynnego zatrzymania maszyny gdy coś się "spasteryzuje" ponad zaprogramowany próg błędu. 100% pewności że z pracy nie wyjdzie kicha.
Ale minisrewa niestety wykazały, że w kwestii sterowania silnikami w piko jest jeszcze dużo do zrobienia.
Zacznę od tego, że po przejściu z megaplota na piko, oprócz oczywistych zalet i korzyści, zauważyłem niekorzystną zmianę w kwestii kultury pracy silników. Nic o tym nie wspominałem, ponieważ uznałem to za subiektywne odczucie, nie dające się podeprzeć żadnym racjonalnym dowodem. Wiele sobie obiecywałem przy przejściu na piko, więc ten mały zgrzyt mógł być spowodowany nadmiernym wyczuleniem na niekorzystne niuanse. Ale po założeniu miniserw okazało się, że moje odczucia były głęboko uzasadnione.
W pierwszej kolejności spróbowałem przeprowadzić strojenie regulatorów miniserw w programie konfiguracyjnym serw. Serwa mają port szeregowy łączony bezpośrednio do peceta. Podczas strojenia i testowania, serwa są sterowane bezpośrednio z peceta, sterownik jakikolwiek nie ma tu nic do rzeczy. Okazało się, że na mojej mechanice serwa pracują pewnie (z marginesem bezpieczeństwa 75%) do przyspieszeń na poziomie 500r/s2 czyli przy moich śrubach do 2,5m/s2. Błąd dynamiczny wynosi wtedy około 0,004 obrotu do maksymalnej zadeklarowanej prędkości 8cm/s (tyle było wcześniej i tyle postanowiłem pozostawić). Przyspieszanie, hamowanie i zwroty przy 2,5ms2 były zaskakująco ciche i płynne choć oczywiście bardzo dynamiczne. Trochę mnie to zdziwiło, bo na "zwykłych krokowcach" przyzwoitą kulturę pracy na piko osiągnąłem dopiero przy zjechaniu do 0,5m/s2. Czyżbym się pomylił w obliczeniach, a może to miniserwa i ich silniki dają takie małe rezonanse?
Niestety nie. Po poruszeniu osiami z piko, czar prysł. Ten sam basowy terkot na starcie i hamowaniu, co wcześniej. Na wszelki wypadek, aby upewnić się, że nie robię błędu, ustawiłem program miniserwa na 100r/s2 (czyli przeliczeniowo 0,5m/s2) i uzyskałem tę samą dynamikę. Zarówno wizualnie jak i na ekranie pomiarowym miniserwa. Z tym, że podczas ruchów oscylacyjnych wysterowanych przez program konfiguracyjny ruch był niemalże bezgłośny, a przy sterowaniu z piko to samo nieprzyjemne dudnienie. Okazuje się, że mógłbym na mojej maszynie spokojnie ustawić 2,5m/s2, gdyby nie marna jakość rampy przyspieszania w piko. Próba wytłumienia dudnienia parametrami minieserwa jest skazana na porażkę, ponieważ, owszem, można scałkować regulatorem ziarnistość przyspieszania, ale odbędzie się to kosztem precyzji nadążania. Czyli wylanie dziecka z kąpielą.
Przy okazji potwierdziłem, przypuszczenia, bo wyszło to natychmiast w postaci błędów miniserwa, że podczas najazdu na krańcówki home piko nie stosuje zadeklarowanych przyspieszeń. Maszyna albo staje dęba albo przyspieszenie hamujące jest bardzo duże. Na tyle duże, że błąd pozycjonowania w tym momencie oscyluje wokół 100 jednostek (5000/obrót). Podczas dy w normalnej pracy, gdy przyspieszenie nie przekracza 2,5m/s2, wynosi około 20 jednostek. To spowodowało, że musiałem zwiększyć próg alarmowy z 50um do 150um, żeby maszyna nie resetowała się podczas pozycjonowania (alarmy miniserw uruchamiają e-stop).
Znam przyczynę problemu z niską kulturą pracy silników. Wynika ona z małej częstotliwości regulacji prędkości podczas przyspieszeń. Zdecydowanie zbyt małej. Nawet można by ją łatwo ustalić bez przyrządów, bo dźwięk tym spowodowany ma konkretną częstotliwość.
Niestety niska częstotliwość korekcji prędkości powoduje po pierwsze przykry efekt akustyczny, po drugie pogarsza jakość posuwów (powierzchni cięcia na krzywiznach), po trzecie de facto generuje bardzo duże przyspieszenia cząstkowe i w przyspieszonym tempie niszczy maszynę.
Ciekawe czy da się temu zaradzić w samej aktualizacji software, czy trzeba będzie zmienić firmware. I czy w ogóle ten mikrokontroler jest w stanie sobie poradzić z bardziej złożoną kontrolą dynamiki niż jest.
Co na to autor? Czy coś da się zrobić?
Jak trzeba, mogę to sfilmować. Różnica jest drastyczna.
Ale minisrewa niestety wykazały, że w kwestii sterowania silnikami w piko jest jeszcze dużo do zrobienia.
Zacznę od tego, że po przejściu z megaplota na piko, oprócz oczywistych zalet i korzyści, zauważyłem niekorzystną zmianę w kwestii kultury pracy silników. Nic o tym nie wspominałem, ponieważ uznałem to za subiektywne odczucie, nie dające się podeprzeć żadnym racjonalnym dowodem. Wiele sobie obiecywałem przy przejściu na piko, więc ten mały zgrzyt mógł być spowodowany nadmiernym wyczuleniem na niekorzystne niuanse. Ale po założeniu miniserw okazało się, że moje odczucia były głęboko uzasadnione.
W pierwszej kolejności spróbowałem przeprowadzić strojenie regulatorów miniserw w programie konfiguracyjnym serw. Serwa mają port szeregowy łączony bezpośrednio do peceta. Podczas strojenia i testowania, serwa są sterowane bezpośrednio z peceta, sterownik jakikolwiek nie ma tu nic do rzeczy. Okazało się, że na mojej mechanice serwa pracują pewnie (z marginesem bezpieczeństwa 75%) do przyspieszeń na poziomie 500r/s2 czyli przy moich śrubach do 2,5m/s2. Błąd dynamiczny wynosi wtedy około 0,004 obrotu do maksymalnej zadeklarowanej prędkości 8cm/s (tyle było wcześniej i tyle postanowiłem pozostawić). Przyspieszanie, hamowanie i zwroty przy 2,5ms2 były zaskakująco ciche i płynne choć oczywiście bardzo dynamiczne. Trochę mnie to zdziwiło, bo na "zwykłych krokowcach" przyzwoitą kulturę pracy na piko osiągnąłem dopiero przy zjechaniu do 0,5m/s2. Czyżbym się pomylił w obliczeniach, a może to miniserwa i ich silniki dają takie małe rezonanse?
Niestety nie. Po poruszeniu osiami z piko, czar prysł. Ten sam basowy terkot na starcie i hamowaniu, co wcześniej. Na wszelki wypadek, aby upewnić się, że nie robię błędu, ustawiłem program miniserwa na 100r/s2 (czyli przeliczeniowo 0,5m/s2) i uzyskałem tę samą dynamikę. Zarówno wizualnie jak i na ekranie pomiarowym miniserwa. Z tym, że podczas ruchów oscylacyjnych wysterowanych przez program konfiguracyjny ruch był niemalże bezgłośny, a przy sterowaniu z piko to samo nieprzyjemne dudnienie. Okazuje się, że mógłbym na mojej maszynie spokojnie ustawić 2,5m/s2, gdyby nie marna jakość rampy przyspieszania w piko. Próba wytłumienia dudnienia parametrami minieserwa jest skazana na porażkę, ponieważ, owszem, można scałkować regulatorem ziarnistość przyspieszania, ale odbędzie się to kosztem precyzji nadążania. Czyli wylanie dziecka z kąpielą.
Przy okazji potwierdziłem, przypuszczenia, bo wyszło to natychmiast w postaci błędów miniserwa, że podczas najazdu na krańcówki home piko nie stosuje zadeklarowanych przyspieszeń. Maszyna albo staje dęba albo przyspieszenie hamujące jest bardzo duże. Na tyle duże, że błąd pozycjonowania w tym momencie oscyluje wokół 100 jednostek (5000/obrót). Podczas dy w normalnej pracy, gdy przyspieszenie nie przekracza 2,5m/s2, wynosi około 20 jednostek. To spowodowało, że musiałem zwiększyć próg alarmowy z 50um do 150um, żeby maszyna nie resetowała się podczas pozycjonowania (alarmy miniserw uruchamiają e-stop).
Znam przyczynę problemu z niską kulturą pracy silników. Wynika ona z małej częstotliwości regulacji prędkości podczas przyspieszeń. Zdecydowanie zbyt małej. Nawet można by ją łatwo ustalić bez przyrządów, bo dźwięk tym spowodowany ma konkretną częstotliwość.
Niestety niska częstotliwość korekcji prędkości powoduje po pierwsze przykry efekt akustyczny, po drugie pogarsza jakość posuwów (powierzchni cięcia na krzywiznach), po trzecie de facto generuje bardzo duże przyspieszenia cząstkowe i w przyspieszonym tempie niszczy maszynę.
Ciekawe czy da się temu zaradzić w samej aktualizacji software, czy trzeba będzie zmienić firmware. I czy w ogóle ten mikrokontroler jest w stanie sobie poradzić z bardziej złożoną kontrolą dynamiki niż jest.
Co na to autor? Czy coś da się zrobić?
Jak trzeba, mogę to sfilmować. Różnica jest drastyczna.