Setting up Remora for laser cutting

More
23 Jun 2021 19:22 #212761 by Aaroncnc
Looks awesome.
Glad to see remora getting used for these things.

Please Log in or Create an account to join the conversation.

More
23 Jun 2021 22:50 - 24 Jun 2021 17:31 #212769 by Doogie
Thanks and thanks for the help previously. It was your DAC/gain stuff which helped see a bit more of how things are 'wired' and so that later I could understand what M67/M68 did and how to get that motion.analog output driving the Remora hardware PWM pin.

It's now possible to use LinuxCNC and Remora on CNC machines(as you proved) on 3D printers as Scott and I have functioning and now also on Laser Cutters/Engravers.
Last edit: 24 Jun 2021 17:31 by Doogie.

Please Log in or Create an account to join the conversation.

More
24 Jun 2021 18:17 #212841 by Doogie
It looks like halui.program.is-running is the bit I need to somehow tie to the remora.SP.0(float) output but Remora does not have enable bits for the PWM outputs. I would prefer to not have some external hal command needed and it seems the and2 only works on digital bit flags.

I'll keep looking but if anyone has a hint help would be appreciated. Thx.

Please Log in or Create an account to join the conversation.

More
24 Jun 2021 18:22 #212842 by Aaroncnc
little lost on what you mean.

Please Log in or Create an account to join the conversation.

More
24 Jun 2021 19:48 - 24 Jun 2021 20:33 #212845 by Doogie
If I pause the machine or stop the program, the remora hardware continues the last PWM output to the laser and often it will not stop on a M67 E0 Q0 output setting. So to prevent the laser from just staying on with the program stopped, I thought I could use the halui.program.is-running pin as a form of enable bit but don't know how to wire a bit to anything in my wiring from motion.analog-output-00, to scale to abs and finally remora.SP.0

in physical world this would be some form output enable of an I/O chip but in this case, enable would be tied to halui.program.is-running and the input of the component, a float -> output as long as enable is True.

Looking at linuxcnc.org/docs/html/hal/components.ht...d_bitwise_components to see what's available,
maybe mult2 will work ( linuxcnc.org/docs/2.6/html/man/man9/mult2.9.html)
I would need to convert halui.program.is-running from a boolean to a float of either true=1.0 false=0.0 ) and then
multiply that output with abs.0.out sending mult2.0.out -> remora.SP.0

Searching now for how to convert a bit to a float. I found conv_bit-u32 and conv_u32_float but better I think is mux2 where I can feed halui.program.is-running directly into mux2.0.sel, set abs.0.out to mux2.0.in1 and create a signal set to 0.0 and feed that to mux2.0.in0 then mux2.0.out -> remora.SP.0

linuxcnc.org/docs/2.6/html/man/man9/mux2.9.html
Last edit: 24 Jun 2021 20:33 by Doogie.

Please Log in or Create an account to join the conversation.

More
24 Jun 2021 21:00 - 24 Jun 2021 23:47 #212849 by Doogie
I think I have it using Mux2 and leaving in0 unused. So the path goes like this:
M67 gcode sends data to motion.analog-output-00
we scale that so gcode values from 0-1000 map to 0-100 which remora's hardware PWM wants.
We then make sure it's non-negative using abs
Because the Remora hardware PWM output will remain at its last setting if a user stops the program we need to set PWM to 0
I used Mux2 which has one input unset(default is 0) the other input is the ABS output so as long as halui.program.is-running is true
the ABS ouput is on Mux2 output to the Remora PWM otherwise it switches to the Zero input and stops Remora PWM when
halui.program.is-running goes false.

# SPINDLE PWM
loadrt abs count=1
loadrt scale count=1
loadrt mux2 count=1
addf abs.0 servo-thread
addf scale.0 servo-thread
addf mux2.0 servo-thread
#
setp scale.0.gain 0.1 #this will make m3 s1000 give 100% output and m3 s100 10%
# signal source destination
net spindle-speed-scale motion.analog-out-00 => scale.0.in
net spindle-speed-abs scale.0.out => abs.0.in
#preMux2 net laser-pwm-out abs.0.out => remora.SP.0
net laser-prog-is-running halui.program.is-running => mux2.0.sel
net laser-mux-abs-in1 abs.0.out => mux2.0.in1
net laser-mux-zero-in0 mux2.0.in0
sets laser-mux-zero-in0 0.0
net laser-pwm-out mux2.0.out => remora.SP.0
Last edit: 24 Jun 2021 23:47 by Doogie.

Please Log in or Create an account to join the conversation.

More
25 Jun 2021 16:32 - 25 Jun 2021 16:33 #212912 by Aaroncnc
Awesome,

It would be good once we get all our machines running to provide users with a linux cnc config with ini and hal file.

That way there are running examples for a mill, laser cutter, and 3d printer.
The only config left would be for someone with a cnc lathe to take that up.

Also i made a tool to make config files for remora.
github.com/aaroncnc/Remora-GUI-Config-Tool
Last edit: 25 Jun 2021 16:33 by Aaroncnc.
The following user(s) said Thank You: Doogie

Please Log in or Create an account to join the conversation.

More
25 Jun 2021 23:56 #212935 by Doogie

Awesome,

It would be good once we get all our machines running to provide users with a linux cnc config with ini and hal file.

That way there are running examples for a mill, laser cutter, and 3d printer.
The only config left would be for someone with a cnc lathe to take that up.


We've been putting the sample configs into the repo but they really also need the firmware config.txt file too and we've not figured out a good way to do that. I'm almost things we name them config-MKS_v1.3.txt and config-SKR_v1.4.txt and put it with the ini and hal files. I've made pull requests for my K40 laser cutter LinuxCNC sample config and I did a pull request to update the Ender3 LinuxCNC configs.

Also i made a tool to make config files for remora.
github.com/aaroncnc/Remora-GUI-Config-Tool


Sounds fantastic. I'll have to check this out and I agree, making it as easy as possible to setup a Remora configuration is best.
I'm still waiting for my little ribbon cable adapter boards since hardware skills are also a barrier to entry with this.

Please Log in or Create an account to join the conversation.

More
26 Jun 2021 03:59 #212941 by Doogie
Looked at the config.txt tool and it's very cool. I was thinking, if it could load default configurations with some comment string defining the label seen in the board selection it would let us provide default configurations for different setups and users could select them and customize and hit the Save Config button to generate their own config.txt.

We could do xml based config-defaults files to make parsing and presetting the GUI easier.

Please Log in or Create an account to join the conversation.

More
27 Jun 2021 17:47 - 27 Jun 2021 17:54 #213041 by Aaroncnc
I can make a selector to auto fill a few boxes for the selected config.
But coding is one of my weakest skills.

my only thought on how to load a config was kinda a brute force method.
The program would create a second save file with every variable printed out with its current status and then just read it back in to set them all.
well maybe not all variable if its not equal to zero then it could print out the variable and it would then only need to import the ones it printed but in the end it seems like the same amount of work.

I would have to do some more learning to know how to parse text and filter it properly.
Last edit: 27 Jun 2021 17:54 by Aaroncnc.

Please Log in or Create an account to join the conversation.

Time to create page: 0.409 seconds
Powered by Kunena Forum