Advanced Search

Search Results (Searched for: )

  • tommylight
  • tommylight's Avatar
31 Jan 2025 14:22
Replied by tommylight on topic Custom PC build for my brothers company and more

Custom PC build for my brothers company and more

Category: Show Your Stuff

Raw unedited video of assembling the thing, still removing some music doe to copyrights and that takes ages, but the video can be watched in entirety, over 2 hours of it with me ranting occasionally...
  • tommylight
  • tommylight's Avatar
31 Jan 2025 14:15
Replied by tommylight on topic The dumification of humanity through internet

The dumification of humanity through internet

Category: Off Topic and Test Posts

Silicium is Si, 14, not silicon.
30 years ago making this mistake would cost your job, now you can not find the correct name anywhere.
  • tommylight
  • tommylight's Avatar
31 Jan 2025 14:10
  • gwond
  • gwond
31 Jan 2025 13:34

Koike Aronson Plasma Conversion - sanity check on Mesa board selection?

Category: Driver Boards

How does scale come into play for velocity mode servos?  I see multiple different Scale callouts between the .ini and the Hal files.

From JT's configurator tool, in the .ini there are these values which I currently have defined as:
Scale for drives = 10
Analog Scale Max = 10
Analog Min Limit = -10
Analog Max Limit = 10
Encoder Scale = -634.92 (this one I understand, although might need a double check on the value. Calculated based on 500 ppr with .7875" in per rev of servo)

In the main.hal file, I only see this line referencing SCALE, which I assume to be the scale for drives listed above.  
setp hm2_7i97T.0.pwmgen.00.scale [JOINT_0] SCALE

I also have seen Output Scale referenced in other posts, is this the same as Analog Scale Max?

I set the PWM frequency to 75000 and enabled dither.

Thanks for the help
  • zu4lu
  • zu4lu
31 Jan 2025 11:28
2.9.4 error prevents start was created by zu4lu

2.9.4 error prevents start

Category: Qtvcp

Hello, after updating 2.9.3 i get this error when starting qtdragon:
AttributeError: 'VCPWindow' object has no attribute 'btn_spindle_z_up_clicked'
2.10pre is starting normal

 
  • andypugh
  • andypugh's Avatar
31 Jan 2025 10:58 - 31 Jan 2025 10:59

Source code to send instructions to the joints through the parallel port

Category: General LinuxCNC Questions

The data path you describe includes almost all of LinuxCNC.

Starting at the end, have a look in src/hal/drivers/hal_parport.c

Or if you want to send binary data, possibly src/hal/drivers/pluto_*
 
  • andypugh
  • andypugh's Avatar
31 Jan 2025 10:56
Replied by andypugh on topic Linear ATC in Linuxcnc

Linear ATC in Linuxcnc

Category: General LinuxCNC Questions

Have you seen the sim/axis/remap/rack-toolchange config?

That uses a remap of the M6 command to work out where it needs to look for each tool.
  • pd_2832
  • pd_2832
31 Jan 2025 10:55 - 31 Jan 2025 11:40

How to Implement T1M6 and T2M6 for Dual Z-Axis in LinuxCNC

Category: General LinuxCNC Questions

I am using the remap_subs feature in LinuxCNC to control the Z-axis activation for multiple Z axis. Currently, I have implemeted below things:

M428 activates the Z1 axis.
M429 activates the Z2 axis.
However, my goal is to have the activation as mentioned below:

When executing T1 M6, the Z1 axis should be active.
When executing T2 M6, the Z2 axis should be active.
How can I modify the remap logic to achieve this behavior?

Here in gcode file there is T1M6 for Z1 axis instead M428 and T2M6 for Z2 instead of M429.
If i use M428 and M429 in gcode file on the place of T1M6 and T2M6 all things work perfectly but I dont want to change my gcode file how to implement above thing?
  • andypugh
  • andypugh's Avatar
31 Jan 2025 10:51
Replied by andypugh on topic 5th Axis: PathPilot or Regular LinuxCNC

5th Axis: PathPilot or Regular LinuxCNC

Category: PathPilot

1) You probably don't need to "dual boot" as such, LinuxCNC will almost certainly run on the same OS as PathPilot. One way to keep the systems separate would be to compile LinuxCNC yourself as a "Run In Place" system. (the only reason to comple from source in this case is that it's a well documented way to achieve an isolated LinuxCNC instance, all contained within one folder)
Depending on where pathpilot installs files, and what they are called, you might be able to just install LinuxCNC alongside PP. But I don't know if that would work.

2) There may be an advantage in running PP, my understanding is that their trajectory planner makes a better job of blending linear and rotary moves.

3) Do you know how PP "removed the 5th axis"? Is it just not represented in the GUI? what happens if you pretned that PP is LCNC and just add the jonts back and change the GEOMETRY in the INI?
  • pmchetan
  • pmchetan
31 Jan 2025 10:44
Hal configuration for BISS encoder was created by pmchetan

Hal configuration for BISS encoder

Category: HAL

