Inverted position in Lightburn (MKS DLC32 GRBL)

Hello.
I’m converting a Full Spectrum Laser 400X600 80W CO2 to be controlled with a MKS DLC32 v2.1 controller.

I am having quite a bit of trouble getting this thing working. This machine homes to the back right. I have given it a G10 L2 P1 X-600 Y-400.
The console feedback is reporting positive X/Y/Z coordinates, but Lightburn is interpreting as negative. $10 is set to 0. Below is a console log. To me, it shows correct coordinates (But I’m new). I’ve attached a screenshot of what Lightburn think the coordinates are. Any help would be great. I’ve tried everything I know to do and I’m out of things to try.

  • If I issue a G0X300Y200, it moves correctly (ignoring that my steps per mm are off a bit right now). If I ask Lightburn to jog the machine to that same position, it will try to run the head infinitely to the left and forward (X+, Y+). It will crash if I don’t kill power to the machine.

  • One final thing that I’ve now noticed. I have been homing the machine though Lightburn and it appears to home correctly. If I try to home with the controller screen, it jogs X and Y in the “wrong” direction. I think it’s homing to the workspace X0y0, correct?

A fresh set of eyes on this would be great…

Waiting for connection…
ok
ok
[VER:1.1h.2020062101:]
[OPT:MPHSW]
[MSG:Using machine:MKS DLC32]
[MSG:Mode=STA:SSID=The Whisperer:Status=Connected:IP=192.168.1.241:MAC=E8-31-CD-5B-7D-D0]
ok
G10 L2 P1 X-600 Y-400
ok
$$
$0=10
$1=25
$2=0
$3=0
$4=0
$5=1
$6=0
$10=0
$11=0.010
$12=0.002
$13=0
$20=0
$21=1
$22=1
$23=0
$24=300.000
$25=1000.000
$26=250.000
$27=10.000
$28=1000.000
$30=1000.000
$31=0.000
$32=1
$38=0
$40=1
$100=78.897
$101=78.897
$102=100.000
$103=100.000
$104=100.000
$105=100.000
$110=6000.000
$111=6000.000
$112=6000.000
$113=1000.000
$114=1000.000
$115=1000.000
$120=500.000
$121=500.000
$122=5.000
$123=200.000
$124=200.000
$125=200.000
$130=600.000
$131=400.000
$132=142.000
$133=300.000
$134=300.000
$135=300.000
ok
ok
<Idle|WPos:590.012,390.012,0.000|FS:0,0|Pn:P|WCO:-600.000,-400.000,0.000>
ok
<Idle|WPos:590.012,390.012,0.000|FS:0,0|Pn:P|Ov:100,100,100>
ok
<Idle|WPos:590.012,390.012,0.000|FS:0,0|Pn:P>
<Idle|WPos:590.012,390.012,0.000|FS:0,0|Pn:P>
ok
<Idle|WPos:590.012,390.012,0.000|FS:0,0|Pn:P>
ok
ok
<Idle|WPos:590.012,390.012,0.000|FS:0,0|Pn:P>
ok
<Idle|WPos:590.012,390.012,0.000|FS:0,0|Pn:P>
<Idle|WPos:590.012,390.012,0.000|FS:0,0|Pn:P>
ok
ok

This is coming from your controller, not Lightburn. Lightburn only reports what the controller feeds it.

This appears to be a coordinate setup issue. Get it to travel to Home properly from anywhere in the workspace. Then make sure the Jog buttons command motion in the right direction. I think the control panel and Lightburn should match because the controller is the brain of the operation. My controller board for my CNC showed an interaction between $3 and $13. In other words, changing one would make the other wonky.

This seems to indicate you do not have Lightburn set up properly. The -X and the -Y in the G10 command bothers me. Mine Homes front left and it took a -X and +Y (???) to get it right. So do not assume the obvious.

For what it is worth, I fiddled with my CNC (used to be laser too) for 3 days before I got it right. And that was with an “exact replacement” board. Keep messing with it. You will eventually get it sorted out. and repeat after me, “I will take blind dumb luck over skill any day!”

I have just installed same board and feel your pain.
Homes in upper left and when I hit origin it goes to lower left.
I have managed to get things working sort of, but get position always seems wrong.
Best advice I have so far is to enable last position in your laser window and that will at least show you where the software thinks your laser is. And then you can have some visual to try and help you.

And I would keep $13 set to MM, totally makes a mess of things in inches.
Also, I have soft limits disabled to make things work yet it will stop now before hitting rails which seems strange also.

I’m not following. WPos is showing positive numbers. Lightburn should be only using WPos per their own documents. WCO is because this machine has an offset so Lightburn can interact with the machine in only positive coordinates. ( G10 L2 P1 X-600 Y-400 ).

I think it is keeping you inside the defined workspace in Lightburn.

Interesting, can you provide a link? I am pretty sure $10 allows you to decide what to report to Lightburn.

Yes. It’s at: Negative Coordinate Machines

Maybe you can provide the actual text? I could not find where it says “only using WPos per their own documents.” WPOS is where the controller thinks the laser is located…

LightBurn expects positive workspace coordinates. If your machine is configured to use negative workspace coordinates, you can set a workspace offset to enable compatibility with LightBurn.

This is all done in the controller.

Let us work on what it takes to get your machine, and you, happy. From your original post, the Home command is initiated by Lightburn sending a $H command to the controller. LB does not tell the controller where the limit switches are located. You said both Home and Jog are not working properly

  1. Fix HOME first. If the controller screen sends it to the wrong place, that is a controller issue.
  2. . Fix JOG second. Again, the controller screen is direct into the controller, so it needs to be fixed there. Lightburn will then obey that setup.
  3. Finally, set up your work coordinate system so Lightburn is offered a +X+Y workspace. this is where the G10 command is handy. Until #1 & #2 are fixed, G10 should be all zeroes (NO X or Y offset).

