Hal Setup for External Homing with Servo Drive Control

  • GuiHue
  • GuiHue's Avatar Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
08 Mar 2022 10:52 #236656 by GuiHue
Dear all,

I am currently thinking about a setup with a slightly different homing approach to make use of the servo driver's ability to home itself. While this appears to be non-sense for a regular axis, it is potentially desirable to make use of the specific driver's gantry synchronization features. The drives in question are Delta ASDA-A2.

What we are trying to do is the following:
-Have linuxCNC initiate homing through some DO, I guess "joint.N.homing" would be a suitable pin
-Have the drive do its thing
-Have the drive report out that homing was completed : Question: How do I get this signal to linuxCNC? How do I set up homing, up so that linuxCNC can cope with external homing?
-Have linuxCNC signal the drive that all axis are homed and that they may switch modes from PR to PT (PR: drive can home itself, but can only move to predefined positions, PT drive accepts typical motion signals via step/dir)

Any ideas?

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

  • rodw
  • rodw's Avatar
  • Away
  • Platinum Member
  • Platinum Member
More
08 Mar 2022 14:26 #236675 by rodw
IF the drives are CIA402 ethercat compatible, yes, you can use them. There is a CIA402 component and uses the home to index function.
Check the instructions document in my repo
github.com/rodw-au/linuxcnc-cia402

This needs some updating as I am close to completing my configuration.

Note people have ben bale to home to index with this method but I was unable to home to a home switch using the drives features.

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

  • GuiHue
  • GuiHue's Avatar Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
08 Mar 2022 14:58 #236679 by GuiHue
Dear Rod,

thanks for getting back to me.
No, the drives do not speak EtherCAT.

The setup of the drives appears to be working (at least for a single axis for now). My questions really just relate to making this work with linuxCNC using conventional IO.

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

  • rodw
  • rodw's Avatar
  • Away
  • Platinum Member
  • Platinum Member
More
08 Mar 2022 20:33 #236707 by rodw
From what I tried using a modified version of this component
github.com/dbraun1981/hal-cia402
I think you will need a similar component to ensure the position error that will occur when th eencoder is reporting without linuxcnc commanding the drive.

I think you also will need to modify homing.c

I reverted to linuxcnc homing which supports gantry homing simply by setting HOMING_SEQUENCE = -1 on the gantry joints in the ini file

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

  • GuiHue
  • GuiHue's Avatar Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
08 Mar 2022 21:46 #236713 by GuiHue
I see what you are pointing at. Modifying homing.c certainly is out of my league. The pointer to using encoders (hadn't even mentioned those) is quite a valid one. Technically, the encoders could also be integrated with the drives directly.

I currently use the linuxcnc gantry setup and it works well. Delta ASDA-A2 has a special mode to ensure synchronous motion between two drives by master-slaving them. In this mode they operate of one step/dir interface and maintain their relative position. Furthermore, it would allow the use of a single linear encoder instead of two. I would like to work out if I can make use of this feature. Hence my questions:).

Side question (because I currently can't try): Is it possible to net the signals of one (linear)  encoder to two step-gens?

@Mods: Maybe move to advanced config?

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

More
08 Mar 2022 22:08 - 09 Mar 2022 04:30 #236717 by medicusdkfz

IF the drives are CIA402 ethercat compatible, yes, you can use them. There is a CIA402 component and uses the home to index function.
Check the instructions document in my repo
github.com/rodw-au/linuxcnc-cia402

This needs some updating as I am close to completing my configuration.

Note people have ben bale to home to index with this method but I was unable to home to a home switch using the drives features.
 

Is it also possible with CanOpen Delta drives and Beckhoff EK1100/EL6751? I'm using the A2-M for a YY-spindle setup.

Best regards,
Pierre
Last edit: 09 Mar 2022 04:30 by medicusdkfz.

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

More
26 Feb 2023 14:24 #265417 by Virtanen
Hello Rod. I was following step by step the instruction you gave, and after using halcompile to cia402 i got:

cnc@cnc:~/dev/ec-debianize/hal-cia402$ sudo halcompile --install cia402.comp
sudo: halcompile: command not found

I don't know where can be a mistake, because when i configured uspace, i got:

cnc@cnc:~$ cd dev/linuxcnc/debian/
cnc@cnc:~/dev/linuxcnc/debian$ ./configure uspace
uspace is accepted for compatibility, but ignored
successfully configured for 'uspace-Debian-10'..

I'd be very glad if you will help me to solve this problem




 

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

  • rodw
  • rodw's Avatar
  • Away
  • Platinum Member
  • Platinum Member
More
26 Feb 2023 20:43 #265442 by rodw
If you have built debs from source, there should also be a .deb file called linuxcnc-uspace-dev which needs installing.
should be in your ~/dev folder?
RIP builds will have it but don't need sudo

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

Time to create page: 0.134 seconds
Powered by Kunena Forum