Advanced Search

Search Results (Searched for: )

  • bcorley
  • bcorley
21 Jan 2025 22:58 - 22 Jan 2025 20:54
Replied by bcorley on topic Hypertherm XPR woes

Hypertherm XPR woes

Category: EtherCAT

UPDATES! (edited)

Rod - I have not tried the esi-data thing.  Not sure how to use it or if it will yield any gains at this point.

I have loaded a trial version of TwinCAT and successfully linked to the XPR using the ESI file provided by Hypertherm.  Even brought it up to OP mode.  I then exported an ENI configuration file.  I added the InitCmds under Mailbox in a file and included the file reference in my xml.

I found that the xml file is actually parsed by the linuxcnc-ethercat (lcec) hal component.  And now I have located some documentation for it on github.

lcec seems to be ok with my 2 ENI files as they are. 
They are attached (also attached my hal file):
ethercat-config-xpr-combined.xml
xpr-inits.xml
xpr_test.hal

However, the XPR is not happy.  Here's a printout of dmesg | grep EtherCAT after starting a halrun session with the above hal file:

Warning: Spoiler!


No idea what is going on here.  What could be wrong with the input configuration?  Any help would be much appreciated.  I would like to share a working configuration for an XPR with everyone.
 
Thanks,
Butch

 
  • machinedude
  • machinedude's Avatar
21 Jan 2025 22:15
Replied by machinedude on topic Black Friday Deal got me :)

Black Friday Deal got me :)

Category: Plasma & Laser

the deeper i get into this the more i realize how ambitious this project really is :) one thing i did notice was i need to add some travel to my z axis to do everything i want it to do. these self-centering pneumatic chucks are turning out to be pretty big once you cover them with some sort of guard. the rotary end is going to be much more involved if this works out for me. as far as the moving parts go things seem to work really well so far. the thing that could break this is the rotary union if it does not seal well.

this build is like building 3 machines if everything works out as planned :) these end up being almost 21" tall and a little over 19" in diameter and 6 1/4 "wide i added a 5" round tube which will be the max on round tube. the guards should be a treat to make the plan is to laser cut some flat sheet and either weld them together or use a special solder rod made for aluminum. welding aluminum is not something i enjoy or am very good at :)

but anyways here is a screen grab of my model to give you and idea of what this will look like if it works :)   

 
  • Beovoxo
  • Beovoxo
21 Jan 2025 21:43
Replied by Beovoxo on topic Installation links failing

Installation links failing

Category: QtPyVCP

Worked perfect :) no problems.
  • blazini36
  • blazini36
21 Jan 2025 21:38
Replied by blazini36 on topic Rando hal component collections

Rando hal component collections

Category: HAL

Yeah that's kinda the point. People write their own little component and are kind enough to share it but  don't want to deal with submitting and the description stuff as they don't really need it. Someone who just stumbles upon it here can take up that burden.

In the spirit of community scrutinized randos, I'll post up the flash component I just whipped up. I've already tested the daylights out of it. It works where the blink component didn't because of the extra logic inputs. I won't submit it until I'm done setting up my project in case I have to add something but as far as it actually working, that's not an issue.
component flash "Flash component to toggle output based on timing and control pins.";

function _ fp;
license "GPL";
author "Shade Technik";

description
"""
The flash component is a timed flasher with extra logic to make it suitable for many situations. The enable pin will begin flashing the output if the logic of the other pins does not hold it. The hold input pin can be used to hold the output true, which is useful to connect a separate output to in order to change the out pin from the flashing state to the held true state. The hold-prec (hold precidence) pin can be set or connected to a control pin
to switch whether the hold or flash effect takes precidence when both enable and hold are set true. The hold-prec-inv pin is used to invert the state of hold-prec internal logic so the pin controlling hold-prec can have opposing logic.
""";


