Krańcówki home/limit - 2 in 1.
: 06 lis 2019, 20:13
Nie zawsze istnieje możliwość montażu osobnych czujników do dwóch różnych funkcji. Zawsze uważałem, że to niezbyt logiczne. Podobne rozwiązanie - jedna krańcówka na oś do obydwu zadań jest np. w sterowaniu GRBL. Może i w innych też. Taka sytuacja - brak miejsca - występuje i w mojej maszynie.
Sterowanie programem Mach3 nie przewiduje takiej możliwości.
Dodatkowym kłopotem są różne napięcia pracy - 5V dla 'home' i 12V dla 'limit'. Również wejścia - 3 x home a 1 x limit( wspólne ).
Czy się da obejść? Da się.
Problem został rozwiązany dość prostym sposobem, a sam układ elektroniczny jest nieskomplikowany i składa się tylko z kilku elementów. Całość testowana in vitro i in vivo
. Działa bez zarzutu.
Sprawdzane na płycie SSK-MB2 ( wbudowany układ kształtowania impulsu dla limit'u ).
Krańcówki zasilane z 5V i w stanie NC.
Ogólny schemat ideowy:
Jest to wersja z ręcznym przełączaniem między funkcjami. Jeśli chcemy robić to automatycznie:
Wystarczy zamiana wyłącznika wył1 na tranzystor sterowany sygnałem Enable. W większości przypadków sygnał ten nie jest do niczego wykorzystywany. Potrzebne jest jeszcze krótkie makro w postaci:
DeactivateSignal(Enable1)
sleep(1000)
code "g28.1 x0 z0" (dla frezarki dodać y0)
sleep(1000)
ActivateSignal(Enable1)
W układzie wykorzystałem 74hc00 i 74hc32.
Sterowanie programem Mach3 nie przewiduje takiej możliwości.
Dodatkowym kłopotem są różne napięcia pracy - 5V dla 'home' i 12V dla 'limit'. Również wejścia - 3 x home a 1 x limit( wspólne ).
Czy się da obejść? Da się.
Problem został rozwiązany dość prostym sposobem, a sam układ elektroniczny jest nieskomplikowany i składa się tylko z kilku elementów. Całość testowana in vitro i in vivo

Sprawdzane na płycie SSK-MB2 ( wbudowany układ kształtowania impulsu dla limit'u ).
Krańcówki zasilane z 5V i w stanie NC.
Ogólny schemat ideowy:

Jest to wersja z ręcznym przełączaniem między funkcjami. Jeśli chcemy robić to automatycznie:

Wystarczy zamiana wyłącznika wył1 na tranzystor sterowany sygnałem Enable. W większości przypadków sygnał ten nie jest do niczego wykorzystywany. Potrzebne jest jeszcze krótkie makro w postaci:
DeactivateSignal(Enable1)
sleep(1000)
code "g28.1 x0 z0" (dla frezarki dodać y0)
sleep(1000)
ActivateSignal(Enable1)
W układzie wykorzystałem 74hc00 i 74hc32.