Advanced Search

Search Results (Searched for: )

  • rodw
  • rodw's Avatar
04 Aug 2024 04:38
Replied by rodw on topic Setting up 360 to post for LinuxCNC

Setting up 360 to post for LinuxCNC

Category: Fusion 360

There is a Linuxcnc post in F360. It may be called EMC. I never had to modify anything.
  • rodw
  • rodw's Avatar
04 Aug 2024 04:34

Hello, I would like to add an EtherCAT IO device. What should I do

Category: EtherCAT

It seems very similar to the Rtelligent ECT1616 which was very easy to work out with a generic driver like I did here.
github.com/rodw-au/linuxcnc-cia402/blob/...hercat-conf.xml#L158

It has some PWM functions as well.
  • scotth
  • scotth
04 Aug 2024 03:55
Replied by scotth on topic Compensation Z axis respect at Y

Compensation Z axis respect at Y

Category: CNC Machines

Large horizontal mills with a quill will drive you crazy. The only way that I know of for correction is to use a laser scanner and develop a point cloud of X Y and Z. Starting with X0 Y0 Z0 to max travel in a grid. Then develop an error table based on measured and commanded. Remember that lights shining on the machine and room temp will cause drift. The weight of the tool will cause error. After you develop an error comp table, you can then correct the errors in the program in advance. Each axis has pitch yaw and roll, so a simple comp on Y to Z probably will not fix your problem. This is why we don't have horizontal Jig Bores.

www.faro.com/en/Resource-Library/Webinar...g-Processes-on-Track

You could try API for volumetric compensation, they can help. apimetrology.com/machine-tool-calibration/
  • scottlaird
  • scottlaird's Avatar
04 Aug 2024 03:53
Replied by scottlaird on topic New LinuxCNC-Ethercat git tree

New LinuxCNC-Ethercat git tree

Category: EtherCAT

Okay, a quick look through the code and a look at the ESI file for the EasyIO doesn't show anything *glaringly* wrong. On the other hand, I don't know if anyone has actually tried using this driver before, so 3 of 4 isn't too bad...

One quick question: did you set aout-1-enable?

What are the various aout-1-* pins set to?
  • scottlaird
  • scottlaird's Avatar
04 Aug 2024 03:36

Hello, I would like to add an EtherCAT IO device. What should I do

Category: EtherCAT

Leadshine has an amazing ability to put out products with multiple names and not document them clearly (at least in English) for months after they start slipping into the channel. So I'm not sure exactly what a EM32DX-E4 is. I can find pictures, and a manual in Chinese (oss.leisai.com/uploadfiles/EM32DX-E4%20%...%8B%E5%86%8CV3_1.pdf) that I *think* says that it's a 16-port in, 16-port out digital I/O board with something somewhat odd about the first 8 digital inputs and 4 digital outputs

Ignoring the "something somewhat odd" part, it looks pretty straightforward, 16 ins packed together at 0x6000 and 16 outs at 0x7000. It'd be pretty straightforward to modify one of the other packed digital I/O board drivers to support this hardware.

github.com/linuxcnc-ethercat/linuxcnc-ethercat/issues/434
  • feng
  • feng
04 Aug 2024 03:13

Hello, I would like to add an EtherCAT IO device. What should I do

Category: EtherCAT

# Generated by PNCconf at Sat Sep 10 10:10:56 2016
# If you make changes to this file, they will be
# overwritten when you run PNCconf again

loadrt [KINS]KINEMATICS
#autoconverted  trivkins
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
loadusr -W lcec_conf ethercat-conf.xml
loadrt lcec
loadrt cia402 count=4

addf lcec.read-all            servo-thread
addf cia402.0.read-all        servo-thread
addf cia402.1.read-all        servo-thread
addf cia402.2.read-all        servo-thread
addf cia402.3.read-all        servo-thread

addf motion-command-handler   servo-thread
addf motion-controller        servo-thread
addf cia402.0.write-all       servo-thread
addf cia402.1.write-all       servo-thread
addf cia402.2.write-all       servo-thread
addf cia402.3.write-all       servo-thread

addf lcec.write-all           servo-thread

#*******************
#  AXIS X
#*******************

# --- joint signals for motion

net x-pos-cmd    <= joint.0.motor-pos-cmd
net x-vel-cmd    <= joint.0.vel-cmd
net x-pos-fb     <= joint.0.motor-pos-fb
net x-enable     <= joint.0.amp-enable-out

# --- connect stepper driver to joint

net x-pos-cmd    => cia402.0.pos-cmd
net x-pos-fb     => cia402.0.pos-fb
net x-enable     => cia402.0.enable

