Advanced Search

Search Results (Searched for: )

  • kworm
  • kworm
30 Nov 2024 17:14
Replied by kworm on topic Leadshine EL8 Servo Drives - EtherCAT

Leadshine EL8 Servo Drives - EtherCAT

Category: Advanced Configuration

Can you also post the output of "ethercat pdos". It is likely the drives may not have all the PDOs you are referencing configured. Did you use the drive manufacturers software to configure them?
  • kworm
  • kworm
30 Nov 2024 17:03 - 30 Nov 2024 19:51
Replied by kworm on topic Ethercat auto configurator.

Ethercat auto configurator.

Category: EtherCAT

@Grotius,

I was suggesting you would need ESI support if you wanted to be able to avoid having to have special code for specific devices like linuxcnc-ethercat does. Ie, if you were wanting it to work something like twincat or other commercial products do.

@Endian,

Have you seen any issues on ethercat with the current position dropping to zero intermittently...noticed on the DRO? I've been attempting to use LCNC on a machine that has G1 acceleration of 1m/s and G0 acceleration of 3m/s (feed is 25-50m/min) and I keep getting following errors.
  • lblabr
  • lblabr
30 Nov 2024 17:01
  • tommylight
  • tommylight's Avatar
30 Nov 2024 16:36
Replied by tommylight on topic Building a chain driven Plasma table.

Building a chain driven Plasma table.

Category: General LinuxCNC Questions

Minimum would probably be 1:10 for a Nema 23 or 34 motor, should be usable up to 1:30.
I would reference from the other side of the equation, 2-3 meters per minute of cut feed rate for 40A to 60A plasma, so for 150mm tube that would make 4 turns per minute roughly, easily done, but for 50mm tube that would be roughly 15 turns per minute.
The good thing with steppers in this case is more torque at lower speed, so start form 3 to 5 turns per minute and see what you can get on a high side.
  • tommylight
  • tommylight's Avatar
30 Nov 2024 16:29
Replied by tommylight on topic Black Friday Deal got me :)

Black Friday Deal got me :)

Category: Plasma & Laser

my understanding so far was the THCAD-2 can be used but you have to add the HV resistor for ir to work and the THCAD-300 does not need the external resistor in my application;

That is correct.
  • tommy
  • tommy
30 Nov 2024 16:29
Replied by tommy on topic Mesa Configuration Tool

Mesa Configuration Tool

Category: Configuration Tools

In MesaCT I configured 6 axis on 7i95T and one on 7i78, but for that one there are no stepgens defined in .hal file:

 
# This file was created with the Mesa Configuration Tool on Nov 30 2024 17:11:51
# If you make changes to this file DO NOT run the configuration tool again!
# This file will be replaced with a new file if you do!

# kinematics
loadrt [KINS](KINEMATICS)

# motion controller
loadrt [EMCMOT](EMCMOT) servo_period_nsec=[EMCMOT](SERVO_PERIOD) num_joints=[KINS](JOINTS)

# hostmot2 driver
loadrt hostmot2
loadrt [HM2](DRIVER) board_ip=[HM2](ADDRESS) config="sserial_port_0=00000000"

setp hm2_[MESA](BOARD).0.watchdog.timeout_ns 5000000

loadrt pid names=pid.x,pid.y,pid.z,pid.a,pid.b,pid.c,pid.u

# PID Information for Stepper Boards
# Mesa hardware step generators at every servo thread invocation, the step
# generator hardware is given a new velocity. Without feedback from the PID
# controller the hardware position would slowly drift because of clock speed and
# timing differences between LinuxCNC and the step generator hardware.
# The PID controller gets feedback from the actual (fractional) step position and
# corrects for these small differences.

# THREADS
addf hm2_[MESA](BOARD).0.read servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf pid.x.do-pid-calcs servo-thread
addf pid.y.do-pid-calcs servo-thread
addf pid.z.do-pid-calcs servo-thread
addf pid.a.do-pid-calcs servo-thread
addf pid.b.do-pid-calcs servo-thread
addf pid.c.do-pid-calcs servo-thread
addf pid.u.do-pid-calcs servo-thread
addf hm2_[MESA](BOARD).0.write servo-thread

# DPLL TIMER
setp hm2_[MESA](BOARD).0.dpll.01.timer-us -50
setp hm2_[MESA](BOARD).0.stepgen.timer-number 1

# amp enable
net motion-enable <= motion.motion-enabled

# Board: 7i95

# Axis: X Joint: 0 Output: 0
# PID Setup
setp pid.x.Pgain [JOINT_0](P)
setp pid.x.Igain [JOINT_0](I)
setp pid.x.Dgain [JOINT_0](D)
setp pid.x.bias [JOINT_0](BIAS)
setp pid.x.FF0 [JOINT_0](FF0)
setp pid.x.FF1 [JOINT_0](FF1)
setp pid.x.FF2 [JOINT_0](FF2)
setp pid.x.deadband [JOINT_0](DEADBAND)
setp pid.x.maxoutput [JOINT_0](MAX_OUTPUT)
setp pid.x.error-previous-target True
# limit stepgen velocity corrections caused by position feedback jitter
setp pid.x.maxerror [JOINT_0](MAX_ERROR)

# joint-0 enable chain
net joint-0-index-enable <=> pid.x.index-enable
net joint-0-index-enable <=> joint.0.index-enable

net joint-0-enable <= joint.0.amp-enable-out
net joint-0-enable => pid.x.enable

net joint-0-enable => hm2_[MESA](BOARD).0.stepgen.00.enable

# Joint 0 Step Generator Settings
setp hm2_[MESA](BOARD).0.stepgen.00.dirsetup [JOINT_0](DIRSETUP)
setp hm2_[MESA](BOARD).0.stepgen.00.dirhold [JOINT_0](DIRHOLD)
setp hm2_[MESA](BOARD).0.stepgen.00.steplen [JOINT_0](STEPLEN)
setp hm2_[MESA](BOARD).0.stepgen.00.stepspace [JOINT_0](STEPSPACE)
setp hm2_[MESA](BOARD).0.stepgen.00.position-scale [JOINT_0](SCALE)
setp hm2_[MESA](BOARD).0.stepgen.00.maxvel [JOINT_0](STEPGEN_MAX_VEL)
setp hm2_[MESA](BOARD).0.stepgen.00.maxaccel [JOINT_0](STEPGEN_MAX_ACC)
setp hm2_[MESA](BOARD).0.stepgen.00.step_type 0
setp hm2_[MESA](BOARD).0.stepgen.00.control-type 1


# position command and feedback
net joint-0-pos-cmd <= joint.0.motor-pos-cmd
net joint-0-pos-cmd => pid.x.command

net joint-0-pos-fb <= hm2_[MESA](BOARD).0.stepgen.00.position-fb
net joint-0-pos-fb => joint.0.motor-pos-fb
net joint-0-pos-fb => pid.x.feedback

# PID Output
net joint.0.output <= pid.x.output
net joint.0.output => hm2_[MESA](BOARD).0.stepgen.00.velocity-cmd

# Axis: Y Joint: 1 Output: 1
# PID Setup
setp pid.y.Pgain [JOINT_1](P)
setp pid.y.Igain [JOINT_1](I)
setp pid.y.Dgain [JOINT_1](D)
setp pid.y.bias [JOINT_1](BIAS)
setp pid.y.FF0 [JOINT_1](FF0)
setp pid.y.FF1 [JOINT_1](FF1)
setp pid.y.FF2 [JOINT_1](FF2)
setp pid.y.deadband [JOINT_1](DEADBAND)
setp pid.y.maxoutput [JOINT_1](MAX_OUTPUT)
setp pid.y.error-previous-target True
# limit stepgen velocity corrections caused by position feedback jitter
setp pid.y.maxerror [JOINT_1](MAX_ERROR)

