Advanced Search

Search Results (Searched for: stepper spindle)

  • scda
  • scda's Avatar
16 Mar 2025 15:04 - 16 Mar 2025 15:09

caxis.comp with stepper motor / gear connection to spindle

Category: HAL

Hi all,

I am trying to understand and implement the caxis.comp with my lathe. 

My setup is:

VFD with ac motor for "normal" spindle mode (analog signal --> pwmgen)
C-axis is connected via a reducing gear to the spindle, the c-axis motor is a closed loop stepper (step/dir). The c-axis drive is engaged to the spindle with a pneumatic cylinder. Normally it is disengaged

I am trying to better understand the caxis.comp and was wondering if someone can shed some light on this:

pin in float spindle-revs --> connected to spindle.0.revs
pin in float spindle-velocity-in --> connected to encoder velocity signal
pin out float spindle-velocity-out --> ? velocity signal for pwmgen and/or step/gen ?
pin out float position-fb-out --> is this position feedback calculated from encoder velocity signal ? is this connected to joint.xx.pos-fb?
pin in float pid-in; --> connected to PID output of c-axis
pin out signed state; --> what is this for?

Has anyone used this in similar setup (spindle with pwmgen, and c-axis with step/dir). Should the step/dir generator be run in velocity mode?
Would probably help to have some insight.

I have also tried a similiar thing using the mux component and connecteing the encoder signal to the c-axis feedback or not (depending on the mode). But as others have experienced there is an ussed with joint following after switching back to c-axis mode. Even when reseting the encoder position to 0, this will only work if the c-axis is also at 0.
I also could not achieve proper orientation (homing) when switching to c-axis mode.

Will keep trying ----


Regards,
Dave
  • PCW
  • PCW's Avatar
13 Mar 2025 15:50 - 13 Mar 2025 16:45

Steppers motor start moving without any commads being given

Category: General LinuxCNC Questions

AFAIK those breakouts do not have a 5V regulator, you must supply 5V.
So the behavior you see is pretty much as expected. That is, the 5V side is being
powered (weakly) via the PC parallel port data pins.

The regulator just supplies the inputs and the analog spindle interface
(regulates to 12V)
  • jtrantow
  • jtrantow
08 Mar 2025 15:08
Replied by jtrantow on topic Lathe spindle index only?

Lathe spindle index only?

Category: Basic Configuration

I converted my lathe from parallel port to mesa when I added linear encoders. Prior to that, I had zero problems threading with the parallel port using this 65 tooth, 260 count disk using a quadrature software encoder on an ancient PC. I only used the spindle encoder for threading (<150RPM) so I'm not sure what the limit for this setup was. I still run 4 identical ancient PCs for my LCNC machines but they all have mesa cards now.

3d printed timing pulleys are a great low cost solution for the low load timing application.

The slotted disk (I used thin copper coated pc board I had laying around) is easy if you have a working CNC router or mill. The finicky part for me was aligning the sensors to the teeth. To get quadrature and index signals all three encoders need to be positioned just right.  

I mounted my ballscrew bearing block directly to the apron. (original mount was damaged) This gives me just enough room for a 12 or 13T timing pulley to pass under the X slide. I may have modified the bearing block for clearance. When you remove all the manual clutter, there is room to mount the x stepper directly underneath so you end up with a shortened x axis that doesn't get in your way.

I used a wireless MPG for a while but found the joypad was much better for jogging and feeding at a consistent rate and I use MDI when I need precise movements anyway. As a bonus, it's easy to cut a nice 45 degree chamfer using the analog stick! 
  • Aciera
  • Aciera's Avatar
03 Mar 2025 09:05 - 03 Mar 2025 09:14
Replied by Aciera on topic Stepper as a spindle

Stepper as a spindle

Category: HAL

Note that ' s-output => spindle.0.on' does not make much sense in the context of the hal sections posted above as 's-output' is a float signal and 'spindle.0.on' is a digital out pin.

Looks like you are actually missing the input to enable the stepgen.

So in the spindle section of your hal file change this line:
net s-output        =>  spindle.0.on

to this
net s-enable   <= spindle.0.on
  • PostavCNC
  • PostavCNC's Avatar
03 Mar 2025 08:05
Replied by PostavCNC on topic Stepper as a spindle

Stepper as a spindle

Category: HAL

Hi, there,  I am trying to follow step in this thread to set up stepper as a spindle. But the spindle stepper is not turning. I have tried to add this line as you mentioned. The LinuxCNC has a  problem with s-output  => spindle.0.on. Do you have any idea what I should have fix or add to hal in order to work properly. Thank you very much in advance.
  • dfarnainekl
  • dfarnainekl
23 Feb 2025 13:33

EtherCAT Closed-Loop Drive Options for Lathe

Category: EtherCAT

Hello,

I am new to the CNC world, and would like to convert my small-ish lathe to CNC.
I think motors with around 2Nm for Z and around 0.6Nm for X will be sufficient, based on some preliminary measurements. For X I am constrained to Nema 17 size to be able to integrate them well.
For I/O and the spindle encoder, I would like to use a Raspberrry Pi and Beckhoff EtherCAT terminals, which I have already gotten to work (thanks for all the great ressources on here!). I would also like to use EtherCAT-connected drives for the axis (and maybe later the spindle), though I am unsure, which path to take there.

Initially, I was looking at closed-loop stepper drivers such as the Rtelligent ECT60 or the Lichuan CL3-E57H , which close the loop on the driver. But then I also found the Beckhoff stepper terminals  EL7041 and  EL7047 , which would make integration quite elegant as I am already using other Beckhoff terminals. With these however, I am not quite sure if they support closing the loop on the driver. The EL7041 manual mentions some closed-loop control aspects (differing between the standard and the -1000 model), but I don't fully understand what it actually can and can't do. The EL7047 supports closed loop in conjunction with FOC, but it is officially only supported with Beckhoff motors and requires them to be unloaded on startup for referencing. I could not find out if non-FOC closed-loop operation similar to the ECT60 or CL3-E57H is possible as well.
What approach would you recommend here?

In general (e.g. if the Beckhoff drivers can only act as open loop drivers with encoder interfaces), is it advisable close the loop in LinuxCNC when using such an EtherCAT based setup without any FPGA for low level control?

Another option would be AC servo drives (probably the  Lichuan ones due to their comparable cost), at least for the Z axis as I haven't found a Nema 17 sized option that would fit X. These would probably provide better performance, but seem more complex to set up and tune.
What do you think about this alternative?

I am looking forward to your comments, and hope the questions are specific enough. Please let me know if any details are missing.

Best Regards
Daniel
  • 109jb
  • 109jb
21 Feb 2025 04:52 - 21 Feb 2025 04:54

Linuxcnc & the Raspberry Pi (4 & 5) Official Images Only!!!

Category: Installing LinuxCNC

I have been reading a lot about options with the RPi and LinuxCNC, and am just getting more confused so I thought I would just ask a couple of hopefully simple questions.

I have a 3-axis (sometimes 4 axis) mill currently running LinuxCNC on an OrangePi. It has been run with GRBL on an arduino, and an old PC with LinuxCNC. The current setup works okay with the OrangePi but the interface lags and I have some mods I want to eventually do to my mill. I have the newest official RPi image running on a RPi 4b. I need to eventually marry this to an external motion board but I decided to start off with software stepping using a Pi hat, but I know that won't last long. Basically I'm done screwing around and want to setup a system that is capable and expandable EASILY.

I've been looking at the Mesa 7C81 but that is probably overkill for my purposes, but if it is truly as easy as it seems it may be my final choice. So first question is if setup of the 7C81 is as easy as it seems with the PNC config wizard?

Second question I have is whether I have missed another option that is less overkill.  Here is what I eventually "complete" my mill
  • LinuxCNC running with touchscreen interface without lag or problems. Would eventually like on-screen keyboard with a wireless keyboard/mouse usable if needed.
  • 4 closed loop steppers (XYZ and a rotary table)
  • 7 home/limit switches (2 each on XYZ, 1 on rotary table)
  • Spindle control (VFD)
  • Spindle encoder for tapping.
  • 3 encoder wheels (for using the machine as a pseudo manual machine)  
  • Maybe a dozen or so switches/buttons for input to LinuxCNC
  • Only need about 40 kHz stepping rate max.

    Should I just stop thinking about it and buy the 7C81 when it comes back into stock? Or is there an almost as easy solution that will fit the above needs.

    BTW, I am also planning to CNC my lathe and would want to duplicate the setup the mill has on the lathe so I don't have to relearn anything.

    Thanks in advance.
  • MTTI
  • MTTI's Avatar