# --- ect60 settings

setp cia402.0.csp-mode 1
setp cia402.0.pos-scale 26214.4

# --- from stepper(ethercat) to cia402

net x-statusword      lcec.0.0.cia-statusword  => cia402.0.statusword
net x-opmode-display  lcec.0.0.opmode-display  => cia402.0.opmode-display
net x-drv-act-pos     lcec.0.0.actual-position => cia402.0.drv-actual-position
net x-drv-act-velo    lcec.0.0.actual-velocity => cia402.0.drv-actual-velocity

# --- from cia402 to stepper(ethercat) 

net x-controlword         cia402.0.controlword         => lcec.0.0.cia-controlword
net x-modes-of-operation  cia402.0.opmode              => lcec.0.0.opmode
net x-drv-target-pos      cia402.0.drv-target-position => lcec.0.0.target-position
net x-drv-target-velo     cia402.0.drv-target-velocity => lcec.0.0.target-velocity

#*******************
#  AXIS Y
#*******************

# --- joint signals for motion
net y-pos-cmd    <= joint.1.motor-pos-cmd
net y-vel-cmd    <= joint.1.vel-cmd
net y-pos-fb     <= joint.1.motor-pos-fb
net y-enable     <= joint.1.amp-enable-out

# --- connect stepper driver to the joint

net y-pos-cmd    => cia402.1.pos-cmd
net y-pos-fb     => cia402.1.pos-fb
net y-enable     => cia402.1.enable

# --- ect60 settings

setp cia402.1.csp-mode 1
setp cia402.1.pos-scale 26214.4

# --- from servo(ethercat) to cia402

net y-statusword      lcec.0.1.cia-statusword  => cia402.1.statusword
net y-opmode-display  lcec.0.1.opmode-display  => cia402.1.opmode-display
net y-drv-act-pos     lcec.0.1.actual-position => cia402.1.drv-actual-position
net y-drv-act-velo    lcec.0.1.actual-velocity => cia402.1.drv-actual-velocity

# --- from cia402 to servo(ethercat) 

net y-controlword         cia402.1.controlword         => lcec.0.1.cia-controlword
net y-modes-of-operation  cia402.1.opmode              => lcec.0.1.opmode
net y-drv-target-pos      cia402.1.drv-target-position => lcec.0.1.target-position
net y-drv-target-velo     cia402.1.drv-target-velocity => lcec.0.1.target-velocity


#*******************
#  AXIS z
#*******************

# --- joint signals for motion
net z-pos-cmd    <= joint.2.motor-pos-cmd
net z-vel-cmd    <= joint.2.vel-cmd
net z-pos-fb     <= joint.2.motor-pos-fb
net z-enable     <= joint.2.amp-enable-out

# --- connect stepper driver to the joint

net z-pos-cmd    => cia402.2.pos-cmd
net z-pos-fb     => cia402.2.pos-fb
net z-enable     => cia402.2.enable

# --- ect60 settings

setp cia402.2.csp-mode 1
setp cia402.2.pos-scale 26214.4

# --- from servo(ethercat) to cia402

net z-statusword      lcec.0.2.cia-statusword  => cia402.2.statusword
net z-opmode-display  lcec.0.2.opmode-display  => cia402.2.opmode-display
net z-drv-act-pos     lcec.0.2.actual-position => cia402.2.drv-actual-position
net z-drv-act-velo    lcec.0.2.actual-velocity => cia402.2.drv-actual-velocity

# --- from cia402 to servo(ethercat) 

net z-controlword         cia402.2.controlword         => lcec.0.2.cia-controlword
net z-modes-of-operation  cia402.2.opmode              => lcec.0.2.opmode
net z-drv-target-pos      cia402.2.drv-target-position => lcec.0.2.target-position
net z-drv-target-velo     cia402.2.drv-target-velocity => lcec.0.2.target-velocity


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

# --- joint signals for motion

net spindle-speed-cmd spindle.0.speed-out => cia402.3.velocity-cmd
net spindle-speed-fb cia402.3.velocity-fb => spindle.0.speed-in
net spindle-on spindle.0.on => cia402.3.enable

# --- ect60 settings

setp cia402.3.csp-mode 0
setp cia402.3.pos-scale 4000
setp cia402.3.velo-scale 400

# --- from servo(ethercat) to cia402

net s-statusword      lcec.0.3.cia-statusword  => cia402.3.statusword
net s-opmode-display  lcec.0.3.opmode-display  => cia402.3.opmode-display
net s-drv-act-pos     lcec.0.3.actual-position => cia402.3.drv-actual-position
net s-drv-act-velo    lcec.0.3.actual-velocity => cia402.3.drv-actual-velocity

