EtherCAT driver for a 6 axis robot

More
21 Jul 2022 15:52 #247956 by ftree
Nottingham, UK.

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

More
22 Jul 2022 00:11 - 22 Jul 2022 00:22 #247997 by ftree
In the meantime I've tidied the folder and now attempting to get the vismach starting, at least. I have two versions of DH/DH(modified) to try for the kins. Working on the best way to orientate and save the obj links too and set up correct WRF/HOME placement.

github.com/djsftree/linuxcnc-ethercat/tree/master/wip-meca500
Last edit: 22 Jul 2022 00:22 by ftree.

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

More
22 Jul 2022 11:37 #248021 by andypugh
To do a timed sequence in a HAL component, you use a state machine.
{normal .comp headers, as you have}
pin out signed state;
pin out float timer;
...
FUNCTION(_){
...
switch (state){
case 0: // waiting
  if (! enable) return;
  output_1 = 1;
  timer = 1000;
  state = 1;
  break;
case 1:
  timer -= fperiod;
  if (timer > 0) return;
  output_2 = 1;
  timer =  1500;
  state = 2;
  break;
case 2:
  timer -= fperiod;
  if (timer > 0) return;
 output_3 = 1;
  timer = 500;
  state = 3;
. break;
case 3:
...
The following user(s) said Thank You: tommylight

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

More
22 Jul 2022 12:54 - 22 Jul 2022 12:55 #248028 by ftree
Thanks Andy. This is very much out of comfort zone. If anyone can help on a contract basis for the underlying code work please do let me know.

I have managed to assemble the obj models within vismach. I'm now figuring out the correct XYZ orientation to export obj files out as as well as the correct translations.

github.com/djsftree/linuxcnc-ethercat/bl...eca500/meca500gui.py
Last edit: 22 Jul 2022 12:55 by ftree.

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

More
22 Jul 2022 15:50 #248049 by ftree
Made some good progress today starting the application with vismach.  I may not have the rotates and translates right yet but close.

github.com/djsftree/linuxcnc-ethercat/tree/master/wip-meca500

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

More
25 Jul 2022 12:00 #248247 by ftree
I've split the project into two repositories now

Meca500 LinuxCNC EtherCAT HAL Driver
github.com/djsftree/linuxcnc-ethercat

Meca500 LinuxCNC (currently using generic EtherCAT driver xml)
github.com/djsftree/linuxcnc_meca500
The following user(s) said Thank You: rodw

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

More
26 Jul 2022 15:46 #248341 by ftree
Hi @db1981.  Are you available to assist?  Are you on the Discord server?

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

More
27 Jul 2022 16:30 #248431 by db1981
hi,

i am very out of time at the moment.
I'm involved in two bigger projects, which have to produce asap.
But now we do redesign/recoding on the construction site, caused by parts availibility.

Maybe i will get a few hours the next week....
The following user(s) said Thank You: ftree

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

More
29 Jul 2022 16:51 #248624 by ftree
Thanks!  if you have the time it would be greatly appreciated.

To recap. I’m working on an internal project involving the Mecademic Meca500 6 axis robot
www.mecademic.com/en/meca500-robot-arm

Here’s some useful links so far

Cyclic data that can be sent to the robot
cdn.mecademic.com/uploads/docs/meca500-r...4.pdf#subsection.3.4

Cyclic data received from the robot
cdn.mecademic.com/uploads/docs/meca500-r...4.pdf#subsection.3.5

Communicating over ethercat
cdn.mecademic.com/uploads/docs/meca500-r...al-8-4.pdf#section.4

ethercat XML file
github.com/djsftree/linuxcnc_meca500/blo...meca500-ethercat.xml

custom homing comp skeleton
github.com/djsftree/linuxcnc_meca500/blo.../meca500_homing.comp

I would welcome a review of the initial skeleton code and any suggestions to the potential homing architecture for this particular robot.

The robot has its own internal mechanism for homing once the robot is activated.

-- set
   ctrl.activate 1
   ctrl.deactivate 0

-- wait for
   status.activated 1
   status.busy 0

-- set
   ctrl.home 1
   j0, j1, j2 rotate 3.6deg
   j3, j4 rotate 7.2deg
   j5 rotates 12deg
   above joints rotate back the same amout
   this procedures takes 3 seconds to complete
   joint position during homing is available on ethercat encoder.a1 thru a6

-- wait for
   status.homed 1
   status.busy 0

-- homed and ready to accept motion commands

Best regards,
David

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

Time to create page: 0.241 seconds
Powered by Kunena Forum