17 Feb 2025 08:16
Replied by MTTI on topic New and Working RTAI debs for 2.9

New and Working RTAI debs for 2.9

Category: Installing LinuxCNC

Thanks for this answer.

I would like to install RTAI due to the jitter in my setup, which is around 70k.
I'm using 4 stepper motors with encoders (closed loop) and a USC board from PICO.

Sometimes, though not very often, I get an "Unexpected realtime delay" message.
Do you think this could be related to the jitter amount?

I've tried every optimization I could find in the BIOS...
 
Just having a look at the PICO config, is the base thread used ? From a quick look nothing appears to attach to the base thread. Which would lead me to think that a simple RT_PREEMPT kernel would be suffice. The PICO board would seem to operate in a simialr way to a mesa 7i90 using the EPP protocol. IE using the parallel port to send timing info to a FPGA.


 

You're right, into the HAL file, there is only mention of servo-thread:
# Generated by stepconf 1.1 at Tue Jan 28 10:21:07 2025
# Si vous modifiez ce fichier, il sera
# écrasé quand vous relancerez Stepconf
loadrt [KINS]KINEMATICS

loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS num_spindles=[TRAJ]SPINDLES

# next load the PID module, for four PID loops
loadrt pid num_chan=4

loadrt  plasmac

loadrt hal_ppmc epp_dir=1 

# make some signals for the scope for tuning.
loadrt ddt count=4
# add components for E-stop logic
loadrt estop_latch count=1
loadrt and2 count=1

# set up the realtime thread
# read inputs first
addf ppmc.0.read servo-thread
# then run the motion controller
addf motion-command-handler servo-thread
addf and2.0 servo-thread
addf estop-latch.0 servo-thread
addf motion-controller servo-thread
# then the PID loops
addf pid.0.do-pid-calcs servo-thread
addf pid.1.do-pid-calcs servo-thread
addf pid.2.do-pid-calcs servo-thread
addf pid.3.do-pid-calcs servo-thread
# write outputs last
addf ppmc.0.write servo-thread


# ---PLASMA INPUT DEBOUNCE---
loadrt dbounce names=db_breakaway,db_float,db_ohmic,db_arc-ok
addf db_float     servo-thread
addf db_ohmic     servo-thread
addf db_breakaway servo-thread
addf db_arc-ok    servo-thread

# ---JOINT ASSOCIATED WITH THE Z AXIS---
net plasmac:axis-position joint.2.pos-fb => plasmac.axis-z-position

# ---PLASMA INPUTS---
# ---all modes---
net plasmac:float-switch   => db_float.in
net plasmac:breakaway      => db_breakaway.in
net plasmac:ohmic-probe    => db_ohmic.in
net plasmac:ohmic-sense-in   => plasmac.ohmic-sense-in
# ---modes 0 & 1
net plasmac:arc-voltage-in => plasmac.arc-voltage-in
# ---modes 1 & 2
net plasmac:arc-ok-in      => db_arc-ok.in
# ---mode 2
net plasmac:move-up        => plasmac.move-up
net plasmac:move-down      => plasmac.move-down

# ---PLASMA OUTPUTS---
# ---all modes---
net plasmac:ohmic-enable   <= plasmac.ohmic-enable
net plasmac:scribe-arm     <= plasmac.scribe-arm
net plasmac:scribe-on      <= plasmac.scribe-on

# connect limit/home switch outputs to motion controller
net Xminlim <= ppmc.0.din.01.in
net Xminlim => joint.0.neg-lim-sw-in
net Xmaxlim <= ppmc.0.din.02.in
net Xmaxlim => joint.0.pos-lim-sw-in
net Xhome <= ppmc.0.din.00.in
net Xhome => joint.0.home-sw-in

