-
-
Notifications
You must be signed in to change notification settings - Fork 190
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FR] laser control for the Mega Pro #49
Comments
Hi, |
It's not on github (yet), but a user posted it on thingiverse. As it's marlin-based, which is GPL3, anycubic has to give out the source. Link to the source: https://www.thingiverse.com/groups/anycubic-i3-mega-pro The laser-part is very "interesting" implemented. As far as I've seen the relevant parts are in Maybe something in I tried to describe the functionality as far as I understood it here: https://drucktipps3d.de/forum/topic/steuerung-laser-anycubic-mega-pro/?part=4#postid-131852 . But honestly, the code gave me an headache. Have a look at the Backup-Folder in the source for example :-) , so I might be completely mistaken. There are some other code parts regarding the laser. One is for a basic gcode-control As other users mentioned before one has to fake the temp sensor on the nozzle with a resistor, otherwise the printer complains about a strange temperature of 0 °C (see https://drucktipps3d.de/forum/topic/steuerung-laser-anycubic-mega-pro/?part=2#postid-126858 ) Let me know if I can support you. Unfortunately I don't have the Mega Pro yet but I hope to receive it soon. |
Wow! Thank you very much! That's probably the dirtiest and hackiest code I've ever seen but it looks very promising! I'll dig into it and let you know what I found out so far and if I could implement the laser functionality. Sadly I don't have Mega P to test it :/ |
I have to thank you :-) As soon as I get mine I can test your code. |
Hi! |
Hi |
Nope. Sorry but I'll update the thread and the readme when it's done. |
This issue is stale because it has been open 30 days with no activity. Remove stale label / comment or this will be closed in 5 days. |
I believe this issue is still relevant and warrants attention due to this firmware being the best alternative I have found in comparison to anycubic's effort for the Ai3M Pro. I believe if piezoelectric leveling and/or laser control functionality is added, it would add immense value to this printer and I'd happily donate more to the project if an update came for these features |
hi @knutwurst are there any updates about the laser? |
HI @sims-60 , thank you very much, but I already have the original MEGA Pro firmware laying around ;) |
Thanks a lot. I'll come back to you when I have any updates :) |
Is there any way to get the piezo leveling to function like the original firmware? |
Hi, my printer also arrived (I guess). As soon as I'm home again I could start testing. @knutwurst Are you planing to work on the laser any time soon? If you are interested I could have a look at you commits regarding the laser and help with some coding. |
This issue is stale because it has been open 30 days with no activity. Remove stale label / comment or this will be closed in 5 days. |
This issue is stale because it has been open 30 days with no activity. Remove stale label / comment or this will be closed in 5 days. |
The Chiron Support is finally done and now I'll take a look at the Mega Pro Laser ;) |
I'm also interested in getting the laser to work on Marlin 2.x. I'm planning on upgrading to your firmware soon, so please keep up the good work! FYI: You can get the laser from Anycubic's website to "upgrade" to a P. the Mega S and the P are the same machine, just the P comes with the Laser. |
This issue is stale because it has been open 30 days with no activity. Remove stale label / comment or this will be closed in 5 days. |
Reopened, because it's not done yet ;) |
EDIT: for(j=0;j<x_max;j++)
{
Read_BMP(&Y,i,x_max-j);
if( Y>MIN_GRAY_VLAUE&&j!=0 )
{
if(Laser_printer_st.pic_x_mirror==1)
destination[X_AXIS]=x_end+j*Laser_printer_st.pic_pixel_distance;
else
destination[X_AXIS]=x_end-j*Laser_printer_st.pic_pixel_distance;
line_to_destination(ftemp);
set_current_to_destination();
while (planner.blocks_queued());
WRITE(HEATER_0_PIN, 1);
if(Laser_printer_st.pic_vector==0)
{
time = Y*Laser_printer_st.pic_laser_time;
while(time--)
{
WRITE(HEATER_0_PIN, 1);
}
WRITE(HEATER_0_PIN, 0);
}
... some screen stuff Interestingly, it contains some unfinished code for vector engraving functionality (the above Previously below I wrote:
|
It's probably not of any help, but I noticed that some commands in marlin support a laser as well (eg: https://marlinfw.org/docs/gcode/M003.html) I also noticed some other standard commands seem to also support a laser as well. Just wondering if this is how laser support is intended to be added, or are we still going to have to do the weird BMP thing? |
Unfortunately, since I don't have a laser, I can't test the Marlin features. Actually, I wanted to recreate exactly the anycubic feature so that the original display would continue to work. That's why I recreated the auto leveling for the Chiron instead of just using Marlin features. |
I do own a Mega Pro and tried a first step towards the laser. The wiring is (mis)using the hotend heater pins (A1, A2) for the laser power. Setting a target temperature results in Error:MINTEMP triggered, system stopped! Heater_ID: 0 Simulating an arbitrary temperature with a resistor between A6/7 (see linked post above) enables laser control with So with real ugly G-code sequences I was able to do some laser engraving in stock KW 1.3.1 firmware. That's exactly what's represented in the disabled code fragments, e.g. There is obviously some work to do for the code fragments. Reordering and some declarations eventually makes it compiling, but not working. #if ENABLED(KNUTWURST_MEGA_P)
#define LASER_FEATURE
#define SPINDLE_LASER_PWM_PIN HEATER_0_PIN
#endif results in failing sanity check
Seems obvious, as the pin is used for both functions... Are there any (unpublished) updates on the laser code fragments to build on or do I have to start off from the current master branch to - maybe - get it working? |
Update: It's now merged into the master branch: a161093 This does not yet feature display support, but it enables Marlin M003 G-Code support Unfortunately a trivial backport does not work. Maybe I just missed something or should have reloaded settings... Just spent ~10s of testing with the old branch. |
Hi, i own a Mega Pro now for one Week and I am very happy with this firmware. I wanted to test the Laser and found this topic. Is there any progress in Laser functionality? Is it possible to use the Laser soon? Or is it possible to store my settings (e.g. mesh leveling), install original firmware, laser something, install this firmware and restore my settings? Thanks. |
Hi, Olli |
So i can install the original firmware, use the laser, install your firmware and my mesh leveling is still set up? That would by nice. |
Yes, that should work. |
Laser Support added in Release 1.4.1 Beta 1 Thank you so much @stklcode ! |
Is "rudimentary" really the correct term here? Fair to say, the Anycubic features are not yet supported. This requires some work in the TFT routine, so you can't "print" bitmaps from SD. But unlike the (misused) G6 command of the stock FW the laser is dimmable with M3. (at least on my printer 1-255 were all the same intensity, so basically it's on/off). Good enough for use with lightburn or similar software in the current state. So, it's a different implementation. |
You're right. Your work makes it possible to use the laser in the first place. Rudimentary was more related to the entire anycubic-related implementation. In the case of the Chiron, I called "can print and level, but the display doesn't work yet" also "rudimentary". That should in no way reduce the value of your work and I would like to buy you a coffee ;) |
I am not offended in any way, should have places a 😉 maybe. Let’s see if we can get the not so straight-forward part for the built-in feature. I’ve seen the code snippets, but focused on the Marlin part to get any light out of it first place. We should drink the coffee together. Likely never have started playing with the code without your prior work. |
The marlin part is a pretty good start and when everything else works, connecting the display shouldn't be a problem. Maybe wen can reuse the anycubic bitmap parsing code to feed the marlin implementation. |
Started working on the integration based on the 1.2.9 sources that have been partially ported already: stklcode@ It compiles, but it completely untested so far. But no need to start from scratch, if anyone wants to join development. |
This issue is stale because it has been open 30 days with no activity. Remove stale label / comment or this will be closed in 5 days. |
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Hi,
are there any plans to work on the laser control of the new Mega Pro? If so, how is the progress? I might be of help as I digged a little bit through the source code from Anycubic for the Mega Pro.
The text was updated successfully, but these errors were encountered: