Advanced Search

Search Results (Searched for: stepper spindle)

26 Jan 2024 17:12

linuxcnc-esp32 Software Stepping over Ethernet Using ESP32

Category: Computers and Hardware

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?

 
16 Jan 2024 11:24

Raspberry Pi 4 with Mesa 7c81

Category: Driver Boards

The current gap I’m trying to fill is how to get from the Mesa 7c81 board to the 5 StepperOnline DM542Ts (Spindle, X, Z, A, & C).  In particular, I am at a loss on how to get the 3 needed signals to the DM542Ts:  Step, Direction, & Enable. 

I am seeking some guidance on where to find instructions or manuals which can me help get started.  I recognize that this is probably a very basic set of questions, so I appreciate whatever help can be provided to point me in the right direction. 

 

Have you found the 7C81 manual?  www.mesanet.com/pdf/parallel/7c81man.pdf

Though admittedly that doesn't really answer your questions, because the functions of the various chips depends on the firmware flashed to the 7c81. 

There are a number of possible firmwares, but it is probable that the one you have is good enough for your purposes. 

There are two ways to identify which signals are on each header pin of the 7C81. You can use mesaflash, or you can run a LinuxCNC HAL command line session. 

Starting with the HAL method, this will also check that LinuxCNC comms to the board are working. 

Open a terminal. 
halrun
loadrt hostmot2
loadrt hm2_rpspi

If all it well, this should connect to the Mesa board, and give you a list of what function is on which IO pin. 

You can then continue with additional HAL commands, for example 
show pin

When finished:
exit

The other way is with mesaflash. You might need to install this: "sudo apt-get install mesaflash"
mesaflash --spi --device 7c81 --readhmid

(This might need to tbe "sudo mesaflash")

Report back what the results are, there are a number of possible hurdles to either of these working immediately. 

 
16 Jan 2024 02:39 - 16 Jan 2024 02:41

Raspberry Pi 4 with Mesa 7c81

Category: Driver Boards

I’m just getting started with LinuxCNC, with an end goal of running it on a Raspberry Pi (4B or 5), and driving stepper motors on my rose engine lathe. 

I have LinuxCNC running on a Raspberry Pi 4B which is connected to a Mesa 7c81 board.  I assume each stepper motor will need a driver and currently have each one hooked up to a StepperOnline DM542T.

The current gap I’m trying to fill is how to get from the Mesa 7c81 board to the 5 StepperOnline DM542Ts (Spindle, X, Z, A, & C).  In particular, I am at a loss on how to get the 3 needed signals to the DM542Ts:  Step, Direction, & Enable. 

I am seeking some guidance on where to find instructions or manuals which can me help get started.  I recognize that this is probably a very basic set of questions, so I appreciate whatever help can be provided to point me in the right direction. 
 
15 Jan 2024 01:48
Replied by freemoore on topic Remora for RP2040

Remora for RP2040

Category: Computers and Hardware

HI Scott and others working on Remora,
This project looks amazing, thank you for your work on it!
I've looked through as much as I could of the Remora docs and forum threads here, and can't see what I'm looking for: a hardware combination that uses Remora to drive 4 or 5 steppers with a high resolution encoder each, plus spindle & encoder, plus all the various IO for controls, coolant etc. that I'd like to implement. All the 3DP boards seem to have only one encoder input. Somewhere along the line you and Expatria guy were talking about the possibility of running two RP2040s for expanded IO - if we could run 2x the Picobob-dlx with one handling input, for example, and the 2 boards could both speak to a PC linuxcnc host via 2x ethernet ports, would that work? Sorry if the question's a bit unfocused, I've been reading the forums for about 5hrs straight at this point trying to work it out.  Or is there other hardware that will do this via remora? Thanks & all the best,
Andy
14 Jan 2024 16:55

Remora - ethernet NVEM / EC300 / EC500 cnc board

Category: Computers and Hardware

Hi,
Update to above, remora-ec500.hal revised to 'loadrt remora-eth-3.0' (and commented out mpg in remora-ec500.ini).
Linuxcnc starts with only the usual 'Unexpected realtime delay on task 0 with period 1000000'.

EC300 LEDs ON and understood are: SYSTEM 24V, IO COM+ and CONN.
EC300 LEDs ON and not understood are: OT4, OT6, OT7, OT9 & OT10, also spindle INDEX.

Toggling the E-stop turns the 'CONN' LED on/off; is this an indication of proper firmware function?

Now to try connecting stepper drivers.
Displaying 136 - 150 out of 168 results.
Time to create page: 1.542 seconds
Powered by Kunena Forum