Advanced Search

Search Results (Searched for: )

  • PCW
  • PCW's Avatar
30 Nov 2024 18:09
Replied by PCW on topic Mesa Configuration Tool

Mesa Configuration Tool

Category: Configuration Tools

Looks like a mesact bug.

In the mean time you could just copy/paste/renumber
the stepgen section from another axis to get it working.
  • zieluch
  • zieluch
30 Nov 2024 18:09
  • rodw
  • rodw's Avatar
30 Nov 2024 18:08

Raspberrypi 5 linuxcnc Image' screen resolution and color depth

Category: General LinuxCNC Questions

Can you please try this later version of the linuxcnc image
drive.google.com/file/d/16xQfd_zXuXXKXqO...IY0/view?usp=sharing
I believe the screen issues are solved because the underlying Pi code had some fixes
  • PCW
  • PCW's Avatar
30 Nov 2024 17:30
Replied by PCW on topic 7i96S Basic Switch Wiring confirmation

7i96S Basic Switch Wiring confirmation

Category: Basic Configuration

Note, I only skipped the first 4 inputs pins so they are available for (up to 2)
MPGs.  If you do not have a MPG, starting a pin 1 (input 0) makes more sense.
  • langdons
  • langdons's Avatar
30 Nov 2024 17:21

How to configure pause/resume over pin 10 of parallel port?

Category: HAL

LinuxCNC does not really resume when the E-Stop button is released (unlocked).

You have to start the G-Code over again.
  • 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 :)
Displaying 22276 - 22287 out of 22287 results.
Time to create page: 0.931 seconds
Powered by Kunena Forum