pin in bit enable "Enable the output.";
pin in bit hold "Hold the output true when active.";
pin in bit hold_prec "Hold precidence. If true, hold input has precidence over the flash effect.";
pin in bit hold_prec_inv "If true, inverts the internal value of hold_prec.";
pin out bit out "The output pin.";
param rw s32 flash_rate_ms = 500 "Flash rate in milliseconds.";

variable float elapsed_time;  // Tracks elapsed time in seconds
variable hal_bit_t state;   // Internal state for blinking logic

;;

#include "rtapi.h"
#include "rtapi_app.h"
#include "hal.h"

static volatile hal_bit_t *enable_var;
static volatile hal_bit_t *hold_var;
static volatile hal_bit_t *hold_prec_var;
static volatile hal_bit_t *hold_prec_inv_var;
static volatile hal_bit_t *out_var;
static volatile hal_s32_t *flash_rate_ms_var;

FUNCTION(_)
{
    if (!enable) {
        state = 0;  // Reset internal state when not enabled
        out = 0;    // Disable output
        elapsed_time = 0.0;  // Reset elapsed time
        return;
    }

    // Calculate effective hold_prec based on hold_prec_inv
    hal_bit_t effective_hold_prec = hold_prec;
    if (hold_prec_inv) {
        effective_hold_prec = !hold_prec;  // Invert hold_prec if hold_prec_inv is true
    }

    if (hold) {
        if (effective_hold_prec) {
            // Enable flashing logic when effective_hold_prec is true and hold is active
            elapsed_time += fperiod;
            if (elapsed_time >= (flash_rate_ms / 1000.0)) {
                elapsed_time = 0.0;
                state = !state;  // Toggle internal state
            }
        } else {
            // Force output on when hold is active and effective_hold_prec is false
            state = 1;
        }
    } else {
        // Default to blinking logic when hold is not active
        elapsed_time += fperiod;
        if (elapsed_time >= (flash_rate_ms / 1000.0)) {
            elapsed_time = 0.0;
            state = !state;  // Toggle internal state
        }
    }

    out = state;  // Update output based on internal state
}

 
  • vpomerleau
  • vpomerleau
21 Jan 2025 21:34
Replied by vpomerleau on topic Remora - ethernet NVEM / EC300 / EC500 cnc board

Remora - ethernet NVEM / EC300 / EC500 cnc board

Category: Computers and Hardware

No just to have closed loop on a 0-10v VFD. In @Cakeslob examples , he just seem to use phase-z (INDEX) for his spindle control
  • juliankoenig87
  • juliankoenig87
21 Jan 2025 21:30
Replied by juliankoenig87 on topic scurve trajectory planner

scurve trajectory planner

Category: General LinuxCNC Questions

Thank you for your answer.
I now understand every parameter and tested a little.

One thing I don't like. A given gcode with G64 P0.1 (mm) with an 90 degree edge. The small line upwards is 0.1 mm right of the edge. Your scurve tp sets a radius of 0.1 mm and the default tp sets a radius so that the distance between the blended path and the original path is not greater then 0.1 mm. I always set with a P value the maximum allowed deviation of a given path. So now I am not really sure. Can I just calculate something? 
  • blazini36
  • blazini36
21 Jan 2025 21:28
Replied by blazini36 on topic Rando hal component collections

Rando hal component collections

Category: HAL

Anything in a pull request should be mature and thoroughly tested. Changing the code of a hal component after it has been released brings the unpleasant possibility of breaking configurations.
A recent example is the 'toggle2nist.comp' that showed buggy behavior.
Given the lack of personnel we must not expect others to check the code we submit for inclusion.
 

Sure, which is why this thread exists. We've all found useful crap in the wild on this forum but it's all still just floating around. Post it here, if it's of any particular interest to anyone that sees it here they can test it and discuss it......at least until there's a better place to dump the randos.
  • mudrat
  • mudrat
21 Jan 2025 21:26

Remora - ethernet NVEM / EC300 / EC500 cnc board

Category: Computers and Hardware

