Advanced Search

Search Results (Searched for: )

  • PCW
  • PCW's Avatar
Today 01:23
Replied by PCW on topic RPi and 7i90 via SPI, estop

RPi and 7i90 via SPI, estop

Category: Driver Boards

Sounds like a HAL file setup error of some kind rather than a hardware related error.

Posting the hal/ini files would be helpful

 
  • rbobey1989
  • rbobey1989's Avatar
Today 23:05
Add Speed ​​Mode Support, EL7342 was created by rbobey1989

Add Speed ​​Mode Support, EL7342

Category: EtherCAT

Hello for all:
I created an issue in Scott's linuxcnc-ethercat repository with this content to provide support for the EL7342 module in speed mode and to be able to use some of the internal functionalities of the module that are not currently supported in the lcec_el7342 driver. Unfortunately, my minimal changes have not worked; I have not yet been able to get velocity control mode working.

Hi Scott, first of all, thank you for your great contribution to the LinuxCNC community, of which I am a member.

Now, getting down to business:

I've been inspecting the EL7342 module for a few days now. I currently have one on my workbench. I've tried reading and studying your code for the lcec_el7342 driver, and everything is correct regarding PWM/direct mode. The problem is that I've spent several days making minor modifications to both PDOs and SDOs to see if I can force the driver to operate in speed control mode, but I can't get the module's internal PID controller to work.

From the module manual I have obtained the following information:

8022:01 (Operation mode)
0: Automatic
1: Velocity direct
2: Velocity controller
3: Position controller
...: reserved
15: Chopper resistor

Although in chapter 6.6.4 (Selection of the operating mode), I infer that if the correct PDOs are configured, the module should enter the correct mode without problems:

You can select the operating mode in the index 0x8022:01"Operation mode". It is recommended that you select the operation mode "Automatic" (Fig. Setting the operation mode) and then set the suitable operation mode for your application on the Process Data tab. More information on this can be found in the chapter "Process Data".

Then in chapter 6.5.3 Predefined PDO Assignment the following is proposed:

The "Predefined PDO Assignment" enables a simplified selection of the process data. The desired function is selected on the lower part of the "Process Data" tab. As a result, all necessary PDOs are automatically activated, and the unnecessary PDOs are deactivated.

This chapter also includes a table with the predefined PDOs for each application. While it doesn't perfectly match the one currently implemented in the driver, it largely aligns with the first row, Velocity Control Compact. Therefore, I understand that to use the module's internal PID controller, we should use the PDOs listed in the second row.

Velocity control compact
SM2, PDO assignment: 0x1600, 0x1602, 0x1604, 0x1606, 0x1607, 0x1609
SM3, PDO assignment: 0x1A00, 0x1A03, 0x1A06, 0x1A08

static ec_pdo_info_t lcec_el7342_pdos_out[] = { 
{0x1600, 7, lcec_el7342_channel1_enc_out}, 
{0x1602, 7, lcec_el7342_channel2_enc_out}, 
{0x1604, 5, lcec_el7342_channel1_dcm_out}, 
{0x1606, 1, lcec_el7342_channel1_vel_out}, 
{0x1607, 5, lcec_el7342_channel2_dcm_out}, 
{0x1609, 1, lcec_el7342_channel2_vel_out},
};

static ec_pdo_info_t lcec_el7342_pdos_in[] = { 
{0x1a00, 17, lcec_el7342_channel1_enc_in}, 
{0x1a03, 17, lcec_el7342_channel2_enc_in}, 
{0x1a06, 14, lcec_el7342_channel1_dcm_in}, 
{0x1a07, 2, lcec_el7342_channel1_dcm_sync_info}, 
{0x1a08, 14, lcec_el7342_channel2_dcm_in}, 
{0x1a09, 2, lcec_el7342_channel2_dcm_sync_info},
};

As you can see in the driver, two more PDOs are added to SM3: 0x1a07 and 0x1a09. However, these are informational PDOs, so I don't think they're very relevant.

Now I'll list the PDOs mentioned in the second row of the table, which are the ones we should map:

