Spindle speed offset
14 Sep 2017 14:30 #98949
by strantor
Spindle speed offset was created by strantor
Hi, first post here. LinuxCNC 2.7.0
I have just retrofitted my Lagunmatic 110 CNC from old Dynapath Delta 20 controls to LinuxCNC with Mesa 5i25/7i77 boards. This is my very first experience with LinuxCNC, and actually one of my first experiences with a CNC machine of any kind.
My machine has AC servos for all axes powered by "intelligent" Allen Bradley servo drives. The spindle is also is an AC servo powered by Allen Bradley drive. The servo dives are set up for +/-10v analog operation. For my X/Y/Z axes when I first powered them up with the new LinuxCNC system, they started to creep and I got joint following errors. I was able to interface with those drives over serial using the ancient win95 Allen Bradley software and I discovered that they had a small (5-20mV) analog input offset programmed in. I guess the old Dynapath system had some error in its analog outputs and this offset was used to correct for that. For the X/Y/Z drives (AB Ultra 100 series) I was able to remove this offset in the drives and afterwards my axes did not creep.
Now I have connected the spindle drive (AB Ultra 3000) to the Mesa board and I experience the same creep, but I am unable to log into this drive (I think it has a bad serial port) to remove the offset. So I wanted to make LinuxCNC match the analog o/p offset of the the old Dynapath system. In Pncconf I can do this via the open loop test popup. I played around with the offset there and found that -2.97 RPM is the offset I need for the spindle to stay still. When I complete the Pncconf wizard there is nothing in my hal or ini file about the offset, and my spindle still creeps. I don't understand why when I entered the offset in the wizard, it does not make it to my hal/ini files.
I tried to look up how to manually enter the offset in hal/ini and I see posts from ~2015 where other people were getting it to work by using some buzzwords involving "pwmgen." I do not have any "pwmgen" in my hal file. I don't know if maybe they were using stepper setups that don't apply to my case, or that was only valid for previous versions of LinuxCNC or what, but I wasn't able to make it work.
Any guidance on how to introduce a -2.97rpm offset in LinuxCNC 2.7.0 with Mesa 5i25/7i77 would be greatly appreciated!
I have just retrofitted my Lagunmatic 110 CNC from old Dynapath Delta 20 controls to LinuxCNC with Mesa 5i25/7i77 boards. This is my very first experience with LinuxCNC, and actually one of my first experiences with a CNC machine of any kind.
My machine has AC servos for all axes powered by "intelligent" Allen Bradley servo drives. The spindle is also is an AC servo powered by Allen Bradley drive. The servo dives are set up for +/-10v analog operation. For my X/Y/Z axes when I first powered them up with the new LinuxCNC system, they started to creep and I got joint following errors. I was able to interface with those drives over serial using the ancient win95 Allen Bradley software and I discovered that they had a small (5-20mV) analog input offset programmed in. I guess the old Dynapath system had some error in its analog outputs and this offset was used to correct for that. For the X/Y/Z drives (AB Ultra 100 series) I was able to remove this offset in the drives and afterwards my axes did not creep.
Now I have connected the spindle drive (AB Ultra 3000) to the Mesa board and I experience the same creep, but I am unable to log into this drive (I think it has a bad serial port) to remove the offset. So I wanted to make LinuxCNC match the analog o/p offset of the the old Dynapath system. In Pncconf I can do this via the open loop test popup. I played around with the offset there and found that -2.97 RPM is the offset I need for the spindle to stay still. When I complete the Pncconf wizard there is nothing in my hal or ini file about the offset, and my spindle still creeps. I don't understand why when I entered the offset in the wizard, it does not make it to my hal/ini files.
I tried to look up how to manually enter the offset in hal/ini and I see posts from ~2015 where other people were getting it to work by using some buzzwords involving "pwmgen." I do not have any "pwmgen" in my hal file. I don't know if maybe they were using stepper setups that don't apply to my case, or that was only valid for previous versions of LinuxCNC or what, but I wasn't able to make it work.
Any guidance on how to introduce a -2.97rpm offset in LinuxCNC 2.7.0 with Mesa 5i25/7i77 would be greatly appreciated!
Please Log in or Create an account to join the conversation.
14 Sep 2017 16:25 #98953
by PCW
Replied by PCW on topic Spindle speed offset
I would not worry too much about creep, analog drives will _always_ creep somewhat.
The important missing thing here is that you do not seem to have your drive enables working
Your drive enables do not seem to be controlled by LinuxCNC. This will prevent creep
because the drives will not be enabled until the position feedback loop is active
This is also a safety issue, LinuxCNC needs to be able to stop the drives if it senses a following error
So the first thing to fix is getting the drive enables (spindle also) working
Once that is done, you can use the PID components bias input to zero the drift,
though its unlikely it will have any significant effect on accuracy.
The important missing thing here is that you do not seem to have your drive enables working
Your drive enables do not seem to be controlled by LinuxCNC. This will prevent creep
because the drives will not be enabled until the position feedback loop is active
This is also a safety issue, LinuxCNC needs to be able to stop the drives if it senses a following error
So the first thing to fix is getting the drive enables (spindle also) working
Once that is done, you can use the PID components bias input to zero the drift,
though its unlikely it will have any significant effect on accuracy.
The following user(s) said Thank You: strantor
Please Log in or Create an account to join the conversation.
14 Sep 2017 16:53 #98954
by strantor
Replied by strantor on topic Spindle speed offset
The enables are working through LinuxCNC. I have my E-stop wired to one of the 7i77 digital inputs and I have the drive enables wired to their respective EN outputs on TB5. When I press the Estop everything stops. When I turn machine power OFF from the LinuxCNC toolbar, everything stops. When I close LinuxCNC, everything stops. And it doesn't just stop, it goes limp and I can turn it by hand. I suspect you may have missed the part about when my x/y/z axes were creeping, LinuxCNC would throw a joint following error and shut down. That part is fixed now. Now it's just the spindle, and the spindle does not throw a joint following error.
About the bias, I played with that. Funny thing is, it doesn't work at 0 rpm, which is where I really want it to work. Let's say I put in a bias of -10 RPM... If I command 100rpm, output will be 90rpm. If I command -100rpm, output will be -110rpm. So I would think that if I command 0rpm, I would have an output of -10 rpm, but that's not correct. If I command 0rpm, output is 0rpm, and my spindle still creeps.
About the bias, I played with that. Funny thing is, it doesn't work at 0 rpm, which is where I really want it to work. Let's say I put in a bias of -10 RPM... If I command 100rpm, output will be 90rpm. If I command -100rpm, output will be -110rpm. So I would think that if I command 0rpm, I would have an output of -10 rpm, but that's not correct. If I command 0rpm, output is 0rpm, and my spindle still creeps.
Please Log in or Create an account to join the conversation.
14 Sep 2017 17:45 #98958
by PCW
Replied by PCW on topic Spindle speed offset
Is the spindle enable working?
If you want 0 spindle speed then you would disable the spindle
If you want 0 spindle speed then you would disable the spindle
Please Log in or Create an account to join the conversation.
14 Sep 2017 18:48 #98962
by strantor
Replied by strantor on topic Spindle speed offset
The spindle enable is working. Before I open LinuxCNC and when I first open LinuxCNC, I can turn the spindle by hand. When I press the machine power icon in LinuxCNC toolbar, the spindle becomes enabled like the axes, and begins to turn slowly. When I try to turn it by hand, it fights back. This "fighting back" is what allows me to change tools. The spindle has no brake so it has to be enabled when I change tools. When I am changing tools I would prefer the spindle is not rotating slowly.
Please Log in or Create an account to join the conversation.
14 Sep 2017 19:06 #98965
by PCW
Replied by PCW on topic Spindle speed offset
Is there any offset the stops the spindle?
Note that you may need to change the spindle analog outputs min_limit to allow small
negative values if it was setup for 0 to 10V
Note that you may need to change the spindle analog outputs min_limit to allow small
negative values if it was setup for 0 to 10V
Please Log in or Create an account to join the conversation.
14 Sep 2017 20:58 #98974
by strantor
Replied by strantor on topic Spindle speed offset
+/-10V
-2.97rpm command will keep it still. I discovered this in pncconf, where it has the option to go with an offset voltage. Upon completion of the pncconf wizard I expected the offset that I had entered to become part of my hal/ini file but it didn't and I don't know why. Why would there be an option for an offset in the setup wizard that doesn't become part of the config files and can't be replicated in actual operation? I feel like I must be missing something.
-2.97rpm command will keep it still. I discovered this in pncconf, where it has the option to go with an offset voltage. Upon completion of the pncconf wizard I expected the offset that I had entered to become part of my hal/ini file but it didn't and I don't know why. Why would there be an option for an offset in the setup wizard that doesn't become part of the config files and can't be replicated in actual operation? I feel like I must be missing something.
Please Log in or Create an account to join the conversation.
16 Sep 2017 05:49 #99025
by andypugh
Replied by andypugh on topic Spindle speed offset
You could configure the spindle as closed-loop PID. That will give stiffer speed control, and the PID will handle any offset.
The following user(s) said Thank You: strantor
Please Log in or Create an account to join the conversation.
16 Sep 2017 15:27 #99037
by strantor
Replied by strantor on topic Spindle speed offset
Hey , yeah I'll look into that. I assumed it already was part of a PID loop but probably not, since I should be getting errors from the creep and I'm not.
Please Log in or Create an account to join the conversation.
Time to create page: 0.110 seconds