net Yminlim <= ppmc.0.din.05.in
net Yminlim => joint.1.neg-lim-sw-in
net Ymaxlim <= ppmc.0.din.06.in
net Ymaxlim => joint.1.pos-lim-sw-in
net Yhome <= ppmc.0.din.04.in
net Yhome => joint.1.home-sw-in

net Zminlim <= ppmc.0.din.09.in
net Zminlim => joint.2.neg-lim-sw-in
net Zmaxlim <= ppmc.0.din.10.in
net Zmaxlim => joint.2.pos-lim-sw-in
net Zhome <= ppmc.0.din.08.in
net Zhome => joint.2.home-sw-in

net Aminlim <= ppmc.0.din.12.in
net Aminlim => joint.3.neg-lim-sw-in
net Amaxlim <= ppmc.0.din.13.in
net Amaxlim => joint.3.pos-lim-sw-in
net Ahome <= ppmc.0.din.11.in
net Ahome => joint.3.home-sw-in


# connect index pulses to motion controller
# uncomment these lines only if you have a Rev 2 USC board
# newsig Xindex bit
# newsig Yindex  bit
# newsig Zindex bit
# newsig Aindex bit
# linksp Xindex <= ppmc.0.encoder.00.index-enable
# linksp Xindex => joint.0.index-enable
# linksp Yindex <= ppmc.0.encoder.01.index-enable
# linksp Yindex => joint.1.index-enable
# linksp Zindex <= ppmc.0.encoder.02.index-enable
# linksp Zindex => joint.2.index-enable
# linksp Aindex <= ppmc.0.encoder.03.index-enable
# linksp Aindex => joint.3.index-enable

#
# Connect I/O controller I/Os
#

# connect e-stop write/sense to I/O controller
# and univstep's fault with estop's output, so  estop FF is reset, but
#      prevent continued estop signal from univstep from holding FF cleared
net ppmcEstop ppmc.0.din.15.in-not
net ppmcEstop and2.0.in0
net EstopOkIn estop-latch.0.fault-in
net EstopOkIn and2.0.out
net EstopOkOut <= ppmc.0.dout.07.out
net EstopOkOut iocontrol.0.emc-enable-in
net EstopOkOut estop-latch.0.ok-out
net EstopOkOut and2.0.in1
net emc-estop-out iocontrol.0.user-enable-out
net emc-estop-out estop-latch.0.ok-in
net emc-estop-reset iocontrol.0.user-request-enable
net emc-estop-reset estop-latch.0.reset

net emc-estop-out estop-latch.0.ok-in 

# connect spindle fwd/rev to I/O controller
net SpindleFwd <= ppmc.0.dout.00.out
net SpindleFwd => spindle.0.forward
net SpindleRev <= ppmc.0.dout.01.out
net SpindleRev => spindle.0.reverse

# connect spindle brake to I/O controller
net SpindleBrakeOn <= ppmc.0.dout.02.out
net SpindleBrakeOn => spindle.0.brake

# connect mist/flood coolant to I/O controller
net MistOn <= ppmc.0.dout.03.out
net MistOn => iocontrol.0.coolant-mist
net FloodOn <= ppmc.0.dout.04.out
net FloodOn => iocontrol.0.coolant-flood


# connect position feedback signals to encoders
net Xpos-fb <= ppmc.0.encoder.00.position
net Ypos-fb <= ppmc.0.encoder.01.position
net Zpos-fb <= ppmc.0.encoder.02.position
net Apos-fb <= ppmc.0.encoder.03.position

# get feedback scaling from ini file
setp ppmc.0.encoder.00.scale [JOINT_0]INPUT_SCALE
setp ppmc.0.encoder.01.scale [JOINT_1]INPUT_SCALE
setp ppmc.0.encoder.02.scale [JOINT_2]INPUT_SCALE
setp ppmc.0.encoder.03.scale [JOINT_3]INPUT_SCALE

