Advanced Search

Search Results (Searched for: )

  • Mr. Mass
  • Mr. Mass's Avatar
Today 13:49
Replied by Mr. Mass on topic Control panel

Control panel

Category: Show Your Stuff

I finally finished a project I had been working on for over a year (not every day, of course, but still). It is a control panel with a vertical 22" touchscreen monitor, an industrial keyboard, and a built-in computer. The frame is made of 20 series aluminum profile, with 1mm HIPS overlays. The interface is a modified Qtdragon_hd. The buttons and keyboard are connected via Arduino. Many thanks to everyone on this forum whose thoughts and ideas I have used. But a special thanks to cmorley, without whose help I would never have been able to achieve the functionality that it has. Thank you, Chris.youtube.com/shorts/eyDQwiEkxz0?feature=share
  • BIBIGUL
  • BIBIGUL
Today 13:17
HAL Compile (makefile) was created by BIBIGUL

HAL Compile (makefile)

Category: Computers and Hardware

A question about compilation. Wrote such a makefile -

MODULE_NAME := Name

MODINC := /usr/share/linuxcnc/Makefile.modinc

SRC_DIR := Src
INC_DIR := Inc

SRC_FILES := $(wildcard $(SRC_DIR)/*.c)
OBJ_FILES := $(notdir $(SRC_FILES:.c=.o))

$(MODULE_NAME)-objs := $(OBJ_FILES)
obj-m += $(MODULE_NAME).o

export BUILD_VERBOSE := 1

include $(MODINC)

EXTRA_CFLAGS += -I$(shell pwd)/$(SRC_DIR)
EXTRA_CFLAGS += -I$(shell pwd)/$(INC_DIR)

EXTRA_CFLAGS += -O2
EXTRA_CFLAGS += -march=x86-64
EXTRA_CFLAGS += -mtune=generic

EXTRA_CFLAGS += -fno-fast-math
EXTRA_CFLAGS += -fno-unsafe-math-optimizations

%.o: $(SRC_DIR)/%.c
$(CC) $(EXTRA_CFLAGS) -c $< -o $@

all:
make -S modules

clean:
rm -f *.ko *.so *.o *.tmp *.ver *.order

the flags that I use do not violate the rtapi rules? Will this affect the operation of Linux cnc? Is it redundant and unnecessary?
  • tar_san
  • tar_san
Today 12:58
Replied by tar_san on topic Ver 2.9.8 Trouble when disabling EOE

Ver 2.9.8 Trouble when disabling EOE

Category: EtherCAT

I upgraded to ver 2.9.8 and I did disable eoe procedure again.
But then I cound not move EtherCAT servo motor (YASKAWA). ( I could not reset error )

I have attached files about dmesg and procedure to disable eoe.

Please help me solve this problem.
 
  • BIBIGUL
  • BIBIGUL
Today 11:51
Replied by BIBIGUL on topic socket raw Eth.

socket raw Eth.

Category: Computers and Hardware

A question about compilation. Wrote such a makefile - "MODULE_NAME := ABMIO44 MODINC := /usr/share/linuxcnc/Makefile.modinc SRC_DIR := SrcINC_DIR := Inc SRC_FILES := $(wildcard $(SRC_DIR)/*.c)OBJ_FILES := $(notdir $(SRC_FILES:.c=.o)) $(MODULE_NAME)-objs := $(OBJ_FILES)obj-m += $(MODULE_NAME).o export BUILD_VERBOSE := 1 include $(MODINC) EXTRA_CFLAGS += -I$(shell pwd)/$(SRC_DIR)EXTRA_CFLAGS += -I$(shell pwd)/$(INC_DIR) EXTRA_CFLAGS += -O2 EXTRA_CFLAGS += -march=x86-64 EXTRA_CFLAGS += -mtune=generic EXTRA_CFLAGS += -fno-fast-math EXTRA_CFLAGS += -fno-unsafe-math-optimizations  %.o: $(SRC_DIR)/%.c$(CC) $(EXTRA_CFLAGS) -c $< -o $@ all:make -S modules  clean:rm -f *.ko *.so *.o *.tmp *.ver *.order"the flags that I use do not violate the rtapi rules? Will this affect the operation of Linux cnc? Is it redundant and unnecessary?
  • tar_san
  • tar_san
Today 10:03
Replied by tar_san on topic Cannot JOG Plus/Minus move in TeleOp mode

Cannot JOG Plus/Minus move in TeleOp mode

Category: Basic Configuration

Thanks !

I was using LinuxCNC Ver 2.4.5 at that time.
But Today, after I just upgraded to Ver 2.4.8, everything works well.
  • andrax
  • andrax's Avatar
Today 10:01

Technical questions about CIA402 and homecomp.comp on A6

Category: EtherCAT

@rodw Yes, I would have implemented it in the same way in a PLC. The only thing missing is the safety timer from start homing to axis in motion. Then the homing would be practically monitored. Regarding the axis jumping, you could set the feed rates to minimum after completion until Linuxcnc has synchronized.

@Hakan, aren't the csp csv and pv modes managed by the driver? I believe that torque mode is not supported by the A6 during homing. However, it would be an option if you let Linuxcnc manage homing again. Since the Z pulse is not output by the A6, you could perform the torque search. 

 
  • Christian
  • Christian
Today 09:37
Mesa 7i76EU - how to enable mode 2? was created by Christian

Mesa 7i76EU - how to enable mode 2?

Category: Computers and Hardware

Hello everyone,I’m looking for some help with my MESA 7i76EU configuration.I would like to use Mode 2. According to the manual, in this mode inputs 16–19 can be used for the encoder signals of an MPG handwheel, and inputs 00–03 are converted into analog inputs. I would like to connect potentiometers to these analog inputs to override the feed rate and spindle speed.At the same time, I would like to use the encoder interface of the MESA with an ABZ encoder to monitor the spindle speed. As far as I understand, the 7i76EU is designed for exactly this purpose.My question:
How do I switch the MESA to Mode 2?So far I have tried setting the parameter
sserial_port_0=20000000
in the .hal file.
I also tried flashing a new bitfile that should change the mode, but that didn’t work either.Maybe it’s much simpler and the MESA detects analog signals automatically?
Or does the mode have to be changed via jumpers?At the moment I’m a bit stuck with my research (manual, internet, and AI didn’t get me any further), so I would really appreciate any advice or hints.Thanks a lot!
  • andrax
  • andrax's Avatar
Today 09:16 - Today 09:17
Replied by andrax on topic StepperOnline A6 Servo

StepperOnline A6 Servo

Category: EtherCAT

Das hochfrequente piepen ist ganz normal.
Kommt von der Lageregelung.
Autotuning habe ich über die interne Servofunktion durchgeführt. Der Ablauf steht in der Doku.

@Jugo2
Das springen der Achsen hat sich geklärt.
Beim internen homing desynchonisieren sich die Achsen von linuxcnc. Nach Abschluss vom homing versucht linuxcnc die Position der Achsen wieder zu synchronisieren. Das führt zum bekannten springen.
Stelle die Default speeds in der .ini auf Minimalwerte, dann sollte es weg sein.
  • Hakan
  • Hakan
Today 08:04

Technical questions about CIA402 and homecomp.comp on A6

Category: EtherCAT

rodw, I kind of think of a structure like this
if drive ready
  if csp

  else if csv

  else if pv
...
  else if probing

  else if homing
     if homing_method == 1
     else if homing_method == 2
     else if homing_method == 37
        Do the torque homing. Although it doesn't seem to be standard
     
Keep track of what op-mode we were in last time so we recognize a transition
between op-modes. To deal with offsets and such things.
  • Marcos DC
  • Marcos DC's Avatar
Today 07:54 - Today 08:00

Technical questions about CIA402 and homecomp.comp on A6

Category: EtherCAT

Sorry if this is drifting a bit from Andrax’s original question.
@NWE
I’m not really talking about old analog hardware or tricky retrofits. My reference is mainly the integration effort in LinuxCNC itself, comparing FPGA-based step/dir (Mesa) or ±10 V with well-documented drives versus EtherCAT + CiA402. In that context, step/dir on Mesa is a very different beast from software stepgen, and is usually much more KISS and predictable to integrate.

And by the way, thanks to rodw for the work he’s been doing—not only on this, but for his contributions to the LinuxCNC community as a whole.
  • NWE
  • NWE's Avatar
Today 05:56

Building a bigger faster delta type 3D printer

Category: Additive Manufacturing

The rotary extruders sure look great, but it turns out they're patented, although there seem to be some ideas out there that the patent may not be completely valid. In any case, I think I will end up leaving rotary extruders for a later date. I looked into buying a rotary extruder from the company holding the patent... I didn't ask them yet whether I could buy just the extruder. It looks snazzy enough I suspect it might cost more than my entire 3d printer.  fuselab3d.com/fl300m

I had already ordered my original choice of extruder (HGX LITE) in hopes I can make it fit. I'm not real enthused about making the center piece bigger, I will look at modifying the extruder once it comes.

The big gear sticking out the top appears to be the one driven by the motor, I will try flipping the motor 180 degrees and mount it above the gear.
  • rodw
  • rodw's Avatar
Yesterday 03:16

Technical questions about CIA402 and homecomp.comp on A6

Category: EtherCAT

the cis402 state machine looks something like this:
    // STATE TRANSITIONS
    switch (state) {
        
        case 0x0000: 
        case 0x0040: // Switch On Disabled
            d->control.raw = 0x0006; // CMD: Shutdown
            break;

        case 0x0021: // Ready to Switch On
            d->control.raw = 0x0007; // CMD: Switch Onif (homed && !data.prev_homed) {
            break;

        case 0x0023: // Switched On
            d->control.raw = 0x000F; // CMD: Enable Operation
            break;

        case 0x0007: // Quick Stop Active
            d->control.raw = 0x0000; // CMD: Disable Voltage (Reset the stop)
            break;

        case 0x0027: // OPERATION ENABLED
            d->control.raw = 0x000F; // Maintain Enable
            return 1;                // Signal: "Drive Ready for Motion"

        default:     
            d->control.raw = 0x0000; // Safety Fallback
            break;
    }
    return 0; // Still transitioning to on state

state is the status register. d->control.raw is the control register. This is in a separate procedure that eventually returns true (1) if the machine is turned on.

Then you can proceed to homing etc if you are using internal homing.. Something like this
    // 4. Drive Logic: Only command motion/homing if Operational AND Mode is correct
    if (drive_ready) {
        if (homing) {
            opmode_out = 6;
            
            // --- DYNAMIC TORQUE LIMIT ---
            // Use the HAL pin 'torque_limit', but maybe you want to 
            // force it lower specifically for homing?
            // Usually, we just use the pin value set by the user.
            drive_torque_limit_out = (int32_t)(homing_torque_limit * torque_scale);

            if (opmode_display_in == 6) {
                if (!data.status.bits.op_error) 
                    data.control.bits.op_specific1 = 1;
            }
        } else {
            opmode_out = default_opmode;
            data.control.bits.op_specific1 = 0;
            
            // Set normal torque limit (100% or as defined by HAL)
            drive_torque_limit_out = (int32_t)(torque_limit * torque_scale);

            if (mode_verified) {
                drive_target_position = (int32_t)(target_position * data.s_pos_scale);
                drive_target_velocity = (int32_t)(target_velocity * data.s_vel_scale);
            }
        }
    } 
    else {
        // Drive not ready (Faulted, Timeout, or Powering up)
        opmode_out = default_opmode;
        data.control.bits.op_specific1 = 0;
        drive_torque_limit_out = 0; // Safety clamp
    }

this attempts to limit the torque when homing, you can see we receive a homing signal and we wait until we can read it back to confirm it stuck, then wait until homing completes or errors.

The status word looks something like this (homing bits are also used by manufacturers when not homing
typedef struct {
    union {
        unsigned short raw;
        struct {   
            unsigned short ready_to_switch_on :1; // Bit 0
            unsigned short switched_on        :1; // Bit 1
            unsigned short op_enabled         :1; // Bit 2
            unsigned short fault              :1; // Bit 3
            unsigned short voltage_enabled    :1; // Bit 4
            unsigned short quick_stop         :1; // Bit 5
            unsigned short sw_on_disabled     :1; // Bit 6
            unsigned short warning            :1; // Bit 7
            unsigned short manufacturer       :1; // Bit 8
            unsigned short remote             :1; // Bit 9
            unsigned short target_reached     :1; // Bit 10
            unsigned short internal_limit     :1; // Bit 11
            unsigned short op_specific        :1; // Bit 12 (Homing Attained)
            unsigned short op_error           :1; // Bit 13 (Homing Error)
            unsigned short manufacturer_1     :1; // Bit 14
            unsigned short manufacturer_2     :1; // Bit 15
        } bits;
    } status;
 
  • Mekanoid
  • Mekanoid
Yesterday 03:02
Replied by Mekanoid on topic No movement, stepconf and MX4660

No movement, stepconf and MX4660

Category: General LinuxCNC Questions

Thank you for the suggestions.
i got the machine to move but its not correct,
on the MX4660, the enable LED is difficult to see due to the way they mounted it.
I turned the charge pump switch to "on" meaning that the MX4660 will not look for the 10 kw signal, set pin 16 to unused in stepconf, and the machine now moves, only mostly wrong.

Joint 0 and 1 should be the X axis using 2 motors ( X and X tandem for the gantry using Mx4660 X and A drivers), with joint 1 turning the opposite direction ( rack and pinion, there's a negative value for joint 1 Scale in the.ini file)
Joint 2 should be the y axis, and joint 3 the Z Axis.

What I'm actually getting though is Joint 0 does nothing, Joint 1 moves X only, joint 2 moves X tandem, and Joint 3 moves Z as it should.

Kind of strange. I will go back and double check all the wiring to the drivers and motors.

I will also check the parallel cable signals, I only have a multimeter, but I should see whats coming out signal wise, thanks again for that idea!.
  • dbtayl
  • dbtayl
Yesterday 02:50
DMM DYN 4 spindle servo tuning tip was created by dbtayl

DMM DYN 4 spindle servo tuning tip

Category: General LinuxCNC Questions

Want to get information out there that might help somebody. Short version: If you're having trouble with a DMM DYN4 used as a spindle getting "lost phase" errors and not being able to hit the top rated RPM, lowering the gains might help.

Longer version:

My little baby BT30 benchtop mill is set up with a DMM DYN4 servo as the spindle- drive is DYN4-H01, motor is the 1 kW 86M-DHT-A6MK1. I'm using it in position mode with quadrature inputs. I don't have an index pulse on it, so I haven't tried rigid tapping. The spindle is driven with a 28:44 motor:spindle pulley ratio, using GT3 belts.

DMM was very helpful in getting it set up- provided a tuning procedure and debugging help. Great customer service. Despite that, performance was disappointing- notably the "lost phase" errors, which occurred at high speeds (4000 motor RPM and above, or thereabouts) or under anything but light cuts. Checking the drive's diagnostics page, I could also see the "on position" signal getting inconsistent as RPM increased, even under no load.

I figured it needed more gain- not holding position under no load -> needs more gain. That made things worse, if anything. Adjusting the torque constant (current smoothing) and integration gain settings (two things DMM clearly instructed NOT to change) maybe kinda helped a little bit, but still far from what I expected.

I eventually got fed up and decided to try LOWER gains... works great. Totally unintuitive to me. The chatter I was experiencing cutting 304 stainless also seems to have been resolved. I'm still working up to pushing the limits of the machine, but so far I haven't seen anything to indicate those gains will be too low under heavy cuts.

Every machine is probably different, but FWIW IIRC I ended up with a main gain around 20 and a speed gain around 15. IIRC the integration gain is back at 1 and the torque constant at 127 (per DMM recommendations for this application), but I'm not at the machine to check any of those numbers right now.

Hope that helps somebody! Mods feel free to move if this belongs somewhere else.
  • Lcvette
  • Lcvette's Avatar
Yesterday 01:41
Replied by Lcvette on topic Some problems with probe basic lathe

Some problems with probe basic lathe

Category: QtPyVCP

What is your screen resolution?
Displaying 1 - 15 out of 282666 results.
Time to create page: 1.597 seconds
Powered by Kunena Forum