Elektroda.pl
Elektroda.pl
X
Relpol
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[AVR] Czujnik długości narzędzia CNC

marenc 22 Lis 2007 21:26 7369 24
  • #1 22 Lis 2007 21:26
    marenc
    Poziom 24  

    Witam, jestem w trakcie wykonywania projektu własnej frezarki CNC(efekty będą ukazane na elektrodzie jak ukończę ;) ). Już myślę nad tym w jaki sposób rozwiązać problem z ustalaniem parametrów względem długości narzędzia zamontowanego do wrzeciona. Ponieważ będzie to drobny sprzęt więc stosowanie gotowych i drogich czujników nie ma sensu.

    Do sterowania frezarki CNC używam ATmega16(docelowo ATmega8535). Pozostał mi jeden I/O na INT0, który miał służyć do blokowania pracy układu, ale wg. potrzeby zmieniłem jego funkcję na HOLD. Układ będzie pracował wg. algorytmu:
    1.Włączenie przerwania INT0
    2.Output LO->HI
    3.Input LO
    4.Sleep
    5.Pusta obsługa przerwania

    Więc do układu muszę podłączyć inny układ, który będzie oczekiwał na impuls: input LO->HI, a później zacznie obniżać wrzeciono aż ustali poziom Z=0.

    I tu zaczyna się problem, bo nie mam pojęcia jak wykrywać ten poziom(ustalona wysokość nad przedmiotem) w którym będzie tylko np. koniec frezu w wrzecionie.

    Myślałem o nadajniku i odbiorniku podczerwieni. Wchodzące światło do czujnika było by przerywane przez frez, ale z drugiej strony gdyby frez był stożkowy to część promieni i tak by przeszła na drugą stronę.

    Ma ktoś jakiś ciekawy pomysł jak rozwiązać taki czujnik sprzętowo?

    PS. Piszę tutaj, ponieważ chciałbym także omówić algorytm działania mikroprocesora sterującego tym ustalaniem poziomu.

    0 24
  • Relpol
  • #2 22 Lis 2007 22:05
    M. S.
    Poziom 34  

    Odizolować głowicę frezującą. Podłączyć ją pod pin uC (tu przydałyby się jakieś zabezpieczenia np. transoptor). Sterować w końcowej fazie powoli (po jednym kroku) silnikiem krokowym opuszczając głowicę frezującą z narzędziem. W momencie dotknięcia stołu nastąpi zwarcie narzędzia z masą co powinno wywołać zmianę stanu końcówki uC. Później podnosić na odpowiednią wysokość licząc kroki silnika.
    W razie braku możliwości odizolowania głowicy pomiar można wykonać opuszczając narzędzie na laminat miedziowany o znanej grubości ułożony na stole warstwą miedzi do góry. Do tego celu nie trzeba stosować przerwania.

    P.S. Bez dokładniejszego opisu frezarki mogłem sobie ją jedynie wyobrazić. Zakładam, że narzędzie jest przewodzące.

    0
  • #3 22 Lis 2007 22:11
    marenc
    Poziom 24  

    Pomysł bardzo ciekawy, ale nie będzie chyba działał jeżeli frezował bym kamieniem.

    Frezarka na silnikach krokowych. Przesuwają się ramiona suwnic, a nie stół. Wysokość wrzeciona regulowana będzie też silnikiem krokowym. Jak potrzebujesz wiedzieć coś konkretnego to pytaj. Jestem jeszcze daleko w pracach(w sobotę będzie sprawnie działał jeden posuw), więc zdjęcia dużo nie pomogą.

    Frezowanie kamieniem nazywam oczywiście taką końcówkę frezującą, która jest dielektrykiem.

    0
  • #4 23 Lis 2007 10:46
    Ch.M.
    Poziom 27  

    No niestety ale obawiam się, że będziesz musiał zastosować enkoder mierzący (liczący) położenie w osi Z. Wcześniej wprowadzasz maksymalną głębokość (długość frezu/wiertła) i po sprawie.
    Czujniki zbliżeniowe nie zadziałają bo musisz mieć na uwadze zanieczyszczenia.
    Pozdrawiam

    0
  • #5 23 Lis 2007 13:18
    M. S.
    Poziom 34  

    Problem w tym, że narzędzie może mieć różną długość:D

    Można wymyśleć też pomiar prądu pobieranego przez krokowca jeśli nie uda mu się kroku zrobić (wystąpi przeciążenie). Na podstawie różnic w pobieranych prądach można określić czy narzędzie oparło się o stół.

    Oczywiście to jest sugestia. Trzeba przeprowadzić doświadczenia.
    Ten sposób wykorzystałem w napędzie drzwi garażowych bez stosowania wyłaczników krańcowych. Działa bardzo dobrze, pewnie i jednocześnie drzwi reagują na przeszkody. Silnik elektryczny jest jednak inny.

    Ostatecznie jeśli mechanizm i narzędzie wytrzyma można by opuszczać głowicę do stołu nie bacząc na to czy narzędzie dotknęło a silnik jest zablokowany. Po takiej operacji liczymy kroki unosząc narzedzie. Jest to takie rozwiązanie siłowe.

    0
  • #6 23 Lis 2007 13:33
    marenc
    Poziom 24  

    Propozycja mojego faceta z automatyki jest taka, żeby użyć przełącznika migowego bez blaszki.

    Co do tego pomysłu to jest niezły, ale te zanieczyszczenia ... myślę, że to będzie jeden z lepszych pomysłów, ponieważ dla pewności można tę operację powtarzać kilkakrotnie.

    Co do "WBIJANIA"(bo inaczej tego nazwać nie potrafię) narzędzia w określone miejsce i patrząc czy silnik nie wykonał kroku ... uważam to za paranoje. Zniszczenie narzędzia, stołu(miejsca wbijania) oraz silnika krokowego. Bramę mogłeś sobie na siłę domykać, ale zniszczy się przez to narzędzie! Odpada całkowicie takie sposób.

    Względnie co do pierwszego pomysłu... można by było stworzyć coś w podobie do kondensatora. Dwie okładki rozdzielone dielektrykiem. Narzędzie dopycha jedną okładkę co zmienia pojemność.

    Co Wy na to?

    0
  • #7 23 Lis 2007 21:20
    filip_gd
    Poziom 12  

    Stosuje się czujniki zwarciowe tzn frez dotyka blaszki i zwiera obwód
    Jakiś przerzutnik shmitta chyba by się przydał, albo układ niwelujący drgania.

    Zobacz na stronie ergwind, cnc.info.pl

    0
  • Relpol
  • #8 23 Lis 2007 21:47
    marenc
    Poziom 24  

    Rozumiem ... ale już kolega "Ch.M." poruszył problem ... co gdyby na końcu frezu był opiłek z metalu? Przekłamanie było by naprawdę spore ... a jak na domowe urządzenie to jestem dosyć rygorystyczny jeżeli chodzi o dokładność.

    Czekam na opinię o tym czujniku zbliżeniowym opartym na kondensatorze.

    0
  • #9 24 Lis 2007 12:10
    kamil007
    Poziom 12  

    Czujnik pomiaru narzędzia , przy ploterach , w cale nie jest drogi, około 100-150zł

    0
  • #10 24 Lis 2007 13:04
    marenc
    Poziom 24  

    Tak ... tylko ja piszę własne oprogramowanie do sterowania z poziomu PC ... oraz moja frezarka będzie Low-cost jak na jej możliwości ...

    Kupienie profesjonalnego czujnika to ... strzelanie pociskiem z łuku :)

    0
  • #11 24 Lis 2007 13:14
    snow
    Poziom 28  

    To może z poziomu programu w PC definiuj jakie gabaryty ma detal który obrabiasz jak się nie chcesz w koszty ładować.

    0
  • #12 24 Lis 2007 14:01
    karlos79
    Poziom 33  

    Witam
    Po prostu montujesz krańcówki na końcach osi.
    Nie uruchamiasz jej poprzez dotknięcie przez frez tylko przez wózek zamontowany na osi Z.
    Potrzebne to jest po to żeby wózek nie spadł z prowadnicy, tylko się zatrzymał na jej końcu.
    W programie sterującym maszyną takie parametry jak długość narzędzia, punkt zerowy- który nie musi być wcale na powierzchni stołu, ustala się indywidualnie do akurat wykonywanego detalu.
    Poczytaj o G-code i M-code.
    Zobacz jak działa program MACH2.
    Pozdrawiam

    0
  • #13 24 Lis 2007 15:05
    Kuniarz
    Moderator Projektowanie

    moja propozycja:

    - wózek zjedzie do poz. początkowej np. x=0, y=0
    - opuszczasz głowice z narzędziem (zwiększa się Z)
    - w pozycji poczatkowej masz w maszynie umieszczoną krańcówkę, która zadziała, jak narzędzie do niej dotrze
    - krańcówka zadziała, sprawdzasz ile tam miałeś Z i po pbliczeniu już wiesz jaki masz długi np. frez

    0
  • #14 24 Lis 2007 15:24
    marenc
    Poziom 24  

    "snow" oraz "karlos79" ... planuje automatyczną zmianę narzędzia ... jeżeli używał bym cały czas tych samych narzędzi to zdefiniował bym te wartości, ale jak zmienię narzędzie to nie będzie dobrze pracował.

    "Kuniarz" ... już była poruszona ta kwestia ... co będzie gdy na końcu frezu będzie np. metalowy opiłek? Może przekłamać i to sporo...

    Wiem, że dokładnie się wszystkiego nie przewidzi i będę musiał coś wybrać kosztem czegoś ...

    0
  • #16 24 Lis 2007 15:53
    marenc
    Poziom 24  

    "avatar" ... wyobrażasz sobie czujnik długości narzędzia za 1000zł w frezarce za parę setek? Bo ja nie ...

    0
  • #17 24 Lis 2007 16:34
    crazy_phisic
    VIP Zasłużony dla elektroda

    Możesz zastanowić się również nad czujnikiem (matrycą ) ze skanera, pomiar bardzo dokładny tylko układ będzie trochę rozbudowany.

    0
  • #18 24 Lis 2007 17:37
    marenc
    Poziom 24  

    Co masz na myśli "crazy_phisic"? Jak by to miało działać?

    0
  • #19 24 Lis 2007 18:27
    crazy_phisic
    VIP Zasłużony dla elektroda

    Detektor jest (z grubsza) jednowymiarowy, dokładamy do tego źródło światła (o promieniach równoległych) i mierzymy jego intensywność na poszczególnych komórkach. Wprowadzenie narzędzie zakryje nam odpowiednią ilość komórek co jednoznacznie określi nam położenie narzędzia.

    0
  • #20 24 Lis 2007 18:38
    marenc
    Poziom 24  

    Chyba jednak zostanę przy tym przełączniku migowym...

    Pomiar -> przejazd przez jakąś "szczotkę" -> ponowny pomiar -> jeżeli ten sam to prawdziwy, jeżeli nie to powtarzamy.

    0
  • #21 24 Lis 2007 19:02
    Kuniarz
    Moderator Projektowanie

    mariuszlorenc napisał:

    "Kuniarz" ... już była poruszona ta kwestia ... co będzie gdy na końcu frezu będzie np. metalowy opiłek? Może przekłamać i to sporo...


    ...taaaa, ale pomiar dokonujesz przy zakładaniu nowego np. frezu, skoro nowy z półki w normalnym warsztacie to ... czysty :)

    0
  • #22 24 Lis 2007 19:12
    marenc
    Poziom 24  

    Jak już tak spekulujemy :P

    A co gdy użyjesz frezu, zmienisz go na inny, a później będzie znów potrzebny ten pierwszy? :P

    0
  • #23 24 Lis 2007 20:34
    karlos79
    Poziom 33  

    Witam
    Jeśli chcesz zrobić automatyczną zmianę narzędzi, to muszą one być pobierane z konkretnych podajników.
    Programujesz, że w podajniku nr1 jest taki frez, w kolejnym podajniku inny itd.
    Z tego co mi wiadomo, to np. w automacie tokarskim z głowicą wielonarzędziową, programuje się numery gniazd i parametry narzędzi dla każdego osobno.
    Później tylko w programie ustawia się które narzędzie maszyna ma użyć.
    Pozdrawiam

    0
  • #24 24 Lis 2007 20:47
    marenc
    Poziom 24  

    No w sumie racja ... mógł bym zadeklarować dane każdego narzędzi(umieszczonego zawsze w swoim miejscu) ... a przełącznikiem migowym dla pewności(że maszyna nie pomyliła narzędzia) kontrolować czy dane narzędzie jest zgodne z parametrem.

    To chyba będzie najlepsze jednak rozwiązanie. Dzienx wszystkim za pomysły i rady ;)

    0
  • #25 11 Sty 2009 11:49
    nelik1987

    Poziom 31  

    marenc napisał:
    No w sumie racja ... mógł bym zadeklarować dane każdego narzędzi(umieszczonego zawsze w swoim miejscu) ... a przełącznikiem migowym dla pewności(że maszyna nie pomyliła narzędzia) kontrolować czy dane narzędzie jest zgodne z parametrem.

    To chyba będzie najlepsze jednak rozwiązanie. Dzienx wszystkim za pomysły i rady ;)


    no raczej nie czy maszyna nie pomyliła lecz raczej czy człowiek sobie nie poprzemieniał miejsc frezów w gniazdach, maszyny sie w ten sposób właściwie wo g0le sie nie mylą jak już to człowiek może się pomylic przy programowaniu :P

    życzę powodzenia w programowaniu maszynki bo wiem ze to nic prostego

    0