Color Vector Pattern Generator

Almost a year ago I posted in my Star Trek Captains’ Chair worklog that I intended to modernize a old XY Pattern Generator design on the interwebs. Many of the guys on VectorList provided valuable insight into the interworkings of the circuit… and provided many layers of helpful advice.

The result was a working prototype board from BatchPCB.com as a dual sided board. Surface Mount ( yes; I can hear the screams of horror ) as I wanted to minimize PCB size and thereby cost.

There were several key learnings that I’ve noted while building, debugging, and using the Vector Pattern Generator. These learning were as follows and have been incorprated into the FabB design:

  1. The clock generator circuit (3.578MHz xtal) and U1ABC was not “locking”. This was due to the buffered logic of the newer 74HC* logic. Some research on the internet indicated I needed a 150pf cap from pin1 U1A to ground to allow the clock generator to exite enough to lock.
  2. The -12V buck converting power supply wasn’t outputing the correct voltage. It’d start out at ~11V…. the drop to ~5V over several minutes. On my debugged board; shorting R26 (10meg ohm) allows the -12V to become rock steady at -11.8V. Unsure here; the Maxim EE sim was very specific on the 10meg ohm value… but the maxim datasheet indicated two modes for VL to operate in. So for now will error on the practical side.
  3. The 5V regulator did not have enough copper to heatsink to. FAB B has a large 5V copper heatsink built into the board for the linear regulator. For my prototype; I thermal epoxied a small heatsink from a old motherboard onto the top of the regulator to give it some thermal sink.
  4. The Linear POT datasheet was missing details regarding the LED side of the POT. One hole was off and was moved to match the device.

I also included the following “Nice to Haves” into the FabB design:

  • Retrofitted EPROM sockets to enable A11 for a 27C32 eprom(s)… allowing for more user designed test patterns.
    NOTE: A11 is hardwired to high to match 2716 eproms configurations. No clock/decode is provided for A11. Future FabC work if a solution can be found.
    At this time you can use either 2716 or 2732 eproms in this design.
  • Renamed topside adj pots to indicate X and Y.
  • Converted to 3pin jumpers so the jumpers can be mechanically sound when output swing is not shorted.

I have decided to release my portions of this design under to the public under the TAPR Non-Commercial Open Hardware License which indicates:

You may make products based upon this design, provided you do not make more than ten units in any twelve month period for your personal use.

If you agree with the license terms and are interested in the FabB schematics; they are here:

Vector Pattern Generator: Fab B Schematics(Click here to open as PDF)

For those without PCB layout tools; a bare PCB is available from the batchpcb service for under $65. You can purchase the boards from this link:
http://batchpcb.com/index.php/Products/91905

The Bill Of Materials (BOM) of the board is available from Digikey for $75.51 (as of this post).
A bom is included with the schematics PDF above, but An XLS file with the digikey part numbers with the complete package of the materials above as a single download: XYpatternFabB_pkg.ZIP
You will need to source your own 2716 or 2732 EPROMs as Digikey does not carry them. You’ll also need to source your own 14-16VDC wallwort … you may already have a donor in your parts bin leftover from a defunct piece of equipment.

ROM images for the EPROMs can be downloaded from several sources. Hint: Do a search for XY ROM images .zip in Google.

Use the ROM images as-is for 2716 EPROMs. For 2732 EPROMs; just dup the roms using the following dos commands (as an example):

copy /B X.BIN+X.BIN x32.bin

/B is important as it tells copy that the files are binary, not ASCII files.

The Author is still using the FabA prototype; he has not yet built FabB so YMMV.  The changes from FabA were relatively simple; so building these should be a low risk.

The active components (switches, linear pot, adjustment pots, jumpers, and video connector) are all populated on the reverse side. This will allow me to put the board on standoffs and a acrylic top on the device to protect it from dust/flying multimeter/scope probes.

The board is still quite big even with the surface mount components measuring 5.1×3.9in tall. By far the largest parts on the board are the EPROMs… maybe one day I’ll figure out how to move the EPROMS into a single EEPROM device and surface mount it.

So; what does the Fab A prototype look like?

Click to see higher rez pictures

Vector Pattern Generator: Primary side

This is the primary side; which faces the workbench in normal operation.

Vector Pattern Generator: Secondary side

