Puma 560 simulation using pumakins

More
10 years 10 months ago - 10 years 10 months ago #67346 by Askjerry
The other option is to share the pins used for home. You just need to make sure of two thigs...

1) Make sure no joints trigger any home when starting the sequence.

2) Make sure your home offsets are such that no home signal is engaged after being homed.

Once homed, you can move the arm to a starting position and set yhe G54 coordinates to zero. No modification would be needed. You could share the last three joints... Make a pyVCP or Glade panel to verify that the shared joints are not triggered before you start. Many times people will use one HOME switch... As long as you follow the process of making sure they are clear first you should be fine
Last edit: 10 years 10 months ago by Askjerry.
The following user(s) said Thank You: robottom

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

More
10 years 10 months ago #67368 by robottom
good idea to add a pyVCP or Glade panel to display the status of home switches (in my case the output of the Arduino). This gives me at least the hint if I can home the machine (for the last 3 joints with shared home signal). But what to do if the shared home signal is engaged. I guess I can only move the robot (arbitrary move of the last 3 joints to get it out of the home signal) when it is homed otherwise it is locked - or I'm I wrong. Since I'm not at home I can't test.

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

More
10 years 10 months ago #67375 by Askjerry
Correct. You would have to select and jog the joint a bit.

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

More
10 years 10 months ago #67511 by andypugh

robottom wrote: For me personally there is the issue that I want to use a Thinkpad with my Puma and no desktop PC. .


It is probably cheaper to buy a dedicated PC for the Puma than to add hardware to the Thinkpad.
But expecting to run a 6DOF machine from a single parallel port is rather ambitious.

You could consider the Mesa 7i90 which expands the parallel port into 72 IO bits. You can then easily attach interface cards, including A to D interfaces (handy for the potentiometers)

I do intend to add absolute homing to LinuxCNC, but I am afraid that I will not get round to it until I need it for my current project, and I am still at the stage of machining castings at the moment.

I think that whatever I come up with will be equally applicable to your robot.

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

More
10 years 8 months ago #69468 by robottom
Hi,

File Attachment:

File Name: arduinoHome8.txt.txt
File Size:10.39 KB


I just want to give you feedback on the actual project. I implemented the homing now with the arduino nano. It was a bit more complicated than orginally thought - as always reality is different from theory.
I came across the following issues I had to solve on the arduino:
1. The A/D conversion is one of the most expensive operations on the arduino and takes ~100 micro seconds. Not too much but I need to be sure that I don't miss any of the short and sharp index signals. The arduino nano comes only with 2 interupt lines. Without connecting all the input via OR to the interrupt I have to use a fast method for the A/D conversion to be on the save side. There are possibilities on the arduino to start the A/D conversion and run the code in parallel and get the A/D values when it is ready. If you want to know how take a look at the code I attached.
2. The poti signal is not very precise while the robot/poti is moving. During halt is differs just +/-1 from the 10digit conversion. But during move it differs ofter +/-5 (or even 10). The issue is that the index signals are every 9-10 values - around the same size. So there is no way around doing average calculation. The arduino code calculates the average of 10 A/D conversion omitting the largest and smallest value. This is precise enough to use the timing schema as it was lined out by Jerry.

The whole procedure works pretty well. There is one thing I could not solve/understand: When I power the arduino from the internal 5V power supply or from an external USB power supply there are sometimes problems with the arduino program. When I plug in the arduino into a laptop it works fine (indedpendent if it is another or the same laptop where I run the LinuxCNC) - very strange. I should be related to GND since the DB25 board is decoupled via opto coupler. No idea. So I plug in the USB cable when I running the homing.
I attached the code that is still in a beta version but for those who want to take a closer look it should give you an idea. It could be streamlined but for now it is doing the job.
You can take a look at my short youtube video on how it works:

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

More
10 years 8 months ago #69472 by Askjerry
Very nice... I'm glad you were able to figure it all out. :laugh:

That will be very useful information!

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

Time to create page: 0.074 seconds
Powered by Kunena Forum