mach3+enkoder

zatrzymanie posuwu na podstawie odczytu z enkodera

Dyskusje dotyczące najpopularniejszego programu sterującego maszynami CNC

Autor tematu
schody.sek
Sympatyk forum poziom 1 (min. 40)
Sympatyk forum poziom 1 (min. 40)
Posty w temacie: 26
Posty: 48
Rejestracja: 17 cze 2012, 00:46
Lokalizacja: zach pom
Kontakt:

mach3+enkoder

#1

Post napisał: schody.sek » 11 mar 2019, 00:14

witajcie
Zastanawiam się czy jest jakiś sposób aby w przypadku zgubienia kroku przez silnik krokowy mach automatycznie zatrzymał posuwy. Zdarzyło mi się kilka razy że jeden z silników pogubił kroki a mach w dalszym ciągu realizował obróbkę -frez pruł materiał bez składu i ładu aż w końcu zatrzymał się na jednej z krańcówek.
Czytałem na forum o wykorzystaniu enkodera i sprzężenia zwrotnego do korygowania zgubionych kroków ale mi raczej chodzi tylko o zatrzymanie posuwu gdy fakt zgubienia kroku ma miejsce.
jezeli odczyt z enkodera nie bedzie pokrywał się z dro to znaczy ze silnik zgubił krok. czy da się coś zrobić aby mach zatrzymał silniki.
moje sterowanie to silniki krokowe 3nm sterowniki sk5045
na sterownikach jest wolny pin ena. gdyby podał tam impuls to silniki nie dostały by zgody na prace i posuwy by stały- tylko czy da się tak skonfigurować macha zeby porównał odczyty i wygenerował impuls na którymś wyjściu.
a może jest jakiś prostszy sposób na zatrzymanie posuwu




lepi
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 22
Posty: 1437
Rejestracja: 09 lip 2012, 20:34
Lokalizacja: Poznań

Re: mach3+enkoder

#2

Post napisał: lepi » 11 mar 2019, 04:35

Nie da sie. Mach tego nie zrobi. To musi byc obslugiwane przez sterownik silnika.


qqaz
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 11
Posty: 2082
Rejestracja: 28 sty 2007, 16:12
Lokalizacja: Łódź

Re: mach3+enkoder

#3

Post napisał: qqaz » 11 mar 2019, 09:14

schody.sek pisze:jezeli odczyt z enkodera nie bedzie pokrywał się z dro to znaczy ze silnik zgubił krok
właśnie podałeś rozwiazanie

do macropump dopisz sekwencję:

uchyb= tutaj wstaw dopuszczalną wartość błedu
a=getoemdro(29) ' - x enkoder
b=getoemdro(800) ' - x poz
c=a-b
if Abs(c) > uchyb then
dooembutton( 1003)
message("rozjechało się")
sleep 1000
end if

podobnie dla pozostałych osi które stosujesz
Teraz co 0,1s masz kontrolę czy wskazania enkodera są akceptowalne. Zwróć uwagę ze na pewna będą różne od licznika osi bo śruba, bo łożysko , bo takie tam różne.
Ale ile jest dopuszczalne (0,001 czy 1 [mm]) to sobie ustalisz wartością stałej o nazwie uchyb


da się :wink:


Seb.Maz.
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 1
Posty: 113
Rejestracja: 08 lis 2016, 01:18
Lokalizacja: Rzeszów

Re: mach3+enkoder

#4

Post napisał: Seb.Maz. » 11 mar 2019, 09:35

qqaz pisze:
11 mar 2019, 09:14
schody.sek pisze:jezeli odczyt z enkodera nie bedzie pokrywał się z dro to znaczy ze silnik zgubił krok
właśnie podałeś rozwiazanie

do macropump dopisz sekwencję:

uchyb= tutaj wstaw dopuszczalną wartość błedu
a=getoemdro(29) ' - x enkoder
b=getoemdro(800) ' - x poz
c=a-b
if Abs(c) > uchyb then
dooembutton( 1003)
message("rozjechało się")
sleep 1000
end if

podobnie dla pozostałych osi które stosujesz
Teraz co 0,1s masz kontrolę czy wskazania enkodera są akceptowalne. Zwróć uwagę ze na pewna będą różne od licznika osi bo śruba, bo łożysko , bo takie tam różne.
Ale ile jest dopuszczalne (0,001 czy 1 [mm]) to sobie ustalisz wartością stałej o nazwie uchyb


da się :wink:
Jestes kozak kolego :D
Masz moze gdzies jakas dobra stronke z tutorialami z pisaniem skryptow do macha? :D
Gdzies kiedys czytalem ze jest mozliwosc zrobienia odczytu dro w Machu, ale tylko i wylacznie pokazywania tego odczytu a nie obslugi sprezania zwrotnego :D


