MS300 with CMM-EC01/EC02: OP but not acting as expected

More
17 Jun 2024 20:49 #303207 by GuiHue
Hi everyone,
apologies for starting a new thread with an issue that was outlined elsewhere as well. After extensive analysis, I have come to the conclusion that my problem may be elsewhere.
Setup:
- Deb12 with most recent EtherLab master and most recent package of linuxcnc-ethercat/linuxcne-ethercat running 6.21-rt kernel with LinuxCNC 2.9.2
- Total of 16 EC slaves including various Beckhoff devices, a custom slave, Delta drives and a Delta MS300 series VFD with a Jianken Spindle (Slave ID 9)
- VFD has a CMM-EC01 (according to ethercat slaves -v)
- Spindle: 4 pole spindle with 380V, 7.5A, 4.2 kW
- Topology: VFD ist connected to EK1110 coupler as a single item branch, tagged position 9
- Spindle and VFD have been tested using the manual input on the VFD and are known working. VFD parameters have been reset prior to testing (multiple times).
- VFD parameters are default as far as possible. Spindle related stuff has been setup, 00-20 and 00-21 have been set to accept the CMM module as master frequency and operation command, 9-60 confirms that the VFD recognizes the EC CMM card.
- One thing I could observe: While I do not have the keypad, there is an option to display all keypad information via USB. The VFD indicates that it is in JOG mode. No idea how to get in out of there.

Situation:
- When starting linuxcnc based on this config ( my repo, ethercat-conf.xml )  all slaves go OP (takes a couple of seconds)
- Beckhoff slaves and custom slave behave as expected
- Spindle.0.xxx pins connected to lcec.0.spindle.xxx pins as seen in examples - see following hal file: spindle.hal
- Delta drives in this setup untested, on the test bench they were known to work fine
- Ethercat pdos and ethercat slaves -v export attached as photos
 
   

- I have not had the issues of not seeing any PDOS to which an alternative SII binary was suggested here: forum.linuxcnc.org/ethercat/45099-trunca...-bit-signed-integers
I have tried the linked binary to no effect. I have tried using the Init commands as outlined in the example repo above to no effect (I admit that I do not fully understand those)

Issue:
When setting a spindle speed (S1000, e.g. 1000 rpm) in MDI and issuing M3 afterwards the following happens
See halshow below for parameters and values:
 
1) VFD shows output command frequency as 333.33 Hz --> This is od, because it is scaled by a factor of 10! 33.33Hz would be correct as this is a 4 pole spindle
2) Nothing happens. No movement of the spindle, instead: Looking at hal show it becomes apparent, that the driver is stuck on stat-switch-on-disabled
At this point: No error messages on the VFD, no Fault via EtherCAT

I am lost (to say the least) and have been for days now. Does anyone have any pointers?
Attachments:

Please Log in or Create an account to join the conversation.

More
18 Jun 2024 10:58 - 18 Jun 2024 11:01 #303247 by GuiHue
The devil always is in the details.
I line by line reviewed manuals and code again.
My issue with the spindle not starting and the vfd being stuck at the state mentioned above is the result of connecting pin lcec.o.spindle.fault-reset to machine-is-on. Accordingly, the pin is always high in following the implementation of lcec_dems300 this results in a bit of the control word being always 0 (where it should switch to one).

I fixed this using a oneshot.

What remains is the factor of x10 in the RPM transmission (with the received being too high!). No idea what causes this. Typically one would expect something like 1000 being interpreted as 100.0 but that would be factor 10 smaller and not larger. I will likely fix this by setting velocity scale accordingly. It still bugs me though... 
Last edit: 18 Jun 2024 11:01 by GuiHue.
The following user(s) said Thank You: rodw, DPFlex

Please Log in or Create an account to join the conversation.

More
22 Jun 2024 15:39 #303559 by Donb9261
Hello,

There is much discussion in regard to homing over ECAT. I see that you use a homing switch in your axis hal. Seeing that you have the Y as a tandem axis, how do you handle the homing? Or is there anything that needs to be done? Did you try using the ABS encoder so that no homing or homing to a switch is required? If so, did you find any complications that brought you back to homing via the switch?

As far as the spindle scaling over ECAT, do you think this is only isolated to the output for lcec spindle? Seems odd if so. Wouldn't the speed calculation be derived from the same spot as the analog for Mesa?

Great job on the setup. Your files are clean and well documented.

Please Log in or Create an account to join the conversation.

Time to create page: 0.163 seconds
Powered by Kunena Forum