# joint-1 enable chain
net joint-1-index-enable <=> pid.y.index-enable
net joint-1-index-enable <=> joint.1.index-enable

net joint-1-enable <= joint.1.amp-enable-out
net joint-1-enable => pid.y.enable

net joint-1-enable => hm2_[MESA](BOARD).0.stepgen.01.enable

# Joint 1 Step Generator Settings
setp hm2_[MESA](BOARD).0.stepgen.01.dirsetup [JOINT_1](DIRSETUP)
setp hm2_[MESA](BOARD).0.stepgen.01.dirhold [JOINT_1](DIRHOLD)
setp hm2_[MESA](BOARD).0.stepgen.01.steplen [JOINT_1](STEPLEN)
setp hm2_[MESA](BOARD).0.stepgen.01.stepspace [JOINT_1](STEPSPACE)
setp hm2_[MESA](BOARD).0.stepgen.01.position-scale [JOINT_1](SCALE)
setp hm2_[MESA](BOARD).0.stepgen.01.maxvel [JOINT_1](STEPGEN_MAX_VEL)
setp hm2_[MESA](BOARD).0.stepgen.01.maxaccel [JOINT_1](STEPGEN_MAX_ACC)
setp hm2_[MESA](BOARD).0.stepgen.01.step_type 0
setp hm2_[MESA](BOARD).0.stepgen.01.control-type 1


# position command and feedback
net joint-1-pos-cmd <= joint.1.motor-pos-cmd
net joint-1-pos-cmd => pid.y.command

net joint-1-pos-fb <= hm2_[MESA](BOARD).0.stepgen.01.position-fb
net joint-1-pos-fb => joint.1.motor-pos-fb
net joint-1-pos-fb => pid.y.feedback

# PID Output
net joint.1.output <= pid.y.output
net joint.1.output => hm2_[MESA](BOARD).0.stepgen.01.velocity-cmd

# Axis: Z Joint: 2 Output: 2
# PID Setup
setp pid.z.Pgain [JOINT_2](P)
setp pid.z.Igain [JOINT_2](I)
setp pid.z.Dgain [JOINT_2](D)
setp pid.z.bias [JOINT_2](BIAS)
setp pid.z.FF0 [JOINT_2](FF0)
setp pid.z.FF1 [JOINT_2](FF1)
setp pid.z.FF2 [JOINT_2](FF2)
setp pid.z.deadband [JOINT_2](DEADBAND)
setp pid.z.maxoutput [JOINT_2](MAX_OUTPUT)
setp pid.z.error-previous-target True
# limit stepgen velocity corrections caused by position feedback jitter
setp pid.z.maxerror [JOINT_2](MAX_ERROR)

# joint-2 enable chain
net joint-2-index-enable <=> pid.z.index-enable
net joint-2-index-enable <=> joint.2.index-enable

net joint-2-enable <= joint.2.amp-enable-out
net joint-2-enable => pid.z.enable

net joint-2-enable => hm2_[MESA](BOARD).0.stepgen.02.enable

# Joint 2 Step Generator Settings
setp hm2_[MESA](BOARD).0.stepgen.02.dirsetup [JOINT_2](DIRSETUP)
setp hm2_[MESA](BOARD).0.stepgen.02.dirhold [JOINT_2](DIRHOLD)
setp hm2_[MESA](BOARD).0.stepgen.02.steplen [JOINT_2](STEPLEN)
setp hm2_[MESA](BOARD).0.stepgen.02.stepspace [JOINT_2](STEPSPACE)
setp hm2_[MESA](BOARD).0.stepgen.02.position-scale [JOINT_2](SCALE)
setp hm2_[MESA](BOARD).0.stepgen.02.maxvel [JOINT_2](STEPGEN_MAX_VEL)
setp hm2_[MESA](BOARD).0.stepgen.02.maxaccel [JOINT_2](STEPGEN_MAX_ACC)
setp hm2_[MESA](BOARD).0.stepgen.02.step_type 0
setp hm2_[MESA](BOARD).0.stepgen.02.control-type 1