As @MikeyH pointed out, that’s not correct, you can decide what the laser will report. There is only one value sent by the laser, and LB will use that. You can change it between workspace and machine coordinates.

If your machine homes to back-right, this is wrong. Since you want the 0,0 position to be front-left, you need to set this offset to G10 L2 P1 X600 Y400… Then your back-right corner sits at 600,400. And if LB wants to move to 0,0 or some other positive coordinate, it will move left and down.

1 Like

I have a equal controller board with which I also encountered the same problem and it was necessary to reinstall the firmware.
However, I know that there is a table (which I can’t find because I forgot how it is identified) that is used to change a value between 0 and 8 (if memory serves) in one of the $ parameters (unfortunately, I don’t remember which one either) which affects the direction of the axes according to the value. .
I ask for help from anyone who knows what I’m referring to and can shed some light on the subject here.
From my experience (not much but it is some) the MKS DLC32 controller board works very well but there are always some bugs in the firmware versions that are being made.

This table
grafik
can be found here: Grbl v1.1 Configuration · gnea/grbl Wiki · GitHub

Though, in most cases it’s even easier to just go into the LB machine settings, where you don’t have to mess with those numbers, but just toggle a button behind each axis “direction pin invert” setting.

2 Likes

Exactly, thank you very much.

Now I can’t guarantee 100%, but I believe that changes to the lightburn alone would solve the problem completely.
Yes, it would solve the problem with regard to the lightburn, but the display on the control board could have inverted controls.
As I said, I can’t guarantee 100%, but I believe that this was the problem I was struggling with at the time and it was based on the table that I solved it.

Firstly, thank you to everyone for trying to help. Please bare with me as I try to reconcile everything…

If I do that then the back-right DOESN’T sit at 600,400. If it’s set as G10 L2 P1 X-600 Y-400, then it DOES set at 600,400 (see log on first post). Negative is also what LB states is the correct per docs. If I manually enter G0X0Y0, my machine will move to the front left (With G10 L2 P1 X-600 Y-400 enacted). Exactly as it should. If I ask LB to move the machine using the jog to position function, then it won’t to the correct position because it’s inverting the output of WPos. Never at anytime is LB using Machine coordinates.

The machine homes ($H) correctly to the back right.

Exactly. With $10=0, LB should only be using WPos. This is what the LB docs describe. I am not wrong here. And the machine is reporting WPos correctly (see log on first post). LB is taking that correct X, Y value and inverting the coordinates. It changes the positive numbers listed in WPos to negative numbers. Those coordinates in the screen shot are NOT machine coordinates. They’re WPos with a negative erroneously in front.

If need be, I can “flip” the machine and turn machine coordinates all positive just to see if Lightburn will work with the junk controller. I’ve built 2 large CNC mills with LinuxCNC, so I understand basics…This MKS32/Lightburn combo is…disappointing.

I believe this is completely an issue in LB. I’m going to see what else can be changed. I suspect LB is inverting WPos as some sort on work space compensation setting.

First off, I don’t know anything about gcode commands so take this as you will. Common sense tells me that If your machine wants to home to back right, set Lightburn to back right home position. I haven’t read every line of this thread but I didn’t see where you ever tried that. I think you’re overthinking the whole process.
image

1 Like

Alright Solution found. Under device setting in LB, I had “CNC Machine” turned on. This inverts the position of WPos from positive to negative. This was exactly the issue I was encountering. Now everything (from a coordinates system standpoint) is working…Now to start on the laser side… I must have turned it on during early troubleshooting and didn’t notice the effect at that point.

Just a quick rundown for those in the future.

  • Full Spectrum Laser 400x600 machine.
  • Homes to the back right. ($H)
  • Machine should be set to report WPos (Work Position) coordinates. See $10 for GRBL controllers.
  • You MUST use G10 L2 P1 X-600 Y-400 (Must be negative!!!)
  • Do NOT toggle on “CNC Machine” under LB Device Settings. It must be OFF.
  • Origin point with in Device Settings should be bottom-left. This is because LB is only looking at the machine from a WPos view point. LB doesn’t know, nor care about where 0,0 is on the machine coordinate plane. It only know WPos.

I won’t say you’re wrong.
What I think you should always keep in mind is that, according to the experiences I’ve had with the MKS DLC32 board, there are many versions of the firmware because almost all of them have some bug. Depending on the user, sometimes it works perfectly and sometimes it doesn’t.
My experience is based on the number of times I needed to install the firmware until I found one that suited my needs.

I won’t say you’re wrong.
What I think you should always keep in mind is that, according to the experiences I’ve had with the MKS DLC32 board, there are many versions of the firmware because almost all of them have some bug. Depending on the user, sometimes it works perfectly and sometimes it doesn’t.
My experience is based on the number of times I needed to install the firmware until I found one that suited my needs.

I just saw that it is solved! Now I know what this function is for. :+1:

Thank you…because I’m not wrong.
Yes, the MKS DLC32 is a bug fest. I’m on “V2.10_H35_2022_0621_N_ZX_001.bin” because I need a Z axis. If the firmware was open source, I believe these bugs would be wiped out quickly. In retrospect, I should have used a better controller, but I was trying to save money both on the controller and on the LightBurn license.

1 Like

Status report, ‘?’ status.
0=WCS position,
1=Machine position,
2= plan/buffer and WCS position,
3=plan/buffer and Machine position.

This does not matter. What you found was the solution, and you got an education along the way. Win-win!

As I’ve read it, homing and origin are unrelated. When you click go to origin, then you set your origin point to that corner.

Is your firmware the CNC or laser?