- November 29, 2016 at 5:50 am #21705
I’m testing my new mpcnc with a generic chinese 5.5W (at least sold as 5.5W).
1) Did you buy everything from here? => NO
a)If you didn’t or changed some things please don’t leave out any details. => No changes. Steppers are in serial connection.
b)What firmware? => Marlin 1.1.0RC7 downloaded from here.
2) Are you using end stops? => NO
a)If so please disconnect them.
3) Are you using all my recommended parts? => Yes
a) If not please list what parts you used.
4) Include a picture so obvious errors might be spotted. => See attachs
My laser is connected to PWM D9, it responds ok to intensity changes (M106 Sxxx).
A quick test with inkscape j tech photonics (https://jtechphotonics.com/?page_id=2012) looks great.
Then I try image2gcode mpcnc edition (downloaded from http://www.vicious1.com/forum/topic/image2gcode-free-raster-image-laser-engraving-software-modified-for-mpcnc/page/6/#post-15455) and I have results as attached. This picture is with PWM max to 63, speed 1200 mm/min, 0.18 mm dot size, no acceleration changes from the default vicius firmware over mdf.
There is some kind of pattern, every 14/15 lines, is like the laser engrave out of the place for some time.
Should it be a mechanical issue? Stepper driver issue (DRV8825 at 0.7v, my motors are 1.5A rated)? Laser driver issue?
The x movements seems a bit bumpy/jerky….
Attachments:November 29, 2016 at 8:59 am #21714
Martin this has come up a few times recently. I’m not sure what it is. My laser has done this as well. I have gotten clean pics though. I will have to put the laser on this evening or tomorrow and see if I can help trouble shoot this.
Since you are using a different laser and driver, we can rule those components out. I hope.
Lcd SD vs over USB (could be a communication speed thing)
speed (could be an arduino buffer thing)
acceleration (multiple speed changes, also maybe increase the jerk for the laser to ignore small accel changes)
software (bad “slice”)November 29, 2016 at 11:32 am #21734
All my tests are from the SD, so the usb/serial should not be the problem.
I’ll try this page http://nebarnix.com/img2gco/ to convert the image to gcode…. same speed, same power of my image2gcode test to compare.November 29, 2016 at 11:40 am #21735
On that link you put up this is what I am thinking the issue is.
A note on commands per second: My Printrboard can handle about 280 commands per second over USB and about 380 when printing from the SDcard. This is somewhat abstracted to this program only because commands can vary considerably in length.
When we mill or print there is a relativity long period between commands. With the laser it is very short it can try to burn 1 dot then move. where with any other functions the smallest movement is probably 100x’s that size.
I think this could be tested with a solid black square. I bet this works, same setup same accel, same software. It’s the details and tiny tiny commands. The next issue is how to fix it other than just slowing down. Optimism the code, marlin or gcode?November 29, 2016 at 12:28 pm #21737
If the problem is related with the steps quantity, going to 1/16 microstepping should half them…. also the quality…
If it’s related with the cpu power, a 32bits board like smoothieboard may be a solution for this kind of works….November 29, 2016 at 12:34 pm #21738
Leo69 explained in another post why step rate wouldn’t effect it, I can’t find it now.
It actually shouldn’t change the quality a noticeable amount, our step size is so ridiculously low we can go to about 1/8th stepping before you would notice anything I think.November 29, 2016 at 5:28 pm #21748
Same image, “sliced” with http://nebarnix.com/img2gco/, same power, same speed…. it seems better, but same issue…
Attachments:November 29, 2016 at 5:33 pm #21751
Same image, image2gcode mpcnc edition, power 0 to 56, 800 mm/min…. the lines out of place still there….
Attachments:November 29, 2016 at 7:02 pm #21756
Not wanting to say bad things about free software, I do think this issue may be Marlin/LCD related. A quick look at the Marlin code shows the fan control (I.E. laser control) is run from the idle loop, not the stepper interrupt – so it’s already slightly out of sync with movement. However, the LCD update routines take ~40ms for the text LCD and ~120ms for the graphics LCD. The LCD is also run from the idle loop. Patterns showing up every 14/15 lines are most probably because the LCD refresh/update is delaying getting to the code to turn the laser on/off while the steppers are happily moving via the interrupt. The Marlin guys are working on making the LCD routines better (I saw pretty bad circles due to the LCD taking up too much time and they also said the delta machines need more CPU and are affected by the LCD refresh). Just my 2c thoughts though, and I use GRBL for this sort of thing and only change firmware if I’m going to 3D print something big (otherwise I’d use my CTC 3D printer).
Edit: You could possibly test this, if you disable the Marlin 30 second menu timeout, by entering the menu system and leaving it there (it doesn’t update the LCD unless you touch the controls) and let the thing finish the job… Or enter the menu and run the job while going ballistic on the controls to see if the laser image is a whole lot worse.November 30, 2016 at 4:06 am #21828
Thanks Jasoroony, it make sense.
In the current RCBugFix branch of marlin repo, it seems that developers take care of this…. no updates to LCD if the segment is too short…
Time to try last marlin version?
Attachments:November 30, 2016 at 11:51 am #21894
Jasoroony is totally right about the LCD. I’ve posted in the past about how you can see the movement stutter coinciding with the display updates on the LCD. I’ve disabled the updates on my firmware to get around this but I never noticed that it caused the issue with lines running out of the image. Possible for sure though. Have you tried increasing the acceleration values? You can do this with preprocessor gcode so to don’t need to change in your config. H. This timing mismatch between the fan control and the steppers shouldn’t be noticeable in the burned image but it would be nice to see it fixed. I’ve modded my own firmware for increased pwm resolution and better timing . I’d post instructions but I know they’ll be impossible to support with new Marlin releases coming out on a regular basis.November 30, 2016 at 1:09 pm #21904
Thanks Leo. I’ve tested with 2000 mm/s^2 in the gcode but no change at all.
I’ll try rcbuxfix branch to disable lcd updates in short segments.November 30, 2016 at 2:44 pm #21910
Can you post the source image and the gcode? I’m wondering if this is related to the stronger laser that you’re using. You’re setting max pwm power at around 60 and the software is interpolating grayscale pixel values between 0 and 255 into power values between 0 and 60. You’re losing about 75% of your grayscale resolution. What laser driver are you using?November 30, 2016 at 3:05 pm #21911
Sure. Original source image and gcode attached.
This is the laser with driver:
As the driver ttl logic is inverted, I’ve connected a npn transistor between D8 output and driver input to have S0 no power at all, S255 full power.
Attachments:November 30, 2016 at 4:53 pm #21914
Firsts test with Marlin 1.1.0 RC7 + Bugfixes up to 20161130 with ENSURE_SMOOTH_MOVES defined….
Much better, but still some artifacts….This image is the same gcode file as the first picture in this post printed with newest marlin fw (1200 mm/min, default acceleration).
Attachments:November 30, 2016 at 5:01 pm #21917
Same gcode as previous but with this gcodes added to change acceleration and jerk:
(Generated by 3dpBurner Image2Gcode v0.4-DECIMAL PATCH)
G0 X0 Y0
M201 X5000 Y5000
M205 X20 Y20
G0 Y62.862; Move to top left corner and begin box
G92 X0 Y62.862
Attachments:November 30, 2016 at 5:40 pm #21920
Same gcode file from post 21751, new firmware…. much better… but still some artifacts…
Attachments:December 1, 2016 at 7:06 am #21946
Is there a way to unplug just the display and keep access to the SD and then initiate an SD print from Repetier host?December 1, 2016 at 9:19 am #21949
No but you can get an sd card adapter for the ramps for a few dollars. You start it from repetier or matter control then you can disconnect but then you have no control after that. I don’t know if that would change anything. Actually it might still work from the screen. One of the two ribbon cables is only for the SD card I think and the other is for the screen. You might be able to unplug the screen and just use the sd card. Of course to see any benefit you would need to change the firmware to a non LCD version.
I have to take off for a while today but I can look into this tonight if you don’t get to it.December 1, 2016 at 9:33 am #21950
@vicious1 are you possibly going modify the new version of Marlin for MPCNC… which would solve this issue for everyone?December 1, 2016 at 9:39 am #21952
I think I will just make a whole separate laser firmware since it needs to get flashed anyway. Re tune it for max accel and jerk.
No way will I let all your hard work sit in a forum thread….No sir!
I appreciate all that you are doing. Kills me that I can’t fire my laser up right now and help out. I am pretty much booked until next Monday. I really want to spend some time and check out all the improvements you guys have made. Also need to get some good test files So I can put together a cool little getting started with a laser post.December 1, 2016 at 9:48 am #21953
That would be awesome. Laser work has became my life. I have done one router job and about 600+ hours of laser work. This machine has paid for itself many times over!
If you need any help let me know. I can test etc.December 1, 2016 at 10:16 am #21955
I’m not sure if it was posted here or on another thread but someone mentioned that the latest RCBUGFIX version of Marlin can be configured to disable LCD updates on short moves.i confirmed this last night. Smooth as butter, no more jerk at every display update.
Btw, started working on image2gcode v2 last night. Will add rotary support with 3d preview and “skip white” options to diagonal and horizontal scanning. That should put it right there with the commercial packages. It will be a vicious1 exclusive of course:)December 1, 2016 at 10:38 am #21956
I also tested the new marlin rcbugfix branch and no more jerk movements at all…. but still some minor artifacts in my picture. I’ll test with other pictures.
I can’t wait to see image2gcode v2!!!December 1, 2016 at 10:44 am #21957December 1, 2016 at 11:17 am #21959
A quick cookbook:
1. Download last marlin version from here
2. Uncompress the zip file, copy Marlin folder into your Arduino folder.
3. Take Marlin 1.1.0RC7 customized by Vicious from this site.
4. Search all the “MPCNC” ocurrences in Configuration.h and Configuration_adv.h files from 1.1.0RC7 customized version to the new one.
5. In Configuration_adv.h search for the line ENSURE_SMOOTH_MOVES and delete the comment bars (//)
6. Copy _Bootscreen.h from 1.1.0RC7 version to the new one.
7. Open Arduino IDE, go to your new marlin folder and open marlin.ino, compile/upload to your Arduino Mega as ussual.
Let me know if you need help. I’m writing this from memory, may be I’ve missed some step.December 1, 2016 at 11:19 am #21961
Sounds easy enough. I will give it a try when my new diodes come in. Unless Vicious beats me to it.December 1, 2016 at 3:53 pm #21964
We are already using the bugfix release you just need to un-comment that line. I’m pretty sure. Can’t really mess with until monday, sorry guys.
New Software Leo!!!!!How do you do it? I need some lessons. Sweet maybe we can get this all worked out at the same time and have an even easier to use laser.
It is odd though, I swear I have a pic that burned just fine. I have to dig it out and see it the issue is on that one.December 1, 2016 at 4:06 pm #21967
I have a bit of work ahead of me but I’m working on it so it will come. The 3d graphics are a pain, I suck at trig! As far as firmware goes, it would be nice to find time to create an application that can apply selected patches to the firmware. There are mods that can be done for laser pwm, spindle control, etc… It would be cool select the mods you want and the app would just regex through the applicable files and apply the patches. Maybe someday I can work on that because I have patches on my firmware that are a pain to redo every time I upgrade firmware. Next project after this upgrade will be the router pid though. That will be fun. I’ll be in touch with you if I get that working. Maybe we can get some kits put together or something. I can’t see that costing more than 20$ to build. Crazy what they charge for them.December 1, 2016 at 4:24 pm #21968
Marlin is getting so big now they really need to build it like the repetier firmware where it kinda builds a new version depending on your options. I love that it is all in there and I understand that it gets cleaned up in the compile but dam they support like 80 different lcd’s and a whole list of other stuff that makes it a little daunting just to get through the standard config.h and now the advanced config as well. Forget about it if you want to make real changes to it anymore. Back at robo me and Austin went through it and added all kinds of stuff, lights that react to temp and percentage of print done, reconfigured the lcd….I would never dig into it anymore. getting too big.
It needs to be modular. xyz motion, extruder1, extruder2, auto level, lcd, thermistor, delta or cartesian. I like how the new lcd graphics work. If there is a graphics file it displays it, if not, no big deal. That is how marlin should be. Line 1-is there an autolevel file? line 2- is there an lcd file…but I’m a hardware guy not a software guy. imagine if all the motion stuff was in one tab, it would be so easy to tune a machine…still to this day Jerk is a mystery to most people, and they just figured out it hasn’t worked this whole time…that’s when you know your stuff is too all encompassing, when you miss your own feature.
Man the router PID thing. I look at it at least once a month I get ready to buy all the stuff and try to build one. There is no way that should cost $120. They are the only game in town they can charge whatever they want. The equations, sensing, and hardware all all easy. The part I don’t understand is the ssr side. You have to have an ssr that senses the a/c zero point? If you know how to handle the power modulation to the router we can whip this up in no time. I think. I think this would be the largest improvement to any small form factor router that there is, even when routing by hand. Heck all rotary tools should have this built in, all of them. Imagine even a dremel that keeps its speed consistent. I want this.
You must be logged in to reply to this topic.