# position command and feedback
net joint-2-pos-cmd <= joint.2.motor-pos-cmd
net joint-2-pos-cmd => pid.z.command

net joint-2-pos-fb <= hm2_[MESA](BOARD).0.stepgen.02.position-fb
net joint-2-pos-fb => joint.2.motor-pos-fb
net joint-2-pos-fb => pid.z.feedback

# PID Output
net joint.2.output <= pid.z.output
net joint.2.output => hm2_[MESA](BOARD).0.stepgen.02.velocity-cmd

# Axis: A Joint: 3 Output: 3
# PID Setup
setp pid.a.Pgain [JOINT_3](P)
setp pid.a.Igain [JOINT_3](I)
setp pid.a.Dgain [JOINT_3](D)
setp pid.a.bias [JOINT_3](BIAS)
setp pid.a.FF0 [JOINT_3](FF0)
setp pid.a.FF1 [JOINT_3](FF1)
setp pid.a.FF2 [JOINT_3](FF2)
setp pid.a.deadband [JOINT_3](DEADBAND)
setp pid.a.maxoutput [JOINT_3](MAX_OUTPUT)
setp pid.a.error-previous-target True
# limit stepgen velocity corrections caused by position feedback jitter
setp pid.a.maxerror [JOINT_3](MAX_ERROR)

# joint-3 enable chain
net joint-3-index-enable <=> pid.a.index-enable
net joint-3-index-enable <=> joint.3.index-enable

net joint-3-enable <= joint.3.amp-enable-out
net joint-3-enable => pid.a.enable

net joint-3-enable => hm2_[MESA](BOARD).0.stepgen.03.enable

# Joint 3 Step Generator Settings
setp hm2_[MESA](BOARD).0.stepgen.03.dirsetup [JOINT_3](DIRSETUP)
setp hm2_[MESA](BOARD).0.stepgen.03.dirhold [JOINT_3](DIRHOLD)
setp hm2_[MESA](BOARD).0.stepgen.03.steplen [JOINT_3](STEPLEN)
setp hm2_[MESA](BOARD).0.stepgen.03.stepspace [JOINT_3](STEPSPACE)
setp hm2_[MESA](BOARD).0.stepgen.03.position-scale [JOINT_3](SCALE)
setp hm2_[MESA](BOARD).0.stepgen.03.maxvel [JOINT_3](STEPGEN_MAX_VEL)
setp hm2_[MESA](BOARD).0.stepgen.03.maxaccel [JOINT_3](STEPGEN_MAX_ACC)
setp hm2_[MESA](BOARD).0.stepgen.03.step_type 0
setp hm2_[MESA](BOARD).0.stepgen.03.control-type 1


# position command and feedback
net joint-3-pos-cmd <= joint.3.motor-pos-cmd
net joint-3-pos-cmd => pid.a.command

net joint-3-pos-fb <= hm2_[MESA](BOARD).0.stepgen.03.position-fb
net joint-3-pos-fb => joint.3.motor-pos-fb
net joint-3-pos-fb => pid.a.feedback

# PID Output
net joint.3.output <= pid.a.output
net joint.3.output => hm2_[MESA](BOARD).0.stepgen.03.velocity-cmd

# Axis: B Joint: 4 Output: 4
# PID Setup
setp pid.b.Pgain [JOINT_4](P)
setp pid.b.Igain [JOINT_4](I)
setp pid.b.Dgain [JOINT_4](D)
setp pid.b.bias [JOINT_4](BIAS)
setp pid.b.FF0 [JOINT_4](FF0)
setp pid.b.FF1 [JOINT_4](FF1)
setp pid.b.FF2 [JOINT_4](FF2)
setp pid.b.deadband [JOINT_4](DEADBAND)
setp pid.b.maxoutput [JOINT_4](MAX_OUTPUT)
setp pid.b.error-previous-target True
# limit stepgen velocity corrections caused by position feedback jitter
setp pid.b.maxerror [JOINT_4](MAX_ERROR)

