carousel component - stops short of correct pocket....sometimes

More
8 years 10 months ago #103641 by Henk
Hi
I am configuring a carousel tool changer on a milling machine using the carousel component.

The tool-chain has 30 pockets and is driven by a geneva-mechanism. Position feedback is from a binary encoder, so it is a perfect application for the carousel component.

For some unknown reason, the carousel sometimes stops short of the commanded position by two pockets. this happens only in the reverse direction, and not always.

in the forward direction, it stops 1 pocket short, also only sometimes. i couldnt figure out the pattern yet....

carousel.comp is enabled by iocontrol.tool-prepare and iocontrol.tool-prep-number is linked to carousel.0.pocket-number.

I have checked the encoding by jogging the toolchain and carousel.0.current-position follows the numbers on the hardware so this is correct.

Any ideas on where to look for this issue will be a great help.

BTW, i have compiled the latest version of carousel.comp from github

Thanks
Henk

Please Log in or Create an account to join the conversation.

More
8 years 10 months ago #103649 by Todd Zuercher
Perhaps you may need to debounce some of your inputs?

Please Log in or Create an account to join the conversation.

More
8 years 10 months ago #103659 by andypugh
Does the toolchanger have an index pin too?
Is the changer binary encoded or Gray coded? Gray-code is designed so that only one pin ever changes when you transition from one number to the next, but with a binary encoding you can see phantom numbers if all the switches change at different time.
For example 7 to 8:

0111 = 7
1000 = 8

If the switches all happen at different times, then the PC might actually see

0111 = 7
0011= 3
1010 = 10
1000 = 8

A separate index channel can be used to make the system only check the position when all the transitions have happened.

I don't think that debounce is a solution here.

Perhaps the carousel comp should "act suspicious" if it sees the position change by anything other than +/- 1

Please Log in or Create an account to join the conversation.

More
8 years 10 months ago #103786 by Henk
Thanks Andy
i found the index pin (proxy) on the cam that rotates the geneva mechanism. I missed this in the wiring diagrams, my German is not so god :).

i loaded 5 tristate_bit comps and used that to output the 5 binary bits, netted to carousel.0.senseNN, and it has solved the problem. Thanks for the advice

Henk

Please Log in or Create an account to join the conversation.

More
8 years 10 months ago #103793 by andypugh
I don’t know honk you need the tristates.
The carousel comp should let you connect the index directly if you have the latest version.

Please Log in or Create an account to join the conversation.

More
8 years 10 months ago #103811 by Henk
Thanks Andy. I compiled the latest version under "carousel1" so man carousel didnt show the latest info.... will remove the tristates and use the strobe input instead.

One other question.
This machine has a random tool changer, but the next tool is not exchanged with the tool in the spindle at tool change. Instead, the tool that was in the spindle is kept in the changer swing arm (it has two claws) and is stowed during the next tool change.

So, starting with tools and pocket numbers the same (tool1 - poc1, tool2-poc2.....etc), nothing in the spindle, and a program using :

M6 T1

...some code...

m6 t2

...some code...

m6 t3

some code

m2

This would result in

tool 0 in pocket 2
tool 1 pocket 3

and tool2 still in the changer swing arm.

Any idea how this could be configured? Random toolchanger only support changing the tool in spindle with the active pocket as far as i could see.

Thanks

Henk

Please Log in or Create an account to join the conversation.

Time to create page: 0.056 seconds
Powered by Kunena Forum