Dopiero teraz mogę usiąść na dłużej przy komputerze . Postaram się opisać pojęcie błędu. A raczej błędów , które są zależne od prędkości i przyspieszeń ustawionych w LinuxCNC . Podzczas konfiguracji
można od razu znaleźć wartość maksymalnego błędu podczas najazdu na uchwyt materiału (0,125 mm). Jednak jest to właściwie stan awaryjny .Maszyna staje . Tu dodam ,że w małych serwach ten błąd jest większy .
Błędy powstające z powodu drgań maszyny, uszczerbionego freza są dużo mniejsze - maszyna tylko zwalnia , koryguje błąd i rusza dalej.
W momencie zatrzymania program nic nie liczy , czeka na sygnał START . Natomiast kompensator „tłucze ” silnikiem bo chce nadrobić błąd . Jeśli to mu się uda –np. odsunie słabo przykręconą śrubę mocującą materiał i narzędzie przesunie się o tę wartość maksymalnego błędu to program dostaje pozwalenie na START i ponownie zaczyna wysyłać impulsy Step i Dir.
Tak w skrócie o błędzie maksymalnym (awaryjnym ). Zauważcie,że nie korzystam wyłączenia awrynego programu .Chociaż można to zrobić .
A teraz zacznę opisywać błąd „normalny” (z powodu drgań maszyny, uszczerbionego freza ) lecz potrwa to trochę –zapewne 3-4 godziny .
Odpowiedź dla
kamar : obecnie robię wersję serwo-enkoderów z możliwością programowania przez użytkownika ( do tygodnia zakończę to ) , jednocześnie czekam na detale z chin ( robione dla HP –więc może będą OK) dla znacznego zwiększenia rozdzielczości enkodera ( tutaj termin niestety ..). Zamierzam dać Tobie do testów komplet - uważam , że jesteś odpowiednią osobą (wszedłem na Twoją stronę ).
Na Allegro nic nie ma - bo chcę wprowadzić poprawki do urządzenia.
Za tydzień mogę wysłać wersję programowalną z enkoderem 200 . Lub póżniej z enkoderem
np. 1600 .
[ Dodano: 2013-08-11, 05:30 ]
Na rysunku poniżej jest momentu zależnie od częstotliwości . Ja dodatkowo podzieliłem ten wykres na trzy obszary ( jest to oczywiście uproszczenie ).
1. Obszar pracy stabilnej silnika - co by się nie działo na wale silnika i tak będzie się kręcić.
2.Obszar pracy niestabilnej - silnik kręci się z stosunkowo dużym momentem – np.50% ale obciążenie nie może być szybkozmienne - bo silnik stanie. Może jednak przesuwać płynnie bramę cyklami G0 ,a nawet frezować jednak z małym zagłębieniem freza ( gorzej gdy trafi na sęk przy rzeźbieniu ).
3.Obszar przejściowy – silnik pod wpływem obciążenia szybkozmiennego może znacznie zwolnić ale może powrócić do początkowej prędkości .
Przejdźmy do korekcji ruchu silnika. W obszarze 1 jest możliwa korekcja ruchu dorzucaniem kroków -natomiast w obszarze 2 jest to niemożliwe .W obszarze 3 czasem się udaje.
Tak więc jeśli przyjmiemy strategię jak najszybciej obniżyć prędkość to :
- zawsze po chwili znajdziemy się w obszarze 1 i będziemy mogli korygować dorzucaniem kroków
- obniżając prędkość wzrośnie moment silnika
- obniżając prędkość siła frezowania zmaleje
-obniżając szybko prędkość dochodzi siła bezwładności , która pomaga nadrobić różnicę . Przybliżę to: jadą rozpędzone trzy wagony kolejowe równoległymi torami –nazwijmy je X, Y, Z . Jeśli jeden zwolni ,to można go próbować dopchać do pozostałych . Ale można też je przyhamować , z tym że ten z tyłu hamować z mniejszą siłą ( dorzucanie kroków ).Po chwili wszystkie wyrównają bieg. Metoda trochę jakby komunistyczna ale cel … .
LinuxCNC można tak skonfigurować ,że jeśli na danym pinie LPT pojawi się sygnał , to prędkość na wszystkich osiach zwalnia proporcjonalnie do zera . Zanik tego sygnału powoduje odwrotną reakcję .
Enkoder wysyła sygnał do kompensatora , który liczy obrót rzeczywisty silnika i jednocześnie liczy impulsy z komputera . Jeśli powstanie różnica - ( zależna od rozdzielczości enkodera –czyli na śrubie o skoku 5 mm i enkoderze 200 to jest - 0,025 mm ) LinuxCNC dostaje sygnał spowalniania maszyny ( jednocześne zaczynają być dorzucane kroki ). I będzie zwalniał aż błąd nie będzie mniejszy o jeden krok lub mikrokrok od 0,025 mm . Zatem przy pełnym zablokowaniu danej osi nastąpi wytracenie prędkości do zera.
Maksymalny błąd =(V*V)/2*a
Dwukrotnie mniejsza prędkość obróbki to czterokrotnie mniejsza szybkość.
Jak widać im szybciej będziemy spowalniać tym szybciej osiągniemy korekcję.Ale wszystko ma swoje granice . Silniki mają swoją siłę . Wpisanie w komputer zbyt dużych przyśpieszeń spowoduje ,że silniki nie nadążą przyspieszać (lub rozwalać maszyne- ale to już inna bajka ).
Jakie przyśpieszenia to należy ustalić doświadczalnie . Do serwo-enkoderów dodaję diody LED (jest to na stronie
Serwo-enkodery w punkcie 5.Połączenia zasilające oraz dodatki ułatwiające pracę).Podłączone tak ,że moment powstania błędu jest widoczny przez zapalenie się diody LED, więc można zwiększać przyśpieszenie, aż nie będą się diody zapalać intensywne podczas rozruchu i hamowania . Mogą i będą tylko błyskać na samym początku ruchu.
Tak więc odpowiedź na pytanie: Jaki błąd ?
W przypadku , gdy kompensator po jakim kolwiek błędzie skorygował utracenie kroków i maszyna pracuje już bez dalszej korekcji to błąd nie będzie większy niż rozdzielczość enkodera ( czyli na śrubie o skoku 5 mm i enkoderze 200 to jest - 0,025 mm ; czy dla enkodera 1600 błąd wyniesie 0,003125 nie sprawdzałem – być może ale dla małych prędkość ).
W czasie powstania błędu i korekcji (kompensator działa ) – błąd chwilowy może być większy .Dla pracy w obszarze 1 i 3 (stabilny i przejściowy ) mierzone przeze mnie błędy wynosiły do trzech wartości rozdzielczości enkodera . Jednak dla mikrokroku reakcja musi być szybsza lecz w jakim stopniu nie sprawdzałem tego. Jeśli będzie mikrokok i lepszy enkoder to powinno być jeszcze lepiej
Jeśli maszyna porusza się szybko w obszarze 2 (niestabilnym ) to powstanie błędu nie zacznie być korygowane po wyhamowaniu prędkości do obszarów 1 i 3 .Błąd wtedy może być duży - jednak przy obróbce metali z głębszym wejściem freza - należałoby ten obszar przeznaczyć tylko na szybkie przejazdy , narzędzie jest w górze i zanim dojdzie do materiału nastąpi korekcja.