# joint-4 enable chain
net joint-4-index-enable <=> pid.b.index-enable
net joint-4-index-enable <=> joint.4.index-enable

net joint-4-enable <= joint.4.amp-enable-out
net joint-4-enable => pid.b.enable

net joint-4-enable => hm2_[MESA](BOARD).0.stepgen.04.enable

# Joint 4 Step Generator Settings
setp hm2_[MESA](BOARD).0.stepgen.04.dirsetup [JOINT_4](DIRSETUP)
setp hm2_[MESA](BOARD).0.stepgen.04.dirhold [JOINT_4](DIRHOLD)
setp hm2_[MESA](BOARD).0.stepgen.04.steplen [JOINT_4](STEPLEN)
setp hm2_[MESA](BOARD).0.stepgen.04.stepspace [JOINT_4](STEPSPACE)
setp hm2_[MESA](BOARD).0.stepgen.04.position-scale [JOINT_4](SCALE)
setp hm2_[MESA](BOARD).0.stepgen.04.maxvel [JOINT_4](STEPGEN_MAX_VEL)
setp hm2_[MESA](BOARD).0.stepgen.04.maxaccel [JOINT_4](STEPGEN_MAX_ACC)
setp hm2_[MESA](BOARD).0.stepgen.04.step_type 0
setp hm2_[MESA](BOARD).0.stepgen.04.control-type 1


# position command and feedback
net joint-4-pos-cmd <= joint.4.motor-pos-cmd
net joint-4-pos-cmd => pid.b.command

net joint-4-pos-fb <= hm2_[MESA](BOARD).0.stepgen.04.position-fb
net joint-4-pos-fb => joint.4.motor-pos-fb
net joint-4-pos-fb => pid.b.feedback

# PID Output
net joint.4.output <= pid.b.output
net joint.4.output => hm2_[MESA](BOARD).0.stepgen.04.velocity-cmd

# Axis: C Joint: 5 Output: 5
# PID Setup
setp pid.c.Pgain [JOINT_5](P)
setp pid.c.Igain [JOINT_5](I)
setp pid.c.Dgain [JOINT_5](D)
setp pid.c.bias [JOINT_5](BIAS)
setp pid.c.FF0 [JOINT_5](FF0)
setp pid.c.FF1 [JOINT_5](FF1)
setp pid.c.FF2 [JOINT_5](FF2)
setp pid.c.deadband [JOINT_5](DEADBAND)
setp pid.c.maxoutput [JOINT_5](MAX_OUTPUT)
setp pid.c.error-previous-target True
# limit stepgen velocity corrections caused by position feedback jitter
setp pid.c.maxerror [JOINT_5](MAX_ERROR)

# joint-5 enable chain
net joint-5-index-enable <=> pid.c.index-enable
net joint-5-index-enable <=> joint.5.index-enable

net joint-5-enable <= joint.5.amp-enable-out
net joint-5-enable => pid.c.enable

net joint-5-enable => hm2_[MESA](BOARD).0.stepgen.05.enable

# Joint 5 Step Generator Settings
setp hm2_[MESA](BOARD).0.stepgen.05.dirsetup [JOINT_5](DIRSETUP)
setp hm2_[MESA](BOARD).0.stepgen.05.dirhold [JOINT_5](DIRHOLD)
setp hm2_[MESA](BOARD).0.stepgen.05.steplen [JOINT_5](STEPLEN)
setp hm2_[MESA](BOARD).0.stepgen.05.stepspace [JOINT_5](STEPSPACE)
setp hm2_[MESA](BOARD).0.stepgen.05.position-scale [JOINT_5](SCALE)
setp hm2_[MESA](BOARD).0.stepgen.05.maxvel [JOINT_5](STEPGEN_MAX_VEL)
setp hm2_[MESA](BOARD).0.stepgen.05.maxaccel [JOINT_5](STEPGEN_MAX_ACC)
setp hm2_[MESA](BOARD).0.stepgen.05.step_type 0
setp hm2_[MESA](BOARD).0.stepgen.05.control-type 1


# position command and feedback
net joint-5-pos-cmd <= joint.5.motor-pos-cmd
net joint-5-pos-cmd => pid.c.command

net joint-5-pos-fb <= hm2_[MESA](BOARD).0.stepgen.05.position-fb
net joint-5-pos-fb => joint.5.motor-pos-fb
net joint-5-pos-fb => pid.c.feedback

# PID Output
net joint.5.output <= pid.c.output
net joint.5.output => hm2_[MESA](BOARD).0.stepgen.05.velocity-cmd

# Board: 7i78

# Axis: U Joint: 6 Output: 0
# PID Setup
setp pid.u.Pgain [JOINT_6](P)
setp pid.u.Igain [JOINT_6](I)
setp pid.u.Dgain [JOINT_6](D)
setp pid.u.bias [JOINT_6](BIAS)
setp pid.u.FF0 [JOINT_6](FF0)
setp pid.u.FF1 [JOINT_6](FF1)
setp pid.u.FF2 [JOINT_6](FF2)
setp pid.u.deadband [JOINT_6](DEADBAND)
setp pid.u.maxoutput [JOINT_6](MAX_OUTPUT)
setp pid.u.error-previous-target True

# joint-6 enable chain
net joint-6-index-enable <=> pid.u.index-enable
net joint-6-index-enable <=> joint.6.index-enable

net joint-6-enable <= joint.6.amp-enable-out
net joint-6-enable => pid.u.enable

# position command and feedback
net joint-6-pos-cmd <= joint.6.motor-pos-cmd
net joint-6-pos-cmd => pid.u.command

net joint-6-pos-fb <= hm2_[MESA](BOARD).0.stepgen.06.position-fb
net joint-6-pos-fb => joint.6.motor-pos-fb
net joint-6-pos-fb => pid.u.feedback

# PID Output
net joint.6.output <= pid.u.output

# Standard I/O Block - EStop, Etc
# create a signal for the estop loopback
net estop-loopback iocontrol.0.emc-enable-in <= iocontrol.0.user-enable-out
  • tommylight
  • tommylight's Avatar
30 Nov 2024 16:29

ESP32/S2/S3 LinuxCNC Controller (6 axis hardware step gen), USB plug-and-play

Category: Computers and Hardware

Nah, not my channel,

Yeah, it is probably Meister's channel, sorry for the mix up.

...got none of that online exposure, maybe one day but I doubt that. Same reason as yours, so little time for those sort of things :( 

I just had two friends in the shop, fixing 3 PC's, all the time they were screaming at me for not recording that and putting it online as they would like to watch that again and again! I am a pedantic p.o.s when i work with PC, so i always think that would be boring as hell ! :)

All the best to you & family. And be safe in that shop!!

Thank you very much. Been quite some time since i injured myself... aaah good times :)
  • PCW
  • PCW's Avatar
30 Nov 2024 15:28 - 30 Nov 2024 15:29
Replied by PCW on topic Plasma and Ethercat?

Plasma and Ethercat?

Category: Plasma & Laser

When an arc stops or starts, the connection is broken or established in a fraction of a nanosecond.
This generates a large current transient what starting and because the plasma source has substantial output
inductance, it causes a large voltage transient when the connection is broken.

This is the reason relay contacts typically have arc suppression devices, not just to preserve the contacts
but to suppress the massive EMI generated by the near instantaneous current interruption.
  • bkt
  • bkt's Avatar
30 Nov 2024 15:18

Linuxcnc show linuxcnc-error window when close my gui app

Category: Advanced Configuration

not know .tlc file programming ... but seems if we filter that messages that seems a bug ... we can eliminate error Lcnc windows at the end.