I have been trying to set up a absolute linear encoder combo from renishaw (RLS AS10 scale with LA11-2Do reader). I'm unable to get stable measurements from the scales. Steps I've followed:
1. I have mesa 6i25_7i76_7i74 boards. I made a post asking for BISS firmware for 6i25_7i77 combination here but couldn't make the smart serial expansion on 7i77 to work as a BISS interface for the encoder input. Eventually bought 7i76_7i74 boards and PCW made a bit file for 3 channel BISS protocol and I flashed 5i25_7i76_7i74biss3d.bit file onto 6i25 card.
sudo mesaflash --device 5i25 --readhmid
[sudo] password for spinnercnc:
Configuration Name: HOSTMOT2

General configuration information:

  BoardName : MESA5I25
  FPGA Size: 9 KGates
  FPGA Pins: 144
  Number of IO Ports: 2
  Width of one I/O port: 17
  Clock Low frequency: 33.3333 MHz
  Clock High frequency: 200.0000 MHz
  IDROM Type: 3
  Instance Stride 0: 4
  Instance Stride 1: 64
  Register Stride 0: 256
  Register Stride 1: 256

Modules in configuration:

  Module: DPLL
  There are 1 of DPLL in configuration
  Version: 0
  Registers: 7
  BaseAddress: 7000
  ClockFrequency: 33.333 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: WatchDog
  There are 1 of WatchDog in configuration
  Version: 0
  Registers: 3
  BaseAddress: 0C00
  ClockFrequency: 33.333 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: IOPort
  There are 2 of IOPort in configuration
  Version: 0
  Registers: 5
  BaseAddress: 1000
  ClockFrequency: 33.333 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: BISS
  There are 3 of BISS in configuration
  Version: 0
  Registers: 4
  BaseAddress: 4A00
  ClockFrequency: 200.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: QCount
  There are 1 of QCount in configuration
  Version: 2
  Registers: 5
  BaseAddress: 3000
  ClockFrequency: 33.333 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: SSerial
  There are 1 of SSerial in configuration
  Version: 0
  Registers: 6
  BaseAddress: 5B00
  ClockFrequency: 33.333 MHz
  Register Stride: 256 bytes
  Instance Stride: 64 bytes

  Module: StepGen
  There are 5 of StepGen in configuration
  Version: 2
  Registers: 10
  BaseAddress: 2000
  ClockFrequency: 33.333 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: LED
  There are 1 of LED in configuration
  Version: 0
  Registers: 1
  BaseAddress: 0200
  ClockFrequency: 33.333 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

Configuration pin-out:

IO Connections for P3
DB25 pin#             I/O   Pri. func    Sec. func        Chan     Sec. Pin func   Sec. Pin Dir

 1                      0   IOPort       StepGen          0        Dir/Table2      (Out)
14                      1   IOPort       StepGen          0        Step/Table1     (Out)
 2                      2   IOPort       StepGen          1        Dir/Table2      (Out)
15                      3   IOPort       StepGen          1        Step/Table1     (Out)
 3                      4   IOPort       StepGen          2        Dir/Table2      (Out)
16                      5   IOPort       StepGen          2        Step/Table1     (Out)
 4                      6   IOPort       StepGen          3        Dir/Table2      (Out)
17                      7   IOPort       StepGen          3        Step/Table1     (Out)
 5                      8   IOPort       StepGen          4        Dir/Table2      (Out)
 6                      9   IOPort       StepGen          4        Step/Table1     (Out)
 7                     10   IOPort       SSerial          0        TXData0         (Out)
 8                     11   IOPort       SSerial          0        RXData0         (In)
 9                     12   IOPort       SSerial          0        TXData1         (Out)
10                     13   IOPort       SSerial          0        RXData1         (In)
11                     14   IOPort       QCount           0        Quad-IDX        (In)
12                     15   IOPort       QCount           0        Quad-B          (In)
13                     16   IOPort       QCount           0        Quad-A          (In)

IO Connections for P2
DB25 pin#             I/O   Pri. func    Sec. func        Chan     Sec. Pin func   Sec. Pin Dir

 1                     17   IOPort       BISS             0        Din             (In)
14                     18   IOPort       BISS             1        Din             (In)
 2                     19   IOPort       BISS             2        Din             (In)
15                     20   IOPort       None           
 3                     21   IOPort       BISS             0        Clk             (Out)
16                     22   IOPort       BISS             1        Clk             (Out)
 4                     23   IOPort       BISS             2        Clk             (Out)
17                     24   IOPort       None           
 5                     25   IOPort       None           
 6                     26   IOPort       None           
 7                     27   IOPort       None           
 8                     28   IOPort       None           
 9                     29   IOPort       None           
10                     30   IOPort       None           
11                     31   IOPort       None           
12                     32   IOPort       None           
13                     33   IOPort       None

2. Installed linuxcnc-uspace 2.9.2 on debian 12 running 6.1.0-28-rt-amd64 PREEMPT and made a few configuration to make the encoder spit some data. Found a post here about someone succesfully set up renishaw resolute glass scale and they had mentioned this line is the most important in setting up the encoder: loadrt hm2_pci config="num_encoders=1 num_pwmgens=0 num_stepgens=5 sserial_port_0=00xxxxxx biss_chan_0=null%1bzero%2uxencoder%24eerror%1bwarning%1bcrc%6f"

