Advanced Search

Search Results (Searched for: stepper spindle)

03 Feb 2024 03:36

Closed loop stepper driver configuration help

Category: Basic Configuration

I can't imagine the whole thing is flexing that much under cutting pressure, but I'd say next step is to mount a DTI on the table and touch the stylus to the spindle nose.

Then shove on the head and see if there's deflection.  Repeat for Y in both directions.

How much of a cut are you taking to get that much error?  Are you measuring the error by comparing the part vs. programmed size?
01 Feb 2024 15:25

Setup for encoder feedback

Category: General LinuxCNC Questions

How difficult is it to implement feedback via the 5i25?

Which cosed/open loop drivers would you recommend?

I figured the spindle feedback would help getting the spindle speed more consistent (had oscillations in speed, but there are several possible reasons for that)

I used to have my steppers running un only 12v which made them quite poor performing. What voltage would you recommend for my steppers?
31 Jan 2024 01:38

Modbus-RTU control of a MOLLUM VFD

Category: HAL

I got a Mollum VFD .  This is one of the smallest VFDs on the market.  Nice when trying to pack everything in a box.  I think it is the same as the BD600 series  that StepperOnline sells.  Box is the same size, and the manuals look identical.  

I'm attaching the HAL file I created to allow LinuxCNC to talk to it.  
 

File Attachment:

File Name: mb2vfd_2024-01-30.ini
File Size:2 KB
 

File Attachment:

File Name: pyvcp-panel.xml
File Size:2 KB


My custom_postgui.hal contains,

#set up the spindle monitor with pyvcp
loadrt scale names=scale_torque,scale_power,scale_current,scale_bus_voltage,scale_freq
addf scale_torque servo-thread
addf scale_power servo-thread
addf scale_current servo-thread
addf scale_freq servo-thread

setp scale_torque.gain .01
net torque_scale scale_torque.in mb2hal.torque.torque.float
net torque scale_torque.out => pyvcp.torque

setp scale_power.gain .1
net power_scale scale_power.in mb2hal.power.power.float
net power scale_power.out => pyvcp.motor_power

setp scale_current.gain .01
net current_scale scale_current.in mb2hal.current.current.float
net current scale_current.out => pyvcp.current

#voltage doesn't need scaling
net voltage  mb2hal.voltage.voltage.float => pyvcp.voltage

setp scale_bus_voltage.gain .1
net bus_voltage_scale scale_bus_voltage.in mb2hal.bus_voltage.bus_voltage.float
#net bus_voltage scale_bus_voltage.out => pyvcp.bus_voltage

setp scale_freq.gain .1
net freq_scale scale_freq.in mb2hal.freq.freq.float
#net freq scale_freq.out => pyvcp.freq

#fault messages don't need scaling
net vfd_fault mb2hal.fault.fault.int => pyvcp.fault

 
30 Jan 2024 14:49
Replied by spumco on topic caxis.comp - problems

caxis.comp - problems

Category: Advanced Configuration

@Tommy,
Re-reading the PID manual, deadband should be set slightly greater than 1/2 count to stop hunting.  Your example is (I suspect) referencing a linear axis where you've got a very high count-per-unit (like thousands of counts per mm or inch).  Just like my X/Z axes with 1um encoders where I've got ~25400 counts/inch.

My subspindle is a direct-drive rotary axis where units = degrees.  So I've got ~27 counts per degree; significantly coarser feedback per unit.

The encoder signal is output from the drive, and I've got it set as high a resolution as possible.

@Aciera,
I tried the PID autotune a couple times on my Z-axis a while ago and the results were just dumb.  While I may give it a try, I haven't read a single report on the forum where someone was pleased with the results.

@smc.collins,
I have the pos-cmd and pos-fb up in halshow, but haven't yet scoped them.  Nothing odd or way off during a programmed back-and-forth move.  It homes to index fine and the counts/position/velocity all look like they should even when it flips out.  Doesn't lose track of where it is.


I'm going to try connecting it like an open-loop stepper tonight - connect stepgen pos-fb to pid.b.feedback and joint motor-pos-fb.  That should help me see if my issue is with the PID or not.
26 Jan 2024 17:12

