Advanced Search

Search Results (Searched for: )

  • MaHa
  • MaHa
06 Aug 2024 10:50

Radius to end of arc differs from radius to start: error when resuming line

Category: G&M Codes

You need a G1 move to the last X Y position, before the starting line
  • Grotius
  • Grotius's Avatar
06 Aug 2024 10:47
Replied by Grotius on topic Trajectory Planner using Ruckig Lib

Trajectory Planner using Ruckig Lib

Category: General LinuxCNC Questions

Hi,

I found out the problem.

This is a test board i made a few years ago. It uses ethercat and drives stepper motors.
 

I found out that i can run the testboard on hal-core with a sample script.
This scripts only load's the stepgen.so and the lcec.so. It drives just one motor.
When i set a new position using halcmd : ./halcmd setp stepgen.0.position-cmd 1000
It runs to that position, as it should. The stepper sounds nice, and is quick.

So the underlying problem is the trajectory planner of halcore. This consumes too much time as it
is also added to the servo update thread. It slows down the servo update thread. I think this is the cause
that the production machine on the parport also run's not good.

So i will qreate a chrono timer, to first measure the total time of the trajectory planners cycle.
I expect it will exceed the 1ms time of the servo update cycle, but i don't know for sure at the moment. We will find that out.

Then we have to pin point where the time consumers are located in the trajectory planner.
So far i am happy that the ethercat works ok.

Running on : 6.1.0-23-rt-amd64

Warning: Spoiler!

 
  • U2fletch
  • U2fletch
06 Aug 2024 10:46

Radius to end of arc differs from radius to start: error when resuming line

Category: G&M Codes

I did a CNC conversion on a longarm quilting machine so frequently need to resume a file from the middle when the thread breaks. I am using GcodeTools from within Inkscape to generate the gcode from vector art.  The attached code runs fine, but generates the dreaded arc error when attempting to restart at a specific line.  The GCodetools extension has few options for postprocessing, so wondering if there is a setting or GCode  within Linuxcnc I can use to make this work.  Path accuracy is not a big deal since we are talking about a quilt here.

I am using Touchy as interface.
  • onceloved
  • onceloved's Avatar
06 Aug 2024 10:40
Replied by onceloved on topic EtherCAT i/o board for spindle, estop and mpg

EtherCAT i/o board for spindle, estop and mpg

Category: EtherCAT

However, it outputs the count value and has no direction. The encoder forward counter value increases, and the encoder reverse counter value also increases instead of decreasing.
  • Muftijaja
  • Muftijaja
06 Aug 2024 10:28 - 06 Aug 2024 10:37
Replied by Muftijaja on topic Latency Test OK, dennoch Fehlermeldung

Latency Test OK, dennoch Fehlermeldung

Category: Deutsch

PCW, thanks for your ideas!
Well, I tried copy&Paste with your interfaces file, but no change.

After that, I believe that your idea of smth broken in the interaction of interfaces file and network manager is true. My last try today was to delete (again) any connection in the network manager and restart with the interfaces file. The result was as before - no eno1 connection possible. that's really crazy.

On the other hand, deleting the entries in interface file and managing the eno1 connection I got the connection to the mesa card but bad latency (not so bad but not sufficient). So, I am facing the decision to make a complete new Debian and LCNC installation or living with that.

Q: Is it possible to put the lines for ethtool in a textfile and start it from the desktop (like a batch in DOS/Windows) ? That would make it a little more comfortable. At the moment I don't want to take the lot of trouble with a full new installation.

BTW one more side effect - If I switch the mesa connection with the ethtool to -C eno1 rx-usecs 0 the auto interne connection does not work anymore. Connection is shown, but no function.
Q: Ok, I don't want to surf the internet while cnc'ing, but how can I stop/reset the ethtool enty?

Thanks for your answers!
  • Aciera
  • Aciera's Avatar
06 Aug 2024 09:32 - 07 Aug 2024 06:33
Replied by Aciera on topic gmoccapy pins

gmoccapy pins

Category: Gmoccapy

Try this:
Save the python code below as 'file-check.py' into a folder named 'python' in your machine config folder and mark as executable.
This user component will create a hal pin 'file-checked.file-changed' and output a pulse if the file is modified:#!/usr/bin/env python3
#!/usr/bin/env python3
import os
import time
import hal
import linuxcnc

h = hal.component("file-check")
h.newpin("file-changed", hal.HAL_BIT, hal.HAL_OUT)
h.ready()
# create a connection to the status channel
s = linuxcnc.stat() 
# this is the file being checked for updates (example looks for 'file.txt' in the config folder)
file_path = 'file.txt' 
# length of output puls in milliseconds 
pulse_length = 1000 

last_modified = os.path.getmtime(file_path)
h['file-changed'] = False

try:
    while 1:
        s.poll()
        # we don't want to reload when program is running
        if s.task_mode == 2 and s.state == 1: # ie AUTO-mode and 'RCS_DONE'
            current_modified = os.path.getmtime(file_path)
            if current_modified != last_modified:
                print("File has changed!")
                h['file-changed'] = True
                timer_start = round(time.time()*1000)
                last_modified = current_modified
            if h['file-changed'] and timer_start + pulse_length <= round(time.time()*1000):
                h['file-changed'] = False
            
except KeyboardInterrupt:
    raise SystemExit

To load this on startup add this to the [HAL] section of your .ini file:
HALCMD = loadusr -W ./python/file-check.py

then add this line to your POSTGUI_HALFILE:
net file-reload file-check.file-changed gmoccapy.h-button.button-1
  • captain-panda
  • captain-panda's Avatar
06 Aug 2024 09:18
Replied by captain-panda on topic 3 Achs Fräse mit MESA 7C80 und Raspi 4

