Makerbase MKS DLC32 configuration won't work

Hi,

I’m hoping to get some help with my problem.

First of all:
My configuration is:
Sculpfun S9 with S10 head. Controller is replaced with a Makerbase MKS DLC32. I use endstops at the top right corner

Previously I used the original controller and connected the S9 to a raspberry Pi with Octoprint. But that doesn’t work as well as I was hoping for (main issue is that the laser can’t get information fast enough to engrave at full speed) Furthermore I didn’t have a way to control the laser (laser is not in my room but remote; computer is in my room). Mobile phone to control the RPi is not exactly convenient so I wanted to do it different.

Best way is to directly control the laser and upload engraving tasks to the laser itself before starting. So I ordered an MKS DLC32 with wifi and touchscreen.

I connected everything. First I configured the laser to work with the touch screen. After doing that (and getting it to work, which means: moving in the desired direction with the controlbuttons and homing to the top right), I hooked it up to Lightburn (licenced) by wifi.

Again I need to change some settings but I just can’t get it to work. I did have the setup working with the RPi running Octoprint… So I used the parameters/settings from Octoprint as a start and tweak settings where needed but now I’m stuck.

My problem:

Homing to the top right works.
Coördinates at the top right are x-400 y-385 (minus coördinates!)
Coördinates at the LOWER left (sorry) (origin) are x0 y0

I can get the laser to move in the desired direction with the cursor arrows in Lightburn but as soon as I start a job (or draw a frame), the head wants to move to positive coördinates (so, to the left of the laserframe and over the front of the laserframe)

Of course I tried many things like changing the origin (but I want it lower left). I tried changing movement direction of X and Y, (and also changing the homing direction). But I just can’t get it to work.

I could move the end stops to the lower left corner but I put them top right so the laser head is out of the way when accessing the workspace. so no wires are in the way. (which makes me thinking… perhapse I should switch the entire laser front/back and left/right and move the end stops so they are on the other corner of the frame but still on the top right in the casing the laser stands in. But then the controller is not reachable but this one I’ll keep in mind)

But please, what setting am I missing or having wrong?

Settings in Lightburn:
Origin lower left

$0=10
$1=25
$2=0
$3=3
$4=0
$5=1
$6=0
$10=0
$11=0.010
$12=0.002
$13=0
$20=0
$21=1
$22=1
$23=3
$24=300.000
$25=1500.000
$26=250.000
$27=3.000
$28=1000.000
$30=1000.000
$31=0.000
$32=1
$38=0
$40=1
$100=80.000
$101=80.000
$102=80.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=500.000
$123=200.000
$124=200.000
$125=200.000
$130=4000.000
$131=3850.000
$132=80.000
$133=300.000
$134=300.000
$135=300.000

ok

Can you confirm that it’s indeed top-left that is 0,0? This would be very strange if you’re saying top right is -400,-385.

So you’re saying you want origin (0,0) at bottom left, correct?

Can you provide the following data? First home, then run the following in Console:

$I
$#
?

Then move to top-left:

?

Then move to bottom-left:

?

Then move to bottom-right:

?

sorry, LOWER left is 0,0