linuxcnc-esp32 Software Stepping over Ethernet Using ESP32

Category: Computers and OS's

I'm finishing up the last few bits, some basic documentation and final testing. Should be released in the next day or so.

Additionally making it functional with the W5500 SPI module so if anyone has an existing SPI ethernet setup they can use it too.

It would be nice to have a ultra low cost multi-axis stepper solution that runs fast, in hardware, for LinuxCNC, even if purely for testing or tinkering since WT32-ETH01 modules can be purchased for $15 and connected to external stepper drivers without issue (yes 3.3v STEP,DIR and EN works, not ideal but does work)

A custom board that has a I2C GPIO mux and a single interrupt driven interrupt pin connected to the ESP32 for both inputs and outputs would be straightforward to add and greatly expands the ESP32 limited pins available.

Additional ideas - adding a 2nd ESP32 that handles Bluetooth connectivity for bespoke MPG pendants or wireless peripherals - all it would have to do is pass a basic I2C struct packet to the ethernet connected one which provides comms back to LinuxCNC HAL.
Modbus/RS485 VFD native spindle integration are possibilities too - as well as the existing PWM/Analog control.

I love Remora but I wanted a cheaper solution with hardware can be more accessible and/or available.

Caution must be taken when using Arduino libraries that they do not run on the core dedicated to ethernet & servo gen tasks.
24 Jan 2024 07:42

Having problems with stepper enable driven relay enabled on linux boot

Category: General LinuxCNC Questions

Tommy, thanks for the response.

I am using 3 PCIE to parallel port cards (SD-PEX10005). One for mill, one for lathe and one for MPG pendant. Is it possible the breakout board is causing this and not the lpt card?

I moved over to one of the 5 axis breakout boards with PWM so I can convert spindle to VFD and it behaves the same as the sainsmart bob as far as enable high. I have some spare pins on the pendant db25, but I haven't had a chance to test them isolated from board connection. I spent the day installing the refactored tower in the shop.


I have the relay on the AC input to the stepper driver PSU.
23 Jan 2024 23:13 - 23 Jan 2024 23:16

requesting help with 7i80DB-16 and C10 breakout board

Category: PnCConf Wizard

missing report file.

# Generated by PNCconf at Tue Jan 23 05:23:48 2024
# Using LinuxCNC version:  Master (2.9)
# If you make changes to this file, they will be
# overwritten when you run PNCconf again

loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
loadrt hostmot2
loadrt hm2_eth board_ip="192.168.1.121" config="num_encoders=0 num_pwmgens=0 num_stepgens=10"
setp    [HMOT](CARD0).watchdog.timeout_ns 5000000
loadrt pid names=pid.x,pid.y,pid.z,pid.a,pid.s

addf [HMOT](CARD0).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.s.do-pid-calcs       servo-thread
addf [HMOT](CARD0).write         servo-thread
setp [HMOT](CARD0).stepgen.timer-number 1

# external output signals

# external input signals

#*******************
#  AXIS X JOINT 0
#*******************

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
# This setting is to limit bogus stepgen
# velocity corrections caused by position
# feedback sample time jitter.
setp   pid.x.maxerror 0.000500

net x-index-enable  =>  pid.x.index-enable
net x-enable        =>  pid.x.enable
net x-pos-cmd       =>  pid.x.command
net x-pos-fb        =>  pid.x.feedback
net x-output        <=  pid.x.output

# Step Gen signals/setup

setp   [HMOT](CARD0).stepgen.01.dirsetup        [JOINT_0]DIRSETUP
setp   [HMOT](CARD0).stepgen.01.dirhold         [JOINT_0]DIRHOLD
setp   [HMOT](CARD0).stepgen.01.steplen         [JOINT_0]STEPLEN
setp   [HMOT](CARD0).stepgen.01.stepspace       [JOINT_0]STEPSPACE
setp   [HMOT](CARD0).stepgen.01.position-scale  [JOINT_0]STEP_SCALE
setp   [HMOT](CARD0).stepgen.01.step_type        0
setp   [HMOT](CARD0).stepgen.01.control-type     1
setp   [HMOT](CARD0).stepgen.01.maxaccel         [JOINT_0]STEPGEN_MAXACCEL
setp   [HMOT](CARD0).stepgen.01.maxvel           [JOINT_0]STEPGEN_MAXVEL
setp   [HMOT](CARD0).stepgen.01.direction.invert_output   true