# --- from cia402 to servo(ethercat) 

net s-controlword         cia402.3.controlword         => lcec.0.3.cia-controlword
net s-modes-of-operation  cia402.3.opmode              => lcec.0.3.opmode
net s-drv-target-pos      cia402.3.drv-target-position => lcec.0.3.target-position
net s-drv-target-velo     cia402.3.drv-target-velocity => lcec.0.3.target-velocity


#*********************
#   E-STOP
#*********************

setp iocontrol.0.emc-enable-in 1


loadrt hal_parport cfg="0 in"
addf parport.0.read servo-thread
#addf mux4.0 servo-thread

# Jog Pendant
loadrt encoder num_chan=1
loadrt mux4 count=1
addf encoder.capture-position servo-thread
addf encoder.update-counters servo-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 axis.x.jog-vel-mode 0
setp axis.y.jog-vel-mode 0
setp axis.z.jog-vel-mode 0

# 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 <= parport.0.pin-08-in-not
net scale2 mux4.0.sel1 <= parport.0.pin-07-in-not

# The output from the mux4 is sent to each axis jog scale
net mpg-scale <= mux4.0.out
net mpg-scale => axis.x.jog-scale
net mpg-scale => axis.y.jog-scale
net mpg-scale => axis.z.jog-scale

# The MPG inputs
net mpg-a encoder.0.phase-A <= parport.0.pin-13-in
net mpg-b encoder.0.phase-B <= parport.0.pin-10-in

# The Axis select inputs
net mpg-x axis.x.jog-enable <= parport.0.pin-15-in-not
net mpg-y axis.y.jog-enable <= parport.0.pin-11-in
net mpg-z axis.z.jog-enable <= parport.0.pin-14-in

# The encoder output counts to the axis. Only the selected axis will move.
net encoder-counts  <= encoder.0.counts
net encoder-counts => axis.x.jog-counts
net encoder-counts => axis.y.jog-counts
net encoder-counts => axis.z.jog-counts


lite@LinuxCNC:~$ sudo ethercat slaves
0  0:0  OP     +  L7EC-400S(COE)
1  0:1  OP     +  L7EC-400S(COE)
2  0:2  OP     +  L7EC-400S(COE)
3  0:3  PREOP  E  EM32DX-E4


/* Master 0, Slave 3, "EM32DX-E4"
 * Vendor ID:       0x00004321
 * Product code:    0x01100073
 * Revision number: 0x18050210
 */

ec_pdo_entry_info_t slave_3_pdo_entries[] = {
    {0x7000, 0x01, 16}, /* OUT */
    {0x6000, 0x01, 16}, /* IN */
};

ec_pdo_info_t slave_3_pdos[] = {
    {0x1600, 1, slave_3_pdo_entries + 0}, /* RxPDO0-Map */
    {0x1a00, 1, slave_3_pdo_entries + 1}, /* TxPDO1-Map */
};