This is the secondary side. It becomes the “top” of the unit so the user can adjust settings and the like.

Please Note: This implementation is not perfect… there are some issues with the vector generation that I haven’t been able to debug. The imperfection does not really limit the functionality; as you can easily converge and debug a vector monitor with the vectors. I am hopeful someone can help me debug the issues so we can release a better project long term.

Overall the generator worked quite well as I was able to get my ElectroHome G08 monitor converged.

Vector Pattern Generator: Box pattern

I can’t explain the center vectors… nor why the lines become squiggly. They don’t move; it’s always that way.

Vector Pattern Generator: Cross pattern

Strange that the site pattern doesn’t seem to suffer from odd vectors.

Vector Pattern Generator: Box & Cross pattern
Vector Pattern Generator: Horizontal Lines pattern
Vector Pattern Generator: Vertical Lines pattern
Vector Pattern Generator: H&V Lines (crosshatch) pattern

As you can see; the generator works well enough to converge a vector monitor…
At this point I’m not sure if the odd vectors / none straight vectors are the result of a software problem (EPROM images) or a hardware problem.
It’s possible the software isn’t reacting well with the faster hardware (HC logic, better opamps); but unsure.

Things I still need to do [if I ever find the time]:

  • check the +12V portion of the buck converter. Right now I’m using the backup +12V linear regulator (U9).
  • Create an enclosure to house the unit.
  • Figure out how to clock A11 to enable full 2732 support; thereby more test patterns.
  • Figure out why the vectors aren’t “clean”.

Paint matching powdercoat to other colors

During my Star Trek Captain’s Chair Restoration; I found myself wanting to paint match some powdercoat to the existing color of the plastic side panels on the chair.

Please note: Readers are responsible for their own sacrifices to the blood god. Safety first– if you injure yourself implementation of this guide; expect we’ll take no responsibilities. Commentors at Hack-A-Day have indicated that MEK is flammable (as does the label) – so please take the appropriate precautions.

Required materials:

  • Glass or metal mixing vessels  (an airbursh jar works well)
  • Methyl Ethyl Ketone (MEK)
  • A set of Powder Coat colors to mix the colors
  • A paint sprayer… HLVP, Gravity fed, or Airbrush
  • A Panatone(r) Color Cue(TM) or similar device (optional).

Powdercoat using this method appears to be every bit as robust and scratch resistant as normal powdercoat. The author has seen no negative material properties from using MEK instead of a powder coating gun (electrostatic).

For the beginner; Harbor Freight may be a good stop for the primary colors – they usually carry White, Red, Black, and Yellow. Unsure about Green and blue. I also use HF touch up paint guns, HLVP, and airburshes to apply my MEK solutions.  Caswell plating is also a good source for many a color. MEK can be purchase in the paint area of most home improvement stores – I buy mine at Lowes.

I wanted to paint match the powder coat because my chair controls have began to peel and rust. They’ll need to be redone so I wanted them to match the newly retr0brighted side panels.

While the used of the color cue is a good starting place – it isn’t required; you can manually mix colors by eye until you get it right… as you’ll see; I used the color cue to get initial color suggestions (or base colors if you will); then added pure white to bring the color closer to that of the plastics.

I started by measuring the sRGB color of a retr0bright-ed side panel using my Pantone(r) Color Cue(tm) device which I got off of Ebay several months ago and it came up with r246 g230 b198. I pulled these values into the RGB to commercial Tints page at EasyRGB.com. This gave the closest RAL numbers which to match to. I then went to google and did a search for RAL-1013 powder coat which returned a result to powder365.com for their ” Oyster White ” powder coat. Then using the HTML code #F6E6C6
I also used the RGB browser to convert to “RAL Classic” listed six colors with % equivalent matches to my original scanned color.

% 1-?C Color name
96% RAL 1015 Light ivory
94% RAL 1013 Oyster white
93% RAL 9001 Cream
92% RAL 1014 Ivory
90% RAL 9010 Pure white
89% RAL 9002 Grey white

I also did searches for other color combinations and ended up selected the following three colors from powder365.
1lb x RAL 1013 OYSTER WHITE (340/10MIN)
1lb x RAL 7035 LIGHT GREY (340F/10MIN)
1lb x TEXTURED ALMOND (380F/20MIN)

The idea was to put each color on a test piece to see how close to match and pick one which looked the best.