# ---closedloop stepper signals---

net x-pos-cmd    <= joint.0.motor-pos-cmd
net x-vel-cmd    <= joint.0.vel-cmd
net x-output     => [HMOT](CARD0).stepgen.01.velocity-cmd
net x-pos-fb     <= [HMOT](CARD0).stepgen.01.position-fb
net x-pos-fb     => joint.0.motor-pos-fb
net x-enable     <= joint.0.amp-enable-out
net x-enable     => [HMOT](CARD0).stepgen.01.enable

# ---setup home / limit switch signals---

net x-home-sw     =>  joint.0.home-sw-in
net x-neg-limit     =>  joint.0.neg-lim-sw-in
net x-pos-limit     =>  joint.0.pos-lim-sw-in

#*******************
#  AXIS Y JOINT 1
#*******************

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
# This setting is to limit bogus stepgen
# velocity corrections caused by position
# feedback sample time jitter.
setp   pid.y.maxerror 0.000500

net y-index-enable  =>  pid.y.index-enable
net y-enable        =>  pid.y.enable
net y-pos-cmd       =>  pid.y.command
net y-pos-fb        =>  pid.y.feedback
net y-output        <=  pid.y.output

# Step Gen signals/setup

setp   [HMOT](CARD0).stepgen.02.dirsetup        [JOINT_1]DIRSETUP
setp   [HMOT](CARD0).stepgen.02.dirhold         [JOINT_1]DIRHOLD
setp   [HMOT](CARD0).stepgen.02.steplen         [JOINT_1]STEPLEN
setp   [HMOT](CARD0).stepgen.02.stepspace       [JOINT_1]STEPSPACE
setp   [HMOT](CARD0).stepgen.02.position-scale  [JOINT_1]STEP_SCALE
setp   [HMOT](CARD0).stepgen.02.step_type        0
setp   [HMOT](CARD0).stepgen.02.control-type     1
setp   [HMOT](CARD0).stepgen.02.maxaccel         [JOINT_1]STEPGEN_MAXACCEL
setp   [HMOT](CARD0).stepgen.02.maxvel           [JOINT_1]STEPGEN_MAXVEL
setp   [HMOT](CARD0).stepgen.02.direction.invert_output   true

# ---closedloop stepper signals---

net y-pos-cmd    <= joint.1.motor-pos-cmd
net y-vel-cmd    <= joint.1.vel-cmd
net y-output     => [HMOT](CARD0).stepgen.02.velocity-cmd
net y-pos-fb     <= [HMOT](CARD0).stepgen.02.position-fb
net y-pos-fb     => joint.1.motor-pos-fb
net y-enable     <= joint.1.amp-enable-out
net y-enable     => [HMOT](CARD0).stepgen.02.enable

# ---setup home / limit switch signals---

net y-home-sw     =>  joint.1.home-sw-in
net y-neg-limit     =>  joint.1.neg-lim-sw-in
net y-pos-limit     =>  joint.1.pos-lim-sw-in

#*******************
#  AXIS Z JOINT 2
#*******************

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
# This setting is to limit bogus stepgen
# velocity corrections caused by position
# feedback sample time jitter.
setp   pid.z.maxerror 0.000500

net z-index-enable  =>  pid.z.index-enable
net z-enable        =>  pid.z.enable
net z-pos-cmd       =>  pid.z.command
net z-pos-fb        =>  pid.z.feedback
net z-output        <=  pid.z.output

# Step Gen signals/setup