# connect PID output signals to step generators
net Xoutput => ppmc.0.stepgen.00.velocity
net Youtput => ppmc.0.stepgen.01.velocity
net Zoutput => ppmc.0.stepgen.02.velocity
net Aoutput => ppmc.0.stepgen.03.velocity

# connect axis enables to step generators
net Xenable => ppmc.0.stepgen.00.enable
net Yenable => ppmc.0.stepgen.01.enable
net Zenable => ppmc.0.stepgen.02.enable
net Aenable => ppmc.0.stepgen.03.enable

# set output scaling from ini file
# input and output scales should (normally) be the same for a USC
setp ppmc.0.stepgen.00.scale [JOINT_0]OUTPUT_SCALE
setp ppmc.0.stepgen.01.scale [JOINT_1]OUTPUT_SCALE
setp ppmc.0.stepgen.02.scale [JOINT_2]OUTPUT_SCALE
setp ppmc.0.stepgen.03.scale [JOINT_3]OUTPUT_SCALE

# add a couple of tuning test links
# if these are useful will want to add them to the other axes as well
# or make these setup with the tuning script
# net Xoutput ddt.0.in
# net Xpos-fb ddt.1.in


# HAL config file for servos -- expanded from core_servo.hal
# for a full four axis setup

# create four position feedback signals

# connect position feedback to PID loop
net Xpos-fb => pid.0.feedback
net Ypos-fb => pid.1.feedback
net Zpos-fb => pid.2.feedback
net Apos-fb => pid.3.feedback

# connect position feedback to motion module
net Xpos-fb => joint.0.motor-pos-fb
net Ypos-fb => joint.1.motor-pos-fb
net Zpos-fb => joint.2.motor-pos-fb
net Apos-fb => joint.3.motor-pos-fb

# create PID to DAC output signals

# connect output signals to output of PID loops
net Xoutput <= pid.0.output
net Youtput <= pid.1.output
net Zoutput <= pid.2.output
net Aoutput <= pid.3.output

# set PID loop output limits to +/-1.00
setp pid.0.maxoutput [JOINT_0]PID_MAX_VEL
setp pid.1.maxoutput [JOINT_1]PID_MAX_VEL
setp pid.2.maxoutput [JOINT_2]PID_MAX_VEL
setp pid.3.maxoutput [JOINT_3]PID_MAX_VEL

# set PID loop gains
setp pid.0.Pgain [JOINT_0]P
setp pid.0.Igain [JOINT_0]I
setp pid.0.Dgain [JOINT_0]D
setp pid.0.bias [JOINT_0]BIAS
setp pid.0.FF0 [JOINT_0]FF0
setp pid.0.FF1 [JOINT_0]FF1
setp pid.0.FF2 [JOINT_0]FF2
setp pid.0.deadband [JOINT_0]DEADBAND

setp pid.1.Pgain [JOINT_1]P
setp pid.1.Igain [JOINT_1]I
setp pid.1.Dgain [JOINT_1]D
setp pid.1.bias [JOINT_1]BIAS
setp pid.1.FF0 [JOINT_1]FF0
setp pid.1.FF1 [JOINT_1]FF1
setp pid.1.FF2 [JOINT_1]FF2
setp pid.1.deadband [JOINT_1]DEADBAND

setp pid.2.Pgain [JOINT_2]P
setp pid.2.Igain [JOINT_2]I
setp pid.2.Dgain [JOINT_2]D
setp pid.2.bias [JOINT_2]BIAS
setp pid.2.FF0 [JOINT_2]FF0
setp pid.2.FF1 [JOINT_2]FF1
setp pid.2.FF2 [JOINT_2]FF2
setp pid.2.deadband [JOINT_2]DEADBAND

setp pid.3.Pgain [JOINT_3]P
setp pid.3.Igain [JOINT_3]I
setp pid.3.Dgain [JOINT_3]D
setp pid.3.bias [JOINT_3]BIAS
setp pid.3.FF0 [JOINT_3]FF0
setp pid.3.FF1 [JOINT_3]FF1
setp pid.3.FF2 [JOINT_3]FF2
setp pid.3.deadband [JOINT_3]DEADBAND

# create four position command signals

