MPG axis jog velocity/acceleration
- spangledboy
- Topic Author
- Offline
- Senior Member
Less
More
- Posts: 76
- Thank you received: 10
19 May 2013 02:57 #34349
by spangledboy
MPG axis jog velocity/acceleration was created by spangledboy
I've recently connected an MPG for jogging - it's connected to one of the encoder interfaces on a 7i76 card and - once I had the correct firmware in place - PnCconf detected it perfectly. I was also easily able to connect up a pair of rotary switches so I can select which axis to jog and the jog increment.
It all works just fine so long as the increments selected are small - 0.1mm or less, but if I increase to 0.5 or 1mm then the result is too "violent". I can calm things down by reducing the maximum axis velocity or acceleration in the .ini file but that affects the performance of the axis when running G code, so is not really a solution.
The jogging run using the Axis on screen controls has a separate maximum speed setting which is much more appropriate. I guess there must be a way for me to configure the jog commands from the MPG to have a similar, lower maximum speed to avoid the nasty, notchy movement I have with big increments, but I've not been able to fathom it so far.
Can anyone point me in the right direction please?
It all works just fine so long as the increments selected are small - 0.1mm or less, but if I increase to 0.5 or 1mm then the result is too "violent". I can calm things down by reducing the maximum axis velocity or acceleration in the .ini file but that affects the performance of the axis when running G code, so is not really a solution.
The jogging run using the Axis on screen controls has a separate maximum speed setting which is much more appropriate. I guess there must be a way for me to configure the jog commands from the MPG to have a similar, lower maximum speed to avoid the nasty, notchy movement I have with big increments, but I've not been able to fathom it so far.
Can anyone point me in the right direction please?
Please Log in or Create an account to join the conversation.
19 May 2013 07:38 #34367
by andypugh
This is probably due to the encoder being quite a low-count device.
If you consider two different MPGs set for 10mm per rotation, one with 10 pulse and one with 1000 per rev, you can see that while they both have the same effect, one is feeding 1mm "steps" into the system, and other 0.01mm
it is probably possible to get creative in HAL and feed the MPG through a scale component (to increase the counts-per-rev) then through a low-pass (to smooth the steps).
The other alternative is to configure a little differently, and feed the encoder _velocity_ in to the system as a jog-speed request. This might not work at all, though
Replied by andypugh on topic MPG axis jog velocity/acceleration
It all works just fine so long as the increments selected are small - 0.1mm or less, but if I increase to 0.5 or 1mm then the result is too "violent".
This is probably due to the encoder being quite a low-count device.
If you consider two different MPGs set for 10mm per rotation, one with 10 pulse and one with 1000 per rev, you can see that while they both have the same effect, one is feeding 1mm "steps" into the system, and other 0.01mm
it is probably possible to get creative in HAL and feed the MPG through a scale component (to increase the counts-per-rev) then through a low-pass (to smooth the steps).
The other alternative is to configure a little differently, and feed the encoder _velocity_ in to the system as a jog-speed request. This might not work at all, though
Please Log in or Create an account to join the conversation.
19 May 2013 10:22 #34371
by PCW
Replied by PCW on topic MPG axis jog velocity/acceleration
As an alternative to the low pass component, the limit3 component could be used to apply
lower velocity and acceleration limits to the jog steps
lower velocity and acceleration limits to the jog steps
Please Log in or Create an account to join the conversation.
19 May 2013 10:37 #34372
by andypugh
The issue here is that the jog-inputs expect to see integer counts. So, you need to mutliply up, convert to float, filter, conver back to int, anfdpass on to the jog-oin.
Replied by andypugh on topic MPG axis jog velocity/acceleration
As an alternative to the low pass component, the limit3 component could be used to apply
lower velocity and acceleration limits to the jog steps
The issue here is that the jog-inputs expect to see integer counts. So, you need to mutliply up, convert to float, filter, conver back to int, anfdpass on to the jog-oin.
Please Log in or Create an account to join the conversation.
- spangledboy
- Topic Author
- Offline
- Senior Member
Less
More
- Posts: 76
- Thank you received: 10
19 May 2013 16:24 #34377
by spangledboy
Replied by spangledboy on topic MPG axis jog velocity/acceleration
Yes, you're right, the MPG has one encoder count per "notch" or increment and 100 increments per revolution. What I really want to do is use this for moving the bed in both terms of fine and coarse positioning, so I'd like to know that one increment will be exactly 5mm, 1mm or whatever.
It comes as no surprise that the machine is using all its acceleration and speed to move to the commanded position - I'm effectively giving it a "G0 X5" command for each increment. What I'd like to do is give it "G1 X5 F500" instead, or reduce the maximum acceleration when jogging so it takes much longer to get up to speed.
Peters suggestion sounds like it might be in the right direction, but I don't know what "Limit3" is?
Thanks
Ben
It comes as no surprise that the machine is using all its acceleration and speed to move to the commanded position - I'm effectively giving it a "G0 X5" command for each increment. What I'd like to do is give it "G1 X5 F500" instead, or reduce the maximum acceleration when jogging so it takes much longer to get up to speed.
Peters suggestion sounds like it might be in the right direction, but I don't know what "Limit3" is?
Thanks
Ben
Please Log in or Create an account to join the conversation.
19 May 2013 19:16 - 19 May 2013 19:23 #34390
by BigJohnT
Replied by BigJohnT on topic MPG axis jog velocity/acceleration
Last edit: 19 May 2013 19:23 by BigJohnT.
The following user(s) said Thank You: spangledboy
Please Log in or Create an account to join the conversation.
20 May 2013 00:37 #34395
by andypugh
I didn't think that there were any HAL components I didn't know about, but ilowpass is new to me, and is exactly right for this application.
Replied by andypugh on topic MPG axis jog velocity/acceleration
You might get a hint from the MPG example in the Integrators Manual.
I didn't think that there were any HAL components I didn't know about, but ilowpass is new to me, and is exactly right for this application.
Please Log in or Create an account to join the conversation.
- spangledboy
- Topic Author
- Offline
- Senior Member
Less
More
- Posts: 76
- Thank you received: 10
21 May 2013 05:33 #34472
by spangledboy
Replied by spangledboy on topic MPG axis jog velocity/acceleration
Thanks guys - the example there does seem to cover it.
Now I just need to get my head around the difference between the example (using a parallel port) and my instance using the Mesa encoder input.
I can see that a lot is possible, but the learning curve is a little steep at times. However I'm sure I'm going to benefit from getting over this particular bump in the road just like I have done from all the previous ones!
Ben
Now I just need to get my head around the difference between the example (using a parallel port) and my instance using the Mesa encoder input.
I can see that a lot is possible, but the learning curve is a little steep at times. However I'm sure I'm going to benefit from getting over this particular bump in the road just like I have done from all the previous ones!
Ben
Please Log in or Create an account to join the conversation.
21 May 2013 06:38 - 21 May 2013 06:40 #34478
by BigJohnT
Replied by BigJohnT on topic MPG axis jog velocity/acceleration
Well with the Mesa encoder input you won't have to make any input connections in HAL to the encoder as that is done in hardware. So any parallel port pins used in the example won't be used with a hardware encoder. The rest should be the same or similar.
JT
JT
Last edit: 21 May 2013 06:40 by BigJohnT.
The following user(s) said Thank You: spangledboy
Please Log in or Create an account to join the conversation.
- spangledboy
- Topic Author
- Offline
- Senior Member
Less
More
- Posts: 76
- Thank you received: 10
27 May 2013 19:54 #34751
by spangledboy
Replied by spangledboy on topic MPG axis jog velocity/acceleration
Great, wonderful & fantastic!
I ran some tests in a virtual machine using sim-encoder to (simulate the mpg wheel output), ran that into encoder (to simulate the mesa hardware) then ran the output of that into ilowpass. Plotting the values of encoder counts alongside ilowpass output showed (once the scales were adjusted to show the detail) exactly what I was after - a rather notchy input being converted to a nice smooth output.
That part of the exercise was a really great learning experience - I feel that I understand the content of the .hal files much better now and I've found the best places to look up the description, functions, pins and parameters for HAL components.
Based on the simulated exercise it was quite simple to add the necessary lines into the .hal file to load & configure ilowpass, then add in one more signal to add the extra processing before sending the move command to the axis on my physical machine. The moves are now great - really nice and smooth, just how I want them.
Many thanks again for your help with this, all of you.
Ben
I ran some tests in a virtual machine using sim-encoder to (simulate the mpg wheel output), ran that into encoder (to simulate the mesa hardware) then ran the output of that into ilowpass. Plotting the values of encoder counts alongside ilowpass output showed (once the scales were adjusted to show the detail) exactly what I was after - a rather notchy input being converted to a nice smooth output.
That part of the exercise was a really great learning experience - I feel that I understand the content of the .hal files much better now and I've found the best places to look up the description, functions, pins and parameters for HAL components.
Based on the simulated exercise it was quite simple to add the necessary lines into the .hal file to load & configure ilowpass, then add in one more signal to add the extra processing before sending the move command to the axis on my physical machine. The moves are now great - really nice and smooth, just how I want them.
Many thanks again for your help with this, all of you.
Ben
Please Log in or Create an account to join the conversation.
Moderators: cmorley
Time to create page: 0.705 seconds