setp   [HMOT](CARD0).stepgen.03.dirsetup        [JOINT_2]DIRSETUP
setp   [HMOT](CARD0).stepgen.03.dirhold         [JOINT_2]DIRHOLD
setp   [HMOT](CARD0).stepgen.03.steplen         [JOINT_2]STEPLEN
setp   [HMOT](CARD0).stepgen.03.stepspace       [JOINT_2]STEPSPACE
setp   [HMOT](CARD0).stepgen.03.position-scale  [JOINT_2]STEP_SCALE
setp   [HMOT](CARD0).stepgen.03.step_type        0
setp   [HMOT](CARD0).stepgen.03.control-type     1
setp   [HMOT](CARD0).stepgen.03.maxaccel         [JOINT_2]STEPGEN_MAXACCEL
setp   [HMOT](CARD0).stepgen.03.maxvel           [JOINT_2]STEPGEN_MAXVEL
setp   [HMOT](CARD0).stepgen.03.direction.invert_output   true

# ---closedloop stepper signals---

net z-pos-cmd    <= joint.2.motor-pos-cmd
net z-vel-cmd    <= joint.2.vel-cmd
net z-output     => [HMOT](CARD0).stepgen.03.velocity-cmd
net z-pos-fb     <= [HMOT](CARD0).stepgen.03.position-fb
net z-pos-fb     => joint.2.motor-pos-fb
net z-enable     <= joint.2.amp-enable-out
net z-enable     => [HMOT](CARD0).stepgen.03.enable

# ---setup home / limit switch signals---

net z-home-sw     =>  joint.2.home-sw-in
net z-neg-limit     =>  joint.2.neg-lim-sw-in
net z-pos-limit     =>  joint.2.pos-lim-sw-in

#*******************
#  AXIS A JOINT 3
#*******************

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
# This setting is to limit bogus stepgen
# velocity corrections caused by position
# feedback sample time jitter.
setp   pid.a.maxerror 0.000500

net a-index-enable  =>  pid.a.index-enable
net a-enable        =>  pid.a.enable
net a-pos-cmd       =>  pid.a.command
net a-pos-fb        =>  pid.a.feedback
net a-output        <=  pid.a.output

# Step Gen signals/setup

setp   [HMOT](CARD0).stepgen.04.dirsetup        [JOINT_3]DIRSETUP
setp   [HMOT](CARD0).stepgen.04.dirhold         [JOINT_3]DIRHOLD
setp   [HMOT](CARD0).stepgen.04.steplen         [JOINT_3]STEPLEN
setp   [HMOT](CARD0).stepgen.04.stepspace       [JOINT_3]STEPSPACE
setp   [HMOT](CARD0).stepgen.04.position-scale  [JOINT_3]STEP_SCALE
setp   [HMOT](CARD0).stepgen.04.step_type        0
setp   [HMOT](CARD0).stepgen.04.control-type     1
setp   [HMOT](CARD0).stepgen.04.maxaccel         [JOINT_3]STEPGEN_MAXACCEL
setp   [HMOT](CARD0).stepgen.04.maxvel           [JOINT_3]STEPGEN_MAXVEL
setp   [HMOT](CARD0).stepgen.04.direction.invert_output   true

# ---closedloop stepper signals---

net a-pos-cmd    <= joint.3.motor-pos-cmd
net a-vel-cmd    <= joint.3.vel-cmd
net a-output     => [HMOT](CARD0).stepgen.04.velocity-cmd
net a-pos-fb     <= [HMOT](CARD0).stepgen.04.position-fb
net a-pos-fb     => joint.3.motor-pos-fb
net a-enable     <= joint.3.amp-enable-out
net a-enable     => [HMOT](CARD0).stepgen.04.enable

# ---setup home / limit switch signals---

net a-home-sw     =>  joint.3.home-sw-in
net a-neg-limit     =>  joint.3.neg-lim-sw-in
net a-pos-limit     =>  joint.3.pos-lim-sw-in

#*******************
#  SPINDLE
#*******************

setp   pid.s.Pgain     [SPINDLE_0]P
setp   pid.s.Igain     [SPINDLE_0]I
setp   pid.s.Dgain     [SPINDLE_0]D
setp   pid.s.bias      [SPINDLE_0]BIAS
setp   pid.s.FF0       [SPINDLE_0]FF0
setp   pid.s.FF1       [SPINDLE_0]FF1
setp   pid.s.FF2       [SPINDLE_0]FF2
setp   pid.s.deadband  [SPINDLE_0]DEADBAND
setp   pid.s.maxoutput [SPINDLE_0]MAX_OUTPUT
setp   pid.s.error-previous-target true