We can create debug_file or report_file in any folder if we would .... personally for now i add these at end of file:
# Open the info file
%readfile("$info_file", "file_content")

# Check if the file contains the word USERMOT
if (contains(file_content, "USRMOT: ERROR: command 30 timeout"))
    # Found USERMOT, destroy immediately
    {destroy .}
else
    # Wait for 40 seconds before destroying
    wait 40s
    {destroy .}
endif

my modify file ... only as example and for sure all can do these in better way ... personally is first time in these things ... so undersatnd me ...

in attach my file located on : /lib/tcltk/linuxcnc/show_errors.tcl

 

File Attachment:

File Name: show_errors_tcl.txt
File Size:4 KB
  • Axolito
  • Axolito's Avatar
30 Nov 2024 15:05
Replied by Axolito on topic Embed tab not displayed with autostart

Embed tab not displayed with autostart

Category: Gmoccapy

That didn't work either, but I came up with an idea to get the logs in a roundabout way.

I use :
xfce4-terminal -x linuxcnc '/home/axel/linuxcnc/configs/mini-cnc-tc-dust/mini-cnc-tc-dust.ini'
Then I saved the output in the attached file.

This is an error related to the toggle.1 function in the HAL file for the dust collector button.

I was able to solve my problem with this information!
My “loadrt toggle” was in the “postgui.hal” file, I moved it to the “machine.hal” file.
For some reason, the “postgui.hal” file isn't loaded at exactly the same time when it's an autostart and when it's a manual start.

In any case, now it's cleaner and more stable.
Thanks for the help.
  • RDA
  • RDA
30 Nov 2024 15:01
Replied by RDA on topic Plasma and Ethercat?

Plasma and Ethercat?

Category: Plasma & Laser

Maybe I misunderstand something here. I assumed we were talking about work to electrode voltage and further than that, the divided one.

So apart from the ignition or ohmic sensing the cutting itself is nothing dramatic, well at least to me its not. What do you mean by the "nanosecond" rates?

So purely from work to electrode voltage point of view the plasma does not "instantaneously" turn on the cutting power. The current is ramped up in the tens or hundreds ms time frame. This is all depending on the torch/consumable design. Same goes when you stop cutting, the arc is "extinguished" in a controlled manner.

Typically the IGBT's switch around 50kHZ, I have seen some a bit higher, some a bit lower but all that I came across switch under 100kHZ. The arc itself I see as a purely resistive load.

Now for crossing a kerf, the arc lags behind for a few degrees, depending on speed and material. When you cross a kerf, the top of the arc will touch the material before the bottom and makes the arc "jump" over the kerf. This extends the arc to a certain degree and makes the arc voltage higher (longer arc). Something similar happens when the center slug drops and the arc follows the slug for a moment, extending the arc.

Anyone can test their plasma's max output voltage during cutting by incrementing the cut height and seeing when the arc goes off. A plasma rated for example 200V cannot sustain an arc that requires 300V.

I will try to remember to scope the kerf crossing and hole cutting next time I have a chance, maybe not this year but for sure start of 25.

I'm eager to learn new things and it would be great if someone corrects me if I am wrong.
  • slowpoke
  • slowpoke
30 Nov 2024 14:54
Replied by slowpoke on topic Small touchscreen display 7-10' -> 14-16"

Small touchscreen display 7-10' -> 14-16"

Category: General LinuxCNC Questions

Out of curiosity, how much is a RPI and a good touchscreen these days?
Wondering as i got a Lenovo X1 Carbon Yoga for 120 and a Lenovo Yoga Y370 for 220, bot work for LinuxCNC with Mesa, both have 120Hz touchscreens, very high quality ones, very good keyboards, and both do over 4-6 hours on batteries.

RaspberryPi was $50 locally, the touchscreens $80-100ish Canadian pesos from Amazon. So a shade > US$100 for both. I can't vouch for the "good" WRT reliability the resolution/sharpness is decent not ipad quality but quite acceptable for a CNC machine.
  • RDA
  • RDA
