dbraun1981 / hal-cia402

linuxcnc hal interface for CiA402 Drives
GNU General Public License v2.0
28 stars 15 forks source link

Asd-a2-e enable procedure #3

Closed Mehdidadash closed 1 year ago

Mehdidadash commented 1 year ago

There is a part in Delta asd-a2-ethercat I tried to make the servo ready and on , but i was not able to do that using linuxcnc I used these repositories linuxcnc-ethercat Hal-cia402 I think this is because of Delta asd-a2-E servo ready(enable) procedure. There is this paragraph in its manual "Set 【Controlword: 6040h】to (0x06 > 0x07 > 0x0F) in sequence, switch the drive to Servo On state and enable the motor."

I don't know if this is a standard procedure of cia402 or if it is something done by delta.

dbraun1981 commented 1 year ago

Hello,

this is the exact way the cia402 enable sequence works.

I remember that delta has been a little complicated, you have to set the interpolation period time sdo 0x60c2 equal to the linuxcnc thread time.

Long time ago , we have coded an native asda lcec driver. Use "DeASDA" as type in your ethercat_conf.xml . This driver is for velocity control, but sets all the required parameter by itself.

Here you can read about the coded pins and parameters :

https://github.com/sittner/linuxcnc-ethercat/blob/master/src/lcec_deasda.c

Mehdidadash commented 1 year ago

Hello,

this is the exact way the cia402 enable sequence works.

I remember that delta has been a little complicated, you have to set the interpolation period time sdo 0x60c2 equal to the linuxcnc thread time.

Long time ago , we have coded an native asda lcec driver. Use "DeASDA" as type in your ethercat_conf.xml . This driver is for velocity control, but sets all the required parameter by itself.

Here you can read about the coded pins and parameters :

https://github.com/sittner/linuxcnc-ethercat/blob/master/src/lcec_deasda.c

Thanks for your quick response. I am trying hard to move these motors but no luck so far. I will try changing 0x60c2 and it is probably the reason.

Mehdidadash commented 1 year ago

Hello,

this is the exact way the cia402 enable sequence works.

I remember that delta has been a little complicated, you have to set the interpolation period time sdo 0x60c2 equal to the linuxcnc thread time.

Long time ago , we have coded an native asda lcec driver. Use "DeASDA" as type in your ethercat_conf.xml . This driver is for velocity control, but sets all the required parameter by itself.

Here you can read about the coded pins and parameters :

https://github.com/sittner/linuxcnc-ethercat/blob/master/src/lcec_deasda.c

i find out that there is a problem in EEPROM of delta's a2 ethercat servo drives. fixed it using a linuxcnc forum post . i was able to rotate my motor using that drive.

GuiHue commented 1 year ago

@Mehdidadash Thank you for posting - I have encourtered the same problem. Could you share the linuxcnc forum post?

Mehdidadash commented 1 year ago

@Mehdidadash Thank you for posting - I have encourtered the same problem. Could you share the linuxcnc forum post?

Hi friend . Follow this procedure step by step https://forum.linuxcnc.org/ethercat/45336-ethercat-installation-from-repositories-how-to-step-by-step

GuiHue commented 1 year ago

@Mehdidadash Thank you, I was aware of that post and following it allowed me to get EtherCat working with some Beckhoff gear. In your Dec 11 psot you mentioned a problem in delta a2's EEPROM - that is not referenced in the linked forum thread. Have you shared your hal/xml/ini somewhere?

Mehdidadash commented 1 year ago

@Mehdidadash Thank you, I was aware of that post and following it allowed me to get EtherCat working with some Beckhoff gear. In your Dec 11 psot you mentioned a problem in delta a2's EEPROM - that is not referenced in the linked forum thread. Have you shared your hal/xml/ini somewhere?

i want to make a new repository for this to add things like EEPROM bin file. please follow me for thaat.