Search Results (Searched for: )
- amanker
- amanker
02 Jun 2024 11:16
Replied by amanker on topic Need help in choosing controller board from small honby cnc.
Need help in choosing controller board from small honby cnc.
Category: Driver Boards
Few Things
Base Thread was available after I added entry in [EMCMOT] base_period 0 to 50000. in ini file.
That didnt changed the response scale and axis selector switch its still delayed by 20-30 secs. only selector switch signals are delayed. Not the encoder signals.
I have defined remora.PV.0 and verified recoder is counting. hall meter shows inc/dec integers.
couldnt figureout how to use conv_float_s32 thing
Base Thread was available after I added entry in [EMCMOT] base_period 0 to 50000. in ini file.
That didnt changed the response scale and axis selector switch its still delayed by 20-30 secs. only selector switch signals are delayed. Not the encoder signals.
I have defined remora.PV.0 and verified recoder is counting. hall meter shows inc/dec integers.
couldnt figureout how to use conv_float_s32 thing
- amanker
- amanker
02 Jun 2024 11:10
Replied by amanker on topic Need help in choosing controller board from small honby cnc.
Need help in choosing controller board from small honby cnc.
Category: Driver Boards
End Stop Still Not working. Its N/C type. AND I have wired to GND. So Estop pin will be on GND normally. But When its pressed GND will be open.
My Config.txt
My Remora HAL
My Remora INI
My MPG HAL
My QT_Dragon POST_GUI HAL
My Config.txt
{
"Board": "BIGTREETECH SKR OCTOPUS PRO V1.0",
"Threads":[
{
"Thread": "Base",
"Frequency": 80000
}
],
"Modules":[
{
"Thread": "Servo",
"Type": "Reset Pin",
"Comment": "Reset pin",
"Pin": "PC_15"
},
{
"Thread": "Base",
"Type": "Stepgen",
"Comment": "X - Joint 0 step generator",
"Joint Number": 0,
"Step Pin": "PF_13",
"Direction Pin": "PF_12",
"Enable Pin": "PF_14"
},
{
"Thread": "Base",
"Type": "Stepgen",
"Comment": "Y - Joint 1 step generator",
"Joint Number": 1,
"Step Pin": "PG_0",
"Direction Pin": "PG_1",
"Enable Pin": "PF_15"
},
{
"Thread": "Base",
"Type": "Stepgen",
"Comment": "Z - Joint 2 step generator",
"Joint Number": 2,
"Step Pin": "PF_11",
"Direction Pin": "PG_3",
"Enable Pin": "PG_5"
},
{
"Thread": "Base",
"Type": "Stepgen",
"Comment": "E0 - Joint 3 step generator",
"Joint Number": 3,
"Step Pin": "PG_4",
"Direction Pin": "PC_1",
"Enable Pin": "PA_0"
},
{
"Thread": "Base",
"Type": "Stepgen",
"Comment": "E1 - Joint 4 step generator",
"Joint Number": 4,
"Step Pin": "PF_9",
"Direction Pin": "PF_10",
"Enable Pin": "PG_2"
},
{
"Thread": "Servo",
"Type": "Digital Pin",
"Comment": "X min",
"Pin": "PG_6",
"Mode": "Input",
"Data Bit": 0
},
{
"Thread": "Servo",
"Type": "Digital Pin",
"Comment": "X max",
"Pin": "PG_9",
"Mode": "Input",
"Invert": "True",
"Data Bit": 1
},
{
"Thread": "Servo",
"Type": "Digital Pin",
"Comment": "Y min",
"Pin": "PG_10",
"Mode": "Input",
"Invert": "True",
"Data Bit": 2
},
{
"Thread": "Servo",
"Type": "Digital Pin",
"Comment": "Y max",
"Pin": "PG_11",
"Mode": "Input",
"Invert": "True",
"Data Bit": 3
},
{
"Thread": "Servo",
"Type": "Digital Pin",
"Comment": "Z min",
"Pin": "PG_12",
"Mode": "Input",
"Invert": "True",
"Data Bit": 4
},
{
"Thread": "Servo",
"Type": "Digital Pin",
"Comment": "Z max",
"Pin": "PG_13",
"Mode": "Input",
"Invert": "True",
"Data Bit": 5
},
{
"Thread": "Servo",
"Type": "Digital Pin",
"Comment": "Probe",
"Pin": "PC_5",
"Mode": "Input",
"Invert": "True",
"Data Bit": 6
},
{
"Thread": "Base",
"Type": "Encoder",
"Comment": "MPG encoder",
"ChA Pin": "PE_7",
"ChB Pin": "PE_8",
"Modifier": "Pull Up",
"PV[i]": 0
},
{
"Thread": "Servo",
"Type": "Digital Pin",
"Comment": "X1",
"Pin": "PE_9",
"Mode": "Input",
"Invert": "True",
"Data Bit": 9
},
{
"Thread": "Servo",
"Type": "Digital Pin",
"Comment": "X10",
"Pin": "PE_10",
"Mode": "Input",
"Invert": "True",
"Data Bit": 10
},
{
"Thread": "Servo",
"Type": "Digital Pin",
"Comment": "Axis X",
"Pin": "PE_12",
"Mode": "Input",
"Invert": "True",
"Data Bit": 11
},
{
"Thread": "Servo",
"Type": "Digital Pin",
"Comment": "Axis Y",
"Pin": "PE_13",
"Mode": "Input",
"Invert": "True",
"Data Bit": 12
},
{
"Thread": "Servo",
"Type": "Digital Pin",
"Comment": "Axis Z",
"Pin": "PE_14",
"Mode": "Input",
"Invert": "True",
"Data Bit": 13
},
{
"Thread": "Servo",
"Type": "Digital Pin",
"Comment": "Axis A",
"Pin": "PE_15",
"Mode": "Input",
"Invert": "True",
"Data Bit": 14
},
{
"Thread": "Servo",
"Type": "Digital Pin",
"Comment": "Axis C",
"Pin": "PB_1",
"Mode": "Input",
"Invert": "True",
"Data Bit": 15
},
{
"Thread": "Servo",
"Type": "Estop Pin",
"Comment": "Estop pin",
"Pin": "PF_3"
},
{
"Thread": "Servo",
"Type": "Digital Pin",
"Comment": "PWM0",
"Pin": "PA_8",
"Mode": "Output",
"Data Bit": 0
}
]
}
My Remora HAL
# load the realtime components
loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
#loadrt remora
loadrt remora chip_type=STM SPI_clk_div=32 PRU_base_freq=80000
#loadrt remora chip_type=LPC SPI_clk_div=64
# estop loopback, SPI comms enable and feedback
net user-enable-out <= iocontrol.0.user-enable-out => remora.SPI-enable
net user-request-enable <= iocontrol.0.user-request-enable => remora.SPI-reset
net remora-status <= remora.SPI-status => iocontrol.0.emc-enable-in
# add the remora and motion functions to threads
addf remora.read servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf remora.update-freq servo-thread
addf remora.write servo-thread
# Joint 0 setup
setp remora.joint.0.scale [JOINT_0]SCALE
setp remora.joint.0.maxaccel [JOINT_0]STEPGEN_MAXACCEL
net xpos-cmd <= joint.0.motor-pos-cmd => remora.joint.0.pos-cmd
net j0pos-fb <= remora.joint.0.pos-fb => joint.0.motor-pos-fb
net j0enable <= joint.0.amp-enable-out => remora.joint.0.enable
# Joint 1 setup
setp remora.joint.1.scale [JOINT_1]SCALE
setp remora.joint.1.maxaccel [JOINT_1]STEPGEN_MAXACCEL
net j1pos-cmd <= joint.1.motor-pos-cmd => remora.joint.1.pos-cmd
net j1pos-fb <= remora.joint.1.pos-fb => joint.1.motor-pos-fb
net j1enable <= joint.1.amp-enable-out => remora.joint.1.enable
# Joint 2 setup
setp remora.joint.2.scale [JOINT_2]SCALE
setp remora.joint.2.maxaccel [JOINT_2]STEPGEN_MAXACCEL
net j2pos-cmd <= joint.2.motor-pos-cmd => remora.joint.2.pos-cmd
net j2pos-fb <= remora.joint.2.pos-fb => joint.2.motor-pos-fb
net j2enable <= joint.2.amp-enable-out => remora.joint.2.enable
# Joint 3 setup
setp remora.joint.3.scale [JOINT_3]SCALE
setp remora.joint.3.maxaccel [JOINT_3]STEPGEN_MAXACCEL
net j3pos-cmd <= joint.3.motor-pos-cmd => remora.joint.3.pos-cmd
net j3pos-fb <= remora.joint.3.pos-fb => joint.3.motor-pos-fb
net j3enable <= joint.3.amp-enable-out => remora.joint.3.enable
# Joint 4 setup
setp remora.joint.4.scale [JOINT_4]SCALE
setp remora.joint.4.maxaccel [JOINT_4]STEPGEN_MAXACCEL
net j4pos-cmd <= joint.4.motor-pos-cmd => remora.joint.4.pos-cmd
net j4pos-fb <= remora.joint.4.pos-fb => joint.4.motor-pos-fb
net j4enable <= joint.4.amp-enable-out => remora.joint.4.enable
# end-stops
net X-min remora.input.0 => joint.0.neg-lim-sw-in
net X-max remora.input.1 => joint.0.home-sw-in joint.0.pos-lim-sw-in
net Y-min remora.input.2 => joint.1.neg-lim-sw-in
net Y-max remora.input.3 => joint.1.home-sw-in joint.1.pos-lim-sw-in
net Z-min remora.input.4 => joint.2.neg-lim-sw-in
net Z-max remora.input.5 => joint.2.home-sw-in joint.2.pos-lim-sw-in
# Probe
net probe-input motion.probe-input <= remora.input.6
# net probe-input => qtdragon.led-probe
# Spindle
loadrt pwmgen output_type=0
addf pwmgen.update servo-thread
addf pwmgen.make-pulses servo-thread
net spindle-speed-cmd spindle.0.speed-out => pwmgen.0.value
net spindle-on spindle.0.on => pwmgen.0.enable
net spindle-pwm pwmgen.0.pwm => remora.output.0
# Set the spindle's top speed in RPM
setp pwmgen.0.scale 12000
# net spindle-speed-feedback spindle.0.speed-out-rps => spindle.0.speed-in
My Remora INI
# Basic LinuxCNC config for testing of Remora firmware
[EMC]
MACHINE = Remora-XY
DEBUG = 5
VERSION = 1.1
[DISPLAY]
DISPLAY = qtvcp qtdragon_hd
USER_COMMAND_FILE = usercommand_regularmac_800.py
EDITOR = gedit
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
ARCDIVISION = 64
GRIDS = 10mm 20mm 50mm 100mm
MAX_FEED_OVERRIDE = 1.2
MIN_SPINDLE_0_OVERRIDE = 0.5
MAX_SPINDLE_0_OVERRIDE = 1.5
DEFAULT_SPINDLE_0_SPEED = 1200
SPINDLE_INCREMENT = 200
MIN_SPINDLE_0_SPEED = 200
MAX_SPINDLE_0_SPEED = 1200
MAX_SPINDLE_POWER = 500
DEFAULT_LINEAR_VELOCITY = 10.00
MIN_LINEAR_VELOCITY = 0
MAX_LINEAR_VELOCITY = 24.00
DEFAULT_ANGULAR_VELOCITY = 36.00
MIN_ANGULAR_VELOCITY = 0
MAX_ANGULAR_VELOCITY = 45.00
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
PROGRAM_PREFIX = ~/linuxcnc/nc_files
INCREMENTS = Continuous, 50mm, 10mm, 5mm, 1mm, .5mm, .1mm, .05mm, .01mm
#ANGULAR_INCREMENTS = 1,5,10,30,45,90
NGCGUI_SUBFILE_PATH = ~/linuxcnc/nc_files/examples/ngcgui_lib
# pre selected programs tabs
# specify filenames only, files must be in the NGCGUI_SUBFILE_PATH
NGCGUI_SUBFILE = slot.ngc
NGCGUI_SUBFILE = qpocket.ngc
[KINS]
JOINTS = 5
#KINEMATICS =trivkins coordinates=XYZ kinstype=BOTH
KINEMATICS =trivkins coordinates=XYZAC
[FILTER]
PROGRAM_EXTENSION = .py Python Script
py = python
[TASK]
TASK = milltask
CYCLE_TIME = 0.010
[RS274NGC]
PARAMETER_FILE = linuxcnc.var
SUBROUTINE_PATH = :~/linuxcnc/nc_files/examples/ngcgui_lib:~/linuxcnc/nc_files/examples/ngcgui_lib/utilitysubs; \
~/linuxcnc/nc_files/examples/probe/basic_probe/macros:~/linuxcnc/nc_files/examples/remap-subroutines: \
~/linuxcnc/nc_files/examples/ngcgui_lib/remap_lib
ON_ABORT_COMMAND=O <on_abort> call
RS274NGC_STARTUP_CODE = G17 G21 G40 G43H0 G54 G64P0.0005 G80 G90 G94 G97 M5 M9
[MDI_COMMAND_LIST]
# for macro buttons
MDI_COMMAND = G0 Z25;X0 Y0;Z0, Goto\nUser\nZero
MDI_COMMAND = G53 G0 Z0;G53 G0 X0 Y0,Goto\nMachn\nZero
[PROBE]
#USE_PROBE = versaprobe
USE_PROBE = basicprobe
[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
BASE_PERIOD = 50000
SERVO_PERIOD = 1000000
[HAL]
HALFILE = remora-xyz.hal
HALFILE = mpg.hal
POSTGUI_HALFILE = qtdragon_hd_postgui.hal
#POSTGUI_HALFILE = postgui_call_list.hal
[TRAJ]
COORDINATES = X Y Z A C
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
CYCLE_TIME = 0.010
DEFAULT_LINEAR_VELOCITY = 10.00
MAX_LINEAR_VELOCITY = 40.00
NO_FORCE_HOMING = 1
[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl
[AXIS_X]
MAX_VELOCITY = 40.00
MAX_ACCELERATION = 20.0
MIN_LIMIT = 0.0
MAX_LIMIT = 300.0
[JOINT_0]
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = 0.0
MAX_LIMIT = 300.0
MAX_VELOCITY = 40.0
MAX_ACCELERATION = 20.0
STEPGEN_MAXACCEL = 2000.0
SCALE = 1600
FERROR = 2
MIN_FERROR = 2.0
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 2.0
HOME_LATCH_VEL = 2.0
HOME_SEQUENCE = 0
[AXIS_Y]
MAX_VELOCITY = 40.0
MAX_ACCELERATION = 20.0
MIN_LIMIT = 0.0
MAX_LIMIT = 200.0
[JOINT_1]
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = 0.0
MAX_LIMIT = 200.0
MAX_VELOCITY = 40.0
MAX_ACCELERATION = 20.0
STEPGEN_MAXACCEL = 2000.0
SCALE = 1600.00
FERROR = 9.0
MIN_FERROR = 5.0
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 2.0
HOME_LATCH_VEL = 2.0
HOME_SEQUENCE = 1
[AXIS_Z]
OFFSET_AV_RATIO = 0.2
MAX_VELOCITY = 20.0
MAX_ACCELERATION = 20.0
MIN_LIMIT = 0
MAX_LIMIT = 200
[JOINT_2]
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = 0
MAX_LIMIT = 200
MAX_VELOCITY = 20.0
MAX_ACCELERATION = 20.0
STEPGEN_MAXACCEL = 300.0
SCALE = 1200.00
FERROR = 5
MIN_FERROR = 1.0
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 0
HOME_LATCH_VEL = 0
HOME_SEQUENCE = 0
[AXIS_A]
OFFSET_AV_RATIO = 0.2
MAX_VELOCITY = 35.0
MAX_ACCELERATION = 20.0
MIN_LIMIT = 0
MAX_LIMIT = 360
[JOINT_3]
TYPE = ANGULAR
HOME = 0.0
MIN_LIMIT = 0
MAX_LIMIT = 360
MAX_VELOCITY = 35.0
MAX_ACCELERATION = 20.0
STEPGEN_MAXACCEL = 300.0
SCALE = 71.111
FERROR = 5
MIN_FERROR = 1.0
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 0
HOME_LATCH_VEL = 0
HOME_SEQUENCE = 0
[AXIS_C]
OFFSET_AV_RATIO = 0.2
MAX_VELOCITY = 35.0
MAX_ACCELERATION = 20.0
MIN_LIMIT = 0
MAX_LIMIT = 180
[JOINT_4]
TYPE = ANGULAR
HOME = 0.0
MIN_LIMIT = 0
MAX_LIMIT = 180
MAX_VELOCITY = 35.0
MAX_ACCELERATION = 20.0
STEPGEN_MAXACCEL = 300.0
SCALE = 71.111
FERROR = 5
MIN_FERROR = 1.0
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 0
HOME_LATCH_VEL = 0
HOME_SEQUENCE = 0
My MPG HAL
# Jog Pendant
loadrt encoder num_chan=1
loadrt mux4 count=1
addf encoder.capture-position servo-thread
addf encoder.update-counters base-thread
addf mux4.0 servo-thread
# If your MPG outputs a quadrature signal per click set x4 to 1
# If your MPG puts out 1 pulse per click set x4 to 0
setp encoder.0.x4-mode 0
# For velocity mode, set to 1
# In velocity mode the axis stops when the dial is stopped
# even if that means the commanded motion is not completed,
# For position mode (the default), set to 0
# In position mode the axis will move exactly jog-scale
# units for each count, regardless of how long that might take,
setp joint.0.jog-vel-mode 1
setp joint.1.jog-vel-mode 1
setp joint.2.jog-vel-mode 1
# This sets the scale that will be used based on the input to the mux4
setp mux4.0.in0 0.1
setp mux4.0.in1 0.01
setp mux4.0.in2 0.001
# The inputs to the mux4 component
net scale1 mux4.0.sel0 <= remora.input.9
net scale2 mux4.0.sel1 <= remora.input.10
# The output from the mux4 is sent to each axis jog scale
net mpg-scale <= mux4.0.out
net mpg-scale => joint.0.jog-scale
net mpg-scale => joint.1.jog-scale
net mpg-scale => joint.2.jog-scale
#net mpg-scale => axis.a.jog-scale
#net mpg-scale => axis.c.jog-scale
# The MPG inputs
#net mpg-a encoder.0.phase-A <= remora.input.7
#net mpg-b encoder.0.phase-B <= remora.input.8
# The Axis select inputs
net mpg-x joint.0.jog-enable <= remora.input.11
net mpg-y joint.1.jog-enable <= remora.input.12
net mpg-z joint.2.jog-enable <= remora.input.13
#net mpg-a axis.a.jog-enable <= remora.input.14
#net mpg-c axis.c.jog-enable <= remora.input.15
# The encoder output counts to the axis. Only the selected axis will move.
net encoder-counts <= encoder.0.counts
net encoder-counts => joint.0.jog-counts
net encoder-counts => joint.1.jog-counts
net encoder-counts => joint.2.jog-counts
#net encoder-counts => axis.c.jog-counts
My QT_Dragon POST_GUI HAL
# load components
########################################################################
loadrt logic names=logic-and personality=0x102
addf logic-and servo-thread
# load a summing component for adding spindle lift and Z compensation
loadrt scaled_s32_sums
addf scaled-s32-sums.0 servo-thread
loadusr -Wn z_level_compensation z_level_compensation
# method parameter must be one of nearest(2), linear(1), cubic (0)
setp z_level_compensation.fade-height 0.0
setp z_level_compensation.method 1
# connect signals
########################################################################
net spindle-speed-limited => spindle.0.speed-out-rps => spindle.0.speed-in
# the unlink pin commands are only used, because they are connected
# in core_sim.hal and we use this file to simulate
unlinkp iocontrol.0.tool-change
unlinkp iocontrol.0.tool-changed
unlinkp iocontrol.0.tool-prep-number
net tool-change hal_manualtoolchange.change <= iocontrol.0.tool-change
net tool-changed hal_manualtoolchange.changed <= iocontrol.0.tool-changed
net tool-prep-number hal_manualtoolchange.number <= iocontrol.0.tool-prep-number
net eoffset-clear axis.z.eoffset-clear
net eoffset-counts axis.z.eoffset-counts
setp axis.z.eoffset-scale .001
net eoffset-total axis.z.eoffset
net eoffset-total qtdragon.eoffset-value
setp axis.z.eoffset-enable True
## external offsets for spindle pause function
##################################################
net eoffset-clear qtdragon.eoffset-clear
net eoffset-spindle-count <= qtdragon.eoffset-spindle-count
net spindle-pause qtdragon.spindle-inhibit spindle.0.inhibit
net probe-input qtdragon.led-probe
## Z level compensation
####################################################
net eoffset-clr2 z_level_compensation.clear => logic-and.in-01
net xpos-cmd z_level_compensation.x-pos <= joint.0.motor-pos-cmd
net ypos-cmd z_level_compensation.y-pos <= joint.1.pos-cmd
net zpos-cmd z_level_compensation.z-pos <= joint.2.pos-cmd
net z_compensation_on z_level_compensation.enable-in <= qtdragon.comp-on
net eoffset-zlevel-count z_level_compensation.counts => qtdragon.eoffset-zlevel-count
net eoffset-spindle-count scaled-s32-sums.0.in0
net eoffset-zlevel-count scaled-s32-sums.0.in1
setp scaled-s32-sums.0.scale0 1000
net eoffset-counts scaled-s32-sums.0.out-s
- CADdy
02 Jun 2024 11:06 - 02 Jun 2024 11:12
Replied by CADdy on topic z_level_compensation
z_level_compensation
Category: Qtvcp
Hi Chris,
Where should the file z_level_compensation.py be located?
In my case there is only one file z_level_compensation under /usr/bin/ without the extension .py
Peter
Where should the file z_level_compensation.py be located?
In my case there is only one file z_level_compensation under /usr/bin/ without the extension .py
Peter
- Grotius
02 Jun 2024 09:37
Replied by Grotius on topic Trajectory Planner using Ruckig Lib
Trajectory Planner using Ruckig Lib
Category: General LinuxCNC Questions
Arc to arc tri-clothoid g2 solving works. Tested line to arc, works ok.
This is more difficult to code. As we need the arc angle at the tip of the arc circumfence.
For the first arc endpoint:
1. We first find the angle of the line pc to p1. (pc = center, p1=arc endpoint). This is atan angle to x-axis.
2. We calculate if arc is cw or ccw. (cw=clockwise, ccw=counterclockwise).
3. We add +90 or -90 degrees to the angle calculated by 1, depends on cw or ccw direction. This is then the tip angle of the arc.
For the second arc startpoint:
1. angle pc to p0.
2. calculate direction cw or ccw.
3. We add +90 or -90 degrees to angle found at 1. But then this is opposite input of first arc, i found out.
Sample picture of the fillet :
Video, mention it only draw's an arc when it's not a line.
This is more difficult to code. As we need the arc angle at the tip of the arc circumfence.
For the first arc endpoint:
1. We first find the angle of the line pc to p1. (pc = center, p1=arc endpoint). This is atan angle to x-axis.
2. We calculate if arc is cw or ccw. (cw=clockwise, ccw=counterclockwise).
3. We add +90 or -90 degrees to the angle calculated by 1, depends on cw or ccw direction. This is then the tip angle of the arc.
For the second arc startpoint:
1. angle pc to p0.
2. calculate direction cw or ccw.
3. We add +90 or -90 degrees to angle found at 1. But then this is opposite input of first arc, i found out.
Sample picture of the fillet :
Video, mention it only draw's an arc when it's not a line.
- rajsekhar
- rajsekhar
02 Jun 2024 09:10
7i92 not pinging was created by rajsekhar
7i92 not pinging
Category: General LinuxCNC Questions
I am using 7i92+7i76+7i84.
I had connected the system earlier and it was working perfect.
Now I upgraded to LinuxCNC 2.9.2 and added 7i78. But there is no ping. Note: I have added one wifi router as well. Can it cause any problem?
(7i92 set to 10.10.10.10, W5 down, W6 UP)
What is going wrong?
I had connected the system earlier and it was working perfect.
Now I upgraded to LinuxCNC 2.9.2 and added 7i78. But there is no ping. Note: I have added one wifi router as well. Can it cause any problem?
(7i92 set to 10.10.10.10, W5 down, W6 UP)
What is going wrong?
- Anton
- Anton
02 Jun 2024 08:51
Replied by Anton on topic error finishing read!
error finishing read!
Category: Driver Boards
Good morning.
I have gone through points 1 to 5.
to 1) see histogram in the appendix
2) I cannot change any of the properties mentioned in the bios.
3) There is also no way to deactivate hyperthreading.
to 4) I have read hm2_eth. In the file /etc/network/interfaces there was only the loopback interface. I added eth0 there (see picture in the attachment). The entry is probably wrong because I don't have eth0. My interface is called enp5s0 !?
to 5)
a) ping -i .2 -c 4 10.10.10.10
-> min: 0.093 avg: 0.135 max: 0.240
b) sudo chrt 99 ping -i .001 -q 10.10.10.10
(see picture in the appendix)
Best regards
I have gone through points 1 to 5.
to 1) see histogram in the appendix
2) I cannot change any of the properties mentioned in the bios.
3) There is also no way to deactivate hyperthreading.
to 4) I have read hm2_eth. In the file /etc/network/interfaces there was only the loopback interface. I added eth0 there (see picture in the attachment). The entry is probably wrong because I don't have eth0. My interface is called enp5s0 !?
to 5)
a) ping -i .2 -c 4 10.10.10.10
-> min: 0.093 avg: 0.135 max: 0.240
b) sudo chrt 99 ping -i .001 -q 10.10.10.10
(see picture in the appendix)
Best regards
- Grotius
02 Jun 2024 08:13
Replied by Grotius on topic Trajectory Planner using Ruckig Lib
Trajectory Planner using Ruckig Lib
Category: General LinuxCNC Questions
@Andrew,
I am looking also to other clothoid library to test some of it's classes.
@All,
I was totally new to clothoids. Never heard of them. I want to show you little info how they are used.
Here we show a test for line - line fillet using 3 clothoids (Class G2solve3arc) that are inter-connected. Link to lib.
The library used is big. You have to link 3 libs in total to your project.
The clothoids use a startpos & endpos in 2d. This are just x,y coordinates.
They also use a thing called "kappa" to specify begin and end curvature. So when connect to a line, you
must end with zero curvature as the line is also zero curvature.
The kappa "k0" is the curvature at the begin.
The kappa "k1" is the curvature at the end.
The kappa or curvature for a line = 0. In this example the kappa "k0" & "k1" are both zero.
For connecting to a arc, jou must end the clothoid matching the arc curvature or kappa,
arc kappa = 1/radius. (quite easy to find out)
Then they have a direction for startpos & endpos. This is calculated in 2d by a atan formula, result is in pi radians.
Info needed to generate a tri-clodhoid fillet:
The goal of this line-line test : solve the G2 problem.
documentation
I am looking also to other clothoid library to test some of it's classes.
@All,
I was totally new to clothoids. Never heard of them. I want to show you little info how they are used.
Here we show a test for line - line fillet using 3 clothoids (Class G2solve3arc) that are inter-connected. Link to lib.
The library used is big. You have to link 3 libs in total to your project.
The clothoids use a startpos & endpos in 2d. This are just x,y coordinates.
They also use a thing called "kappa" to specify begin and end curvature. So when connect to a line, you
must end with zero curvature as the line is also zero curvature.
The kappa "k0" is the curvature at the begin.
The kappa "k1" is the curvature at the end.
The kappa or curvature for a line = 0. In this example the kappa "k0" & "k1" are both zero.
For connecting to a arc, jou must end the clothoid matching the arc curvature or kappa,
arc kappa = 1/radius. (quite easy to find out)
Then they have a direction for startpos & endpos. This is calculated in 2d by a atan formula, result is in pi radians.
Info needed to generate a tri-clodhoid fillet:
real_type x0 = p2.X();
real_type y0 = p2.Y();
real_type th0 = theta0; // Start angle in radians.
real_type k0 = 0; // Kappa or curvature
real_type x1 = p3.X();
real_type y1 = p3.Y();
real_type th1 = theta1;
real_type k1 = 0;
The goal of this line-line test : solve the G2 problem.
documentation
- handsomebeast
- handsomebeast
02 Jun 2024 07:40
Replied by handsomebeast on topic Probe panel for Axis GUI
Probe panel for Axis GUI
Category: AXIS
thankyou i should be abl to figure that out
- Aciera
02 Jun 2024 07:37
Replied by Aciera on topic Probe panel for Axis GUI
Probe panel for Axis GUI
Category: AXIS
Ah, the one where the tabs are in the side panel. That is done in the .xml. Have a look at the file 'AL_1105_panel.xml' here:
github.com/hausen8/AL_1105
I'm sorry I didn't realize that is what you wanted. That would probably have worked with your older version.
github.com/hausen8/AL_1105
I'm sorry I didn't realize that is what you wanted. That would probably have worked with your older version.
- handsomebeast
- handsomebeast
02 Jun 2024 07:23 - 02 Jun 2024 07:27
Replied by handsomebeast on topic Probe panel for Axis GUI
Probe panel for Axis GUI
Category: AXIS
the one at the beginning of this topic github.com/hausen8/EasyProbe
- Aciera
02 Jun 2024 07:22
Replied by Aciera on topic Probe panel for Axis GUI
Probe panel for Axis GUI
Category: AXIS
Which tutorial are you referring to?the rest of the tutorial i cannot follow, on one of the pics of the probe panel the spindl, stop ,and probe are in tabs on the right
- handsomebeast
- handsomebeast
02 Jun 2024 07:02 - 02 Jun 2024 07:04
Replied by handsomebeast on topic Probe panel for Axis GUI
Probe panel for Axis GUI
Category: AXIS
ok thanks for the help aciera, was testing this out in a vm to mak sure i was doing everything right before installing onto my machine that runs my router, which is on debian 10 , 2.8.4 prempt rt, which i now find is for mesa card, but im running a 5 axis parrall breakout board and was just on th edge with latency, anyways got my machine config fils to work on the new debian 12 2.9.2 bookworm preempt rt. classicladder and the panel are showing up now, but the probe panel, i cant see the green probe indicator but i think i need to change the size of the buttons in the xml file, now the problem is the tutorial is very confusing, firstly without your suggestion to the embdded tab, it wouldnt show up in 2.9.2. and the rest of the tutorial i cannot follow, on one of the pics of the probe panel the spindl, stop ,and probe are in tabs on the right and this would be perfect so i could see the preview in that configuration,
- jimmyrig
- jimmyrig
02 Jun 2024 06:53
Replied by jimmyrig on topic Qtdragon for lathe??
Qtdragon for lathe??
Category: Qtvcp
Well mark me down as the first!
Cut a few parts yesterday worked better than I was expecting (was originally debating going to back to gmoccapy but mill is on Qtdragon so similar interface would be nice) glad I have it a shot.
I have both 2.9.2 and 2.10 setup in for run in place so whatever you would prefer working with I'll do. Just let me know when to pull.
Few more ideas after using the machine.
Gmoccapy has displays for both radius or diameter and changes which is highlighted depending on your g code called g7 (dia) or g8 (radius). This is displayed instead of an "x". Nice but not necessary feature.
Some lathes do have Y axis for milling and spindle that can position itself for milling operations (C axis). I don't need this but someone will.
Where the mill tool is on the main page. Would be nice to have a lathe tool but this isn't as useful as it is on the milling side the tool diameter offset isn't useful to know. (Unless it could be edited to dial things in e.g. diameter .01 oversized adjust offset .005 to compensate).
The sfm calculator (surface units per min) would be easy to calculate for lathe tools by just multiplying the spindle rpm by 2π "x position with current tool offset" to get the sfm.
Trying to brain dump before I forget.
Thanks!
Cut a few parts yesterday worked better than I was expecting (was originally debating going to back to gmoccapy but mill is on Qtdragon so similar interface would be nice) glad I have it a shot.
I have both 2.9.2 and 2.10 setup in for run in place so whatever you would prefer working with I'll do. Just let me know when to pull.
Few more ideas after using the machine.
Gmoccapy has displays for both radius or diameter and changes which is highlighted depending on your g code called g7 (dia) or g8 (radius). This is displayed instead of an "x". Nice but not necessary feature.
Some lathes do have Y axis for milling and spindle that can position itself for milling operations (C axis). I don't need this but someone will.
Where the mill tool is on the main page. Would be nice to have a lathe tool but this isn't as useful as it is on the milling side the tool diameter offset isn't useful to know. (Unless it could be edited to dial things in e.g. diameter .01 oversized adjust offset .005 to compensate).
The sfm calculator (surface units per min) would be easy to calculate for lathe tools by just multiplying the spindle rpm by 2π "x position with current tool offset" to get the sfm.
Trying to brain dump before I forget.
Thanks!
- JohnnyBeluga
- JohnnyBeluga
02 Jun 2024 06:50
Replied by JohnnyBeluga on topic 7i96s + 7i89 analog spindle and mpg troubles
7i96s + 7i89 analog spindle and mpg troubles
Category: PnCConf Wizard
I'll do so and change the [hal] section in the ini file. Is there any tool to help me log/monitor physical pin and/or functions like "axis.x.jog-counts
" to try do undestand why it's not working ?
" to try do undestand why it's not working ?
- rodw
02 Jun 2024 06:20
Replied by rodw on topic MS300 EtherCAT not going into OP state with CMM-02 (rev 131328)
MS300 EtherCAT not going into OP state with CMM-02 (rev 131328)
Category: EtherCAT
Why would you use a random git repo when there is a sticky that sets up Ethercat with no fuss? Thes days the Linuxcnc driver is hosted on the ethercat repo so no coding is required. (except for your config files.)
Time to create page: 0.465 seconds