net spindle-index-enable  =>  pid.s.index-enable
net spindle-enable        =>  pid.s.enable
net spindle-vel-cmd-rpm     => pid.s.command
net spindle-vel-fb-rpm      => pid.s.feedback
net spindle-output        <=  pid.s.output

# ---setup spindle control signals---

net spindle-vel-cmd-rps        <=  spindle.0.speed-out-rps
net spindle-vel-cmd-rps-abs    <=  spindle.0.speed-out-rps-abs
net spindle-vel-cmd-rpm        <=  spindle.0.speed-out
net spindle-vel-cmd-rpm-abs    <=  spindle.0.speed-out-abs
net spindle-enable             <=  spindle.0.on
net spindle-cw                 <=  spindle.0.forward
net spindle-ccw                <=  spindle.0.reverse
net spindle-brake              <=  spindle.0.brake
net spindle-revs               =>  spindle.0.revs
net spindle-at-speed           =>  spindle.0.at-speed
net spindle-vel-fb-rps         =>  spindle.0.speed-in
net spindle-index-enable      <=>  spindle.0.index-enable

# ---Setup spindle at speed signals---

sets spindle-at-speed true


#******************************
# connect miscellaneous signals
#******************************

#  ---HALUI signals---

net axis-select-x  halui.axis.x.select
net jog-x-pos      halui.axis.x.plus
net jog-x-neg      halui.axis.x.minus
net jog-x-analog   halui.axis.x.analog
net x-is-homed     halui.joint.0.is-homed
net axis-select-y  halui.axis.y.select
net jog-y-pos      halui.axis.y.plus
net jog-y-neg      halui.axis.y.minus
net jog-y-analog   halui.axis.y.analog
net y-is-homed     halui.joint.1.is-homed
net axis-select-z  halui.axis.z.select
net jog-z-pos      halui.axis.z.plus
net jog-z-neg      halui.axis.z.minus
net jog-z-analog   halui.axis.z.analog
net z-is-homed     halui.joint.2.is-homed
net axis-select-a  halui.axis.a.select
net jog-a-pos      halui.axis.a.plus
net jog-a-neg      halui.axis.a.minus
net jog-a-analog   halui.axis.a.analog
net a-is-homed     halui.joint.3.is-homed
net jog-selected-pos      halui.axis.selected.plus
net jog-selected-neg      halui.axis.selected.minus
net spindle-manual-cw     halui.spindle.0.forward
net spindle-manual-ccw    halui.spindle.0.reverse
net spindle-manual-stop   halui.spindle.0.stop
net machine-is-on         halui.machine.is-on
net jog-speed             halui.axis.jog-speed
net MDI-mode              halui.mode.is-mdi

#  ---coolant signals---

net coolant-mist      <=  iocontrol.0.coolant-mist
net coolant-flood     <=  iocontrol.0.coolant-flood

#  ---probe signal---

net probe-in     =>  motion.probe-input

#  ---motion control signals---

net in-position               <=  motion.in-position
net machine-is-enabled        <=  motion.motion-enabled

#  ---digital in / out signals---

#  ---estop signals---

net estop-out     <=  iocontrol.0.user-enable-out
net estop-out     =>  iocontrol.0.emc-enable-in

#  ---manual tool change signals---

net tool-change-request    <= iocontrol.0.tool-change
net tool-change-confirmed  => iocontrol.0.tool-changed
net tool-number            <= iocontrol.0.tool-prep-number

#  ---Use external manual tool change dialog---

loadusr -W hal_manualtoolchange
net tool-change-request    =>  hal_manualtoolchange.change
net tool-change-confirmed  <=  hal_manualtoolchange.changed
net tool-number            =>  hal_manualtoolchange.number

#  ---ignore tool prepare requests---
net tool-prepare-loopback   iocontrol.0.tool-prepare      =>  iocontrol.0.tool-prepared


 
22 Jan 2024 19:52

