So, it turns out I did fry the motor. I started testing as stated in the previous post and couldn't get the B phase to work anymore. I tried running the motor hookup tests built into the servo drive and they all failed and the drive would fault on E11 (Illegal Hall State). Remember that I had this motor working perfectly a week ago. Scoping my feedback adapter board showed absolute garbage coming out of the hall effect commutation outputs. This is because it cannot correctly decode the signal if the B phase is dead.
I wanted to see if I could figure anything out, so I removed the T1 motor from the underside of the large cast aluminum base. The maintenance manual is very clear about how to do this, but this dummy removed pretty much all the screws but the correct ones. I finally got it out though.
This is the wave generator from a harmonic drive. These are the absolute coolest mechanical devices that I can think of and I've always wanted to hold one. If you are interested,
check this wikipedia link out. The ground bearing race visible just below the large steel puck is ground extremely thin and pressed over an elliptical plug connected to the motor shaft. The bearing freely deforms to match this elliptical shape. If I squeeze it on the major axis, the motor shaft will rotate about 90 degrees which is totally wild.
Here is the rest of the harmonic drive. The thick ring with the bolts around the perimeter has spline teeth cut on the inside and mates with the flexspline (shown inside with the yellow grease). The flexspline is a thin cup made from fatigue resistant steel with external spline teeth. It has 2 fewer teeth than the circular spline and connects to the load (robot arm). When the wave generator is inserted into the flexspline (that's in the polished area free from grease), the flexspline deforms into an ellipse. As the input shaft is rotated, the wave generator creates a meshing action between the flexspline and the circular spine along the major axis of the ellipse. The spline advances two teeth forward for every revolution of the input shaft, giving extremely high reduction ratios. Since the meshing action is wedge shaped sliding rather than rolling, the gearbox can be made with near zero backlash.
These are used in robotics, planes, the International Space Station, and the wheels of the Apollo lunar rover. Cool stuff.
I tightly wrapped the wave generator in plastic wrap to keep it clean and placed masking paper on my workbench to create a clean workspace.
This is the output section of the Yaskawa encoder. The JL-041A chip on the left is their proprietary ASIC which multiplexes the encoder signal and made my life so difficult. The chip on the right is a Texas Instruments AM26C31I Quad Differential Line Driver. This chip buffers the signals coming from the JL-041A and creates an inverted pair of signals to be transmitted on twisted pair wire over substantial distances. I was really hoping at this point that any damage would be limited to this chip.
Using some 30AWG magnet wire, I attached to various pins on the chips. In particular, I got pin 15 of the JL-041A (B phase output) and Pin 9 of the AM26C31I (B phase input). I was
really hoping that this signal would be intact. If not then the JL-041A was dead and I'd have to toss the motor. I also soldered to pins 10 and 11 of the AM26C31I which are the buffered pair of signals that should look like the B phase (except pin 11 should be inverted).
Here's the scope probes. All of them referenced the power supply common.
And here is what I got on the scope. As expected, Channel C (B phase buffered output - noninverted) is dead and sits at 0V. The good news is that Channels A & B are showing a perfect signal of B so the rest of the encoder is OK. Notice how Channel D (B phase buffered output - inverted) is the opposite of A & B. This is for noise immunity when transmitted in a twisted pair with channel C.
I got pretty excited at this point. When I designed my feedback adapter boards, I copied this exact chip as the output driver. I have spare chips to make one additional feedback board.
The big challenge is that just below this this circuit board is the precision etched glass phototransmissive disc that the encoder reads. Any contamination at all could ruin the encoder. There are also parts hanging from the bottom of this circuit board so I couldn't use the hot air gun to remove the chip. I opted to mechanically cut each leg of the IC with a pair of sharp diagonal snips. I then used my soldering iron to remove the remnant of the leg from the pads. I accounted for each of them so I didn't leave junk in the encoder. I used some nice solder wick to clean the pads and remove this goop that they used to secure the chips to the board.
Finally I placed my new chip on the board and hand soldered it in place with the thinnest solder I own. It doesn't look very pretty because I was using a soldering iron and not paste and a hot air gun, but whatever, the joints are good. I added the test leads back on.
And after powering it back up, all the signals came through perfectly! I can't believe I was able to get this fixed. I think this is back to 100% functional. Channels C & D get fed directly into my feedback adapter board. I removed all the test leads and sealed the encoder back up.
I will not reinstall the motor until I can figure out why it got fried in the first place. I am expecting to find a short between the B phase of the encoder output and the output of the U axis home sensor output. I'm guessing the old sensor was shorting but since it was a sinking sensor (and it only sank 6mA) it did not damage the encoder. I think that when I put in the new optical homing sensor on the U axis, it can now source 24V at 100mA which went directly into the AM26C31I driver output and fried the chip inside.
I'll do some continuity checks next and try to identify the source of the issue. It is probably on the robot PCB, but it could also be in the interconnect cable or at my terminal blocks.
Whew - Mike