Test/Tune Axis in pncconf
I hope that's an encouragement to anyone thinking about trying this. Those responsible have done a good job of providing information and PCW at Mesa quickly responded to all the hardware questions I had at the beginning.
Now, I'll admit that even though I can make parts, the mill is not yet close to what it was with the Anilam controller. I haven't been able to configure the I/O board so I have handled all of that manually. Also, i haven't been able to tune the drives, so I have a 1" rapid and .5" feed following error set and I use a G4 P1 command after each move to allow the drive time to catch up. So, I'm sure it will only get better from here.
In PnCConf I was able to use the "Open Loop Servo Test" to verify directions and encoder scaling. It worked well for all three axes. However, when I press the "Test/Tune Axis" button for any axis, I get a pop-up warning that says, "Servo Tuning Is Not Finished". What am I missing or doing wrong?
As for I/O, all of the mill's control logic is done on the common side of a 24 VDC power supply. To start with, I would like to have one NO contact that closes with the "Toggle Machine Power" or F2 buttons in Axis. This would enable the drives. Also, I would like one NC in series with the Axis e-stop circuit. It is embarrassing to admit that I haven't been able to even come close to making this happen.
Any help, direction, or guidance will be greatly appreciated.
Thanks,
Frank
Please Log in or Create an account to join the conversation.
Another way to do it is in AXIS:
under machine heading pick calibration.
this allows you to manually test sero tuning numbers.
remember whatever numbers you punch into this calibration are not coppied to pncconf but is writen to the INI file.
Meaning if you run pncconf again you need to add the numbers into pncconf or pncconf will use the original numbers of PID tunning.
Please Log in or Create an account to join the conversation.
Do you have any familiarity with HAL yet?As for I/O, all of the mill's control logic is done on the common side of a 24 VDC power supply. To start with, I would like to have one NO contact that closes with the "Toggle Machine Power" or F2 buttons in Axis.
If not, this is a good starting point: linuxcnc.org/docs/html/hal_basic_hal.html
You need to connect a suitable HAL "pin" to another HAL "pin" which corresponds to one of the output drivers on the 7i37.
Assuming that the 7i37 is plugged into the middle header (P3) then 7i37 OUT0 is on pin 33, which is GPIO 040 in HAL. (I figured that out from the 7i3 manual and the pin-allocation information that the Hostmot2 driver put in dmesg.
You need to make this pin an output, which you can do with a line like this in the custom HAL file (changes in the custom HAL file will not be over-writtten by pncconf)
setp hm2_5i20.0.gpio.040.is_output true
net main_breaker halui.machine.is-on => hm2_5i20.0.gpio.040.out
Note that the => has no function, it is purely a convention for human readability. The pin names need to be correct (you can see them all in machine->show hal config inside axis) but the signal name (main_breaker here) can be freely chosen to make sense to you.
Please Log in or Create an account to join the conversation.
Thanks for the quick reply. I was able to tune all three axes to a much better responsiveness and cut my following error way down. I did this by just trying different numbers in the Axis calibration window. Is anyone aware on a tutorial for fine tuning the drives?
I have glass scales with .1mm resolution and the drives are currently going to position and then moving back and forth the .0004". Is there a way to lock them from doing this when they are in position? They didn't do it with the Anilam controller.
Thanks,
Frank
Please Log in or Create an account to join the conversation.
Thanks for taking the time to give such detailed information. I'm not familiar with HAL yet. I was trying to make the connections in PnCConf since the pins are all listed on there. I was hoping I could point and click them into submission.
I will try to work through this HAL info this week.
Thanks,
Frank
Please Log in or Create an account to join the conversation.
John
Please Log in or Create an account to join the conversation.
You need to make this pin an output, which you can do with a line like this in the custom HAL file (changes in the custom HAL file will not be over-writtten by pncconf)You then need to link that GPIO pin to a HAL status pin. The best pin for that is probably halui.machine.is-on. So, in the HAL file you needsetp hm2_5i20.0.gpio.040.is_output trueYou might not have the halui…. pins if your INI file doesn't contain the magic line HALUI = halui. Though I suspect that pncconf does insert it.net main_breaker halui.machine.is-on => hm2_5i20.0.gpio.040.out
Note that the => has no function, it is purely a convention for human readability. The pin names need to be correct (you can see them all in machine->show hal config inside axis) but the signal name (main_breaker here) can be freely chosen to make sense to you.
You can do most of this from PNCconf with out a custom HAL file.
Not sure what version of EMC you are using.
You can select GPIO as input or output or open drain in PNCconf (pintype combobox)
You can invert the logic in PNCconf (INV checkbox)
The signal you can use for machine-on is amplifier enable.
If you are using EMC 2.5 (you are probably not ) there is a machine on signal (though internally it's the same thing.)
PNCconf always loads HALUI so all those pins are available to connect to in a custom HAL file Iif you want something PNCconf doesn't have.
The help button in pncconf should .....help!
press it while on the mesa page and it should throw some light on setting up the I/O
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
I'm not familiar with HAL yet. I was trying to make the connections in PnCConf since the pins are all listed on there.
Well, in that case, and following on from Chris' reply, use pncconf.
I tend to use raw hal because much of the time I am using components that pncconf doesn't know about, generally because they aren't even finished yet.
Please Log in or Create an account to join the conversation.
Thanks so much for your help. I have a much better idea of where I'm heading and how to get there now.
In regards to following error, what is a reasonable expectation to get it down to? I was able to bring my rapid following error setting down to .2" from 1" at 100"/min and my feed setting down to .05" from .5", this works up through 50"/min. I also had to decrease my max acceleration setting to 1 from the PnCConf default of 2.
I haven't tried John's method of tuning yet, I'd like to have an idea of what to shoot for.
Thanks again,
Frank
Please Log in or Create an account to join the conversation.