# connect position commands to motion controller
net Xpos-cmd <= joint.0.motor-pos-cmd
net Ypos-cmd <= joint.1.motor-pos-cmd
net Zpos-cmd <= joint.2.motor-pos-cmd
net Apos-cmd <= joint.3.motor-pos-cmd

# connect position commands to PID input
net Xpos-cmd => pid.0.command
net Ypos-cmd => pid.1.command
net Zpos-cmd => pid.2.command
net Apos-cmd => pid.3.command

# create bit signals to enable/disable the PID loops

# connect the signals to the motion controller
net Xenable <= joint.0.amp-enable-out
net Yenable <= joint.1.amp-enable-out
net Zenable <= joint.2.amp-enable-out
net Aenable <= joint.3.amp-enable-out

# connect the signals to the PID blocks
net Xenable => pid.0.enable
net Yenable => pid.1.enable
net Zenable => pid.2.enable
net Aenable => pid.3.enable

But i'm not an expert in this type of configuration...
  • Aciera
  • Aciera's Avatar
16 Feb 2025 10:00

Using A axis as second spindle with stepper motor

Category: Advanced Configuration

There have been a few threads about switching a rotary axis to spindle mode and back. Currently there is no standard solution that fits all scenarios.
This might give you an entry point:
forum.linuxcnc.org/26-turning/55148-lath...g-and-milling#319940
  • ashford
  • ashford
16 Feb 2025 00:12 - 16 Feb 2025 00:19
home switch setup on gantry mill was created by ashford

home switch setup on gantry mill

Category: Basic Configuration

preamble:
i am converting an mr1 to linux cnc via 7i96s. the y axis is parallel stepper motors.  y2 and z home switches are nc type and in series. the box i am making is all new drivers/power supplies only thing i will be reusing out of the factory box is the vfd for the spindle. i want this to be a plug and play so i can swap back to stock box if needed. dealing with code is not completely forign to me but the last time i did anything serious was in msbasic, and a little dabbing into megasquirt engine control.

im not sure the best way to set up the homeing switches. i tried
1. assigning net home-y2     <=  hm2_7i96s.0.inm.00.input-03-not and
    net home-z     <=  hm2_7i96s.0.inm.00.input-03-not
   did not work gave errors

2.checking home is shared on y2 and z and only asigning an input to z.  did not work either

3. tied 2 inputs together and asigned them each as y2 and z
  worked but don't seem right to me

4. in z axis joint3 i put
net home-y2    =>  joint.3.home-sw-in and home is shared

that works but does not seem right.

what is the best way to do this, or is there another way
  • tommy
  • tommy
14 Feb 2025 13:57 - 15 Feb 2025 10:44

Pico UPC + USC + PWM servo Amp For sale

Category: User Exchange

1x Universal Stepper Controller
1x Universal PWM Controller
4x PWM Servo Amplifier
1x Spindle DAC
1x PCI-e card + cable
For specs visit: picosystems.store/shop/

 

Price: 350eur + shipping in EU (from Slovenia).
tomaz_ti1(at)hotmail.com
  • kor
  • kor
14 Feb 2025 11:45
Replied by kor on topic Mesa with Ethercad connection

Mesa with Ethercad connection

Category: Driver Boards

In my opinion it does not make the mesa cards obsolete. yes digital servos don't need the step/dir or analog interfaces of standard mesa cards. But that is not the point. In my opinion mesa cards are not used in professional of the shelf solutions anyway. So it is the hobby and semi professional market mesa is addressing.
When your controller of an old machine breaks do you replace everything? or do you replace the broken parts with new stuff. Here having the option to go with ethercad would be great.
When you build your own machine you most likely will only use a digital spindle servo and not one on all axes to keep the cost down.
When you want to add stuff for automation the ability to add steppers is huge due to the low cost. And everyone has them laying around who works with automation. I once hacked together a system which pneumatically unlocked a clamp and advanced a square profile for the next part with two rubber wheels and two steppers. Cheap and fast.

Right now my main motivation is linear encoders.
  • schorsch
  • schorsch
12 Feb 2025 19:51

Using A axis as second spindle with stepper motor

Category: Advanced Configuration

