Instalacja sondy narzędziowej na robocie KUKA
cnc

Instalacja sondy narzędziowej na robocie KUKA

hejto.pl
Dzisiaj 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)

macgajster

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

Zaloguj się aby komentować