I've been working some long shifts at work and haven't had any shop time. Managed to get a few hours yesterday to make some progress on the robot and wanted to share.
I'm fed up with trying to get this working with the Kinetix 2000 Sercos drives. I might revisit this again in the future. It should work, and it irks the heck out of me that I can't figure it out. I'm also trying to hunt down some newer ethernet drives, but for now, I don't have any.
It dawned on me a week ago another way I can approach this. If you remember, I had the motor working perfectly with an Ultra 3000 operating as a standalone drive, but when I tried to run the motor on the exact same drive over Sercos, it wouldn't work. Well I remembered a way I can get it to work with the standalone drive and the PLC running the robot math. Rockwell makes a servo interface module for the PLC called the 1756-M02AE. It is a 2 axis analog servo module designed for making Rockwell PLC's talk with any generic (and old) servo equipment. I happen to have 2 of these (for a total of 4 axis) that I can hook up.
The module works by sending an analog torque command to the servo. Traditionally, the servo drive would close the torque, velocity, and position control loops, however with this module, you dumb down the drive by only letting it control the torque loop. The 1756-M02AE module is then responsible for the velocity and position control. The motor encoder is still connected to the servo drive, but only for commutation data. The encoder data is buffered by the servo drive and then passed to the 1756-M02AE module through a cable.
The benefit of this is pretty much guaranteed success (watch this comment bite me in the you know what). The design is simple and rugged. The downside is a total loss of data from the drive and susceptibility to noise on the analog command line. The Sercos drives were able to transmit diagnostic data over the optical fiber, and I will lose all of that data.
Here was my controls rig before I started this new attempt.
And gutted:
And with a 4 slot PLC rack and 4 drives. I don't have matching drives unfortunately, but for this project I can disable the SERCOS option module on the first two drives to use them as a stand alone unit, and I do not need to use any of the DeviceNet features on the 3rd drive. Ideally, I'd like to find 4 matching 500W basic drives like the one on the far right.
Here is the removable terminal block (RTB) for the analog servo module. It has quite a lot of wires going to it. One large bundle goes to each drive, and a smaller cable goes to the terminal blocks to read the homing sensor on each robot axis.
And all zipped up.
And installed on the servo module.
I ran out of time, but my next step is to test the Z axis under analog control. This will require setting up the program for these modules, and configuring the drive for analog torque reference. This is a couple hours of work there. If it works, then I can hook up the other 3 drives.
I also ordered the version B of my encoder interface circuit. This one will have all my changes integrated to the board. That should be in within a week. I'm really hoping that this works without edits needed.
I really wish that the Sercos drives worked out, but this should do the trick and provide good motor control.