Hi,
I'm using linuxcnc since a while. I upgraded a few weeks ago: Now I'm using a Rpi and a MESA 7C81. I'm having 3 axis and a fixed vertical spindle motor and a separated a-axis. All 4 axes are running with stepper motors.

I'm using inventor-hsm for creating G-code which works pretty good. Unfortunately, it is very limited, when using it in connection with the A-axis. Although the software is able to unwrap a geometry I can only run it to mill out closed pocked (also when it is wrapped). Very frequently I need to reduce a diameter and there is no operation available for this. I can only do this in indexed mode (several phi-angles and slicing in z). 

Luckily the software can also produce code for turning machines, so I could create code for such a machine. The only thing I need to do is to turn on a horizontal spindle, you see my idea?

So my question: 
Is there a possibility to configure linuxcnc in such a way that I can use my A-stepper axis for running as horizontal spindle?

What I need is a G-command turning the horizontal spindle on in a certain speed and a G-command for turning it of, during the turn-on the stepper needs to run continuously. I know its a bit absurd

Georg  
  • rodw
  • rodw's Avatar
11 Feb 2025 20:32
Replied by rodw on topic Mesa with Ethercad connection

Mesa with Ethercad connection

Category: Driver Boards

As the OP said, the missing piece in an Ethercat build is affordable encoder inputs for spindles. There are very few options outside of Beckhoff. I have some Beckhoff I/O but have not bought an encoder module.

There are a few I/O modules generally with 16 inputs and 16 outputs. There must be a cheap Ethercat chip they use. Examples from Deiwu and Rtelligent (I have both). Rtelligent includes some PWM outputs.

But lets face it, the main reason one goes with Ethercat is to use Ethercat servo and stepper drives so the Mesa cards with analog and step/dir interfaces are not particularly useful any more.

Using Ethercat drives reduces the need for I/O because most drives have some included I/O for home and limit switches and brakes etc. These can also be used for general I/O.

Whilst using hm2 over Ethercat should  improve network latency issues with Mesa cards due to the more efficient transport layer, adding the additional complexity of Ethercat just for this does not make sense to me.

Perhaps Mesa could look at an Ethercat 7i92 equivalent that supported some existing daughter cards to give I/O, encoder, counters for MPG and analog voltage by adding a THCAD2 with its Calibration data stored in Ethercat registers? Perhaps this card would include some  smart serial interfaces too?

Anyway, I'm gonna go back to fiddling with Ethercat internal homing now...  After a long hiatus, I got my homing lab working last night and homing commenced as it should. I just have to work out why it didn't respond to the homing switch when it came on...
  • Esz2
  • Esz2
09 Feb 2025 19:11
From Grbl to linuxcnc was created by Esz2

From Grbl to linuxcnc

Category: General LinuxCNC Questions

Im an electronics technician located in Denmark with an hobby interest in mechanical design, cnc milling and additive manufacturing.

A couple of years ago I bought an cnc router with zero experience in the field. The building and electrical parts where a breeze and the grbl controller that I bought back then was an easy thing to flash with fluidNC and get going. 

Now I'm going into more advanced features and adding an self designed atc system hereby arose the need for a more capable controller. The choice settled on the Mesanet 7c80 due to form factor with the rpi and the number of i/o without the need for an daughterboard.

I have experience with rpi/arduino/esp32 projects and have worked a limited bit with commercial fpga cards before.

I have never worked with Linuxcnc before but settled on this environment and the mesa board due to:
1. active community 
2. Full customization

So the big question is, where do I begin? What would be a good course of action to get going in an orderly manner? 

The hardware:
clossed loop steppers and drivers
XYYZ + AB (possible used to manipulated the ATC later)
inductive sensors on all axis
several solunoidvalves (mist and air)
several relays (pumps and spindle light)
surface probe
tool lenght sensor
several failsafe and e-stops
ballscrews on all axis

The atc system will be an add on later and will not be a part of the initial setup.

The electrical part is going to be an non issue for me I have already planned this from the drawings in the 7c80 manual.

Thanks in advance



 
Displaying 31 - 45 out of 158 results.
Time to create page: 1.095 seconds
Powered by Kunena Forum