I'm going into a second iteration of the project. The first step was a redesign of the XYZ sensor board. These are the major improvements:
The sensors felt slow and unresponsive on some of the darker video patterns, particularly those generated by the blob circuit. More sensitivity means darker patterns can still trigger the XY sample-and-hold circuits.
This solves the signal delay between the light detectors and XY that caused X values to be a few inches to the right of the sensor. There is now a delay in the detector pulse lasting the time taken to draw one scanline less the signal delay time. This means the X sampling occurs at the correct position one scanline down from the one that triggered the sensor.
All XYZ outputs are in a row on the PCB instead of scattered all over the board.
Better Z Axis sensing.
The Z axis circuitry now uses a Sallen Key low pass filter to remove the 60Hz signal. It's amplified to a 0-5v range and buffered now too. The Z-axis audio mixer has been removed. It's going on a separate PCB now.
Ramp Circuitrs trigger from Hsync, Vsync.
In the previous design I was partially correcting the signal delay by generating seperate timing pulses on the VGA board instead of triggering the ramps with Hsync and Vsync. The monostable delay completely corrects the signal delay, so this is no longer needed. An additional transistor went into the pulse triggers because Hsync, Vsync are normally high pulse low.
Schematic of the redesigned sample-and-hold trigger circuit and the Z axis circuit.
This board does not contain VGA signal generation circuits like the last one did. It takes Hsync and Vsync from an external source and contains the circuitry to produce five XYZ values with phototransistors.