Advanced Search

Search Results (Searched for: )

  • jjdege
  • jjdege's Avatar
Today 07:01
Replied by jjdege on topic EtherCAT Master Beckhoff slave not found

EtherCAT Master Beckhoff slave not found

Category: Basic Configuration

Here   you have a good example of the xml file for Beckhoff devices
Hi
  • spumco
  • spumco
Yesterday 02:36
Replied by spumco on topic Looking for consultant

Looking for consultant

Category: General LinuxCNC Questions

 If you know somebody who might be a fit or would be interested yourself, I would love to hear from you. 
 


Contact details?
  • spumco
  • spumco
Yesterday 02:34
Replied by spumco on topic Paid Consulting Opportunity

Paid Consulting Opportunity

Category: QtPyVCP

Not me, despite really needing the money, i never charge for any help here or when initiated from here, and i am of no use for Probe Basic, yet.
For other things related to LinuxCNC, i am here often and daily, so feel free to shoot questions here.
 

You're Mr. Helpful, Tommy - no sarcasm at all.

I suspect the OP has an issue with the Probe Basic ATC control scheme not meshing with their hardware.  Same thing I ran in to when I was setting up my mill - I don't have a 'dumb' on/off motor with geneva drive, so the ATC subroutines aren't gonna work.

I'm betting that as a business they would rather spend money to get things sorted than go back-and-forth over the forum for days/weeks.  Regardless of how awesome the forum members are, sometimes you just want to buy your way out of a jam.
  • tommylight
  • tommylight's Avatar
Yesterday 00:31
Replied by tommylight on topic Encoder question

Encoder question

Category: Computers and Hardware

...but it just runs as soon as i enable it.

Does it run slowly or at full speed?
If the drive and motor are a set, do not try to tune them before making sure that is the issue, for this:
-disconnect the analog drive input from Mesa
-connect those two wires together
-power on the drive
-enable the drive
>>>does the motor turn slowly ?
-If yes = move on the drive is fine
-If no = first thing to check is Tacho wiring and brushes, then check motor brushes (if any).
>also check the commutator state for both, if there are signs of sparking on tacho = change tacho and check the drive output to tacho for whatever signal it should output. Rarely an issue, very rarely.
-Use compressed air to blow the brush holes and do not breathe near it
-And VERY important, return the brushes in the same hole you got them from, in the same direction and orientation.
  • Tinker
  • Tinker
Yesterday 00:11
Replied by Tinker on topic Encoder question

Encoder question

Category: Computers and Hardware

I think i might have a drive issue, the encoder counts are working but it just runs as soon as i enable it. The drive for the 4th is from another machine and i thing i need to break my oscilliscope out and actually tune it per their directions. Im going to get that squared away and then start messing with the software side of it.
Thank you again for all your help!!!!
  • tommylight
  • tommylight's Avatar
Yesterday 00:06
Replied by tommylight on topic PureCutCNC

PureCutCNC

Category: CAD CAM

Looks OK, but i have not used it.
I did use PyCAM several years back, it was terribly slow to generate code but easy to use.
I wonder how fast is this at generating code...
  • tommylight
  • tommylight's Avatar
Yesterday 00:00

MeasurefromSTL - Online measurement tool - Open source

Category: Show Your Stuff

Thank you, i can see some uses for it, personally.
  • tommylight
  • tommylight's Avatar
Yesterday 23:54