$I
[VER:1.1h.2020062101:]
[OPT:MPHSW]
[MSG:Using machine:MKS DLC32]
[MSG:Mode=STA:SSID=[my network ssid]:Status=Connected:IP=192.168.0.170:MAC=[my macadress]

$H
ok
$#
[G54:403.000,385.000,0.000]
[G55:0.000,0.000,0.000]
[G56:0.000,0.000,0.000]
[G57:0.000,0.000,0.000]
[G58:0.000,0.000,0.000]
[G59:0.000,0.000,0.000]
[G28:0.000,0.000,0.000]
[G30:0.000,0.000,0.000]
[G92:0.000,0.000,0.000]
[TLO:0.000]
[PRB:0.000,0.000,0.000:0]
ok
<Idle|WPos:-400.000,-382.000,0.000|FS:0,0|Pn:P>
ok
Stream wordt gestart

Stream completed in 0:00
ok
$#
[G54:403.000,385.000,0.000]
[G55:0.000,0.000,0.000]
[G56:0.000,0.000,0.000]
[G57:0.000,0.000,0.000]
[G58:0.000,0.000,0.000]
[G59:0.000,0.000,0.000]
[G28:0.000,0.000,0.000]
[G30:0.000,0.000,0.000]
[G92:0.000,0.000,0.000]
[TLO:0.000]
[PRB:0.000,0.000,0.000:0]
ok

I ordered to move 50mm to the right (currently movement direction inverted; i’ve been trying a lot) but moving to the left AND going down as well ??

So after this I gave another homing command and then ordered it to go down (By pressing up on the screen, again just 50mm) but now its moving down and left againg:

$#

[G54:403.000,385.000,0.000]
[G55:0.000,0.000,0.000]
[G56:0.000,0.000,0.000]
[G57:0.000,0.000,0.000]
[G58:0.000,0.000,0.000]
[G59:0.000,0.000,0.000]
[G28:0.000,0.000,0.000]
[G30:0.000,0.000,0.000]
[G92:0.000,0.000,0.000]
[TLO:0.000]
[PRB:0.000,0.000,0.000:0]
ok

So with current settings the command to move just X or just Y results in moving both X and Y

1 Like

What are the dimensions of your machine?

Let’s also start with removing the offset that you have configured

Can you run this in Console:

G10 L2 P1 X0 Y0

Can you rehome and confirm that top-right is now showing as 0,0?

Not sure why your controls are acting odd.

But can you power cycle the laser, then reconnect and then capture any Console output?

Retest jogging controls.

I removed the offset. Then I wanted to change X and Y direction (and homing direction also ofcourse) but immediately changed it back. When I changed the direction the right way, the laser head homes just great but does not move with the ‘cursor arrows’ from Lightburn anymore. So changed them back so left is right and up is down.

Homing leaves me coördinates x=-3 and y=-3 because of the 3mm bounce back I set myself.

Dimensions x400 (plus a few mm) and y385 (plus a few mm)

So just removed the offset. Then run home (top right), move top left, bottom left, bottom right and back to top right. Each time $# after moving. Moving back to top right the last time is not with homing command but with moving.

$h
ok
$#
[G54:0.000,0.000,0.000]
[G55:0.000,0.000,0.000]
[G56:0.000,0.000,0.000]
[G57:0.000,0.000,0.000]
[G58:0.000,0.000,0.000]
[G59:0.000,0.000,0.000]
[G28:0.000,0.000,0.000]
[G30:0.000,0.000,0.000]
[G92:0.000,0.000,0.000]
[TLO:0.000]
[PRB:0.000,0.000,0.000:0]
ok
<Idle|WPos:3.000,3.000,0.000|FS:0,0|Pn:P>
ok
<Idle|WPos:3.000,3.000,0.000|FS:0,0|Pn:P|WCO:0.000,0.000,0.000>
ok
Stream wordt gestart
Stream completed in 0:00
$#
[G54:0.000,0.000,0.000]
[G55:0.000,0.000,0.000]
[G56:0.000,0.000,0.000]
[G57:0.000,0.000,0.000]
[G58:0.000,0.000,0.000]
[G59:0.000,0.000,0.000]
[G28:0.000,0.000,0.000]
[G30:0.000,0.000,0.000]
[G92:0.000,0.000,0.000]
[TLO:0.000]
[PRB:0.000,0.000,0.000:0]
ok
<Idle|WPos:403.000,3.000,0.000|FS:0,0|Pn:P|Ov:100,100,100>
ok
<Idle|WPos:403.000,3.000,0.000|FS:0,0|Pn:P>
ok
Stream wordt gestart
Stream completed in 0:00
$#
[G54:0.000,0.000,0.000]
[G55:0.000,0.000,0.000]
[G56:0.000,0.000,0.000]
[G57:0.000,0.000,0.000]
[G58:0.000,0.000,0.000]
[G59:0.000,0.000,0.000]
[G28:0.000,0.000,0.000]
[G30:0.000,0.000,0.000]
[G92:0.000,0.000,0.000]
[TLO:0.000]
[PRB:0.000,0.000,0.000:0]
ok
<Idle|WPos:403.000,385.000,0.000|FS:0,0|Pn:P>
ok
<Idle|WPos:403.000,385.000,0.000|FS:0,0|Pn:P>
ok
Stream wordt gestart
Stream completed in 0:00
$#
[G54:0.000,0.000,0.000]
[G55:0.000,0.000,0.000]
[G56:0.000,0.000,0.000]
[G57:0.000,0.000,0.000]
[G58:0.000,0.000,0.000]
[G59:0.000,0.000,0.000]
[G28:0.000,0.000,0.000]
[G30:0.000,0.000,0.000]
[G92:0.000,0.000,0.000]
[TLO:0.000]
[PRB:0.000,0.000,0.000:0]
ok
<Idle|WPos:3.000,385.000,0.000|FS:0,0|Pn:P>
ok
<Idle|WPos:3.000,385.000,0.000|FS:0,0|Pn:P>
ok
Stream wordt gestart
Stream completed in 0:00
<Jog|WPos:3.000,33.300,0.000|FS:3000,0|Pn:P>
ok
<Jog|WPos:3.000,32.463,0.000|FS:3000,0|Pn:P>
ok
<Jog|WPos:3.000,24.325,0.000|FS:3000,0|Pn:P>
ok
Stream wordt gestart
Stream completed in 0:00
Grbl 1.1h [‘$’ for help]
ALARM:1
Harde limiet geactiveerd. De machinepositie gaat waarschijnlijkverloren als gevolg van een plotselinge en onmiddellijke stopzetting.Herplaatsing wordt sterk aanbevolen.
Grbl 1.1h [‘$’ for help]
$#
[G54:0.000,0.000,0.000]
[G55:0.000,0.000,0.000]
[G56:0.000,0.000,0.000]
[G57:0.000,0.000,0.000]
[G58:0.000,0.000,0.000]
[G59:0.000,0.000,0.000]
[G28:0.000,0.000,0.000]
[G30:0.000,0.000,0.000]
[G92:0.000,0.000,0.000]
[TLO:0.000]
[PRB:0.000,0.000,0.000:0]
ok

As you can see, moving to the left increases the coördinates, downwards also increases but because of the origin bottom left, the coördinates should decrease when moving left or down.

just to make sure: current list of parameters:

$$
$0=10
$1=25
$2=0
$3=3
$4=0
$5=1
$6=0
$10=0
$11=0.010
$12=0.002
$13=0
$20=0
$21=1
$22=1
$23=3
$24=300.000
$25=1500.000
$26=250.000
$27=3.000
$28=1000.000
$30=1000.000
$31=0.000
$32=1
$38=0
$40=1
$100=80.000
$101=80.000
$102=80.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=500.000
$123=200.000
$124=200.000
$125=200.000
$130=4000.000
$131=3850.000
$132=80.000
$133=300.000
$134=300.000
$135=300.000
ok

moving left/right and up/down are inverted but other than that, if I tell the laser to move 50mm to the left, it does 50mm (to the right). no moving undesired in y direction or all the way

Homing direction and jogging direction are not the same. For now I’ll assume that it’s homing correctly but that the jogging direction controls are opposite.

Can you go to Edit->Device Settings. Change Origin to bottom-left. and then retest?

That’s just the thing. The origin already is set to bottom left (as I want it), so the 4 checkbullets for bottom left, top left, top right and bottom right, the one in the bottom left has the black dot.

About homing and jogging: homing is going as it should. Jogging is inverted (both X and Y). But as soon as I change the jogging direction $3), I also have to change the homing direction ($23), otherwise the homing goes to bottom left instead of top right.

