Advanced Search

Search Results (Searched for: )

  • 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
  • lgrfbs
  • lgrfbs's Avatar
31 Jan 2025 08:51
Replied by lgrfbs on topic Fusion 360 Win 10 EOL

Fusion 360 Win 10 EOL

Category: CAD CAM

Yes, I have tested OnShape at the time when everything was free and you could choose which objects would be public, many years ago now.
Can use as a doodle to figure out a geometric problem/puzzle, but not something I would use for my hobby, where I want my source files with me and not public, so for that reason I rarely log into OnShape.
The FreeCAD gang should have a platinum medal for all the work they do, at the moment the CAM part is the one that appeals to me most there.
  • rodw
  • rodw's Avatar
31 Jan 2025 07:25
Replied by rodw on topic Fusion 360 Win 10 EOL

Fusion 360 Win 10 EOL

Category: CAD CAM

So it's not just jumping over to Linux and Mac doesn't appeal to me.
The day Alibre Design and the software to connect the 3D scanners to get the data is in Linux, then I can switch away from Windows.
Translated with DeepL.com (free version)

Have you looked at onshape? Browser driven but no CAM. Free if you share your parts
  • rodw
  • rodw's Avatar
31 Jan 2025 07:21
Replied by rodw on topic Fusion 360 Win 10 EOL

Fusion 360 Win 10 EOL

Category: CAD CAM

rodw Do you still use Fusion 360? If not what are you using now?

Yes, sneaky buggers charged my card on the renewal. Wasn't planning to.
I've only done one job in the last 12 months......
All my parts are sheetmetal and laser cut these days (or made in India or China), inserted about 300 nutserts today. Thank god I have a pneumatic tool!
  • Mr. Mass
  • Mr. Mass's Avatar
31 Jan 2025 07:03
Replied by Mr. Mass on topic qtdragon additonal buttons

qtdragon additonal buttons

Category: Qtvcp

Thank for answers.
Any chance of adding these pan and G54 buttons to this screenset?
About the REF button. The drop down menu of this button is good for mouse, but very not convenient for touchscreen. So I want to try to modify the GUI a little bit for great convenience. Ideally to be able to get by with only one touchscreen without keyboard or mouse. I have a project for a small desktop 5-axis machine and it would look great with only one touchscreen monitor, no physical buttons or keyboard/mouse. 
 
  • rodw
  • rodw's Avatar
31 Jan 2025 06:55

The dumification of humanity through internet

Category: Off Topic and Test Posts

For more de-dummification:
Silicon is a natural chemical element (Si Atomic Number 14, a hard, brittle crystalline solid), silicone is a man-made product. The words are often used interchangeably but there are important differences. Whilst silicon is natural, silicone is a man-made polymer derived from silicon.
  • Hakan
  • Hakan
31 Jan 2025 06:52 - 31 Jan 2025 15:02
Replied by Hakan on topic AX58100

AX58100

Category: EtherCAT

So you are still working on this? Great to see.

There can be a few reasons behind this.
Let's think. The motion component generates the wanted position in joint.0.motor-pos-cmd, sends that off to the EtherCAT device and receives the actual position, as the stepper driver sees it, in joint.0.motor-pos-fb. The difference between them is the following error. Which also happens to be available as joint.0.f-error.
I am thinking along the lines of either a scaling issue or you are asking the stepper driver to make steps at a higher rate than it can generate.

Let's first verify the behavior of the following error. Start halscope and record the signals joint.0.motor-pos-cmd, joint.0.motor-pos-fb and joint.0.f-error when you run the axis at below the critical speed and above the critical speed. One wants to see how those signals develop up to and including the following error stop. If you post screen dumps of halscope for those two situations I can help to take next step.
  • bkt
  • bkt's Avatar
31 Jan 2025 06:48 - 31 Jan 2025 06:48
Replied by bkt on topic good day to all (in some gtp languages)

good day to all (in some gtp languages)

Category: Off Topic and Test Posts

Snow here disappear in few days from top of mountain because wind .... so not sky with skins ..... than return and go .... but can done some little peaks .... tomorrow try again but snow is heavy now .... I hope in an other perfect day. Hello Toma!
  • ihavenofish
  • ihavenofish
31 Jan 2025 06:46 - 01 Feb 2025 21:35
Replied by ihavenofish on topic Mini wannabe datron build

Mini wannabe datron build

Category: CNC Machines

motor mounds for ethercat servos.

Displaying 18691 - 18705 out of 21684 results.
Time to create page: 0.607 seconds
Powered by Kunena Forum