Having problems with stepper enable driven relay enabled on linux boot

Category: General LinuxCNC Questions

I am using a Sainsmart 5 axis breakout board (the one without pwm) to drive 5 axes on a knee mill. I am trying to use a relay to power up the stepper driver power supply on the enable pin. It seems to work ok when linuxCNC is running but when I start the machine the enable pin goes high. I tried using a 10k pulldown resistor on the relay but it had no effect, I think it is not simply floating.

Is there some way to set the parallel port pin value on startup or some other way to drive the relay besides the enable pin? I often leave linuxCNC running and power down the steppers so I can resume what I was working on later without having to rehome. I intend to use the onboard relay to drive the spindle.

 
 
22 Jan 2024 17:54 - 25 Jan 2024 21:53

mesaCT, 7i95t and SPINx

Category: Basic Configuration

Hello,I'm new to LinuxCNC and come from an electronics background, with good familiarity in C. I installed the MesaCT tool and managed to get the three steppers for XYZ working. However, in the spindle tab of the tool, I can't select anything; all buttons are greyed out. I would like to connect the SPINx to channel 5, where I assume the PWM signal is. What settings do I need to adjust in MesaCT to implement this? Writing the .hal file still confuses me a bit. Does anyone have a sample configuration, or can anyone advise what settings I need to adjust in MesaCT to get the spindle running?
Best regards, Jörg 
Edit:

File Attachment:

File Name: 7i95t_xyz.ini
File Size:4 KB
 

File Attachment:

File Name: main.hal
File Size:7 KB
On channel 5, the Dir signal switches with the change of direction, but I don't have a PWM output on Step. I have attached the configuration.Best regards, Jörg
21 Jan 2024 18:16 - 21 Jan 2024 18:17

Linumeric-LPT V3 - Ethernet to LPT controller for LinuxCNC

Category: Driver Boards

ok, i made to test the remora boards , stepper motors, encoders, spindle encoder and pwm, etc 
It uses thk KR15 linear stages, because it was easy

 
 
 

 
20 Jan 2024 06:07

Install Advice (HOME_USE_INDEX with stepper using an encoder)

Category: Installing LinuxCNC

7i96 lathe update went perfectly, but when I flash the 7i92 mill I'm getting errors running the new 7i92_7i85sx1sdid.bit file.

I tried the --reload, power cycle and the verify comes back ok. I can --readhmid.

FWIW, The mill is running linuxCNC 2.8.4. (Lathe was running 2.9.2)

However, when I run my Mill config with the new .biffile I get:

cncbox@debian:~/linuxcnc/configs/Mill7i85s$ linuxcnc Mill7i85s.ini
LINUXCNC - 2.8.4-23-g93a844ef5
Machine configuration directory is '/home/cncbox/linuxcnc/configs/Mill7i85s'
Machine configuration file is 'Mill7i85s.ini'
Starting LinuxCNC...
application-specific initialization failed: no display name and no $DISPLAY environment variable
Error in startup script: invalid command name "."
    while executing
". configure -borderwidth 0 -highlightthickness 0"
    (file "/usr/lib/tcltk/linuxcnc/bin/popimage" line 35)
twopass:invoked with <> options
twopass:found ./Mill7i85s.hal
twopass:found ./Spindle.hal
twopass:found ./estop-chain.hal
twopass:found ./quad_encoder.hal
twopass:found ./postgui_load.hal
twopass:pass0: loadusr -Wn spindle-vfd gs2_vfd -r 9600 -p none -s 2 --name spindle-vfd --accel-seconds 5 --decel-seconds 3 --braking-resistor --device /dev/ttyUSB0
spindle-vfd: device='/dev/ttyUSB0', baud=9600, parity='N', bits=8, stopbits=2, address=1, enabled=1
twopass:pass0: loadusr -W hal_manualtoolchange
Note: Using POSIX realtime
Traceback (most recent call last):
  File "/usr/bin/hal_manualtoolchange", line 62, in <module>
    app = Tkinter.Tk(className="AxisToolChanger")
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1828, in __init__
    self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: no display name and no $DISPLAY environment variable
