3018 Pro Laser Positioning Issues

When trying to get the laser to work the following issues arose.

Framing would work but then cutting would just crash into the end stops!

Repositioning the work sometimes resulted in a mirror image being cut.

Really frustrating until I realised that the issue was not software, but physical position of the bed.

This machine has no actual feedback of the actual bed position by any sort of encoder or other means. The issue is due to the controller recording the position of the table and head by the simple process of adding or subtracting the number of steps sent to each of the stepper motors.

I had been doing some work adding limit switches to all axis and also doing some lubrication.

While lubricating the lead screw, I had moved the table and head manually by turning the leadscrews with the power off of course.. Consequently, the positions reported by the controller were in no way related to the actual bed position! I had simply fooled the controller by turning the leadscrews by hand.

To correct this the following procedure was used.

Disconnect the X and Y motor drives by unplugging from the actual motor.

Use Candle or similar software, (LaserGRBL etc), to drive the bed to a zero position on both the X and Y axis. Obviously, the motors were not being driven but the controller does not know that and returns the bed position by the counting method outlined previously. Once the controller has been set to zero on both the X and Y axis power down the controller.

Drive the bed manually to the required zero-position by hand turning the lead screws for both the X and Y axis. I use rear left for my zero position.

Re-connect the two motors X & Y and power up the controller.

Load up Lightburn software, and use the get position button before doing anything else. Check that the controller is reporting all zeros. This is important if it is not reporting both X and Y as zero then you may need to repeat the procedure above.

Now using the Lightburn move button check that the bed is moving in a positive direction for both axis.

I use absolute positioning and always start from the 0,0 co-ordinates.

Framing and cutting should now both work OK.

Me too.

I have never had to disconnect the motors on my 3018 Pro CNC. I have had to manually screw the table off the limit switches, but that has been worst case.

I was a CNC technician and had trouble understanding why you had to go through that process you described. When you power the machine up, it seeks home. If configured without switches, “Home” is the Origin where you power it up. You cannot fool the controller by moving an axis with the power off. The controller loses position information when the power is off.

Thanks for your reply Mike.
I should have mentioned that Homing doesn’t work on my 3018 pro!

If I enable homing the first thing that happens is that the Z drive goes upward until it hits the limit switch and then keeps driving so a crash occurs.
It would appear that on my controller the limit switches only operate during jogging.

If the model were to be off table the X & Y would also crash but still operate and stop the drives when jogging.

Limit switches are a great thing, but if the controller does not recognise them as a priority then they become somewhat of a nuisance.

I could debug the controller software, as I am a software engineer, but, being retired I have other things to do and do not want to spend the time debugging software.

If anyone has a fix for this I would like to hear it?

That does not make sense. It is the same switch for both. Did you set GRBL parameter $22=1?

Thanks Mike

Yes the same switch should do both, I agree with you, and I have set $22=1.

For anyone else reading this, if $22 is not set to 1 and switches are NC then the machine won’t do anything. $22=0 is for NO limit switches.

I conclude that the fault (sorry design feature), is in the controller software as it does not handle the switches correctly and with priority.

The switches on the 3018 pro were recently rewired from Normally Open, in Parallel, to Normally Closed in series. As I thought that the NO may have been the issue.

I saw some information that the two inputs for the switches actually go to a single port on the Microcontroller using weak pull up resistors so thought the NC switches would be better, and obviously safer. I also examined interference in the wiring but nothing significant there either.

It appears that after Lightburn sends a batch of GCode to the controller, it executes said code, and while doing so ignores any limit switch inputs. If the models code takes the bed outside of physical limits the corresponding stepper motor just crashes!

Crashes also can occur during framing if the model does not quite fit the bed. Crashes like this then move the zero points inside the controller and the physical zero point then has to be corrected using the procedure in the previous post.

In my 3018 pro controller jogging appears to be the only operation where the limit switches are effective?

I have also observed that the controller retains the X & Y positions during power down but not the Z position which resets to zero after power cycling. This is probably on purpose as the machine was originally designed for CNC, and, I do in fact have the motor for that. Changing the configuration to CNC may possible make it work differently but in doing so the laser does not turn off during moves which leaves undesired lines across the workpiece. So not an option.

Maybe I just have a rogue one, it is quite old one from China. I could consider changing the controller for a newer model. Any suggestions on this subject would be welcome?

Lightburn has nothing to do with the limit switches. That is entirely within the controller. It only uses the Max Travel values to compute boundries based on the coordinate system setup.

This may be true for your controller, but if so it was designed for use with resolvers, which are not on most lasers. If you have resolver motors, by all means make them work!

This is (may be) true for your controller, but not typical. The $21 parameter only says the machine has limit switches or not. The N.C. or N.O. choice is determed by the controller electronics circuit design. What you have is what you get. The choice is normally for N.O because switches normally fail stuck closed (welded contacts).

Interesting concept, but you cannot order weak or strong resistors.

If the GRBL software is v1.1 or later, this is controlled by the $31 parameter. It was added just for turning off the spindle (laser) during G00 moves.

Because of what you have described so far, I recommend against trying to flash the controller with updated software. Replacing the controller board makes more sense.

You got me convinced!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.