Hi all,
I have been converting an old Universal Laser Systems 25A machine to run on glass Chinese tubes and LinuxCNC (beentheunseen | Nerdular Nerdence, *****es). Everything has gone great so far, and it's almost completely up and running, but I just have one very annoying problem I can't solve. It seems to be loosing its position very slightly on both axes, which is not a huge problem for on large projects, but for more detailed engraving it is more significant. It doesn't seem to be cumulatively building up a large positioning error, as it only seems to wander out of position by a maximum of around 1 or 2 mm even on complex jobs. However it does seem to be quite random - if i start the same job a few times it wanders off in a different direction each time. The strange thing is that If I do a test where i fire the laser at a point, then jog the position backwards and forwards a few times, then return it to the same point and fire the laser again, It always lines up with the original mark, even when I leave it jogging backwards and forwards for a while. However, when I run a program that contains a circle, the end of the circle does not meet the start.
I'm using a simple parallel port breakout board with no opto-isolation, and the motors are being driven by 2 pololu stepper drivers on a 24 volt supply. The belts are tight and the axes are mechanically rigid, so I am confident that I am not suffering from any significant backlash, and I have tried increasing the motor torque and also dropping the max speed/acceleration to make sure I am not loosing any steps through inertia.
I have also been experimenting with the motor timing settings. For pololu drivers a step time/space of 1000/1000 ns and direction hold/setup of 200/200 ns are recommended. However, I have tried increasing the step time/space to ensure my drivers are not missing steps, and have tried increasing the direction hold/setup to ensure the direction changes are not overlapping any step signals. My system seems to be able to support a base period jitter of around 22000ns, but i have tried increasing this as high as 30000ns to be sure. I have also started to look at the steps in halscope:
Attachment 173816
One thing that does seem slightly odd to me here is that the steps don't seem to be uniform in length. Is this normal?
I also tried making the wires between the breakout board and steppers much shorter to ensure they are not picking up any noise, and have introduced decoupling capacitors to the drivers +5v and +24 supply. I have also rewired all my earths to the same point to make sure there are no ground loops.
Can anybody help me out? This problem is driving me mad, and nothing I do seems to make a difference.
Cheers, Ben
I have been converting an old Universal Laser Systems 25A machine to run on glass Chinese tubes and LinuxCNC (beentheunseen | Nerdular Nerdence, *****es). Everything has gone great so far, and it's almost completely up and running, but I just have one very annoying problem I can't solve. It seems to be loosing its position very slightly on both axes, which is not a huge problem for on large projects, but for more detailed engraving it is more significant. It doesn't seem to be cumulatively building up a large positioning error, as it only seems to wander out of position by a maximum of around 1 or 2 mm even on complex jobs. However it does seem to be quite random - if i start the same job a few times it wanders off in a different direction each time. The strange thing is that If I do a test where i fire the laser at a point, then jog the position backwards and forwards a few times, then return it to the same point and fire the laser again, It always lines up with the original mark, even when I leave it jogging backwards and forwards for a while. However, when I run a program that contains a circle, the end of the circle does not meet the start.
I'm using a simple parallel port breakout board with no opto-isolation, and the motors are being driven by 2 pololu stepper drivers on a 24 volt supply. The belts are tight and the axes are mechanically rigid, so I am confident that I am not suffering from any significant backlash, and I have tried increasing the motor torque and also dropping the max speed/acceleration to make sure I am not loosing any steps through inertia.
I have also been experimenting with the motor timing settings. For pololu drivers a step time/space of 1000/1000 ns and direction hold/setup of 200/200 ns are recommended. However, I have tried increasing the step time/space to ensure my drivers are not missing steps, and have tried increasing the direction hold/setup to ensure the direction changes are not overlapping any step signals. My system seems to be able to support a base period jitter of around 22000ns, but i have tried increasing this as high as 30000ns to be sure. I have also started to look at the steps in halscope:
Attachment 173816
One thing that does seem slightly odd to me here is that the steps don't seem to be uniform in length. Is this normal?
I also tried making the wires between the breakout board and steppers much shorter to ensure they are not picking up any noise, and have introduced decoupling capacitors to the drivers +5v and +24 supply. I have also rewired all my earths to the same point to make sure there are no ground loops.
Can anybody help me out? This problem is driving me mad, and nothing I do seems to make a difference.
Cheers, Ben