June 27, 2015
Take a look at my crt-driver GitHub repository. I tidied things up a bit and more importantly, released the Altium project files, schematics, boards, and even the output job file. It’s all licensed under the Creative Commons Attribution-ShareAlike 3.0 license. Read the Creative Commons page for the full terms, but basically you can share or adapt any of it as long as you give me credit (a link to this blog would be appreciated) and make sure that you keep the same license so that others can do the same.
If you don’t have Altium (expensive, closed source), you can at least open and edit the schematics with CircuitMaker (free, closed source, limited). Sadly, CircuitMaker will not let you edit the Altium PCB layout.
June 27, 2015
I’ve uploaded the design files for my CRT deflection yoke driver board. This works for CRTs that use magnetic deflection. For a complete design, you will need the following boards:
- ScopePower – +1KV power supply
- ScopeVideoOnly – Video amplifier, focus chain, and nothing else (the ScopeDefl electrostatic design combines this amplifier with the electrostatic deflection amplifiers)
- ScopeVideo – +60V video amp bias supply
Gerbers are in the repository but you can get them directly from OshPark by clicking the links for each board above.
This board, unlike the others I’ve developed so far, requires both +12V and -12V. My projects typically use an Artesyn NFS40-7608J but it is now obsolete and a bit expensive, so you probably should use something else for power.
There are places on the board (C6/R9, C10/R20) for coil compensation components. You can figure out the values that you need with a little experimentation.
The board is designed for a vector-style yoke, not the far more common raster scan yoke that has a high inductance vertical deflection coil with lots and lots of turns. It can usually drive the horizontal coil no problem, but you’ll want to modify the vertical winding to reduce the number of turns. Check out my blog post on winding deflection yokes for more information on making your own.
The LM4765 audio amplifier, which drives the deflection coils, will dissipate a lot of heat so you will need to bolt it onto a good-sized heat sink (at least 3″ x 3″ aluminum with fins, not some dinky little TO-220 clip-style heat sink).
Circuit operation is pretty straightforward. CRT electron beam deflection is proportional to the magnetic field which is proportional to the current in the coil, so the LM4765 controls the coil current (measured through R14/R25) instead of the voltage. The current is therefore directly proportional to the input voltage (X or Y). An extra gain stage facilitates the width/height and left/right offset adjustments.
June 20, 2015
At the electronics flea market I recently found something particularly interesting…
This is a vintage Philbrick K2-W vacuum tube operational amplifier! Turns out they have quite the following. Sadly the original 12AX7 tubes were gone–somewhere, someone probably has rare GAP/R marked tubes in their guitar amplifier. I put in some generic replacements.
I decided to build a little jig to try it out.
This is based on the inverting amplifier schematic given in the K2-W datasheet I linked above. I added a simple linear power supply to generate the +/-300V rails. If you build your own supply, be sure to add bleeder resistors so you don’t get a nasty surprise after you turn it off and try to work on it.
After connecting a 10K series and 100K feedback resistor to the op-amp, I ran a 1KHz 5Vp-p square wave from my function generator into the circuit and saw this:
Neat! The top trace is the input and the bottom trace is the output. The bottom trace has a magnitude of 50Vp-p, as expected.
It’s really interesting to see how the short paragraph of specifications at the bottom of the first page of the K2-W datasheet developed into the formal electrical characteristics tables you can see in more modern op-amp datasheets, like the 741.
June 10, 2015
Edit: Updated instructions to discuss the game ROM
Have an STM32F407 Discovery board? Have a CRT scope with XY inputs? Try out Asteroids and Battlezone for yourself.
Read the rest…
June 10, 2015
First, the source code for the mini Battlezone arcade machine is now online (GitHub), along with the code for the mini Asteroids arcade.
If you build either of those and try it out on an STM32F407 Discovery board, you will notice that no sound comes out. The reason is that the onboard audio codec has a LRCK line (left/right framing clock for the I2S audio stream) wired up to GPIO PA4, which happens to be one of the DAC outputs that we are using for the vector graphics generation. You’ll need to disconnect LRCK (U7 pin 40) from PA4 and wire it to PA15. I did it by cutting a trace (indicated with a black arrow) on the back of the board to isolate the PA4/LRCK net from the STM32:
And by adding a wire (indicated in red) on the top of the board from R48 to pin 77 (red arrow) of the STM32 (PA15):
Oh, and one more thing. To keep the audio mixer marching along, we had to connect PC6 to PC7. This ties the I2S MCLK to timer 3 channel 1, which triggers a periodic interrupt that mixes new samples into the audio output buffer. The easiest way to do this is to connect a jumper across pins 47 and 48 on the GPIO header P2. They are clearly marked on the board and the pins are right next to each other so this is easy.