-
Notifications
You must be signed in to change notification settings - Fork 101
Specific working mode for CO2 laser on parameter $32! #721
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
Comments
Attached are 2 images engraved with the same parameters (speed 340mm/s power 7.6%). |
Hi |
Do you have a DC or RF excited tube? And at what kind of resolution (DPI) at 340 mm/s? If I understand your proposal you want laser on/off to be controlled by distance in G1 mode, kind of like PPI mode. If less/equal to some distance then turn laser on else turn it off? |
No no, it was just an addition to the main request! That is fundamental! |
Good morning |
Yes exactly, you should only deactivate the enable output, without modifying the PWM!
I tried to see if one of these options would work for me, but at the moment none of them do what I need. |
$9=3 or $9=7 is what you need - $7, And $32=0 for now. I have modified the Web Builder code so you have to flash a fresh version, if you build locally you have to change a function. |
I cloned: I compiled and downloaded successfully with arduino ide... $7, |
I have updated the Web Builder, not github. Replace this function in driver.c if compiling locally:
I'll update github if this works as intended - after changing all the other drivers to match. And likely with further changes. And please post comments in english, if not I will respond in burmese or something like that when I can be bothered... |
Sorry!!! In my hurry I forgot to translate it!! |
I have done some field tests with my engraver..... With: With the new change, in any case, the $34 parameter does NOT work anymore!! Changing its value does NOT make any changes!! So, with $32=1 and $9=3 it seems to have worked! |
Replace driver.c with this version, with luck it may work:
Overscan should be G1S0 motion with the same feedrate as engraving to ensure the PWM output does not change on the G0/G1 transition when laser mode is enabled. And the overscan distance should be large enough to let the PWM output to go to the programmed rate (at the end of acceleration).
Perhaps the attached version does, if not how do you expect it should work? |
Hi |
M5 should at least work now.
What do you expect from this setting and with which setting value? |
Yes you are right, now M5 works!
It seems like $34 works but not in the right way....now the value $34 works at the end of the cycle after the M5 command has been received. |
I do not agree, at least when used with a CO2 laser power supply that needs time to settle. The PWM output should remain constant to allow a well defined leading edge. Or do you need the leading edge to have a slope? If so what about the trailing edge? |
When I did some tests on image engravings with the jarvis-dithering-etc method, not on simple engravings... I noticed that using the $34 parameter with a slightly higher power than the one set for engraving (constant) increases the definition of the image details even more! |
All the modification I ask you is to be able to improve all the details in the engravings of the images (photos), for the engravings of writings or simple figures, there is no need to use the parameter $34, for this reason at the beginning I asked you about the possibility of setting it with an M parameter.... |
Ok, I see - thanks for explaining why. Using $34 to control such a feature is not a good idea - a M-code (which one?) or a new setting would be better. This is not something I can do by modifying a single file - I would have to add a core call to set a value, which IMO should be relative to the programmed S rate - a percentage? And a plugin for the M-code. And perhaps also a new $9 option should be added to enable it... |
Let's take it one step at a time, let's see that the changes we are making work and lead to improvements on the engravings!
Probably the only essential thing is to add a value to $9 (or some other parameter) to activate and deactivate the configuration we are creating, because not everyone needs it.... |
If I understand what you mean, I had thought about it too.... create a parameter similar to $34 that takes the S value of the engraving + $xxx as a reference. |
Good morning I used $32 =1(laser mode) If you need further feedback or information, I am available!! |
This means there is no need for a new M-code? |
There is a problem with the new modification!! |
Se riesci a fare un parametro $ (Simele a $34) che si muove dinamicamente in relazione alla potenza S di incisione, probabilmente il comando M potrebbe non servire! |
gcode please, at least the initial lines up to the first expected laser on.
Correct - same as the behaviour from the LPC version of Grbl that has the $34 - 35 settings. 8-bit Grbl does not have them. |
Sorry, but I would like to give you more detailed information, to help you understand how to solve the problem... |
Now switched to M129 to enable overdrive. |
Good morning In these days I had the opportunity to do a lot of tests with the new plugin! |
I sent you a message, because it did not accept the command and gave me: M129P30 Sorry but I had to reset the board several times, and remove power for it to accept the M129 command..... |
I can't send m129p30, I generated from updated web build, where am I wrong? |
Does it give you error 20? |
error 20...can't send m129 and can't find parameter $709, if I remember correctly. even resetting and restarting doesn't change anything |
Are you sure you have successfully compiled and uploaded the firmware? Make a $I and share the report!! |
I can't seem to see :[PLUGIN:CO2 laser overdrive v0.01]!!! |
I generated from web build, now I understood that I had to compile locally...but is the modification already available for all drivers? |
I have added trapping of settings changes in todays commit so changing these ($39 and $9) will instantly make M129 available/unavailable. The Web Builder has been updated to support the new plugin, check CO2 laser overdrive in the Plugin tab.
For most, all supported by the Web Builder. There are a few (one?) boards that gates the PWM signal electronically - these will not work. Some has isolated PWM output via slow optocouplers, these may also be a bit problematic... And ensure the PWM frequency is high enough if doing high speed engraving. $709 is only available when the driver and board supports two PWM spindles, and the second is enabled. Very few boards do. |
I used web build for the firmware with your latest modification, loaded the firmware, I see the plugin active but m129 is not accepted, both by changing $39 and $9=1, 3 and 7 |
In my case $32=1 $9=3 works fine! |
done + times, the plugin is present but I don't have the m129 commands...$32=1, $9=3, but $39 how should it be? mine is a normal co2 40w but with a teensy board, how do you keep the other parameters $32 etc.. for the laser? |
$39=1 |
congratulations for the photos...and how do you set the values 33, 34, 35 and 36? and the m129 command? |
default settings
Based on your engraver's response needs |
i miei valori sono $33=20000, $34=0, $35=7 e $36=100, il tuo 34 lo lasci a 0 e alzi solo da m129? |
Yes, exactly.
In my case $35=0 |
se faccio un cerchio con il valore $35=0 non viene chiuso, devo alzare a 7 per avere il cerchio chiuso...grazie per i consigli... |
Be aware that some boards has open collector/open drain outputs for PWM and/or spindle on. If not properly loaded these may exhibit rather low slew rates that can affect high speed engraving. |
this happens to me both on mks dlc32 and on teensy 4.1 (with grblhal) but if I put fluidnc on mks dlc32 it doesn't happen |
tests and tests but nothing to do, the laser with the values $9=3, $32=1, $39=1, $34=0, $35=0 and m129p10 always remains active and the ammeter reads 5mA... Maybe I understood why... from mks or teensy I command the laser only with the pwm pin (which in our configuration always remains active) .. what should be the enable pin and how to rewire for the k40? do I have to act on the co2 power supply on the TL pin? @Deltaplc |
This is the essence of this plugin!!!! Pin IN= pwm @distebia Tu sei italiano,giusto? |
A tip.... |
Yes, Italian..in all the co2 lasers I have built I have always adopted this system: WP closes to G passing through thermostat and flow meter and TL brought to G by a simple switch, like to give a manual ok. The pin on teensy (or mks) has always been the PWM pin that I bring to IN on co2 power supply. I understood the modification to make but I suppose I have an enable output of 0-5v, I don't know if I can invert it, if it goes badly I connect it to TH on co2 power supply? what I don't understand now is how to generate the firmware, which PWM do I have to select? and if I compile locally how to activate this modification? questo è il mio alimentatore |
I don't know, I use arduino due.....
Yes, those two pins are used to control on/off, depending on whether you have low or high logic.
In my opinion...a profoundly flawed connection logic! |
I have never used the spindle enable pin, I control everything by pwm, s0 off |
Good morning
Sorry to bother you....
I don't know if I've discovered hot water.....but I certainly think I've thought of(and tested) a valid solution to solve the problem!
I will try to explain myself with some examples, to help you better understand the problem that occurs when engraving images.
I have a home-made CO2 laser derived from a K40.
Example of engraving a photo in any mode (Stucki, Jarvis, dithering, etc.) except grayscale.
K40 operation "original configuration":
Fragment of a hypothetical gcode:
G1 X2.5F6000 off laser
G1 X0.1 on laser
G1 X20.5 off laser
G1 X0.1 on laser
G1 X2.5 off laser
G1 .....
The potentiometer (manual analog) supplies a constant voltage to the IN pin (pwm) and the board turns the laser beam on and off via the L (enable) pin.
Example of this configuration:
The sniper has his eye on the scope, always aimed at the target, and he only has to pull the trigger to shoot!
Result:
The IN pin is always at the desired voltage and already keeps the power supply "capacitors charged", it just needs to fire!
Custom laser with any board and firmware derived from grbl and with lightburn or lasergrbl software etc...:
Fragment of a hypothetical gcode:
M4
M3
G1 X2.5F6000 S0
G1 X0.1 S200
G1 X20.5 S0
G1 X0.1 S200
G1 X2.5 S0
G1 .....
The voltage on the IN(pwm) pin, varies from zero to S200, and the L(enable) pin, turns the laser beam on and off, following the strategy that depends on the M3/M4.
Example of this configuration:
The sniper must re-center his eye in the crosshairs every time he has to shoot and then pull the trigger!
Result:
The IN pin does NOT have a constant voltage, but varies between zero volts and S200,
the power supply "capacitors are not constantly charged" and when it fires it is not ready to immediately parry at the desired power!
General problem:
Loss of much detail when using dithering, Jarvis or similar methods at high speeds!
My thoughts Changes to be made to the firmware:
On the solution to this problem:
Result (already tested):
slightly higher than the desired power, it improves further!
I have already tested this type of configuration manually and using the $34 parameter...
The difference in the result on the finished product is truly abysmal!
At the moment it seems to me that no one has a custom configuration for the control of co2 lasers!
In my opinion it is fundamental since the behavior of the laser beam ignition is profoundly different from that of diode lasers!
I hope you can make these changes, because it will bring huge benefits to those who use grblHal to control their custom co2 laser!
I am available if you need to do tests or for anything about it!
Thank you in advance.
Regards
The text was updated successfully, but these errors were encountered: