Cumana CS400 switchable drive - noises and disk errors

for bbc micro/electron hardware, peripherals & programming issues (NOT emulators!)
iamaran
Posts: 288
Joined: Tue Mar 14, 2006 8:08 pm
Contact:

Re: Cumana CS400 switchable drive - noises and disk errors

Post by iamaran » Wed Mar 20, 2019 10:11 pm

Thanks to his innate kindness (and I strongly suspect my ineptitude :wink: ) Kazzie has kindly offered to look at this drive for me.
Thank you to everyone that has given me advice on this.
Last edited by iamaran on Wed Mar 20, 2019 10:11 pm, edited 1 time in total.

Kazzie
Posts: 785
Joined: Sun Oct 15, 2017 7:10 pm
Location: North Wales
Contact:

Re: Cumana CS400 switchable drive - noises and disk errors

Post by Kazzie » Wed Mar 27, 2019 8:38 pm

The Cumana drive came by courier this afternoon, and I sat down to take a first look at it this evening. (And thanks to iamaran for the added extra in the parcel!

Preliminaries first: the drive behaves exactly the same on my Beeb as it had for iamaran. Solenoid clicking like mad when reading a disk, cataloguing works, but trying to load a file doesn't. The Cumana power supply is good and stable under load, and a change of power supply and cable for one of my own made no change.

Working on the underside board, looking for continuity from the solenoid's connectors to the "P3" edge connector between the two boards: no continuity found. Checking elsewhere on the board, I was surprised to find continuity to two pins among the mass of solder points in the bottom left of the picture iamaran posted previously. I partially disassembled the motor in order to remove the underside board, so I could find out what was on the other side:
IMG_20190327_1903004.jpg
The three chips seen are M54545L bi-directional motor drivers. One of these is used solely for controlling the solenoid.
M54545Lpinout.png
M54545Lpinout.png (12.97 KiB) Viewed 355 times
The solenoid is connected to the outputs, pins 3 and 7. The three power supplies are connected together, and a continuity test shows the two inputs (pins 4 and 6) are connected to pins 8 and 9 respectively of the "P3" edge connector, and thus to pins 11 and 12 of the MB8843 CPU. In other words, it turns out the TD65203 has nothing to do with the solenoid at all!

Probing these inputs shows a series of three 5V pulses from the CPU, which correspond to the solenoid clunking back and forth. (I haven't compared their timing to each other, as I only have a single input scope at home.) The outputs show corresponding pulses at a higher voltage. So there's no reason to think the M54545L isn't working correctly.

As an aside, I also checked the connections of the MS and HS jumpers. The lower pin of MS and HS are both connected to pin 28 of the MB8843 CPU, as tested earlier. The upper pin of MS is connected to pin 16 of the data cable (the MOTOR ON wire), but the upper pin of HS is connected to pin 27 of the CPU.

Taking a close look at the solenoid from the underside, I could see that there were two "stops" for the solenoid's arm, which originally had a rubber ring around them. The rubber has decomposed into a sticky black goo (as often happens), and doesn't really dampen the impact of the solenoid arm like it would have when new.

That's it for tonight. There'll be more to come in the next few days.
BBC Model B 32k issue 7, Sidewise ROM board with 16K RAM
Archimedes 420/1 upgraded to 4MB RAM, ZIDEFS with 512MB CF card
Acorn System 1 home-made replica

User avatar
1024MAK
Posts: 9055
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: Cumana CS400 switchable drive - noises and disk errors

Post by 1024MAK » Thu Mar 28, 2019 7:55 am

Ahh, I feel the Black Box dilemma coming on... :(

Is it the black box that is faulty (we don’t know what’s inside and we can’t get a spare/it’s expensive, so it must be that...)(the CPU/microcontroller) or is it just that the CPU/microcontroller is reacting to an incorrect input from a sensor/another circuit? And if so, which input and which sensor/other circuit? :-k

Mark

Kazzie
Posts: 785
Joined: Sun Oct 15, 2017 7:10 pm
Location: North Wales
Contact:

Re: Cumana CS400 switchable drive - noises and disk errors

Post by Kazzie » Thu Mar 28, 2019 8:34 am

1024MAK wrote:
Thu Mar 28, 2019 7:55 am
Ahh, I feel the Black Box dilemma coming on... :(

Is it the black box that is faulty (we don’t know what’s inside and we can’t get a spare/it’s expensive, so it must be that...)(the CPU/microcontroller) or is it just that the CPU/microcontroller is reacting to an incorrect input from a sensor/another circuit? And if so, which input and which sensor/other circuit? :-k

Mark
There is an element of that. But if no other solutions make themselves apparent, it might be possible to bypass that black box and control the solenoid's motor drive manually with the MOTOR ON signal (and maybe a little bit of glue logic).

Edit to add:

I gave the drive another poke this morning before heading in to work, powering the drive, but without connecting the data cable to my Beeb. With the jumper in the MS position, and pulling the MOTOR ON signal down (with a wire stuck in the end of the cable), the motor spins as expected, and the solenoid does it's clicky dance when a disk is inserted. But when I put a disk in upside-down by mistake, the solenoid didn't do anything. As the immediate effect of putting the disk in upside down is that the disk's index hole is no longer next to the index sensor, that suggests that this is involved in the MB8843 deciding whether to activate the head solenoid or not.

(In the HS position it didn't do any clicking whichever way the disk was in: presumably waiting for a DRIVE SELECT signal.)

Conjecture:
  • The MB8843 microcontroller only allows the head solenoid to be engaged when the drive is spinning and a floppy disk is in.
  • The MB8843 controls the motor according tothe MOTOR ON signal, so it knows what it's doing
  • If if sees index pulses then it knows a disk is inserted and rotating
  • If, for some reason, the pulses are only seen intermittently, then the MB8843 could be engaging the solenoid, only to decide that it needs to disengage it a moment later when it misses an index pulse
Last edited by Kazzie on Thu Mar 28, 2019 9:29 am, edited 2 times in total.
BBC Model B 32k issue 7, Sidewise ROM board with 16K RAM
Archimedes 420/1 upgraded to 4MB RAM, ZIDEFS with 512MB CF card
Acorn System 1 home-made replica

User avatar
1024MAK
Posts: 9055
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: Cumana CS400 switchable drive - noises and disk errors

Post by 1024MAK » Thu Mar 28, 2019 1:43 pm

I’m glad my comment got you thinking outside the box :lol:

Is the index sensor an optical type? It could be that the IR LED has degraded and now has reduced light output, the IR transistor may have degraded, or there is a fault in the amplification and detection/threshold circuitry associated with the IR transistor.

Mark

Kazzie
Posts: 785
Joined: Sun Oct 15, 2017 7:10 pm
Location: North Wales
Contact:

Re: Cumana CS400 switchable drive - noises and disk errors

Post by Kazzie » Thu Mar 28, 2019 8:39 pm

Back to the observations:

With the jumper on HS, and both the DRIVE SELECT and MOTOR ON inputs pulled low on the data cable, the drive behaved as expected (head solenoid dancing with disk inserted correctly, no solenoid activity with disk upside-down).

The voltage output of the index sensor's IR detector seems to be healthy: it switches crisply between ~0v and ~5V depending on whether it's covered or not. That's before tracing where the signal goes (to resistor R40, then who knows!).

The IR LED is mounted within the motor coils (see picture below). Its traces go underneath the coils, then down along the right side of the board (as pictured). One trace goes via R55 to ground, the other it connected to the 12V supply. So there's no active control of this LED.
IMG_20190328_1937434.jpg
There's a voltage drop of 10.81V over R55, (with the 12V rail reading 11.99V). In-circuit testing of R55 gives a resistance of 507 Ohms, which is well within tolerance (Green-Brown-Brown, Gold tolerance = 510 Ohm +/- 5%). Having shifted the IR detector out of the way, my (IR-sensitive) phone camera shows the glow of the IR LED:
IMG_20190328_2011432.jpg
(The detector will probably need recalibrating back to its correct location in order to read floppies from other drives now, but that'll be easy to do, if we can get the solenoid behaving again.)

One last detail for tonight: one of the capacitors on the top board, C2 (47uF, 10V), has leaked. I can't see any likely connection to the IR detector, but I'll take a closer look over the weekend.
IMG_20190328_2031354.jpg
BBC Model B 32k issue 7, Sidewise ROM board with 16K RAM
Archimedes 420/1 upgraded to 4MB RAM, ZIDEFS with 512MB CF card
Acorn System 1 home-made replica

Kazzie
Posts: 785
Joined: Sun Oct 15, 2017 7:10 pm
Location: North Wales
Contact:

Re: Cumana CS400 switchable drive - noises and disk errors

Post by Kazzie » Fri Mar 29, 2019 2:12 pm

Update: the floppy drive came to work with me, and I used a work scope to poke it over my lunch break.
IMG_20190329_1142139[1].jpg
Probe 1: Raw output of index sensor
The index sensor is giving clean, regular output, at a frequency of 4.958Hz (297.5rpm, spec is 300rpm).
IMG_20190329_1145042[1].jpg
Probe 1: input 1 to M54545 solenoid driver
Probe 2: input 2 to M54545
Meanwhile, on the solenoid, we can see voltage being applied one way, then the other, three times in succession (then a stand-off period), causing the solenoid to dance about and not stay down properly.

Having removed the upper circuit board and traced out the index sensor's signal, this is what I came up with:
IMG_20190329_1317141[1].jpg
From Index Sensor to IC3
The output of the index sensor is amplified by Q5 (a 2sc2785 NPN transistor), and the resulting output is sent through a Schmitt Inverting Gate (IC6) before being handed over to pin 10 of IC3, a 74ls423.

This is where things get interesting.

The 74ls423 is a pair of monostable multivibrators (or "timers") which generates an output pulse of some given length when triggered.
74ls423 crop.png
One half of a 74ls423
74ls423 crop.png (9.41 KiB) Viewed 271 times
On this board, trigger 2A is grounded, so only input 2B (our index signal on pin 10) is relevant for triggering it. I checked the clear input, and it's held high (inactive) while the drive is spinning. The length of the output is determined by a resistor and capacitor connected to pins 6 and 7. Here is the chip itself on the board:
IMG_20190329_1311031[1].jpg
IC3, a 74ls423, with capacitors nearby
Look what we have next-door: three leaky electrolytic capacitors! (The fourth on the far right is the one photographed previously.)

Timer 2 uses the middle capacitor (C25, 22uF) and a nearby resistor (R37, 47Kohm) to control the length of the output pulse. The formula given in the datasheet is time=0.33*Cap*Res. Substituting in the values read off the components gives a time period of ~0.34 seconds. That'd be longer than the interval between our index pulses (5Hz = period of 0.2s), so as long as we keep seeing index pulses from our spinning disk the output should stay active.

But let's see what we're actually getting:
IMG_20190329_1308443[1].jpg
Probe 1: IC3 pin 10 (index pulse input)
Probe 2: IC3 pin 5 (timing pulse output)
The output only stays high for 0.1s (110ms) for each index pulse, which means that the output is constantly switching on and off. This is probably due to the capacitors leaking their electrolyte, and now having a far lower capacitance than their label would suggest.

On that basis, here's what I think the MB8843 microcontroller is doing:
  • Sees the output of the ls423 timer go high
  • HS/MS jumpers are set up correctly, so decides to lower head
  • ls423 timer output goes low, concludes disk is no longer spinning properly, and raises head
  • ls423 timer then goes high again, so lowers heads
  • Timer's low, lift the heads again
  • Timer goes high again? Best lower the heads
  • And the timer's low yet again. raise the heads again.
  • That's three times the timer's gone on and off. Is the motor not quite up to speed yet? I'll ignore the timer for a bit, then see what''s happening
  • Loop back to top
That results in the "triple-clunk" of the solenoid jiggling the heads three times every few seconds.

The proof of this will be in replacing those leaky capacitors, and seeing if there's any improvement in the drive's behaviour. I've grabbed a few from the bit-box at work, and I'll warm up the soldering iron tomorrow.
Last edited by Kazzie on Fri Mar 29, 2019 7:29 pm, edited 4 times in total.
BBC Model B 32k issue 7, Sidewise ROM board with 16K RAM
Archimedes 420/1 upgraded to 4MB RAM, ZIDEFS with 512MB CF card
Acorn System 1 home-made replica

iamaran
Posts: 288
Joined: Tue Mar 14, 2006 8:08 pm
Contact:

Re: Cumana CS400 switchable drive - noises and disk errors

Post by iamaran » Fri Mar 29, 2019 3:28 pm

All I can say is "thank you very much" for your efforts and "there's no way I could have done all this!"

User avatar
1024MAK
Posts: 9055
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: Cumana CS400 switchable drive - noises and disk errors

Post by 1024MAK » Fri Mar 29, 2019 3:37 pm

Sir, may I present you with my findings: the guilty party is Mr Electrolytic Capacitor in the PCB with the leaky electrolyte. By following the clues, I have concluded that it is Mr Electrolytic Capacitor that did the dirty deed and ‘done in’ in Mrs Floppy Drive. Chief Inspector, remove Mr Electrolytic Capacitor at once.

Mark

Kazzie
Posts: 785
Joined: Sun Oct 15, 2017 7:10 pm
Location: North Wales
Contact:

Re: Cumana CS400 switchable drive - noises and disk errors

Post by Kazzie » Sat Mar 30, 2019 10:01 am

I desoldered the two 22uF capacitors and the 0.47uF capacitor this morning. The 0.47uF was still in spec and "holding it's eleectrolyte", but the 22uF capacitors were now reading approximately 7uF each. No wonder the head wasn't staying down as long as it ought to! I replaced the leaky pair, and also the 0.47uF, as I had some to hand.

(The other leaky capacitor, the 47uF, is staying in place for the time being, because I don't have a suitable capacitor that is small enough to fit inside the case. There'll be some in the post on Monday.)

Here's a link to a video of the drive cataloguing and loading from the floppy disk: https://vimeo.com/327430446

All fine and dandy :D
BBC Model B 32k issue 7, Sidewise ROM board with 16K RAM
Archimedes 420/1 upgraded to 4MB RAM, ZIDEFS with 512MB CF card
Acorn System 1 home-made replica

iamaran
Posts: 288
Joined: Tue Mar 14, 2006 8:08 pm
Contact:

Re: Cumana CS400 switchable drive - noises and disk errors

Post by iamaran » Sat Mar 30, 2019 10:32 am

Thanks ever so much for your time and trouble. PM sent.

Post Reply