TriFinger Build Questions

Hi everyone,

I’m in the middle of assembling the TriFinger robot.
I’m approximately 90% finished with the build (I have 5/6 sub assemblies complete, every item 3D printed, the entire frame built, the custom machined parts created, most of the items purchased, etc.), but I have some questions regarding the electronics.

On this page in the documentation, under “Electronics”. The documentation says that “Each finger module requires 24V power supply and 2 CAN communication channels.”

Question 1:
Just as a clarification here, does each finger module require two 24V power supplies? Because there are three finger modules, I would need six of these:

. This would mean that, for each finger, one power supply powers the “top” two motor boards, and one power supply powers the “bottom” motor board. I believe this is how it works but I want to make sure before I start buying power supplies.

SEE IMAGE 1 BELOW THIS POST

Question 2:
I’ve never used CAN communication before so I’m a bit confused on this aspect as well. The TriFinger has three finger modules, so does this mean that the computer you’re connecting this to should have six CAN ports? In other words, should you buy three of these?

SEE IMAGE 2 BELOW THIS POST

Or can you connect the CAN pins from one microcontroller to the next via wiring, in order to do this all through one CAN port on your PC? Or is there some other way to do this other than buying three of those CAN cards?

In addition, I’m trying to save a bit of money where I can so I had one more general question about the components. I was considering only purchasing only one camera and lens to get it all running, and then, later down the line, purchasing the other two cameras if I begin to do some work that requires more of the depth information that the subsequent cameras can give me.

Question 3:
Can I run this using one camera?

I’m much more experienced on the software side, so the electronics part has been a bit challenging for me, but I’m really excited to finish this build and get the robot working. I’m hoping to have it up and running by the end of May.

Thank you very much!!
Ross

IMAGE 1:

IMAGE 2:

(sorry about this, for some reason I cannot post multiple images per post)

Hi Ross,

thanks for the status description - that sounds good.

Question 1:
Each TI motor driver stack requires 24V for operation - but you can connect all of the 6 TI stacks (in parallel) to one power supply if you want.
A lab power supply might be more convenient than the laptop power supplies - we use those Voltcraft power supplies.

Question 2:
That’s right. The TriFinger setup uses 6 TI motor driver electronics stacks - each of them needs its own CAN channel. So if you use the Dual Channel CAN cards you’ll have to order 3 pieces.
Combining all the CAN channels of the different motor driver cards won’t work unfortunately…

The alternative would be to switch to our new custom electronics consisting of the Master Board and the Micro Driver Boards. With those custom electronics boards you can control up to 16 brushless motors via a single ethernet connection.

Question 3:
The fingers are completely independent of the cameras.
You can operate the fingers without a camera or with only one camera.
The number of cameras that you require will depend on the tasks that you want to perform with the manipulator system.

Best wishes.
Felix

1 Like

Thanks for the quick reply!!

1 Like

Hi Felix,

Regarding question 2 above:
I noticed that the PC I have access to has only two open PCI-E slots, so putting three PCI-E cards in it would not work for me right now.

One option that I saw on the Peak Systems website was this:
https://www.peak-system.com/PCAN-USB-X6.438.0.html?&L=1

There are multiple items on this page, but I am referring specifically to item number IPEH-004064.

It is a USB-to-CAN port adapter with 6 CAN channels on it. I was wondering if you thought something like this would work? I notice a couple differences between this and the one you’re using:

Number 1, obviously, is the fact that it’s a USB interface which can be significantly slower than a PCI-E interface for data transmission. I don’t think this would be a problem as USB 2.0 transmits data faster than PCI-E 1x, which the other card is, but I don’t know a ton about hardware so I would love to hear what you think here.

Number 2 is that the PCI-E card has 500V galvanic isolation whereas the USB-CAN adapter has only 300V galvanic isolation. Do you think this would be an issue?

There are a couple other minor difference between the two but nothing really stands out as something that might cause an issue other than those two things above.

Do you think this would work?

Thanks again,
Ross

Hi Ross,

another option might be to buy a PCAN-PCI Express FD Four Channel / IPEH-004040 card: PCAN-PCI Express FD: PEAK-System

I am not sure if we used/tried this one already though.

Best,
Julian

1 Like

Hi Julian,

I did see that card as well – that looks like an option. I was worried about CAN channels 3 and 4:

It says that this card comes with:
“Slot bracket with D-Sub connectors for the CAN bus (only four-channel version)”
I worried a bit about exactly what that looks like, if it would fit easily into the PC case, etc.

In addition, it only provides 4 CAN channels so I would still have to purchase another dual-channel card.

If you guys think that USB-to-CAN adapter does not work, I’ll go for this option though. What do you think about that USB-to-CAN adapter?

Thanks for the quick reply!
Ross

Hi Ross,

the voltages on the boards are not very high - so I don’t think you need to worry about the 300V or 500V insolation. We do recommend to use a CAN card with galvanic insulation - to protect your computer in case something goes wrong on the motor driver electronics boards.

The slot bracket for the four-channel version will probably look similar to the one in the picture below. So if you have a free slot on your computer that shouldn’t be a problem.

Regarding the USB-to-CAN adapter:
Maybe @felixwidmaier can give some advice - he used a single channel USB-to-CAN adapter in the past.

Best. Felix
dsub_panel

1 Like

Hello,

When I was using the CAN-USB-Adapter in the past, it was working fine for slower control loops but I ran into issues when increasing the frequency (I don’t remember the numbers anymore). However, this was on a non-real-time computer back then. I think I never tried it via USB on a real-time machine.

I am not sure about the real-time capability of USB. From what I understood, USB can have non-deterministic delays (see this discussion, which is already 13 years old, though). I don’t know how big they can be, though, so not sure if it would actually be a problem for your application or not.

Best,
Felix W.

1 Like

I did a quick test with a single Finger (i.e. two CAN ports) and the USB adapters we have here:

With the right one (the one with two ports) I couldn’t get the robot working. For some reason there was a connection issue when I started the software. I can’t tell what exactly the problem was.

I then tried using two of the single-port adapters (the left one). With this the robot was running without further changes. However, I noticed that in position control the robot was vibrating a bit, which does not happen when using the PCI cards. This suggests that there are indeed some delays in the communication. Whether they really are a problem probably depends on your desired control rate.

So as a bottom line: It may work via USB but it will probably be less reliable than when using the PCI cards.

2 Likes

Thank you for the detailed replies and testing information!!

I’ll go with the 4 channel PCI-E card, as I want to ensure reliability.