
Instalacja sondy narzędziowej na robocie KUKA
entropy_GURU
18piorunówDzisiaj opiszemy jak chaupniczo zainstalować sondę do pomiaru narzędzia na robocie KUKA. Praca prosta, szybka i przyjemna.
Ponieważ wbudowana w robota funkcja pomiaru jest, no delikatnie mówiąc męcząca. Zrobiłem najprostszy możliwy cykl pomiarowy, bo w obecnym zastosowaniu interesuje mnie jedynie długość narzędzia, wszystkie pozostałe liczby zawsze są takie same.
Potrzebujemy: Najtańszą sondę narzędziową z aliexpress, 2 metry kabla.
Krok 1: Prosimy współpracownika żeby wywiercił otwory w jakimś sztywnym miejscu na robocie i przykręcił sondę.
Krok 2: Ja podpiąłem sondę jak na schemacie. out[16] użyłem jako źródła 24v, in[16] służy do pomiaru. Można oczywiście 24v wziąć z innego miejsca, ale nie chciało mi się ciąć kabli. Ja tak zrobiłem z lenistwa.
Krok 3: Załączam prosty program pomiarowy. Należy zaznaczyć, że ja się nie znam na programowaniu w KRL i da się to zrobić lepiej. Program nie zadziała po skopiowaniu, ale jak ktoś ma pojęcie to sobie poradzi z tym w 20min. Celowo to robię, żeby ktoś tego nie włączał bez koniecznych modyfikacji.
```
>; TOOL NUMBER - Change here
>TOOL_TO_MEASURE = 5
>
>; Additional lenght value
>LENGHT_ADD = 0
>
>;FOLD MEASURE_CYCLE
>
>; Probe turn on
>$OUT[16] = TRUE
>
>;FOLD BASE_AND_TOOL_UPDATE
>; Load base
>$BASE = BASE_DATA[32]
>; Make sure Tool data is correct
>TOOL_DATA[TOOL_TO_MEASURE].X = 0 ;value to be measured
>TOOL_DATA[TOOL_TO_MEASURE].Y = -0.3 ;constant
>TOOL_DATA[TOOL_TO_MEASURE].Z = 106.6 ;constant
>TOOL_DATA[TOOL_TO_MEASURE].A = 0 ;constant
>TOOL_DATA[TOOL_TO_MEASURE].B = -90 ;constant
>TOOL_DATA[TOOL_TO_MEASURE].C = 0 ;constant
>
>BAS(#TOOL,TOOL_TO_MEASURE)
>$TOOL = TOOL_DATA[TOOL_TO_MEASURE]
>BAS(#BASE,32)
>; To set 'Tool On Robot' Mode
>$IPO_MODE = #BASE
>;ENDFOLD (BASE_AND_TOOL_UPDATE)
>
>; Pre-position tool near the probe
>PTP {X 500, Y 0, Z 0, A 0, B 90, C 0, E1 0, E2 -3081 ,S'B110',T'B111011'}
>
>;Declare interrupt with priority 20
>GLOBAL INTERRUPT DECL 20 WHEN $IN[16]==FALSE DO SUB() ;
>
>;Start measurment
>INTERRUPT ON 20
>$VEL.CP = 0.012 ;most likely you will need to change this
> LIN_REL {X -200} ;move in direction of the probe
>INTERRUPT OFF 20
>
>END
>
>DEF SUB()
>;brake
>BRAKE
>
>; save current position in x axis, add compenstation
>TOOL_DATA[TOOL_TO_MEASURE].X = $POS_ACT.X + LENGHT_ADD
>
>;Update tool data
>$TOOL = TOOL_DATA[TOOL_TO_MEASURE]
>
>;Move away from probe
>$VEL.CP = 0.15
>LIN_REL {X 50}
>
>;Turn off the probe
>$OUT[16] = FALSE
>
>;ENDFOLD (MEASURE_CYCLE)
>END
```
Idea jest taka: Base[32] jest ustawiona w następujący sposób: z,y 0 na oko w środku grzybka, x0 jest ustawione dokładnie w miejscu gdzie narzędzie przerywa obwód.
Załączony program jedzie w kierunku x+ aż przerwie obwód w sondzie. Ponieważ zero bazy znajduje się w tym miejscu a korekta narzędzia w tym kierunku również wynosi zero, to współrzędna x na której stoimy to dokładnie korekta którą chcemy wpisać w tablicę narzędzia.
#automatyka #robotyka #konstruktorelektrykamator (pożyczam xD) #pracbaza #entropypracuje


Nie miałem pod ręką przewodu z odpowiednimi kolorami więc do sonda-przewód wygląda tak:
brązowy-brązowy
pomarańczowy-niebieski

Komentarze (1)
AAAAA! Teraz wszystko jasne! To dlatego nasza kuka nie kukowała ( ͡° ͜ʖ ͡°)