Velocity control
SM2, PDO assignment: 0x1601, 0x1603, 0x1604, 0x1606, 0x1607, 0x1609
SM3, PDO assignment: 0x1A01, 0x1A04, 0x1A06, 0x1A08

Therefore, the configuration would look something like this:

static ec_pdo_info_t lcec_el7342_pdos_out[] = {
{0x1601, 7, lcec_el7342_channel1_enc_out}, //test

{0x1603, 7, lcec_el7342_channel2_enc_out}, //test 
{0x1604, 5, lcec_el7342_channel1_dcm_out}, 
{0x1606, 1, lcec_el7342_channel1_vel_out}, 
{0x1607, 5, lcec_el7342_channel2_dcm_out}, 
{0x1609, 1, lcec_el7342_channel2_vel_out},
};

static ec_pdo_info_t lcec_el7342_pdos_in[] = { 
{0x1a01, 17, lcec_el7342_channel1_enc_in}, //test 
{0x1a04, 17, lcec_el7342_channel2_enc_in}, //test 
{0x1a06, 14, lcec_el7342_channel1_dcm_in}, 
{0x1a07, 2, lcec_el7342_channel1_dcm_sync_info}, 
{0x1a08, 14, lcec_el7342_channel2_dcm_in}, 
{0x1a09, 2, lcec_el7342_channel2_dcm_sync_info},
};

Reviewing the description of these new PDOs in the manual, there are a few points to note:

1st - PDOs 0x1601 and 0x1603:07 have a different bit length compared to PDOs 0x1600 and 0x1602, so I've made the following changes:

static ec_pdo_entry_info_t lcec_el7342_channel1_enc_out[] = {
{0x0000, 0x00, 1}, // Gap

{0x7000, 0x02, 1}, // Enable latch external on positive edge

{0x7000, 0x03, 1}, // Set counter

{0x7000, 0x04, 1}, // Enable latch external on negative edge

{0x0000, 0x00, 4}, // Gap 
{0x0000, 0x00, 8}, // Gap 
{0x7000, 0x11, 32}, // Set counter value //test
};

static ec_pdo_entry_info_t lcec_el7342_channel2_enc_out[] = { 
{0x0000, 0x00, 1}, // Gap 
{0x7010, 0x02, 1}, // Enable latch extern on positive edge 
{0x7010, 0x03, 1}, // Set counter 
{0x7010, 0x04, 1}, // Enable latch extern on negative edge 
{0x0000, 0x00, 4}, // Gap 
{0x0000, 0x00, 8}, // Gap
{0x7010, 0x11, 32},  // Set counter value //test
};

Something that isn't entirely clear in the manual is whether, in Velocity Control mode, the speed should be scaled to 16 bits or expressed in revolutions per minute (RPM) in the command PDO???

I'm also unclear on whether I should write the same command PDO as the one used in the current driver???

static ec_pdo_entry_info_t lcec_el7342_channel1_vel_out[] = {
    {0x7020, 0x21, 16},  // Velocity  ??????
};

static ec_pdo_entry_info_t lcec_el7342_channel2_vel_out[] = {
    {0x7030, 0x21, 16},  // Velocity  ??????
};

With these minimal configurations, I've performed some tests without success. For example, I tried setting all the internal PID constants to zero, hoping the motor wouldn't move, but it always moves. In other words, I'm always operating in PWM/Direct mode, which I can't change even though I select Velocity Control mode or use Automatic mode via SDO in both lcec_el7342.c and XML.

Although I'll continue investigating, I would appreciate any help.
  • PCW
  • PCW's Avatar
Today 22:09
Replied by PCW on topic pin locations

pin locations

Category: General LinuxCNC Questions

All the spindle control stuff would be on TB3

(the SSR outputs for FOR and REV and PWM for the speed control)
  • natas01
  • natas01
Today 21:53
Replied by natas01 on topic pin locations

pin locations

Category: General LinuxCNC Questions