For more information on color matching using the Color Cue; please see Pinball Pal’s Color Cue page.

During my research; I also came across a post to caswellplating.com’s forums which talked about mixing the powder with MEK to “melt” the powder into liquid form for the purpose of correct a blemish on an existing powder coated part. This sparked an idea – why not use the MEK to mix powders together to get an even better color match. I have a quart of MEK in the garage – so it was time to experiment.

I knew the grey wouldn’t really match – it was too grey; so I used MEK to melt it and used a hobby paint brush to apply it to the scrap piece. I then used regular power coating equipment to lay down the almond and oyster for comparison. For the last color; I decided to mix some grey, 2 TSP of pure white (purchased at Harbor Freight), 2.5 TSP of oyster together with a generous helping of MEK to turn the powder to a grey-white “milky” formulation. I applied this with a paint gun:
MEK Test Piece
From Left to Right: RAL-7035+MEK (under thumb), Almond, RAL 1013, and MEKMix

The Right most Grey is “uncured” IE that is how it goes on being applied with a paint gun. Looks fully cured already. and the lines were created with standard blue painters tape. Be-aware – that MEK powder liquid acts just like any paint… it will dry on everything. so protect from over-spray and wear gloves. Unlike the powder form of powdercoat; it can’t just be wiped off of surfaces.

The cool thing about MEK powder-liquid is reportedly it can be used on Plastics and Wood… using low cure temperatures. Ideal for paint matching on cases or other non-metal projects.

With MEK; it looks like one could color match any color given enough patience and primary colors to choose from. Now with this knowledge; it was time to do some actual paint mixing for the purpose of matching the side panels.

I went to work on the control panels:

As you can see the control panels are in need of some TLC. As typical for this machine; the Fire control panel label has begun to deteriorate and is peeling away from the metal. So I removed the label manually – then used Xytol to soak the piece for about 5minutes to soften the label adhesive so it could be removed with a plastic paint scraper. I continued cleaning/soaking the bracket until all the label residue was removed:

Then I sandblasted the bracket w/ ALO2 to remove the rust and other residue. And then finally; I wiped the bracket clean with some clean MEK to remove and remaining dust and oil from the surface.

I then proceeded to powdercoat the underside to the bracket with the Oyster White Powder coat.
For the front; I did an MEK liquid mix as discussed previously. This time I started with a base of 2.5 TSP of Oyster White powder coat and added 1.5TSP of pure white Powder coat. I then mixed with approx 1/4cup of MEK to form a 2% milk-like consistency. I color checked the mixture by using a small paint brush to apply the color to the underside of on of my plastic pieces. This mixture was nearly a spot on match to the plastic so I decided to go with it. I loaded the MEK liquid powder coat to my touch up paint gun

And painted the front / sides with this MEK paint match. Here it is “air cured”:

Once it is dry to the touch / safe to handle (usually about 20minutes); I place the bracket in my powder coat toaster oven for initial curing. during my test runs; I noticed that if you attempt a full cure (400F / 20minutes) with the MEK solution still wet – it will “Boil” the paint leaving rough spots. So I put the piece in the oven at 150F / Warming setting for 10minutes to allow the MEK to evaporate. Then I crank the piece up to 400F for 20minutes for the final cure.

Once the piece cooled to room tempeature; I did a test match against a retr0brighted piece. First; here’s the stock Oyster White (back of bracket):

Notice the slight yellow hue vs the plastic piece.

Here’s the MEK paint match 1.66:1 (oyster to pure white):

I call that a match!

Incidentally; The Color Cue captured an sRGB255 value of 237, 225, 192 for the color matched piece (color code EDE1C0).

Please check out the remainder of the worklog – where I used an airbrush and a laser cutter to create powdercoated labels on the pieces:
1982 Sega Star Trek Captains’ Chair Restoration

Open Source Sega / Gremlin G80 PSU boardset

Over the past couple of weeks; I’ve been designing a replacement G80 PSU for the Sega/Gremlin G80 Vector machines specifically for my Star Trek Captain’s Chair.

I began by using National’s WebBench to design a simulate the 5V and 12V switching PSUs which would replace the linear PSUs on the original board. IMHO; the problem with existing linears is that you’re limited to the Pd of the BJT in the circuit. That BJT leads to a lot of wasted heat in the system. Having said that; I like linear supplies as they are easy to debug and build… for less than 1A of draw.