3 Achs Fräse mit MESA 7C80 und Raspi 4

Category: Deutsch

Thank you PCW!

Not sure I understand that fully.
There's no VFD in my setup - what I'm looking for is a generic PWM signal - pulses - that I want to feed to this spindle driver board:

www.mikroe.com/pwm-driver-click

The board needs 5V power supply itself, which I currently take from the 7C80.
Now, if I hook up SINDLE- to GND and SPINDLE+ to +5V, will there be 5V pulses on SPINDLE OUT?
  • Grotius
  • Grotius's Avatar
06 Aug 2024 08:57
Replied by Grotius on topic Trajectory Planner using Ruckig Lib

Trajectory Planner using Ruckig Lib

Category: General LinuxCNC Questions

Hi Arciera,

I was under the impression that most of this could be done outside of the realtime thread. The filleting algorithm for example, couldn't that run before actual gcode execution?
Yes, all that is done before gcode execution.

It's just the parport machine that run's not good on hal-core.

Now halcore run's a test board with 2 ethercat steppers for x & y axis. But motor's run only very slow.
So i have to figur out what's the problem again.

Will install a new iso on hard disk, then try to run linuxcnc with ethercat. This is tested ok on the testboard
in the past.

 
  • Lpkkk
  • Lpkkk
06 Aug 2024 08:19

Remora - ethernet NVEM / EC300 / EC500 cnc board

Category: Computers and Hardware

If I don't have encoders on my steppers, where is j0pos-fb taken from exactly?
  • meister
  • meister
06 Aug 2024 08:13

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

Category: Computers and Hardware

i tried to generate a simple udp core and the interface looks very simple:
module liteeth_core (
    input  wire          rgmii_clocks_rx,
    output wire          rgmii_clocks_tx,
    input  wire          rgmii_int_n,
    output wire          rgmii_mdc,
    input  wire          rgmii_mdio,
    output wire          rgmii_rst_n,
    input  wire          rgmii_rx_ctl,
    input  wire    [3:0] rgmii_rx_data,
    output wire          rgmii_tx_ctl,
    output wire    [3:0] rgmii_tx_data,

    input  wire          sys_clock,
    input  wire          sys_reset,

    input  wire   [31:0] udp0_sink_data,
    input  wire          udp0_sink_last,
    output wire          udp0_sink_ready,
    input  wire          udp0_sink_valid,

    output wire   [31:0] udp0_source_data,
    output wire          udp0_source_error,
    output wire          udp0_source_last,
    input  wire          udp0_source_ready,
    output wire          udp0_source_valid
);
rgmi_* and sys_* are the FPGA-Pins
udp0_sink and udp0_source the data interface for RX and TX

it looks feasible to connect the whole thing to rio :)
 
  • meister
  • meister
06 Aug 2024 08:04

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

Category: Computers and Hardware

unfortunately i don't know much about litex and i don't know if it is supported.

but for the tangprimer20k on the dock ext-board there is already a plugin in RIO:

github.com/multigcs/riocore/tree/dev/riocore/plugins/rmii

but not much tested
  • kzali
  • kzali
06 Aug 2024 07:59

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

Category: Computers and Hardware

i have noticed that you can also generate verilog with litex without soft-core. and that liteeth also supports UDP in hardware. I think it should be possible to build a UDP interface that runs on the Colorlite boards (and others) and can be integrated into RIO.

There are many supported FPGA's and PHY's: github.com/enjoy-digital/liteeth

Would the Tang Primer 20k be a good candidate
  • meister
  • meister
06 Aug 2024 07:32 - 06 Aug 2024 07:36

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

Category: Computers and Hardware

i have noticed that you can also generate verilog with litex without soft-core. and that liteeth also supports UDP in hardware. I think it should be possible to build a UDP interface that runs on the Colorlite boards (and others) and can be integrated into RIO.

There are many supported FPGA's and PHY's: github.com/enjoy-digital/liteeth
  • meister
  • meister
06 Aug 2024 05:39 - 06 Aug 2024 06:29

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

Category: Computers and Hardware

>In the other RIO gossips; a brand new journey is about to begin!! However and before I
>begin routing this I wanted to poke your expertise and ask what would define a half-
>perfect RIO Motion Control Board. Is there anything fancy that we need on that other
>than the usual SPINDLE + MPG + XYZAB + Ins & Outs?

it always depends on the application,
as a universal board, I would say:

4 step/dir
4 inputs (selectable 24V/5V - Proximity Limit Switch)
1 encoder (for lathe / with differantal inputs)
>=3 inputs (for estop/misc)
>=3 outputs (cooling/spindle)
1 MODUS (vfd-spindle)
1 WS2812b (status display / only one pin needed)
1 PMOD header


I really like these connectors: www.reichelt.de/stiftleiste-2-pol-rm-3-5...rank&OFFSET=16&nbc=1
but it's a matter of taste :)

i think USB/Seriel is not necessary

the fpga on the tangnano20k has the same housing, if the pinout matches you could also use it !?!?!
not the same :(

EDIT: and it should work with cheap programmer like the USB-Blaster
 
  • Aciera
  • Aciera's Avatar
06 Aug 2024 05:25 - 06 Aug 2024 11:53
Replied by Aciera on topic Probe panel for Axis GUI

Probe panel for Axis GUI

Category: AXIS

Looks like you are missing the [PROBE] section in your ini file. For an example ini file see:

github.com/hausen8/EasyProbe/blob/v2.0/m...y_Probe_2.0_demo.ini


Disregard
Displaying 23146 - 23160 out of 25551 results.
Time to create page: 0.723 seconds
Powered by Kunena Forum