hm2: loading Mesa HostMot2 driver version 0.15
hm2_eth: loading Mesa AnyIO HostMot2 ethernet driver version 0.2
hm2_eth: 10.10.10.10: INFO: Hardware address (MAC): 00:60:1b:13:05:4e
hm2_eth: discovered 7I92
hm2/hm2_7i92.0: Low Level init 0.15
hm2/hm2_7i92.0: Smart Serial Firmware Version 43
hm2/hm2_7i92.0: unknown stepgen MD:
hm2/hm2_7i92.0:     Version = 194, expected 0-2
hm2/hm2_7i92.0:     NumRegisters = 10, expected 10
hm2/hm2_7i92.0:     InstanceStride = 0x00000004, expected 4
hm2/hm2_7i92.0:     MultipleRegisters = 0x000001FF, expected 0x000001FF
hm2/hm2_7i92.0: failed to parse Module Descriptor 6
board fails HM2 registration
hm2_eth: in hm2_eth_reset
hm2_eth: rtapi_app_main: Invalid argument (-22)

twopass: load_the_modules cmd=<orig_loadrt hm2_eth [concat board_ip="10.10.10.10"] [concat config=" num_encoders=4 num_stepgens=4"]>
waitpid failed /usr/bin/rtapi_app hm2_eth
/usr/bin/rtapi_app exited without becoming ready
insmod for hm2_eth failed, returned -1

Shutting down and cleaning up LinuxCNC...
Running HAL shutdown script
hm2: unloading


If I flash a different .bit file the config starts up as normal.
 
18 Jan 2024 20:38 - 18 Jan 2024 21:21

Spindle Speed display backwards

Category: Advanced Configuration

I'm trying to configure a lathe using Linuxcnc 2.9. Now I'm adding an encoder like the one in the attachments. I used the stepper config wizard, selected custom pyVCP GUI panel and the spindle speed display option. I tested the encoder using Hal Meter and the connection is fine. When I turn the spindle on the speed display starts to count, but with wrong values and when I increase the speed this value decrease until reach 0.
I tried some troubleshootings in hal files, but I'm really newbie in Linuxcnc.
I'm using a BOB like the one in attachments.
My VFD is the 9600 nflixin
Here is a  video  about the problem
 
17 Jan 2024 21:59

Install Advice (HOME_USE_INDEX with stepper using an encoder)

Category: Installing LinuxCNC

Spindle control is working fine that way it is, so don't bother as I've buttoned things up on the lathe.

I'd like to apply the stepgen index enable fix to my mill (7i92 + 7i85S + 7i75).
Could I please get a bit file for this? (P1 - 7i75, P3 - 7i85S) No PWMgen required on this one either.
17 Jan 2024 17:48

Install Advice (HOME_USE_INDEX with stepper using an encoder)

Category: Installing LinuxCNC

The pwmgen is a copy-paste mistake (there is no output pin for it), but that could be
fixed if need be.The advantage of a hardware PWMgen is it will have higher resolution,
especially at higher frequencies. This may not make much difference if its just for spindle
control, especially if the existing filter is low bandwidth.
17 Jan 2024 17:16

Install Advice (HOME_USE_INDEX with stepper using an encoder)

Category: Installing LinuxCNC

That works well!

Using the stepgen..index-enable pin, I can home my lathe x axis using HOME_USE_INDEX to the same location using x-pos-fb from either encoder or stepgen position. This also allows the use of the encoder.position => joint.motor-pos-fb with stepgen position and HOME_USE_INDEX.

I will summarize this in www.forum.linuxcnc.org/39-pncconf/51254-...en-generated-configs

I noticed this .bit file enables a Mesa pwmgen. I'm using a pwmgen component to drive the spindle VFD which is an old Minarek 0-10V via a 50hz G540 PWM interface. Before I button everything up and hang the lathe controller back on the wall, Is there any advantage using the fpga vs software pwmgen for this application?

 
Displaying 46 - 60 out of 176 results.
Time to create page: 1.414 seconds
Powered by Kunena Forum