Search Results (Searched for: )
- tommylight

11 May 2025 17:31

Use a NUC or any small PC, not a RPI.
You should check the export regulations before jumping in, the biggest market for DIY is USA, then India, Europe is pretty far down that list. I checked for the same thing, it was not pretty. BTW, my country has the lowest tarifs for USA at 10% only!
Does not fix much when sending anything there costs over 300$ for a small box.
This is not to discourage you, absolutely do try, just make sure you get informed beforehand.
Replied by tommylight on topic Off-the-shelf CNC control box with LinuxCNC?
Off-the-shelf CNC control box with LinuxCNC?
Category: Milling Machines
That statement ... has issues!... I want to make a truly badass solution with Raspberry Pi...
Use a NUC or any small PC, not a RPI.
You should check the export regulations before jumping in, the biggest market for DIY is USA, then India, Europe is pretty far down that list. I checked for the same thing, it was not pretty. BTW, my country has the lowest tarifs for USA at 10% only!
This is not to discourage you, absolutely do try, just make sure you get informed beforehand.
- Kaacperski
- Kaacperski
11 May 2025 17:28
Problems with jogging the motor was created by Kaacperski
Problems with jogging the motor
Category: HAL
Hello everyone.
I'm quite new to the topic of Mesa cards and LinuxCNC. For the past few days, I've been trying to get my Mesa 7i95T up and running. Some things are working well, I’ve loaded the firmware and configuration, and now I can communicate with my card. Encoders can also be observed on the LinuxCNC interface. Now I wanted to try running my motor for the first time, but unfortunately, I’ve been unsuccessful for a few days. When I reference all my axes and click Jog, I get the error message:
Motor 0 position error
emc/task/taskintf.cc 976: Error on joint 0, command number 108
.hal
# kinematics
loadrt [KINS](KINEMATICS)
# motion controller
loadrt [EMCMOT](EMCMOT) servo_period_nsec=[EMCMOT](SERVO_PERIOD) num_joints=[KINS](JOINTS) num_dio=8
# hostmot2 driver
loadrt hostmot2
loadrt hm2_eth board_ip=192.168.1.121 config="num_encoders=6 num_stepgens=6 sserial_port_0=00000000"
#Stepgen
loadrt stepgen step_type=0,0,0
setp hm2_7i95.0.stepgen.00.enable TRUE
# THREADS
addf [MESA](CARD0).read servo-thread
addf [MESA](CARD0).write servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
# Encoder X
setp hm2_7i95.0.encoder.00.filter 1
setp hm2_7i95.0.encoder.01.filter 1
setp hm2_7i95.0.encoder.02.filter 1
# Encoder 0 -> Joint 0 (X)
net x-pos-fb hm2_7i95.0.encoder.00.position => joint.0.motor-pos-fb
#E-Stop
net estop-loop iocontrol.0.user-enable-out => iocontrol.0.emc-enable-in
# DPLL
setp hm2_7i95.0.dpll.01.timer-us 100
# joint-0 enable chain
net joint-0-index-enable <=> joint.0.index-enable
#net joint-0-index-enable <=> [MESA](CARD0).encoder.00.index-enable
net joint-0-index-enable <=> [MESA](CARD0).stepgen.00.index-enable
# Joint 0 Step Generator Settings
setp [MESA](CARD0).stepgen.00.dirsetup [JOINT_0](DIRSETUP)
setp [MESA](CARD0).stepgen.00.dirhold [JOINT_0](DIRHOLD)
setp [MESA](CARD0).stepgen.00.steplen [JOINT_0](STEPLEN)
setp [MESA](CARD0).stepgen.00.stepspace [JOINT_0](STEPSPACE)
setp [MESA](CARD0).stepgen.00.position-scale [JOINT_0](SCALE)
setp [MESA](CARD0).stepgen.00.maxvel [JOINT_0](STEPGEN_MAX_VEL)
setp [MESA](CARD0).stepgen.00.maxaccel [JOINT_0](STEPGEN_MAX_ACC)
setp [MESA](CARD0).stepgen.00.step_type 0
setp [MESA](CARD0).stepgen.00.control-type 0
setp [MESA](CARD0).stepgen.00.direction.invert_output true
# position command and feedback
net joint-0-pos-cmd <= joint.0.motor-pos-cmd
net joint-0-pos-cmd <= [MESA](CARD0).stepgen.00.position-cmd
net joint-0-pos-fb <= [MESA](CARD0).stepgen.00.position-fb
#net joint-0-pos-fb <= [MESA](CARD0).encoder.00.position
net joint.0.output => [MESA](CARD0).stepgen.00.velocity-cmd
net joint.0.output <= joint.0.vel-cmd
.ini
[EMC]
MACHINE = Mesa 7i95T XYZ
DEBUG = 0
VERSION = 1.1
[HAL]
HALFILE = /home/kacper/linuxcnc/configs/Mesa_Mini/01_main.hal
[HMOT]
CARD0=hm2_eth
[HOSTMOT2]
ETH0=192.168.1.121
[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
SERVO_PERIOD = 1000000
[MESA]
VERSION = 2.0.6
FIRMWARE = 7i95t_sdid.bin
CARD0 = hm2_7i95.0
[DISPLAY]
DISPLAY = axis
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
[TASK]
TASK = milltask
CYCLE_TIME = 0.010
[EMCIO]
EMCIO = iov2
CYCLE_TIME = 0.1
TOOL_TABLE = tool.tbl
[RS274NGC]
PARAMETER_FILE = linuxcnc.var
[KINS]
KINEMATICS = trivkins coordinates=XYZ
JOINTS = 1
[TRAJ]
AXES = 1
COORDINATES = X
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
MAX_LINEAR_VELOCITY = 200
[AXIS_X]
TYPE = LINEAR
MAX_VELOCITY = 50
MAX_ACCELERATION = 100
MIN_LIMIT = -200
MAX_LIMIT = 200
[JOINT_0]
TYPE = LINEAR
HOME = 0
FERROR = 5
MIN_FERROR = 0.5
MAX_VELOCITY = 100
MAX_ACCELERATION = 200
STEPGEN_MAX_VEL = 60
STEPGEN_MAX_ACC = 120
P = 1000
I = 0
D = 0
FF0 = 0
FF1 = 1
FF2 = 0
DEADBAND = 0
BIAS = 0
MAX_OUTPUT = 10
MIN_LIMIT = -200
MAX_LIMIT = 200
STEPLEN = 1000
STEPSPACE = 1000
DIRSETUP = 1000
DIRHOLD = 1000
SCALE = 640
start
From a hardware perspective, everything seems to be correctly connected. Below, I’m attaching my .ini, .hal, and stepgen pins. Do you maybe have an idea where the issue could be?
Right now, my main goal is just to get the motor running. Thanks in advance for your tips and support.
I'm quite new to the topic of Mesa cards and LinuxCNC. For the past few days, I've been trying to get my Mesa 7i95T up and running. Some things are working well, I’ve loaded the firmware and configuration, and now I can communicate with my card. Encoders can also be observed on the LinuxCNC interface. Now I wanted to try running my motor for the first time, but unfortunately, I’ve been unsuccessful for a few days. When I reference all my axes and click Jog, I get the error message:
Motor 0 position error
emc/task/taskintf.cc 976: Error on joint 0, command number 108
.hal
# kinematics
loadrt [KINS](KINEMATICS)
# motion controller
loadrt [EMCMOT](EMCMOT) servo_period_nsec=[EMCMOT](SERVO_PERIOD) num_joints=[KINS](JOINTS) num_dio=8
# hostmot2 driver
loadrt hostmot2
loadrt hm2_eth board_ip=192.168.1.121 config="num_encoders=6 num_stepgens=6 sserial_port_0=00000000"
#Stepgen
loadrt stepgen step_type=0,0,0
setp hm2_7i95.0.stepgen.00.enable TRUE
# THREADS
addf [MESA](CARD0).read servo-thread
addf [MESA](CARD0).write servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
# Encoder X
setp hm2_7i95.0.encoder.00.filter 1
setp hm2_7i95.0.encoder.01.filter 1
setp hm2_7i95.0.encoder.02.filter 1
# Encoder 0 -> Joint 0 (X)
net x-pos-fb hm2_7i95.0.encoder.00.position => joint.0.motor-pos-fb
#E-Stop
net estop-loop iocontrol.0.user-enable-out => iocontrol.0.emc-enable-in
# DPLL
setp hm2_7i95.0.dpll.01.timer-us 100
# joint-0 enable chain
net joint-0-index-enable <=> joint.0.index-enable
#net joint-0-index-enable <=> [MESA](CARD0).encoder.00.index-enable
net joint-0-index-enable <=> [MESA](CARD0).stepgen.00.index-enable
# Joint 0 Step Generator Settings
setp [MESA](CARD0).stepgen.00.dirsetup [JOINT_0](DIRSETUP)
setp [MESA](CARD0).stepgen.00.dirhold [JOINT_0](DIRHOLD)
setp [MESA](CARD0).stepgen.00.steplen [JOINT_0](STEPLEN)
setp [MESA](CARD0).stepgen.00.stepspace [JOINT_0](STEPSPACE)
setp [MESA](CARD0).stepgen.00.position-scale [JOINT_0](SCALE)
setp [MESA](CARD0).stepgen.00.maxvel [JOINT_0](STEPGEN_MAX_VEL)
setp [MESA](CARD0).stepgen.00.maxaccel [JOINT_0](STEPGEN_MAX_ACC)
setp [MESA](CARD0).stepgen.00.step_type 0
setp [MESA](CARD0).stepgen.00.control-type 0
setp [MESA](CARD0).stepgen.00.direction.invert_output true
# position command and feedback
net joint-0-pos-cmd <= joint.0.motor-pos-cmd
net joint-0-pos-cmd <= [MESA](CARD0).stepgen.00.position-cmd
net joint-0-pos-fb <= [MESA](CARD0).stepgen.00.position-fb
#net joint-0-pos-fb <= [MESA](CARD0).encoder.00.position
net joint.0.output => [MESA](CARD0).stepgen.00.velocity-cmd
net joint.0.output <= joint.0.vel-cmd
.ini
[EMC]
MACHINE = Mesa 7i95T XYZ
DEBUG = 0
VERSION = 1.1
[HAL]
HALFILE = /home/kacper/linuxcnc/configs/Mesa_Mini/01_main.hal
[HMOT]
CARD0=hm2_eth
[HOSTMOT2]
ETH0=192.168.1.121
[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
SERVO_PERIOD = 1000000
[MESA]
VERSION = 2.0.6
FIRMWARE = 7i95t_sdid.bin
CARD0 = hm2_7i95.0
[DISPLAY]
DISPLAY = axis
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
[TASK]
TASK = milltask
CYCLE_TIME = 0.010
[EMCIO]
EMCIO = iov2
CYCLE_TIME = 0.1
TOOL_TABLE = tool.tbl
[RS274NGC]
PARAMETER_FILE = linuxcnc.var
[KINS]
KINEMATICS = trivkins coordinates=XYZ
JOINTS = 1
[TRAJ]
AXES = 1
COORDINATES = X
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
MAX_LINEAR_VELOCITY = 200
[AXIS_X]
TYPE = LINEAR
MAX_VELOCITY = 50
MAX_ACCELERATION = 100
MIN_LIMIT = -200
MAX_LIMIT = 200
[JOINT_0]
TYPE = LINEAR
HOME = 0
FERROR = 5
MIN_FERROR = 0.5
MAX_VELOCITY = 100
MAX_ACCELERATION = 200
STEPGEN_MAX_VEL = 60
STEPGEN_MAX_ACC = 120
P = 1000
I = 0
D = 0
FF0 = 0
FF1 = 1
FF2 = 0
DEADBAND = 0
BIAS = 0
MAX_OUTPUT = 10
MIN_LIMIT = -200
MAX_LIMIT = 200
STEPLEN = 1000
STEPSPACE = 1000
DIRSETUP = 1000
DIRHOLD = 1000
SCALE = 640
start
From a hardware perspective, everything seems to be correctly connected. Below, I’m attaching my .ini, .hal, and stepgen pins. Do you maybe have an idea where the issue could be?
Right now, my main goal is just to get the motor running. Thanks in advance for your tips and support.
Time to create page: 0.472 seconds