lepi
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 22
Posty: 1437
Rejestracja: 09 lip 2012, 20:34
Lokalizacja: Poznań

Re: mach3+enkoder

#5

Post napisał: lepi » 11 mar 2019, 09:54

Hej kozaki ;) A kto będzie odczytywał enkoder w Machu? Świstaki?


qqaz
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 11
Posty: 2082
Rejestracja: 28 sty 2007, 16:12
Lokalizacja: Łódź

Re: mach3+enkoder

#6

Post napisał: qqaz » 11 mar 2019, 10:41

W Machu stan enkodera odczytuje Mach i pokazuje wartość odczytaną w polu licznikowym DRO(29) - dla osi X. Oczywiście o ile podłączysz dwa kanały enkodera do wejść i zaznaczysz temu Machu że to jest właśnie to (w zakładce inputów).
DRO enkodera jest standardowo na ekranie w tokarce, we frezarce trzeba sobie wstawić.


lepi
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 22
Posty: 1437
Rejestracja: 09 lip 2012, 20:34
Lokalizacja: Poznań

Re: mach3+enkoder

#7

Post napisał: lepi » 11 mar 2019, 10:58

Pod co podłączasz ten enkoder? Pod LPT? Według mnie Mach nie ma szansy ogarnąć enkodera o sensownej rozdzielczości. Jeśli ktoś zrobi omawiany układ to stawiam skrzynkę piwa. Dajmy na to enkoder 1024 imp/obrót i wychwycenie błędu na poziomie kilkunastu impulsów.


qqaz
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 11
Posty: 2082
Rejestracja: 28 sty 2007, 16:12
Lokalizacja: Łódź

Re: mach3+enkoder

#8

Post napisał: qqaz » 11 mar 2019, 12:03

Tak dla porządku aby ktoś na pałę nie wpisał tego kawałka kodu i że nie działa.
To tylko szkielet zadziałania.
Tak naprawdę to trzeba enkoder porównywać z licznikiem maszynowym Macha bo tylko ten się nie zmienia i cały czas odnosi się do fizyczności maszyny .
Poz(X) jest zmienna zależnie od aktualnego offsetu, albo wysokość Z wg używanego narzędzia i długości korekcji.
Tak wiec zamiast DRO(800) trzeba wstawić X Machine Coord DRO 83 .
Dodatkowo po zbazowaniu maszyny wyzerować również DRO(29).(chyba że ktoś nie używa bazy sprzętowej i jedzie cały czas na czerwonych ledach)
Oraz po każdym ręcznym zerowaniu koordynat maszynowych również (bo w tokarce standardowo można- nie wiem po co)

Dodane 1 godzina 3 minuty 5 sekundy:
lepi pisze:wychwycenie błędu na poziomie kilkunastu impulsów.

Szanowny Panie Kolego.
Sam założyłeś watek prostujący mity o Machu ale widać że również sam w ich atmosferze krążysz.
Jakie pojedyncze impulsy?
Przy kontroli co 0,1s???
Przy posuwie w drewnie to dokładność zaledwie pojedynczych ale milimetrów.
Chcesz Macha to używasz ale z głową. Wtedy działa to, co ma działać, bo bzdur nie oczekujesz.
Albo...


Autor tematu
schody.sek
Sympatyk forum poziom 1 (min. 40)
Sympatyk forum poziom 1 (min. 40)
Posty w temacie: 26
Posty: 48
Rejestracja: 17 cze 2012, 00:46
Lokalizacja: zach pom
Kontakt:

Re: mach3+enkoder

#9

Post napisał: schody.sek » 11 mar 2019, 12:17

zakładając ze enkoder ma taki sam podział jak silnik wystarczy podzielić podział enkodera przez skok sruby i wtedy uwzgledniając ofset x machnec oord dro(83) bedzie takie samo jak dro(29) poprawcie mnie jeżeli zle rozumuje


lepi
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 22
Posty: 1437
Rejestracja: 09 lip 2012, 20:34
Lokalizacja: Poznań

Re: mach3+enkoder

#10

Post napisał: lepi » 11 mar 2019, 12:29

Nie pisałem o pojedynczych impulsach. Kilkanaście to nie kilka. Zresztą nie to jest problemem. Chodzi o to aby poprawnie zliczać impulsy z enkodera. Jak podłączysz czujnik zbliżeniowy i będziesz liczył obroty to pewnie się da. Jak podłączysz enkoder o jakim pisałem to szybko rozjedzie się wartość zliczona z faktyczną. Skrzynka czeka.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Mach 2 / 3 / 4 (ArtSoft software)”