in progress... will be edited
Recently I had a few disks that had some tracks that would not read at all.
Speculating that the problem may be that they were written on a drive with a differently calibrated track 0 calibration sensor, I wanted to try adjusting the sensor position.
However, I didn't want to disturb the factory setting unless I had a way to put it back. I spent weeks pondering how to accurately measure the current position so that I could restore it.
At 62.5 Tracks Per Inch and 8 steps per track, the resolution of the head carriage is 0.002" (0.0508 mm), so I figured I needed to be able to restore the position within 0.001" to safely consider moving it.
A complication is that the optical sensor is not mounted in a way that tightly restricts its rotation, so I would need to measure the carriage location when the sensor triggers rather than the combined location and orientation of the sensor itself.
Then the light bulb went off, and I had a nice nap. Having slept on the problem I realized another approach was available, which is to switch in a separate adjustable sensor so that the factory setting can be left undisturbed.
With a switch I could then toggle back and forth between the factory sensor and the adjustable one, making a particular recal operation lock on either position in a repeatable way.
Reviewing various revisions of the Twiggy digital board schematic, one sees that the track 0 cal sensor circuit had been redesigned a few times. The changes appear (to me) designed to improve the precision and consistency of the trigger operation. I presume this is to make the Twiggy tolerant of swapping digital boards after the sensor position is set. The final design uses 1% resistors for the opto-emitter current and opto-transistor load, and a comparator to minimize hysteresis.
To add a sensor in parallel without affecting the current when the original sensor is in use, I opted to use a DPDT switch to switch both the power input to the opto-interrupters as well as the outputs.
I 3d printed a holder for an opto-interrupter, wired it into the DPDT switch on a small perfboard with connectors to interpose it between the circuit board header and the factory sensor socket. I made a clip-on fin out of the thin SS from a 3.5" floppy disk shutter to add to the carriage.
The final result did seem to work out for the particular disks... when trying to read the problem tracks/sectors, I used the "read varying speed" option which gives one the ability to recal more-or-less on demand and with some trial and error, was able to read all of the sectors.
However, you probably don't need to make one:
There is some speculation that BLU, at some point, will have the ability to do off-track micro-steps during the read-varying-speed option, making the adjustable cal sensor unnecessary.
... and ...
Since working on the adjustable cal sensor, I think I have discovered that the FDC uses the track 0 calibration as a fixed datum only when formatting.
When reading (or reading address fields in preparation to write data), it does some off-track micro-steps to hunt for the best position to read a particular track. I don't know any details yet, perhaps this happens only at the speed check stage for a track, and it may be very limited or not very smart/reliable.
Since the speed bytes and address fields are written only once when the disk is formatted, it isn't clear how the data fields of these particular disks could have a small portion that doesn't align in the same way as most other tracks on the same disk. Perhaps a mechanical glitch such as the disk not clamping correctly when these portions were written, or some electronic glitch causing the carriage to be out of position.
A potential use of a (mal) adjustable cal sensor would be to format disks that are intentionally out of alignment; eg. for testing the ability of other drives to compensate. If someone needs such a disk, let's discuss.
Some pics
https://www.flickr.com/photos/114907644@N04/albums/72177720323983848