IgH 1.6.9 MEASURE_TIMING 1 kHz on Debian 13 RT, N100, I226-V + ec_igc (isolcpus

Category: EtherCAT

Can we merge these two topics, seems way easier for users to find as the only variable is the CPU.
Or am i missing something?
Thank you, either way.
  • tommylight
  • tommylight's Avatar
Yesterday 23:52
Replied by tommylight on topic GrooveCam

GrooveCam

Category: Show Your Stuff

A short video tutorial would be really nice.
Thank you.
  • tommylight
  • tommylight's Avatar
Yesterday 23:50
Replied by tommylight on topic emco compact 55 mill. Just starting

emco compact 55 mill. Just starting

Category: Milling Machines

Parallel port, make the machine work, see if you can be content with what it can do, then decide if you want to upgrade.
Emco usually use parallel port, so the upgrade from parallel would be Mesa 7i92T and an IDC26 to DB25 cable, plug and play etc, etc.
-
This is personal, so take this as you see fit, but i do not use RPI and probably never will, as 1. they are way to much fuss for everything, and 2. they are way more expensive than a good used laptop with touchscreen so when you add the screen and the other stuff needed it usually comes to twice more expensive than that laptop.
And that laptop will beat the living sh#t out of RPI for everything.
See Lenovo X1 Yoga, or Y370 or Y380, but beware that despite several of mine and other members here, yours might end up not usable, it is a risk, but for me definitely worth taking as i can find those from 120 to 220 Euro a piece in perfect condition.
  • tommylight
  • tommylight's Avatar
Yesterday 21:41
Replied by tommylight on topic Encoder question

Encoder question

Category: Computers and Hardware

forum.linuxcnc.org/10-advanced-configura...to-example-mesa-7i77
Skip to the part about wiring and tuning.
  • tommylight
  • tommylight's Avatar
Yesterday 21:37

Ethernet connection to Mesa 7i76e disconnecting on its own after one minute

Category: Plasmac

All I had to do was switch this setting from automatic to manual in the network settings and boom works now!

If you used this:
forum.linuxcnc.org/27-driver-boards/3559...ethernet-mesa-boards
It clearly states to change that to manual.
  • tommylight
  • tommylight's Avatar
Yesterday 21:32
Replied by tommylight on topic Mesa Suppliers

Mesa Suppliers

Category: Driver Boards

www.welectron.com
Should be added to first post, they are in Germany and been keeping a steady stock of Mesa boards, i did order from them several times and everything was fine. My sister lives in Germany so the shipping goes to her, usually in 2-4 days, and then i have to wait about a week or two to get them here.
Also the link to duzi.cz and cncmonster should be removed, duzi has security certificate issues and the shop is 404, cncmonster seems to have moved to other things.
  • PCW
  • PCW's Avatar
Yesterday 21:00
Replied by PCW on topic Encoder question

Encoder question

Category: Computers and Hardware

If you have no position control, I would check:

1. The PID values

2. Does the analog out voltage change as the axis drifts?

3. Does the analog output voltage control the axis velocity?
 
  • Tinker
  • Tinker
Yesterday 20:39
Replied by Tinker on topic Encoder question

Encoder question

Category: Computers and Hardware

So the encoder is now counting but the 4th just slowly rotates until I get a following error. This encoder does not have an index wire, do i need to change anything in my hal file? I was thinking this might have something to do with the random motion...
Thank you for your help!! 

# This file was created with the Mesa Configuration Tool on Aug 27 2026 19:07:25
# 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="num_encoders=6 num_pwmgens=6 sserial_port_0=00000000"

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

loadrt pid names=pid.x,pid.y,pid.z,pid.a

# 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 hm2_[MESA](BOARD).0.write servo-thread

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

# Global PWM setup
setp hm2_[MESA](BOARD).0.pwmgen.pwm_frequency 75000

# Board: 7i97t

# 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

# 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-index-enable <=> hm2_[MESA](BOARD).0.encoder.00.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.pwmgen.00.enable

# PWM Generator setup
setp hm2_[MESA](BOARD).0.pwmgen.00.dither true
setp hm2_[MESA](BOARD).0.pwmgen.00.output-type 1 #PWM pin0
setp hm2_[MESA](BOARD).0.pwmgen.00.offset-mode 1 # offset mode so 50% = 0
setp hm2_[MESA](BOARD).0.pwmgen.00.scale [JOINT_0]SCALE

# 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.encoder.00.position
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.pwmgen.00.value

# Encoder Setup
setp hm2_[MESA](BOARD).0.encoder.00.scale [JOINT_0](ENCODER_SCALE)
setp hm2_[MESA](BOARD).0.encoder.00.counter-mode 0
setp hm2_[MESA](BOARD).0.encoder.00.filter 1
setp hm2_[MESA](BOARD).0.encoder.00.index-invert 0
setp hm2_[MESA](BOARD).0.encoder.00.index-mask 0
setp hm2_[MESA](BOARD).0.encoder.00.index-mask-invert 0

# 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

# 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-index-enable <=> hm2_[MESA](BOARD).0.encoder.01.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.pwmgen.01.enable

# PWM Generator setup
setp hm2_[MESA](BOARD).0.pwmgen.01.dither true
setp hm2_[MESA](BOARD).0.pwmgen.01.output-type 1 #PWM pin0
setp hm2_[MESA](BOARD).0.pwmgen.01.offset-mode 1 # offset mode so 50% = 0
setp hm2_[MESA](BOARD).0.pwmgen.01.scale [JOINT_0]SCALE

# 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.encoder.01.position
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.pwmgen.01.value

# Encoder Setup
setp hm2_[MESA](BOARD).0.encoder.01.scale [JOINT_1](ENCODER_SCALE)
setp hm2_[MESA](BOARD).0.encoder.01.counter-mode 0
setp hm2_[MESA](BOARD).0.encoder.01.filter 1
setp hm2_[MESA](BOARD).0.encoder.01.index-invert 0
setp hm2_[MESA](BOARD).0.encoder.01.index-mask 0
setp hm2_[MESA](BOARD).0.encoder.01.index-mask-invert 0

# 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

# 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-index-enable <=> hm2_[MESA](BOARD).0.encoder.02.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.pwmgen.02.enable

# PWM Generator setup
setp hm2_[MESA](BOARD).0.pwmgen.02.dither true
setp hm2_[MESA](BOARD).0.pwmgen.02.output-type 1 #PWM pin0
setp hm2_[MESA](BOARD).0.pwmgen.02.offset-mode 1 # offset mode so 50% = 0
setp hm2_[MESA](BOARD).0.pwmgen.02.scale [JOINT_0]SCALE

# 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.encoder.02.position
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.pwmgen.02.value

# Encoder Setup
setp hm2_[MESA](BOARD).0.encoder.02.scale [JOINT_2](ENCODER_SCALE)
setp hm2_[MESA](BOARD).0.encoder.02.counter-mode 0
setp hm2_[MESA](BOARD).0.encoder.02.filter 1
setp hm2_[MESA](BOARD).0.encoder.02.index-invert 0
setp hm2_[MESA](BOARD).0.encoder.02.index-mask 0
setp hm2_[MESA](BOARD).0.encoder.02.index-mask-invert 0

# 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

# 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-index-enable <=> hm2_[MESA](BOARD).0.encoder.03.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.pwmgen.03.enable

# PWM Generator setup
setp hm2_[MESA](BOARD).0.pwmgen.03.dither true
setp hm2_[MESA](BOARD).0.pwmgen.03.output-type 1 #PWM pin0
setp hm2_[MESA](BOARD).0.pwmgen.03.offset-mode 1 # offset mode so 50% = 0
setp hm2_[MESA](BOARD).0.pwmgen.03.scale [JOINT_0]SCALE

# 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.encoder.03.position
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.pwmgen.03.value

# Encoder Setup
setp hm2_[MESA](BOARD).0.encoder.03.scale [JOINT_3](ENCODER_SCALE)
setp hm2_[MESA](BOARD).0.encoder.03.counter-mode 0
setp hm2_[MESA](BOARD).0.encoder.03.filter 1
setp hm2_[MESA](BOARD).0.encoder.03.index-invert 0
setp hm2_[MESA](BOARD).0.encoder.03.index-mask 0
setp hm2_[MESA](BOARD).0.encoder.03.index-mask-invert 0

# 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

# Manual Tool Change Dialog
loadusr -W hal_manualtoolchange
net tool-number hal_manualtoolchange.number <= iocontrol.0.tool-prep-number
net tool-change-request hal_manualtoolchange.change <= iocontrol.0.tool-change
net tool-change-confirmed iocontrol.0.tool-changed => hal_manualtoolchange.changed

# tool prep loopback
net tool-prep-loop iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
 
Displaying 1 - 15 out of 288795 results.
Time to create page: 1.868 seconds
Powered by Kunena Forum