The Transformer and diode bidges will remain. My intent it to have the board somewhat drop in place of the existing board. I say somewhat; because the power-MOSFETs will need to be bolted to the existing heat sink on both switchers. I’ll probably keep the linears for the negative rails.

I imagine one will have to drill and tap the existing heatsink with some new mounting holes for the mosfets.

Web-bench gave me the following designs:
5V >4A Switcher

12V >2A Switcher

These boards were laid out and put on a single piece of FR4 so they can be assembled as a pair. The design is currently in my BatchPCB shopping cart; waiting for the parent board to complete it’s design phase. Nothing really to write home with regarding these PCBs… I expect the 5V switcher to meet a minimum of 5A… possibly much higher. It’ll likely be limited by the 8A diode bridge on the main parent board. The 12V switcher should meet a min of 2A… probably limited by the 4A bridge on the parent board.

The main parent board is the host for the switching board pairs; and holds the audio amp(s). The main board is currently in development; I’m adding the 12V diode bridge and the final audio AMP.
12V >2A Switcher
Clearly this is an eye-chart schematic. It might be easier to look at the segaSTpsu_rev-99 .

The first notable change is that I’ve replaced the main Audio AMP #1 with a ClassD part from Maxim: MAX9742. This integrated AMP IC should provide specs better than the original discreet amp on the board. It’s configured as a bridge tied load (BTL) targeted for a 23V/V gain with a -3dB frequency of 25Hz. This -3dB frequency and gain was obtained from a spice simulation of the original discreet circuit.

Other notable changes include:

  • Q23 (2N3906) makes “pull down” pulse remover for the CPU board. In the G80 PSU; R23 and D1 make up a pulse circuit which is sent to the CPU board. The CPU board has a 555 timer which implement a missing pulse detector. If a pulse is missed; it puts the CPU into reset. If my theory holds; the 2N3906 acts as a pull down preventing pulses from reaching the 555 timer – which puts the cpu in reset. So if my switching PSUs are not in regulation; this transistor effectively provides a not-“power good” signal to the CPU.
  • U3, U4, and U5 are power good circuits / detectors. U3 is a MAX8215 which monitors the 4 main digital rails to the G80 card cage: +5, -5, +12V, and -12V. These four voltages are “compared” and if in regulation a high is placed on the OUTx lines. These four signals are ANDed together and sent to DIN where it’s “delayed” by ~200mS via C20/R12. This allows the PSUs to stabilize before the CPU is given the “OK” via Q23. U5A and U5B/A1 provide “power good” LEDs for the various power rails – to aid in quick debug of the G80 PSU.
  • U2 provide a local 3.3V linear PSU to power U5 and the pullup on OUT3 (+12V m0nitor). This was done to enable OK12P to drive !SHDN on the ClassD amp. !SHDN cannot have more than +4V driven into it – hence the 3.3V source/pullup. Idea is to prevent premature popping/clicking while the PSU(s) are coming up. The 12V should take the longest to come in regulation and it’s also similar to the VDD/VSS supplies used in the ClassD amp. Additionally !RESET (Dout/U3) drives the “mute” pin of the (SFT / U1) meaning the ClassD amp should remain muted until the “power good” signal is sent to the cpu board.
  • C32/33/L5 (and C27/24/L12) provide a PI filter to reduce vripple into the switching regulators- increasing their stability.
  • I kept Linear Regulators for the lower power rails (-5 and -12) but upgraded the regulators to the National LM2990 as they provide better short circuit protection and slightly more current (1.8A). If desired; one could “in theory” drop in the cheaper/older 79xx series  negative regulators to save costs. They are pin compatible.
  • I’ve put fuses on the +/-12V regulator inputs which are missing from the original G80 design. F6 is a resettable fuse given it’s low power and we need board real estate for other items.
  • Finally LEDs were put in parallel and under the glass fuses on the board. The theory is that if a fuse blows; the LED become a small 10ma current path and the LED lights indicating to the user that the fuse is blown. I neat debug feature if you ask me -hope it works.

I hope to complete the main board design as soon as my upgraded pcb license comes in.
Once I finish the design and validate/test it… I plan to release the design and PCBs via the TAPR open source license.

See a design error? Speak up!