Are you guys trying to bring the encoder phases into the EC300 board rather than using a closed loop stepper driver?
  • Murphy
  • Murphy
21 Jan 2025 20:58 - 21 Jan 2025 20:58
Replied by Murphy on topic Spindle location on the opposite side

Spindle location on the opposite side

Category: AXIS

Legend spumco, I'll check this out in the morning, thank you that makes sense.
  • spumco
  • spumco
21 Jan 2025 20:44
Replied by spumco on topic Spindle location on the opposite side

Spindle location on the opposite side

Category: AXIS

I think you've got your X travel direction and/or limits messed up.  I see this in INI:
[AXIS_X]
MAX_VELOCITY = 20.00
MAX_ACCELERATION = 20.0
MIN_LIMIT = -48.0
MAX_LIMIT = 3.00

[JOINT_0]
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = -48.0
MAX_LIMIT = 3.00
...
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = -15
HOME_LATCH_VEL = 5
HOME_FINAL_VEL = 0.000000

And you mentioned earlier that when homing X moves away from the spindle (positive X).  If the SEARCH_VEL is negative (-15), but the movement is AWAY from the spindle, then you've got the X-direction backwards.

I think what's happening is that when homed, LCNC thinks the X axis is at centerline.  When you move in towards the chuck all X moves are negative.  Result is that your X-axis is basically reversed in LCNC from reality, and LCNC is trying to execute the G-code from (what appears to be) inside-out.

The DRO in your photo shows "G54 X -29.031" when the tool tip should be a positive number.  It should be on the positive (bottom) side of part centerline (it is) and be at a positive X value (it isn't).

Maybe think about making a copy of your config and then start adjusting your axis/joint values.  My suggestion, based on your Emco lathe, is to work out values which put all your drill positions at G53 X0.  Your turning tools will then have positive offset values (I think), but whenever you're at G53 X0 you know the turret drill holes are on spindle centerline.

I could be wrong, of course.  Go slowly with any adjustments.
  • Aciera
  • Aciera's Avatar
21 Jan 2025 20:21 - 21 Jan 2025 21:03
Replied by Aciera on topic Rando hal component collections

Rando hal component collections

Category: HAL

Anything in a pull request should be mature and thoroughly tested. Changing the code of a hal component after it has been released brings the unpleasant possibility of breaking configurations.
A recent example is the 'toggle2nist.comp' that showed buggy behavior.
Given the lack of personnel we must not expect others to check the code we submit for inclusion.
  • Onat
  • Onat
21 Jan 2025 20:16
Replied by Onat on topic LinuxCNC on Raspberry Pi 5

LinuxCNC on Raspberry Pi 5

Category: Installing LinuxCNC

Thank you! Will try it out on friday.
  • Murphy
  • Murphy
21 Jan 2025 20:11
  • rodw
  • rodw's Avatar
21 Jan 2025 20:05
Replied by rodw on topic Rando hal component collections

Rando hal component collections

Category: HAL

Well anyone can just submit a component via pull request to the linuxcnc repo. Not sure if the maintainers test them at all other than making sure they compile. If it's a good an useful component, there's really no reason not to just submit it via pull request.

This is how it should be done. Chances are it would be approved because a broken component will not break Linuxcnc. Compilation is automatically tested with the commit. I have submitted one this way. It does add some overhead to what you have to do as you need to format the comments etc so the man page is generated.

This thread maybe should be helping people to get this formatted and into the code.
  • Murphy
  • Murphy
21 Jan 2025 19:45 - 21 Jan 2025 19:48
Replied by Murphy on topic Spindle location on the opposite side

Spindle location on the opposite side

Category: AXIS

The wider part(base) is on right in linuxcnc as in the pic. It should be on the left the wider part is supposed to be held in the spindle. My spindle is on the left 

It's supposed to machine the head first and move down to the base. But it's flipped around. I'll try and take a video of it, 
Displaying 19276 - 19290 out of 21692 results.
Time to create page: 0.379 seconds
Powered by Kunena Forum