Hi Tony --
Well, I couldn't find the datasheet for this IC
but I did locate a few of them if you need 'em
(I deal in Japanese semiconductors for the consumer
electronics repair trade).
Well, I finally got the thing to work (based mostly on the info in the
SAMS book on the 1541 [1]) And it was quite a job.
[1] I bought this in a second-hand bookshop in Bristol over 10 years ago.
I am not much of a Commodore person, but I always buy old computer books
that contain schematics...
Anyway, back to the Epson disk drive story. The drive I'm working on is
an SD320, used in the TF20 drive unit for the HX20/PX8/PX4 laptops. If
you want to follow along, I think the techncial manual for the QX10 is on
the web somewhere. This machine uses SD321 drives. The difference is that
the SD320 ahs a head load solenoid, the SD321 doesn't. Otherwise they are
almost identical (the positioner, spidle motor, and most of the
mechnaical parts are the same. There are small differences on the main PCB
(as to which components are fitted), but it's the same board, same ASICs,
etc.
So the scheamtic of the spindle motor in the QX10 manual will help.
OK, it's a farily simple design. There's a 4 pole stator with a rotor
around it. The inside of the rotor has a pair of permanent magnets on it.
These are pulled round by the stator coils, they also trigger a pair of
hall sensors on the PCB, which control transistors that drive the windings.
Inside the housing, on top of the rotor, is the FG (frequency generator)
coil. This produces an AC signal, the frequency of which depends on the
speed of the motr. This is fed to the CX065B chip, the output of that
controls the motor drive amplifier. If the motor is running too slowly,
the output voltage of the CX065B increases, making the amplifier drive
the coils harder.
So far so good. Anyway, I had the motor out of the drive (I needed to
clean the old greae off the eject linkages...). I was pretty sure I knew
how it was used. so I linked up the 3 pins on the connector to a 12V
bench supply (motor enable anf ground to -ve, 12v to +ve). The result was
that the motor started, ran for a few seconds, and stopped.
OK, I thought, a faulty motor. So I tried the one in the other drive. It
did the same thing. I even pulled a drive from my 'spare' QX10 and tried
the motor from that. It did the same thing.
So I thohght that perhaps the enable line wasn't just a DC voltage --
ground to enable. Maybe it was some kind of clock input.. So I put a
drive back together, cabled it up to a drive exerciser, and tried again.
You guessed it, motor runs for a few seconds and stops. And the signal on
the enable pin is just a DC voltage, it's pulled to ground when the motor
should be running.
So I investigated the motor further. And discover the transistor Q23 on
the schematic. Its purpose is to stop the motor if the output from the
CX065B rises too high. It'll do that if either the FG signal is missing
(so the CX065B thinks the motor isn't turning at all), or if the motor is
overloaded, so the CX065B has to drive it harder.
The only prroblem is that if the bearings get a bit stiff, this circuit
triggers too easily. Replaceing the bearings is a right pain (I know
_how_ to do it, but you almost always damage the FG coil and have to
unwind at least one turn and then reassemble that part, etc). There's an
ARD-unofficial-kludge, though. There's a 75k (100k on some drives)
resistor on the motor PCB, near to the connector and at right angles to
it. Reduce that a bit (68k, 56k). This makes the protection circuit a bit
harder to trigger (but it will still trigger if the motor is stalled).
Moral : If 3 identical old computer parts appear to malfunction in the
same way, they might all be faulty!
-tony