3. I did some more digging around to narrow down other BISS related settings in the HAL config:
setp hm2_5i25.0.biss.00.timer-number 1
setp hm2_5i25.0.biss.00.frequency-khz 1000
setp hm2_5i25.0.biss.00.xencoder.scale 1000
setp hm2_5i25.0.biss.00.xencoder.counts-per-rev 5000
setp hm2_5i25.0.dpll.01.timer-us -500
setp hm2_5i25.0.stepgen.timer-number 1

This somehow makes the encoder spit some data but it was very skipy and changed direction even when I was moving the reader head in one direction. Assuming I was moving the reader head with my hand keeping the magnetic scale on the table was not optimal, I waited till the machine was assembled to test it on proper linear stages.
Now that I have mounted the machine axis onto linear guideways and reading from the scale is still the same level of skippy and changes direction abruptly.
Asking around modern LLMs went through all the encoder related documents and suggested the my reader model LA11-2Do with 1 micro meter resolution spits 20bits of left leaning position data and suggested I need to bit shift by 6bits to correctly read the scale.
I then went on trying so many of the suggestions all failing to recognize the syntax, the LLM suggested that though
BISSTag module was included in the ModuleID, the parameter bit-shift seem to be missing. So we need to hardcode the bitshift value for example:
entity biss is
  generic (
    bit_shift : integer := 6  -- Set this to your desired value (e.g., 6)
  );
  port (...);
end entity;

It suggests me to load the firmware with loadrt hostmot2 config="firmware=/path/to/recompiled_firmware.BIT".
Though I'm skeptical about the process's validity because I heard that we don't need to load the firmware from our computer but they are stored onboard. I want to know is there a possible solution to this.
  • andypugh
  • andypugh's Avatar
31 Jan 2025 10:41
Replied by andypugh on topic PROBE RADIUS COMPENSATION

PROBE RADIUS COMPENSATION

Category: General LinuxCNC Questions

I seem to remember typing a lengthy answer to this question, but whether it was this question or a very similar one somewhere else I am not sure. 

It's very hard to do probe radius compensation in the controller as there is no way to know where on the surface of the ball the workpiece has touched it. You can't assume that it is perpendicular to the direction of motion, as it could be a glancing contact. You can't even know which side of the ball is touching the work (consider a probe move along the length of a narrow tapering slot. 

If you have many probe points then you can construct a surface in CAD and then offset the surface by the probe radius. Because you have many more points you can make assumptions about the continuity of the surface. (possibly wrong assumptions...). The controller itself has no "memory" of previous probe positons, nor does it have any "concept" of the part geometry. 

A home-made probe can be quite repeatable, though probably not as good as a commercial one, especially in terms of lobularity error. 

If you do want to make your own probe, then you might want to look at my design, which I think is easier to make than the 6-ball designs, and is easier to make very small as it uses no fasteners to hold it together. 


  • Aciera
  • Aciera's Avatar
31 Jan 2025 09:56

How to Implement T1M6 and T2M6 for Dual Z-Axis in LinuxCNC

Category: General LinuxCNC Questions

Please attach ini file and error log.

All I can see at the moment is:
# def tool_remap(self, **words):
    # command = linuxcnc.command()
    # stat = linuxcnc.stat()
    # stat.poll()

Here you were confusing python remaps with the python interface.
  • Charlie
  • Charlie
31 Jan 2025 09:49
Linear ATC in Linuxcnc was created by Charlie

Linear ATC in Linuxcnc

Category: General LinuxCNC Questions

Hello,
I am working on linear ATC and my machine is working fine but I want to make that dynamic like now its x,y,z coordinates are set in ngc file for different tool, but i want that data of every tool position dynamically like for every machines user can enter tool positions once and then its working as per data.

 
  • pd_2832
  • pd_2832
31 Jan 2025 09:21 - 31 Jan 2025 09:25

How to Implement T1M6 and T2M6 for Dual Z-Axis in LinuxCNC

Category: General LinuxCNC Questions

I'm working on a multihead CNC machine with a dual Z-axis configuration. My goal is to use T1M6 to activate Z1 and T2M6 to activate Z2. I've tried implementing Python remapping, but I'm encountering the following error:


AttributeError: module 'linuxcnc' has no attribute 'remap_command'

Here’s what I’ve tried so far:
1. Created a Python remap script (tool_remap.py).
2. Updated my INI file to include the Python remap.
3. Tested NGC subroutines as an alternative.

My current setup:
- LinuxCNC version: 2.9.3
- INI file configuration: [paste INI file]
- Python script: [paste Python script]
- Error logs: [paste error logs]

Could someone please help me resolve this issue? Thank you!
  • onceloved
  • onceloved's Avatar
31 Jan 2025 09:19
Replied by onceloved on topic Problems with Lichuan Ethercat servo drive

Problems with Lichuan Ethercat servo drive

Category: EtherCAT

You can add my discord, my user name is onceloved.cn
Displaying 18691 - 18705 out of 21678 results.
Time to create page: 0.386 seconds
Powered by Kunena Forum