Problems with stepper speed

More
17 Dec 2013 04:41 - 17 Dec 2013 18:54 #41653 by llrjt100
I'm configuring a Pico-Systems Universal Step Controller with Xylotex 4 axis driver to control a Wabeco D6000E lathe. My goal is to make the best worm and wheel I can, starting simply, and increasing sophistication as needed.

Worm
This requires spindle/z axis sync - first I'll try a simple single pulse per rev spindle encoder without spindle speed control, then I can add the Pico-Systems spindle DAC and a higher resolution spindle encoder and/or z axis encoder.

Wheel
This requires a rotary table to be mounted to the toolpost and a synchronised hob to be driven by the spindle. I've got various high resolution rotary encoders I can use for the rotary table.

I'm running LinuxCNC 2.5.3 on the recommended release of Ubuntu and having a few issues:

1. My PCI parallel port is at address 0xe400 - I've added a parameter to the univstep_load.hal 'loadrt hal_ppmc port_addr=0xe400', but it doesn't find the port unless I open a terminal window first, and type '$ sudo modprobe parport_pc io=0xe400' followed by '$ sudo modprobe lp' - I'd welcome any ideas as to how I address this in the .hal files

2. My stepper speeds are very low - they are 1.8 deg, running 1/8 microsteps with a 2.5:1 belt reduction and 4 mm per turn lead - I make this 1000 micro steps per mm. Increasing max speed, acceleration and pid velocity doesn't seem to have any effect - SOLVED: - rather embarrassingly, this was being limited by my value for MAX_FEED_OVERIDE!

3. After jogging an axis a set distance, the stepper takes a time to settle - reducing the default PID 'I' value from 100 to 10 has helped, but not completely eliminated the problem. This is particularly affected by jog speed - so if I jog 0.1 mm at 50 mm/min, there are no 'settling' steps after the move. If I jog 0.1 mm at 5 mm/min, I can hear a succession of 'settling' steps after the move - the gap between them gradually getting longer until the steps stop - there is no physical encoder involved, just the stepper and the USC's virtual encoder position being sent back to LinuxCNC.

4. The example Pico-systems .hal file has 3 axes defined for thread sync - I'm currently using x & z, but not sure whether I need to somehow suppress the third one for the moment (not sure what it is either).

Any help with the above would be much appreciated :-)

Richard
Last edit: 17 Dec 2013 18:54 by llrjt100.

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

More
17 Dec 2013 21:14 #41697 by andypugh

1. My PCI parallel port is at address 0xe400 - I've added a parameter to the univstep_load.hal 'loadrt hal_ppmc port_addr=0xe400', but it doesn't find the port unless I open a terminal window first, and type '$ sudo modprobe parport_pc io=0xe400' followed by '$ sudo modprobe lp' - I'd welcome any ideas as to how I address this in the .hal files

You can't solve this in HAL, but you should be able to either blacklist the modules:
ubuntuforums.org/showthread.php?t=166624
Or run the modprobe commands in a startup script, for example in /etc/rc/local
askubuntu.com/questions/814/how-to-run-scripts-on-start-up

3. After jogging an axis a set distance, the stepper takes a time to settle - reducing the default PID 'I' value from 100 to 10 has helped, but not completely eliminated the problem. This is particularly affected by jog speed - so if I jog 0.1 mm at 50 mm/min, there are no 'settling' steps after the move


This can be due to the hardware stepgen not having any "overhead" over the trajectory planner settings.
I would check that ppmc.<port>.stepgen.<channel>.max-vel is a somewhat larger number than the machine max velocity.
The following user(s) said Thank You: llrjt100

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

More
20 Dec 2013 20:00 #41870 by llrjt100
Thanks Andy - I'll try both of the steps you have suggested.

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

Time to create page: 0.093 seconds
Powered by Kunena Forum