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

hejto.pl

Komentarze (1)

macgajster

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

Zaloguj się aby komentować