30 Nov 2024 14:28
Replied by RDA on topic Plasma and Ethercat?

Plasma and Ethercat?

Category: Plasma & Laser

Nice one, have not seen that before. It's quite expensive though? And maybe a bit overkill with 8 x 16-bit ADC (for a single plasma). Would be nice to find a mixed signal one with something like16 I/O and few ADC and few PWM. Maybe one day I will have time to make one.
  • Mecanix
  • Mecanix
30 Nov 2024 14:06

ESP32/S2/S3 LinuxCNC Controller (6 axis hardware step gen), USB plug-and-play

Category: Computers and Hardware

RMT will have to wait, limited time, but lately i am stuck at home/shops so maybe...

Nah, not my channel, got none of that online exposure, maybe one day but I doubt that. Same reason as yours, so little time for those sort of things :( 

All the best to you & family. And be safe in that shop!!
  • NTULINUX
  • NTULINUX's Avatar
30 Nov 2024 13:40 - 02 Dec 2024 13:24

Gentoo Image, Which Applications are in and Which are Out

Category: General LinuxCNC Questions

The mainline 6.12 kernel has the i915 DRM (Direct Rendering Manager) driver has been disabled if PREEMPT_RT is selected in Kconfig. I guess the fixes for the i915 driver that were in the PREEMPT_RT kernel patch have not made it into mainline, so the driver has been forcibly disabled for now. The newer Intel Xe driver on the other hand is perfectly fine. Hardware acceleration will not work on Intel GPUs that are not covered by the Xe driver. When i915 has been re-enabled, I will push a new Gentoo image with the driver on.

git.kernel.org/pub/scm/linux/kernel/git/...Kconfig?h=v6.12.1#n6

config DRM_I915 depends on !PREEMPT_RT

I have however set the Xe Intel driver force_probe feature to "*" which enables the Xe driver for all known devices.

www.phoronix.com/review/intel-xe-benchmark

"This driver is designed just to support Intel Tigerlake Gen12 graphics and newer -- both integrated and discrete graphics moving forward. "

Also, this will _not_ be the case in the kernel I built:

"With the Xe DRM driver in Linux 6.8, the driver remains disabled by default for all released Intel integrated and discrete graphics hardware. Even when building the Intel Xe driver to be part of the kernel, it will be off by default with the long-used i815 kernel driver remaining the default. But it is easy to switch to this new driver when the Xe driver is included. Via boot parameters like "i915.force_probe=!56a2 xe.force_probe=56a2" is enough to prevent loading of the i915 driver and loading instead the experimental Xe driver, assuming your PCI graphics ID is 0x56a2. Just adjust for your appropriate Intel PCI graphics ID and from there it's easy to boot with this new kernel driver."

You will not have to specify IDs in the kernel command line in order to use the Xe driver as this has been enabled already in Kconfig.

Sorry for the inconvenience, I know a lot of you may be running older i915 hardware. I'm going to test this on an Intel laptop to make sure X at least works with the proper display resolution, but hardware 3D acceleration may not work for some of you.

edit: Just cloned the linux-rt-devel git repository, switched to the 6.12.y-rt branch, pulled in the 6.12.y branch from stable to update it, so the i915 driver has been re-enabled. 6.12.1 with i915 is a go! The PREEMPT_RT kernel patch series hasn't been updated since 6.12-rc4, so that's fixed.

edit 2: The 6.12 mainline kernel, while has PREEMPT_RT enabled, is actually a bit useless because real-time applications check for /sys/kernel/realtime including LinuxCNC. This patch is required for LinuxCNC to work with real-time POSIX threads:

git.kernel.org/pub/scm/linux/kernel/git/...be0b95341fdc7ef1c193

So I'll be maintaining my own 6.12 real-time kernel repository that also allows building with the -O3 flag.

All is well!
Displaying 16396 - 16410 out of 24424 results.
Time to create page: 0.444 seconds
Powered by Kunena Forum