Hello, a year ago I bought the Onefinity and JTech laser, a day ago I plugged it in and today I was playing with that.
Sometimes it feels that the laser skips several M3 commands - it is not that obvious on multiple-pass-lasering but it is very obvious on single-pass ones (e.g. cutting the cardboard).
I thought that I did something wrong in my gcodes but (according to my last test) probably not.
I was testing a point-based engraving (like I am doing on my other machines) and it is not working at all. Here is the piece of code I am using:
The Onefinity is running fine but the laser does not even turn on.
Originally, I thought that it could be caused by too low dwell time, so I set it to dwell for 10 seconds, but it brought no improvement…
Otherwise, the laser is running (e.g. manual M3) relatively OK.
So the key question is what is wrong???
Are the gcodes pushed to the laser less frequently???
Do I have to pass more commands between turn on and off?
I am really running 1.0.9 so I tried to increase the laser power in gcode. Unfortunately, still the same result…
In the aforementioned test, I showed that problem is probably not connected with the delay time.
The problem is probably not connected with the number of commands between M3 and M5 either.
Here is some additional diagnostic info:
I have tried to increase the number of commands by duplicating the dwell command (one replaced by five). It is not working.
I have tried to replace dwell by z-jump (two G1 commands). Then the laser was finally flickering (as expected).
Any more hints???
Is there anybody from Onefinity???
I found out that the laser is automatically turned off sometimes. G0 command turns it off.
Also if the laser is idle - using MDI, M3 + G1 - the laser is turned off when G1 is processed.
I guess it is a safety feature and dwelling invokes it.
Is there a way how to avoid that?
I do not use a laser on the Onefinity but poking around in the controller a bit and looking at the documentation yields some answers to your questions.
Looking at the Buildbotics controller documentation it would point you in the direction of using the tool type of “PWM Spindle” for a laser setup, the “Laser (J Tech, etc)” option in the Onefinity is likely a derivative of the “PWM Spindle” with the optimal settings for the laser. In the “PWM Spindle” configuration there is a check box for “Rapid-auto-off” which is selected by default, and I would suspect is also enabled on tool-type "Laser (J tech, etc). This is most likely why your laser is turning off during a rapid move (G0 command). Also there is some information on the buildbotics forum indicating rapid feed rates will also turn the laser off (F3000 on your G1 may be considered rapid by this logic, I don’t know)
I would suggest removing your references to G0 in the code and replacing with G1 as turning the laser off during a rapid move is the intended behavior.
Also for what it’s worth since you have the J Tech you might want to open a case with support.
I wrote that information about G0 as additional debug info.
My real case is still concerning the dwelling problem (G4).
might want to open a case with support
I think that the support is available just for the first year.
Unfortunately, my situation was that I first used onefinity 10 months after getting it and now the support period is over (if I am not mistaken).
Looking at the Buildbotics controller documentation
Could you please navigate me to the documentation, I think this is the way.
this is right, in fact the Laser output J11 (schematic) on back panel of Onefinity Controller is identical to “PWM Out” pin 17 of DB-25 I/O port (breakout board adapter). Both are “PWM_OUT” that comes from “SPIN_PWM” pin of AVR microcontroller.
As far as G4, somehow I suspect if you tell the controller to dwell it may also stop the laser from firing, the controller seems specifically programmed to only fire the laser when moving. You could try moving the machine a very small distance at a very slow rate instead of dwell.
1 Like
Aiph5u
(Aiph5u (not affiliated with Onefinity))
11
Hey Derek, hey Dominik,
I don’t run the Onefinity controller and although I own one, I don’t have it here, so unfortunately I can’t test anything, but I have the controller SD card image loop-mounted (boot and 1st partition) and also the firmware 1.0.9 upgrade source.
In the config-template.json, it describes “rapid-auto-off” as
“Turn tool off during rapid moves. Useful for LASERs.”,
and “dynamic-power” as
“Adjust tool power based on velocity and feed rate. Useful for LASERs.”
These settings are defaulting both to “true” under “laser”
in onefinity-firmware/1.0.9/onefinity-firmware-master/src/resources/onefinity_defaults.json
It is obvious that “rapid-auto-off” turns laser off during G0 “rapid move”, but I don’t understand, is the option “dynamic power” affecting G1 (linear move)? And G4 (dwell)? My knowledge about G4 (dwell) is that it should not stop the tool, at least not a spindle.
Did you try disabling “dynamic power”?
He’s currently using tool type “Laser (J Tech etc)” which has no settings, as previously mentioned for dynamic power and rapid-auto-off he’d need to switch to “PWM Spindle” and set his laser up that way.
1 Like
Aiph5u
(Aiph5u (not affiliated with Onefinity))
13
Hey Derek,
that’s what I meant, they are both defaulting to “true” when using “laser”, but if altered when using “pwm” does disabling “dynamic power” help?
Since you can’t edit the tool “Laser” from the web interface, along the lines of editing the default json, if you go to admin>general and hit “backup config” you can open the file and find the part for the tool type laser and either copy the settings into a PWM spindle setting or edit the “dynamic-power” and “rapid-auto-off” to false then ‘restore configuration’ with the edited file. (keep a backup file )
thank you for helping me to adjust the settings.
I just tried that.
Not sure if I am doing something wrong, but it seems that this approach does not work.
I did the following:
downloaded JSON, edited, according to suggestion, uploaded it back
turned OF off and on
downloaded JSON again to see that changes persist
uploaded a wild gcode, ran it, and observed
According to the visual change, the laser power is still being decreased when direction changes.
Also, the web interface reported, that the value was lowered whenever the direction changed - on the attached picture there is the value lowered down to 140, and the expected value was 1000.
It would make sense that the controller is designed only to fire the laser when it is moving. Since your goal is a dwell time of 0.05 seconds I would suggest using a G1 with a feed rate of 1mm/min to achieve a similar result (in theory with dynamic power disabled this should be possible)
Replace your G 4 with something like
F1
g1 x.0001 (make a relative move to the last point)
F1000
Again, I do not use a laser with the Onefinity this is all speculation on something that might help.