But changing $3 results in being able to home in the top right corner but moving the laser to the left or to the bottom does not work. For some reason then if I give the command to move to the left (with the left button because $3 and $27 have changed to work in the correct direction), I get an error 8 (just once) after that each time an alarm 1 hard limit activated. Weird because I changed it to the correct direction so moving to the left shouldn’t be a problem; there is NO hard limit switch there. But also telling it to go to the right does not work. If I command to go left or right, up or down, doesn’t matter, the alarm 1 appears. Bounce after homing changed to 13mm to make sure the homing switches aren’t too tight set so they aren’t the problem. I really don’t get it what’s going on.

Just to try again. With the current settings I changed the origin from bottom left to upper right (where the hard limit switches are) Then 0,0 is top right. If I order the laser head to move, it moves in the desired direction. Homing is as it should (to top right). Drawing a thing anywhere on the work space and order the laser to outline the thing, the laser head moves to the point it should. Just the origin is in the wrong spot (top right instead of bottom left).

With these settings there is just one ‘problem’ that the origin is top right and the coördinates go from top right (0,0) to bottom left (+400,+385).
So this DOES work but orgin is wrong (so rotating the laser 180 degrees should work with offset entered but that’s not what I want but in case nothing else works…)

(working but wrong origin position):

$$
$0=10
$1=25
$2=0
$3=3
$4=0
$5=1
$6=0
$10=0
$11=0.010
$12=0.002
$13=0
$20=0
$21=1
$22=1
$23=3
$24=300.000
$25=1500.000
$26=250.000
$27=3.000
$28=1000.000
$30=1000.000
$31=0.000
$32=1
$38=0
$40=1
$100=80.000
$101=80.000
$102=80.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=500.000
$123=200.000
$124=200.000
$125=200.000
$130=4000.000
$131=3850.000
$132=80.000
$133=300.000
$134=300.000
$135=300.000
ok

Some of the behavior made me think the origin was not set correctly.

Can you take a picture of your laser?

This is for pull-off, not homing direction. Homing direction is $23.

What values have you tried for $3?

Let’s address one issue at a time.

  1. Move origin back to bottom-left.
  2. Let’s fix origin position. In Console:
G10 L2 P1 X-400 Y-385

If controls are still inverted try $3=0. If that works but homing is inverted then also add $23=0.

  1. Let’s change the dimensions of your laser:
$130=400
$131=385
  1. Let’s enable soft-limits:
$20=1

FINALLY!!! Thank you so very much!

I still don’t get it where it went wrong but homing goes well, coördinates on the screen grid is good, movement in the desired direction, origin bottom left with coördinates 0,0 and top right 397,382 (because the 3mm bounce back)

The X direction on the touchscreen is still inverted but that doesn’t matter much to me. Probably not fixable combined with a good working Lightburn unless the firmware is fixed with the X direction. I thought of changing the wiring on the X motor but that doesn’t help, then the touchscreen would work but Lightburn would be inverted again. Looks like a difference in interpretation of direction on the X between touchscreen compared to lightburn. If there is a way to swap direction in Lightburn without changing $parameters, it could work completely; then I need to change the X direction in the configurarion again (and the homing). If there is a way to change direction in some way without changing the controller configuration, please let me know.

I’ll post my currently working settings for future readers.

$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=1500.000
$26=250.000
$27=3.000
$28=1000.000
$30=1000.000
$31=0.000
$32=1
$38=0
$40=1
$100=80.000
$101=80.000
$102=80.000
$103=100.000
$104=100.00
$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=500.000
$123=200.000
$124=200.000
$125=200.000
$130=400.000
$131=385.000
$132=80.000
$133=300.000
$134=300.000
$135=300.000

Thank you so very much

I don’t think there’s a way of changing the LightBurn direction as the controls are only based on incrementing or decrementing coordinate values. LightBurn assumes positive coordinates and that origin has been defined correctly.

I was looking to see if Makerbase provided source code for their GRBL implementation but looks like they do not in potential GPL violation. It’s possible the WebUI or Touch UI is a completely separate implementation anyway. I don’t see any obvious way to configure much of the behavior there other than for language.

I think I’ll give it a go at the firmware designer. Thank you.

Edit:

Looks like a mistake in the firmware

Anyway, other than that, now I have full control. Touchscreen, Lightburn over WiFi, Android App over WiFi and octoprint over WiFi but connected with USB to the controller.

Finally I van test which wat of controlling is the fastest.

Powering laser, light, air assist and fan for time extraction, controlling laser head, webcam and controlling with Octoprint
But also controlling via Lightburn and screen and app

Wish they would make their source available. This could be resolved very quickly in that case.

Have you tried burning over WiFi? I have seen no successful reports of this happening. Curious how this works for you.

I’m till having some issues with various ways of cutting.

  1. File uploaded to Octoprint, then engraving from octoprint over USB works fine. Cutting from octoprint over USB works also fine.
  2. Uploading file to SD-card in MKS DLC32 has many issues. Uploading is done by the WEB-interface (http in browser) or by android APP. The app often does not have the upload icon available. Uploadbutton in my browser (Chrome) is available but many times the upload fails (4.3k uploaded from 44k file) so corrupted file which ends rather quicly
  3. File loaded in Lightburn, then engraving from Lightburn via WiFi failed rather quickly. Cutting from Lightburn over WiFi has worked so far.

Main difference is the speed. Cutting obviously is done at a lower moving speed so the number of instructions sent over wifi is not so great. However: engraving over USB (Octoprint) or WiFi (lightburn on my laptop) is TWICE as slow compared to engraving directly from SD-card in the MKS DLC32. So for engraving bigger images, the SD card in the laser is the way to go.

Now I just need to get the file to upload without problems.

but cutting over WiFi works fine for me so far (small files; just a simple file with 4 round holes and a rounded rectangular shape around the 4 holes (2 screw holes and 2 holes for the aluminium calibration cilinders for my S9 and S10 laser heads)

It would be nice if people could post these along with a machine readable format. Such as the lightburns .lbset file.

“Edit → Machine Settings” click the ‘save to file’ button… append .txt to it and post that file. I can just remove the .txt extension ‘load from file’ and ‘write’ it to the controller.

:smile_cat:

Okay. This was what others were reporting. But I don’t think this was really working successfully.

Glad you’re making good progress. Thanks for the update.

Progress and set backs unfortunately.

So far in this topic I’ve been changing parameters in Lightburn. I’m encountering new problems. Moving the head on the touchscreen works (X inverted…), moving with Octoprint works. Lightburn? Just homing top right and going to origin bottom left works, other movements don’t. More weird: I’ve added 3mm to the bed size limits (I do have the extra dimensions) so gave the order $130=403 and $131=388 for some easier calculations. But these values are changed back to 400 and 385 after reboot of the laser. Weird. I think I’ll create a new config file, put it on the SD and boot the laser with the new config file (I’ve saved all working settings above ofcourse!! :D)

I think I saw that the board will load a config file. I assume loading of the config file is overwriting any changes that you’ve made.

Didn’t you indicate earlier that jogging controls from LightBurn were working correctly? Are you able to use the Set Laser Position tool (looks like map pin) to move your head to arbitrary positions on your laser?

Yes, jogging DID work (in the correct direction)

I didn’t make any changes other than changing $130 from 400 to 403 and $131 from 385 to 388.

What happens when you try to jog? It’s possible you’d need to redo the offset to accommodate for the larger size. You were getting reversed jogging behavior before the offset creation.

I tried homing (works), going to origin (works) so those coördinates still are correct Jogging resulted in normal messages in the terminal (can’t recall what, can’t look back; information gone after restart) but no movement at all (also not 3mm to the limit stops). But I completely uploaded the correct settings. Now the laser is responsive in Lightburn. So once again I’ll run a laser cutting job from Lightburn over WiFi.

Jogging works partly. 1x 50mm to the left, 2x 50mm to the front(down) goes okay. Then 10mm left, still good. Finetuning with 5mm steps and no go. However if I enter the desired coördinats as target, the head moves to the correct spot.

So from there I started the job. 2 circles cut 6x at 600mm/min go well, then the next object hangs after a few mm. Laser keeps burning but no movement at all. No errors. So now also for me problems when cutting (and even jogging) over WiFi