Z axis Feedrate Change

More
17 Jan 2011 23:56 #6760 by brianm
I am working on a THC hal component. I bascially have a signal from a black box that tells EMC to move up or down. so far everything is working great. The component moves the Z axis up or down in small increments as the box says.

However, I would like to be able to better control the feedrate of the Z Axis. right now, I basically have a running total in a hal component that adds or subtracts a very small amount depending on the signal.

If I make the increment in my Hal Component too large, the control trys to move my Z axis at the same speed as my X and Y are moving, which it physically cannot do. Is there a way I can "decouple" the Z axis feed rate so that to and pass it through the component, so that I can adjust it faster or slower?

Thanks
Brian

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

More
18 Jan 2011 12:37 #6762 by BigJohnT
Replied by BigJohnT on topic Re:Z axis Feedrate Change
You could add an input to your comp to control the rate of change. Have you looked at the thc comp for inspiration?

John

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

More
18 Jan 2011 18:14 #6766 by brianm
Replied by brianm on topic Re:Z axis Feedrate Change
Hi John,

I have looked at the THC comp, that is what I based mine on. I am not that experienced of a programmer. Are you saying to basically have an input that will change the increment amount? On the THC comp it would be the correction_vel variable

Thanks

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

More
18 Jan 2011 20:35 #6768 by BigJohnT
Replied by BigJohnT on topic Re:Z axis Feedrate Change
Yea, you could do that. I'm not that good of a programmer either but managed to hack out the THC component for my plasma torch.

John

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

More
24 Jan 2011 16:20 #6828 by viesturs.lacis
I also customized THC module to fit my waterjet machine.

Now I have the comp compare the actual voltage vs requested voltage. If the difference is big, then correction speed is faster. The principle looks like this:
if (actual - requested)>0,5
then offset = correction velocity * 3

if (actual - requested)<0,5
then offset = correction velocity * 1

Viesturs

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

More
24 Jan 2011 16:57 #6830 by andypugh
Replied by andypugh on topic Re:Z axis Feedrate Change
viesturs.lacis wrote:

if (actual - requested)>0,5
then offset = correction velocity * 3

if (actual - requested)<0,5
then offset = correction velocity * 1

You could move at a rate proportional to the error, like a PID controller:
offset = correction_gain  * (actual - requested)
if ( offset > max ) offset = max

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

More
26 Jan 2011 17:01 #6846 by viesturs.lacis
andypugh wrote:

viesturs.lacis wrote:

if (actual - requested)>0,5
then offset = correction velocity * 3

if (actual - requested)<0,5
then offset = correction velocity * 1

You could move at a rate proportional to the error, like a PID controller:
offset = correction_gain  * (actual - requested)
if ( offset > max ) offset = max


Actually I tried this approach.
My sensor has ~0,5 sec delay for better accuracy, that is why I either had to set the gain very very low (which resulted in very slow movement) or I got constant overshoots, which is completely unacceptable.
So I came up with this "2 speed" idea.

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

More
26 Jan 2011 19:48 #6847 by brianm
Replied by brianm on topic Re:Z axis Feedrate Change
That is a great idea. the only problem is I am not reading the voltage into the computer. I have a THC controller that basically sends a signal to move up or down.... Maybe I should look into reading the voltage into the computer.

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

Time to create page: 1.527 seconds
Powered by Kunena Forum