Just trying to hook up the spindle.
And don’t know what im doing. Lol
I can wire a overhead crane but this keeps me scratching my head
  • PCW
  • PCW's Avatar
Today 21:26
Replied by PCW on topic pin locations

pin locations

Category: General LinuxCNC Questions

Those are unused resources (for sserial expansion) and not relevant to
configuration (unless you want to repurpose those I/O pins)
  • rodw
  • rodw's Avatar
Today 20:42 - Today 20:42

current latest download of LinuxCNC V2.9.8 will not install GRUB on several PC's

Category: Installing LinuxCNC

Also be aware that Trixie no longer uses /etc/apt/sources.list.d
Instead it uses the new deb822 format and places its sources in /etc/apt/sources.list.d
And as you said, for a DVD install, the source files will be configured to look on the ISO, not at the Debian mirrors
  • rodw
  • rodw's Avatar
Today 20:36

current latest download of LinuxCNC V2.9.8 will not install GRUB on several PC's

Category: Installing LinuxCNC

But the default Debian download on their home page is the netinst ISO, same as LinuxCNC. You need to follow the link to other downloads and select the complete installation image to install on an offline PC. The Linuxcnc 2.8 installer on Debian 10 used the same installer so nothing has changed for many years.

I found out the hard way this week that the Debian installer deletes packages that are not used at run time. eg if you go to the trouble of deploying LinuxCNC built from source in the installer, (eg a 2.10pre version), you must reinstall the dependencies if you want to rebuild the image.  The build time dependendcies are removed before the ISO is created.There are settings that are meant to prevent this but they did not work for me.

The days of Debian fitting on a single DVD must be over. I thought they maxed out at 4.7 gb. The image I built  yesterday came in at 5.15 gb.

I'm off to buy a CPU cooler today. Debian 12/13 do not manage heat well or my 20 core Lenovo i7 is underspec in the CPU cooling department as it regularly overheats and hangs during video rendering or compiling. Hopefully I can shoehorn one in in this small desktop case!
 
  • 0x2102
  • 0x2102's Avatar
Today 19:04
Replied by 0x2102 on topic What AI thinks of Flex GUI

What AI thinks of Flex GUI

Category: Flex GUI

Here is what I think about FlexGUI: It's freaking awesome! I'm really enjoying the interface; it's a total game-changer for building my custom LinuxCNC GUI. Thank you for all the hard work you put into it.

One thing I'm missing is a live preview/sync in the G-code editor.

Are there plans to implement 'Scroll-to-Line' or 'Active Line Highlighting' during a program run? Or is there a technical limitation in the current widget architecture that prevents this?

Thanks.
-Markus
  • Xnke
  • Xnke
Today 17:38
Replied by Xnke on topic Mitsubishi SSCNET

Mitsubishi SSCNET

Category: Installing LinuxCNC

I've finally gotten a little time to work on this again!

I'm still planning to use the MR-J3-70A drives, which I have already. What is the current state of support for the copper network drives?
  • natas01
  • natas01
Today 17:31
Replied by natas01 on topic pin locations

pin locations

Category: General LinuxCNC Questions

I'm sure its something simple that I'm over looking or not understanding I'm a new at this
thanks for the help
  • natas01
  • natas01
Today 17:27
Replied by natas01 on topic pin locations

pin locations

Category: General LinuxCNC Questions

When i look at the mesa manual the numbers don’t match for example 30-33 in pnccofig where are those on the board it self 
  • PCW
  • PCW's Avatar
Today 17:08
Replied by PCW on topic pin locations

pin locations

Category: General LinuxCNC Questions

That would be the 7I96S manual that lists the terminal block pins for
step/dir, analog out. encoder  and SSR channels.

These are also listed by mesaflash's  readhmid command
 
  • natas01
  • natas01
Today 16:53
Replied by natas01 on topic pin locations

pin locations

Category: General LinuxCNC Questions

I think what I'm trying to translate pncofig to the physical location on the mesa board
Displaying 1 - 15 out of 18206 results.
Time to create page: 0.336 seconds
Powered by Kunena Forum