ec_sync_info_t slave_3_syncs[] = {
    {0, EC_DIR_OUTPUT, 0, NULL, EC_WD_DISABLE},
    {1, EC_DIR_INPUT, 0, NULL, EC_WD_DISABLE},
    {2, EC_DIR_OUTPUT, 1, slave_3_pdos + 0, EC_WD_ENABLE},
    {3, EC_DIR_INPUT, 1, slave_3_pdos + 1, EC_WD_DISABLE},
    {0xff}
 
  • ThyerHazard
  • ThyerHazard's Avatar
04 Aug 2024 02:34
Setting up 360 to post for LinuxCNC was created by ThyerHazard

Setting up 360 to post for LinuxCNC

Category: Fusion 360

Hey guys,

So most of my machine is running and I'm in the testing phases (Just have a sharpie in the spindle drawing stuff on carboard) before actually cutting anything and I've noticed what when I post my G code from Fusion360 and move the NC code into linuxcnc I get (Unknown G code used).

Now I figured there was un-supported G codes so I checked the list of un-supported G codes and editing them out of the NC and it made no change. But If I delete the entire Top few lines of the NC it then works fine (For simple line sketches haven't tried anything more complicated) 

Example below;
________________________________________________________________

(This gives the error)

%
(1001)
(T1  D=0.1 CR=0. - ZMIN=-1. - flat end mill)
G90 G54 G64 G50 G17 G40 G80 G94 G91.1 G49
G21 (Metric)

N10(Trace1)
T1 G43 H1 M6
S5000 M3 M9
G54
G0 X-10. Y13.207
G0 Z11.
G0 Z4.
G1 Z-1. F16.67
G1 X-8.586 Y11.793 F50.
​​​​​​​________________________________________________________________

(But this works fine)

N10(Trace1)
T1 G43 H1 M6
S5000 M3 M9
G54
G0 X-10. Y13.207
G0 Z11.
G0 Z4.
G1 Z-1. F16.67
G1 X-8.586 Y11.793 F50.

________________________________________________________________

So my question is really, why is this happening? When I was running mach3 I could just drop my NC program in like this and it worked fine, and two is there a way to set up Fusion to post on NC code that WILL run on linuxCNC or will i have to edit each program like this to get it to run? 

Thanks guys :D 
  • spumco
  • spumco
04 Aug 2024 02:05

Hardware needed to switch from mach 3 6 axis to linuxcnc 9 axis

Category: General LinuxCNC Questions

Rick,

You'll find that there are many ways to accomplish the same thing in LCNC, but what I suggested was a combination of boards that would easily drive 9 separate axis motors, plus an analog 0-10v output for typical spindle control, plus a fair amount of inputs & outputs, plus has 5 high-speed encoder inputs since you mentioned 'closed loop.'

The 7i84 vs 7i84D - boards have the same I/O quantity, but one is for sourcing outputs and the other (D) is for sinking outputs.

The above recommendation is just that - a suggestion of an easy way to get 9 axes.  It was not a cost or space optimized solution, and I strongly discourage you from buying anything at this point.  You need to be in research mode right now.

If you want more specific recommendations, pics of the lathe, plus a detailed description of what additional 'stuff' you want to add would help us help you.  Pics of the existing control electronics (stepper drives, spindle drive, power supplies, etc.) and anything else (control panel) would help.

Make a list of all the inputs, outputs, axes, spindle, whatever.  Identify the voltages, amps, what components you have and will need in the future.

As for loading... are you talking about stock or part blank loading?  Does this hardware currently exist, or are you planning to fabricate some sort of automation mechanism?

-S

 
  • Cant do this anymore bye all
  • Cant do this anymore bye all's Avatar
04 Aug 2024 01:57
Replied by Cant do this anymore bye all on topic LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)

LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)

Category: Computers and Hardware

W5500 seems to be ok so far, had it run through 2 goes of the example gcdoe, no issues.I'll just let it be for now.

Wasn't playing nicely when I had an intel NIC installed (this was just pruely for access to the local network). Even the UDP bridge was getting latency errors. Anyway removed the Intel NIC, all ok.

But yeah this is a hug improvement.

Many thanks ollie, and the clog2 issue appears to be fixed.
  • cmorley
  • cmorley
04 Aug 2024 01:28
Replied by cmorley on topic Control panel

Control panel

Category: Show Your Stuff

How do you like that keyboard and track ball?
  • cmorley
  • cmorley
03 Aug 2024 23:49
Replied by cmorley on topic Error in tool_offsetview.py

Error in tool_offsetview.py

Category: Qtvcp

Ok that work is pushed to master now.
I have not updated the docs yet, but stylesheets can change the options.
The menu items in the DRO or axis selection buttons can be made the same or any combination of those options.
Also now you can recover from pressing the zero button by selecting 'set to last' in the dro widget menu options.

let me know what you think.

Chrs
  • tommylight
  • tommylight's Avatar
03 Aug 2024 23:43 - 03 Aug 2024 23:43

LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)

Category: Computers and Hardware

A while back i wanted to link this topic for someone who asked on the forum, i could not find it, so i pinned every topic regarding these projects i could find back then... seems i have missed quite a few so pinned this and all the rest.
Thank you.
  • rodw
  • rodw's Avatar
03 Aug 2024 22:59

Linuxcnc 2.9.2 and 2.93 images for Raspberry Pi 4b & 5

Category: Installing LinuxCNC

read the comments on the downloads page. menu-config should do it for you.
  • cncmiljc
  • cncmiljc
03 Aug 2024 22:51

Linuxcnc 2.9.2 and 2.93 images for Raspberry Pi 4b & 5

Category: Installing LinuxCNC

In my case, it would be ethernet, I need the configuration area for the IP/Gateway address, that way, I can study the connection with ethernet cards.
  • rodw
  • rodw's Avatar
03 Aug 2024 22:08
Replied by rodw on topic How to put a password on the exit button

How to put a password on the exit button

Category: Gmoccapy

IN the gmocappy source there is a screen handler written in Python. There is also a glade screen definition, You probably just need to modify the handler for the exit button or even better move it to the already password protected area. Sorry its been 7 or 8 years since I modified gmocappy
Displaying 23836 - 23850 out of 25059 results.
Time to create page: 0.498 seconds
Powered by Kunena Forum