This is a nearly blow by blow journal of rebuilding a 1 Joule Lumonics / JK Lasers ruby laser and making a hologram with it. It contains a great many inaccuracies and incorrect conclusions, but I wanted to leave them in to document the process of their correction. So read it all the way to the end.




Scrubbing bubbles:

The coolant lines are coated on the inside with dried out something. Probably algae. Replacing the tubing in the umbilical would be a nightmare. I've been circulating water through it in an effort to dissolve things. Adding bubbles to the water with an aquarium pump improves the scrubbing, without being chemical or abrasive. Just don't add too many, or the pump stalls.


All the micrometers and adjustment screws for the optics were goo-ed. The lubricant was all dried up and nearly frozen. I got all but the lower screw on the output coupler un-wedged, soaking everything with WD40 and then wiping out all the threads with q-tips. Hopefully WD40 will get the last screw un-frozen.

Minor q-switch enlightenment: it could be going from negative 3.2k to 0, to positive 3.2k. That makes the "balance" control on the original q-switch driver a little more logical as well. It adjusts the voltage the first SCR stack switches.


energy management card component substitutions:
2N2647 unijunction transistor  2N6027?  (30V 300mw SCR)
  there are /no/ SMT unijunction transistors

BC107/BC109  NPN small signal for general purpose amp
  107 is slightly higher voltage rating than 109 
  BC546 is modern part (more or less) and should work for both  (No SMT)
  2PD601ASL,215  is SMT.  There is weirdness with the hfe.

1N4148  100V 200ma rectifier  currently available   Yes SMT
2N4402 bipolar small signal PNP available but getting obscure  No SMT
  771-PZT2907A-T/R  SMT  
  BSR16   MMBT4403
3.9V zener
5.6V zener

741 opamp   324?  
I2C controlled POT?
  DAC7571IDBVTG4   0 to 5V I2C DAC  12 bit
  DAC8571IDGKR     0 to 5V I2C DAC  16 bit
  These will need an opamp to negate and get to 15V for the existing circuit

4093: quad 2 input NAND Schmitt triggers high voltage (20V).

Also disconnected the pump chambers from the coolant loop, and put some cascade in to try and clean out the algae. With the aquarium pump, it made some pretty impressive foam.


Assembled the cooler.

The first plan was to put the de-ionizing cartridge in line with the laser. That didn't work, the pump couldn't get enough water through the cartridge. So, put the cartridge in parallel with the laser. That worked better, but the pump was not able to reliably trip the pressure switch for the laser's interlock. Except that then it started being reliable. (and problems which go away on their own, come back on their own.)

The laser should really have a flow sensor, not a pressure sensor. And the fitting at the bottom of the tank (Home Despot bucket) is leaking. Epoxy is apparently combatable with de-ionized water.



The YAG controller, while mechanically compatible, IS NOT electrically compatible. V.35 connectors are lettered, not numbered, so the schematics are useless for determining pin-outs. From continuity probing, the various 220V hot and neutrals would have been more or less shuffled, and probably dead-shorted.

An adaptor would have to be built, involving two V.35 connectors at $22 each. MEH. So the question is wether to press on with testing with existing hardware, or go straight for the re-engineered one.

The cooler is no longer leaking, and still does not reliably trip the pressure sensor. The current plan is to reverse supply and return, so the pressure sensor is further up-stream, and sees more pressure. The ideal plan would be to replace it with a flow sensor.


M.34 connectors are obscenely expensive. The pins are $2 each. But replacing the connectors on the capacitor cabinet would suck even more. This does mean I've bailed on buying a female connector to do an adaptor for the YAG controller. I'll attempt to rearrange its pins instead. That will allow me to observe what the original circuitry does.

Unijunction transistors are also surprisingly expensive, though mostly because the minimum order is 500 of them. Its an archaic component, used for simple oscillators. I think I'll replace it with a 555. They are also archaic, but are currently available.


After much poring over schematics, I've convinced myself that the YAG controller is in-fact electrically compatible. All the pins line up, and all the signal lines (SCR, PD2000) go to the right places. All the shields being tied together with frame GND threw me off.

So, I applied power. The interlock was not closed. After some debugging it was determined that the interlock override switch is defective. That is not a part I would expect to fail. On attempt number 2, there was the usual explosions flames and smoke.

C3 on the power card exploded. It was an old tantlium so that may not be surprising. It went from the +15V rail to GND, after the regulator.

R22 on the energy control card also smoked. It went from the +15V rail to R19, R31, and C10, on the top of TR2, which then drives the shunt SCR. The SCR is driven through a transformer, so I'm hoping the SCR is undamaged. The transformer's coil is 3.7 ohms, which matches the other SCR's transformer.

I should have replaced caps before proceeding. I suspect C10 is shorted. Dan suggests that TR2 might also be dead.

More substitute components:

2N4402:  BSR16   MMBT4403


Resonator dimensions:
Based on measuring image 20110118/dscn6938.jpg
Rods are 13mm diameter.
Bottom two are 118 mm apart  (center to center)
Side two are 87mm apart (center to center)

Or in imperial units:
Rods are 0.5 inches diameter
Bottom two are 4 5/8 apart (center to center)
Side two are 3.4111261794  or 3 and 6 or 7 16'ths

Neither of these measurements really make me confident.  Remeasure with
a pair of calipers...

Rods are 0.5 inches diameter
Bottom two are  4 9/16 apart (center to center)
Side two are 3 11/32 apart (center to center)


Fabricated the alignment laser mount. Ordered a whole horde o' hardware from Mcmaster-carr, since the alignment laser needed longer #4 screws.

The circuit breakers (for controller) and transistor sockets (for q-switch) are much cheaper via ebay. The question is how many transistor sockets to get, given the active-low requirement. The qswitch's use of a TNC connector also complicates things, can't float both ends above GND.


Beam height is 2 5/16. maybe...

Got the alignment laser assembled, with external batteries, and rough-aligned through all the optics. Need to determine the actual beam height, make an alignment card, put a pin hole on the alignment laser, and then actually align it.

I've decided to get 30 transistor sockets. Which will probably mean I need more.


Noticed a bunch of damage on the pulse generator card. pin 4, which is the +15 rail, vaporized a bunch of traces, and some components. I suspect the +15 rail had more of a voltage excursion than I thought...

The power card is acting like a dead short. Bad 7815? The 3A version is unavailable from mouser or digikey.

When you plug in the cabinet, something clicks quietly. (I believe its the OV card) When you close the circuit breaker, +48V is turned on (from T3). When you turn the key, and the interlock is closed, the +48V is used to close R1 on the charger chassis. Its loud... That applies 220VAC to T2, through Fuse 1 (which may be a self-resetting circuit breaker). Which applies 18VAC to the power supply card in the controller, and 480V to the trigger card.

Circuit breakers: mouser 691-BA2B034615221D ( manufacturer BA2-B0-34-615-221-D)
momentary key switch: mouser 642-JD-7510A ($13)
   or 642-A018302 ($30, 10x lifetime)

momentary button, want LEDs?  MP0042/1


I moved the taps on T3 and T2 from the 200 to the 240V pins. The 48V rail is now 50V, instead of 60, the 18V rail is 19VAC, and the 435V rail is about 440V. That may have caused the excursion on the 15VDC rail, but I thought that a 7815 was rated for more like 35V input.

The voltage taps on T1, the big charging transformer, are not labeled.

I've also gotten the alignment laser more or less aligned down the middle of the resonator. It still needs a pinhole. The beam height is 2 3/8 inches above the rail.


The 7815 regulator is fried. The rectifier, filter caps, and 7915 are OK though. I believe that the problem was that the YAG laser used low voltage dump relays, while this ruby uses 220VAC dump relays. So the 220V got into the 15V rail, and Bad Things Happened.

Lots more reverse-engineering. I believe I can now get power all the way to the energy control card, after fixing the 7815 problem. Bypass the 220VAC dump relay circuit through the controller. I've ordered some circuit breakers. Need to order some buttons and a key switch. Should the buttons be 220VAC, like the original circuitry, or more 48VAC relay stuff?

The next question is what frequency is used to couple through the transformers to drive the SCRs, and what the horde o' weird transistor circuitry is supposed to be doing.

Then, on to re-engineering the energy control card with i2c stuff pondered above.

Then, there is the pulse generator card. What sort of pulse does the trigger card need? I'd rather replace the pulse generator card with an MSP430 doing the same timer trick as was done on the q-switch driver.

And then there is the q-switch driver question. Plan A is to find a 1/4 wave plate, to reverse the sense of the q-switch. Plan B is to make a much more annoying waveform. Blea.

*** Disconnected wire 66 from TB1/L, moved wire 32 from TB1/K to TB1/L *** That forces the dump relays closed, and removes the 240VAC stuff from the YAG controller's low voltage dump relay circuitry. I only did that on the OSC, not the AMP.


I moved the taps on the big transformer (T1) from the 220 to the 240V pin.

The schematics I have are for a more recent version of the energy control card and pulse generator card. The actual hardware uses MHTL logic. Motorola's MHTL logic family: Motorola High Threshold Logic. Allegedly very high noise immunity.

An MC672 is a 2 input NAND.
An MC667 is a dual mono-stable multivibrator.
Those data sheet aggregator web sites suck...

The pin-out from MC672 to 4093 is slightly different, but may be adapted.

The energy control card almost works... The voltage comparator works, but its sense is strange. Is the voltage from the PD2000 card negative? (It is.) The NAND chip makes sense. The transistors driving the series SCR make sense on the schematic, but their behavior does not. I've replaced everything that was on the 15V rail, but not T5 and T6, since they are on the switched 15V rail, and T5 is irreplaceable.

Shopping list:

momentary buttons  
	digikey 708-1434-ND
	manufacturer MP0045/3D0NN000
rotary switch
	digikey EG1954-ND
thin 50 ohm coax
	digikey A307-100-ND   RG174 50 ohm 0.1" diameter   100' $72
panel mount D9?   (Stock)
panel mount stereo 1/8 inch?   (Stock)
jack screws    201414-4  201413-4
M34 pin tool
	tyco number 305183  digikey A1329-ND
240V to 6V xfrmer, for powering CPU
	digikey MT3102-ND
SMT optocouplers, for checking 48V stuff, and inputs
	NO: socket the optocouplers
	digikey 751-1263-5-ND   $1.43 each
8 pin DIP sockets  (or 6?)
	ED3308-ND gold plated machined pin $0.84 each
watch crystals
	digikey 300-8303-ND
1K, 1.5K through hole resistors
flow sensor
	digikey 725-1070-ND
4081 quad AND, for generating SCR clock from disable


Q-switch is controlled by a separate CPU in the head. (existing q-switch trigger) Second serial port of controller CPU is connected to the q-switch controller.

Mode knob:

How to control power? By varying the voltage of course... But what should the user interface be? Current opinion is that there will be multiple configurations setup via the serial port, and selected with a rotary switch.

safelight switch: disables LEDs


Serial port has all the voltages reported and controllable.

Socket the optocouplers.

voltage from the PD2000 card is /negative/. Why?

Gave up on the transistor magic of the energy control card... Assembled a 555 timer, NANDed that with the output from the comparator, and injected that into the base of TR6 (through the existing resistor). That got voltage into the caps, for the first time. Went up to 400V, and chickened out. I am currently ignoring the shunt SCR, but my current belief is that it is activated when the desired voltage is reached.

I still don't know the optimal frequency for getting a signal through the pulse transformer. 30 kHz makes strange noises in the charging chassis. I'm not sure /what/ is moving, its supposed to be solid state...

shopping list:

panel mount fuse holders
door latches   (mcmaster-carr)
6-32 flat head machine screw 1/4"
#6 flat head wood screw 1/2"


Spent most of the day fabricating a box for the controller. 1/8" aluminum and some nice hard wood left over from my microwave cart. The aluminum is a bit thick, but it was in stock (Kody gave it to me.). It came out extremely well.

2x M34 on the back, and a D9 for the head electronics. The head will need RS-232, trigger, and some power. The power can't just be low voltage due to the q-switch power supply requirements. Might include low voltage anyway so the CPU comes up at the same time as the controller CPU.

D9, 2x BNC, 1/8" stereo on the front, for RS-232, gate, trigger (TTL), trigger (dry relay).

I of course don't have the right screws to mount the circuit breakers, and no panel mount fuse holders.

I then validated some opamp circuitry. The inverting buffer between the DAC and the comparator correctly inverts. So the other inverting buffer between the PD2000 and the ADC should be fine. The voltage comparator was cargo-culted so it should be fine.


The 5/8" drill bit I ordered did not fit in my drill press's chuck. Blea... So I ended up using a 9/16'ths to get close, and a round file to finish it. The less than round hole is covered by bezel of the button.

I then took the panel artwork to Kinko's, and laminated it. I got two, just in case I screwed up the first one. Which meant I didn't. I then cut all the control's holes in the artwork, and epoxied the artwork to the aluminum panel. I had to put the circuit breakers on first, since the artwork covers the mounting screws (so replacing them will be a nightmare...). There was a bit of debate regarding which glue to use, it needs to adhere to aluminum and plastic, which IMHO eliminates standard elmer's glue. Super glue is a pain, and tends to fog stuff anyway. I have no experience with contact cement. So epoxy it was.

Spray adhesive is extremely non-archival. It turns yellow and starts peeling after a couple of years. My 315M control panel is not looking particularly happy.

After sticking the artwork on, I cut the overhanging paper/plastic flush with the edge of the aluminum and then mounted all the controls. I then put a bead of epoxy around the edge to seal the now exposed edge of the artwork. If it gets wet, or perhaps someone is removing drooling epoxy with Windex, water will wick in, and make a mess.

And then I started doing the point to point stuff for the LEDs and buttons. Electrical work has started, Yay. I figure finish all the low voltage stuff, cable tie it into submission, and then do the 48V and 240V stuff, separately bundled. I'll probably route everything to one side, so it can hinge open.


Found a whole bunch of not-quite-right footprints, and corrected them. Missed the 1uf filter cap footprint being a bit small. I then etched the board, and am now populating. The 3.3V power supply functions. To register the two sides of the board, I lined up the two pieces of blue stuff, and then taped three of the edges together with laser printer labels. I then inserted the copper-clad board into the "envelope", and ran it through the laminator. The two layers lined up remarkably precisely. I might be able to consider my tool chain to be two layer now. (Perhaps when the feat is duplicated...)

I mounted the board and transformer for the 3.3V supply on the back of the box. Had the PCB upside down the first time, so there are a bunch of extra holes in the back. :-P

I don't want to put connectors on everything, its just too many points of failure. But that complicates testing, I don't want to assemble the second energy control part until the first one demonstrates functionality.


The power supply is functioning. I assembled a testing power supply to avoid having to deal with the rest of the chassis for now. There is some weirdness trying to run both the 3.3V and +-15V rectify/regulators off the same transformer, the 3.3V filter cap gets reversed and very hot. I need to tie the regulator inputs together directly.

The CPU is installed and running, talking to it with both JTAG and RS-232. The RS-232 line driver is also installed and happy.

So next up is straightening out the power supplies so they both operate at the same time, and then getting the DAC chips installed and functional. Once that works, on to the opamp, to make sure the inverting buffer inverts. Then 555 and and gates...

The theory is to assemble the OSC energy control subassembly completely, and test at least charging, if not all the way to firing. Then do the AMP sub assembly after the design is validated, so as to avoid installing expensive voltage reference and DAC chips pointlessly. However that makes the order of assembly very non-optimal.


The GND plane was not complete, it ran off the edge of the board, so the big filter cap for the 3.3V supply was not properly connected. Until it arced. Which incinerated the MSP430... So I got to replace it... no more spares.

I then placed the REF02, and the DAC. So now I need to get the i2c code working, to test the DAC.


The 555 timer runs warm. Absolute max Vcc is 16V, and we're running at 15.5 or so. I suspect its marginal. I can get 18V 555's.

Shopping list:

10K SMT  (lots)
180 SMT, TH
820 SMT, TH
470 pf SMT 805
gnd loop xfrmers for car stereo

I suspect that P1.3 is fried, had issues with damaged 15V CMOS. Bridged with P1.4.

3.3V is not sufficient to drive the 15V CMOS. Need level conversion transistors. So I did the components floating in the air thing, and got an NPN with some 10K resistors between the MSP430 and the AND gate. It reversed the sense of the enable bit (not a problem, its software) but that is a bit less optimal, in that it is enabled if the CPU is not up, and thus does not fail safe.

So now, the series SCR driver is populated, the opamps are opamping, the ready LED driver is populated and LEDing (but needs a GND connection, the trace was severed by the board cropping), the ADC is happily reporting millivolts on the voltage monitor pin (but the buffer opamp is not calibrated), the DAC is driving the reference for the opamp, its buffer opamp is also not calibrated, and last but not least the charge/done opamp is generating the correct signals.

Then I assembled the back of the panel, with lots of indistinguishable wires. There are separate bundles for the LEDs, the controls, the OSC, the AMP, and the 48V interlock stuff. I have some doubts about exactly which pins do the latching R1 closed thing on the 48V stuff.


Finished assembling the 240V and 48V wiring (except for the connection to the micro-controller for observing interlock). I then went over it again with a continuity tester and re-verified everything. Found an error too, pin P ended up in pin L.

Then I Applied Power. The 240V wiring is correct, the 48V wiring is also correct, the key switch properly closes R1, the dump switch properly opens R1. The little transformer for the 3.3V supply works, but there is no integration with the PC-board or amplifier chassis yet.

Now I'm assembling coax cable assemblies for going between the M35 connectors and the PCB. Lots of gratuitous heat-shrink.

Note that there are two pin numbering schemes for M35 connectors. The old style has lower case letters, the newer style has double uppercase letters, AND THEY ARE DIFFERENT.

The next step is testing the entire energy control circuit, which will be scary.


Spent the last few week days assembling laborous but non-difficult cable assemblies for the 6VAC power, 18VAC power, and coaxial lines for SCR drivers and triggers.

Filled out the firmware some more as well. Rearranged the lamps code to generate the lamp timing instead of qswitch timing. Added read-back to the i2c code, since if that value is written to the DAC wrong very bad things may happen.

Assuming I don't find anything catastrophic, the caps should charge on Saturday, and possibly even fire the lamps. If the design is validated, then populate all the AMP sub-assemblies and do it again.


The i2c read-back code works... All the front panel LEDs are in backwards (need to be common positive, not common negative).


Short answer: no joy. No smoke either, but things seem to run warm. (1/8 watt components may be a problem.)

The original energy control card puts a square wave across the pulse transformer which is 7.5V peak to peak, with the low being maybe 1V under GND. Mine is much less amplitude. Is the transistor in backwards?

The original transistor is 100 ohms from +15V, mine is 400 ohms from +15V, or 150 and 37 ma respectively.

Replaced 390 ohm with 82 ohm, resulting in being 92 ohms from +15V, or 163 ma. The amplitude is 3V peak to peak, with low being 1.2V under GND. The cap is now charging, with no voltage calibration. It overshoots though. Set it to n volts, and you get n+m volts.

NAND is running hot, and amplitude of square wave going to SCR is still low.

The overvoltage card has been empirically observed to function... and opens at about 3 kv. Lamp min voltage is 800 V, and max voltage is about 4 kv, according to the usual flash lamp sources. (8 inch arc length, assume 5 mm bore.)

The trigger circuit is completely wrong. It just needs an NPN from +15V, to generate an active high signal. See energy monitor/delay card schematic, for the thing driving OSC sync or AMP sync.

ready signal doesn't reset properly...

After correcting the trigger circuit, it charged the cap, and the lamps have fired. Yay, photons!

Now I'm poking at the AMP 48VAC stuff. Its being annoying.


Dan suggested that the 555 was being torn up by charge current, and to use a smaller cap. So I substituted a 10 nf cap, and replaced the resistors with larger values, 12K and 1.5K for the 1.5 and 270 respectively. The 555 is now Much Happier. The resulting frequency was 5 kHz, and it drove the SCRs fine.

Got the AMP interlock figured out... Finally... So the AMPs 240VAC and 48VAC stuff is now working. Its energy control section is still unpopulated.

Got the OSC to observe the interlock, but only across the key switch, so it can't be observed when the laser is on. Which is abnormal, but matches the original controller's behavior, the light would go out when the key was turned.

Corrected the polarity of the panel LEDs, and hooked up the supply and OSC ready for testing. (worked)

Attempted to switch to on board power. There is much weirdness. It can only fire the laser when using the testing configuration. when using the test supply for the 3.3, and on-board for +-15, it will charge but not fire. And there is something about the safelight switch which prevents the CPU from starting (or at least getting to the CLI).

Something is consuming a lot of 3.3V. The MSP430 should be sub 10 ma... It seems to be the LEDs (but there are only two... 20ma each. That is regulating down from more like 12VAC though so that may make sense.).

Attempting to debug the power supply weirdness: In debugging mode, C22 is tied to C16 and AC is applied to connector K1. So the +3.3V is regulated down from the unregulated +-15V supply, and bypasses its bridge rectifier. In that state, the fire pulse looks perfect (The amplitude, at 1.7V, is a bit low, but that is across a terminating resistor.) When the capacitors are disconnected, and both bridge rectifiers are in use, all the DC voltages look right, but there is much unhappiness, noise, and the fire pulse is taller but not square. It goes from 0 to 1.7V (approx) and then keeps rising at a slower rate to nearly 3V. Why?

Are the bridge rectifying diodes on the 3.3V supply fried?


The 3.3V diodes are fine (brand new). There were some poor vias causing really nasty transients on the 3.3V lines around the CPU (fixed).

The problem is not the 3.3V supply, the crystal clock is not starting, and the cpuInit() function will not return until it starts. Tapping on the crystal will generally start the clock... (So its the usual MSP430 problem.)

Increasing the voltage into the 3.3V regulator doesn't help. Its something to do with the +-15V supply having to come up at the same time. If the 3.3V is up, and the CPU is hanging, applying the 15V supply will make it come up.

Negative voltages on analog inputs again? I measured that, and its on the order of -0.3 millivolts.


So the trick to make the clock work is to assert all the outputs first. Then things don't float and the negative voltages don't happen. Then get the capacitor config correct and wait not just for the fault flag to clear but to stay clear for 250 loops. The clock is now starting very reliably.

Then, the trick to get the trigger circuit to work is to connect to the collector on the PNP transistor, not the emitter. Then the line hangs out at 0 volts, until the PNP goes poink and drags it up to 15V. The 1K and 470 ohm resistors are terminating resistors for the transmission line. The trigger is also happy.

The interlock detection is wrong... The optocoupler is too sensitive, the 48VAC noise generates a false positive and it looks like the interlock is closed when its open. Measure relative to frame GND? That didn't seem to work very well with the multi-meter. The interlock is /not/ happy... :-P

I also swapped the 390 ohm for 82 ohm resistor, so the shunt SCR driver is now properly driving. It didn't explode... but didn't seem to do much either. The opamp still overshoots, so the ready LED never goes out. I haven't adjusted the gain resistor on it though.

Current theory is to bail on the interlock for now, and populate the amp energy control. The rework is simple enough.


Populated the amp energy control block, the rest of the LED drivers, the qswitch trigger, the panel buttons, and the fire input.

The amp charged, but there is a high voltage leak somewhere. There is lots of ominous popping when it is charged. It did fire though, so there is light. The amp Ready LED works too.

DAC calibration:

Initially, with RV at 5K 0xFFFF = -7.32V, 0x1E00 = -0.856 and 1E00 will exceed the set point on the OV card. So we will adjust, so that 0xFFFF will get -1.0V, and that will get us more than full range. Except that when RV2 is at min setting, its -5V.

So OV is at about 0x2c00 we have between 13 and 14 bits of precision.

Set the osc and amp to the same thing. (DAC 0xFFFF = -5V)

Attempting to find/understand the HV leak in the amp: ADC values recorded at approx 30 second intervals without head connected:

  osc  amp
1 380  372
3 374  360
4 369  355
5 364  349

The amp drops slightly faster than the osc.

Amp connected:

1 384 379
2 380 372
3 377 363
4 371 360
5 366 351
6 363 344
Amp connected, started at a higher voltage:
1 449 432
2 443 426
3 438 416
4 433 411
5 431 404

Need to detect dump button being pressed, to reset the state machine.

Every once in a while, the amp DAC gets out of sync, and setting the set point fails. It can be reset by power-cycling everything (including the 3.3V). Which is weird.

The Ready flags "stick" (and possibly overshoot) because of the 0.022uf cap on the voltage sense line. Remove it? I kinda like the low-pass filter. Need to adjust the feedback on comparator, to see if that makes it happier.

If after firing, the measured voltages don't drop, report a miss-fire.

The amp DAC has quit working. After working fine for a while. There is much nastiness on SDA (SCL is clean). I replaced the pull-up resistor, no joy. I removed the DAC, and the noise went away. Guess I fried it while soldering. Two spares remaining...


ADC calibration:

(all numbers in decimal)
DAC		volts	adc
1024		710	714
1280		760	763
1536		810	814
1792		860	864
2048		900	914
2304		950	967

Max voltage for an 8 inch lamp is 3500 Volts. ADC is 12 bits, or 4096, and right now is resulting in almost exactly 1 volt/bit. So we're going to leave it there...

(all numbers in decimal)
DAC		volts	adc(dec)
512		620	621
768		670	678
1024		720	730
1280		780	790
1536		820	827

The Osc is similarly almost exactly 1 volt/bit.

The function from DAC to cap volts is not linear. It looks exponential. The osc and the amp are very similar. (though the above data only overlaps at three points.)

The Osc has stopped firing. My circuitry is OK, the signal leaving my board and arriving at the trigger card looks fine. After poking at things, and comparing the signal at the gate to the big SCR on the Osc and the Amp, I think the little SCR got fried. I guess this project has achieved the wack-a-mole phase.

Shopping list:

1K smt
replacement SCRs
rectifying diodes

Should have added a way for the MSP to directly detect dump being pressed as well as trigger a dump itself. There are extra contacts on the dump button... Optical alignment and qswitch first I think.


Fun with curve fitting... I found an example using numpy and curve-fitted the DAC to voltage curves. If you neglect the Y intercept (which is approx 500 volts) and assume its 0, the ratio from DAC to volts looks really weird. But, once you get the Y intercept correct its all happy and linear.

And, below 500V, 8 inches of arc is not going to be very happy anyway. So, the minimum voltage is the Y intercept, which is about 520V, so I'm calling it 600.

The horrible hack of momentarily increasing the set-point to reset the comparator also works.

firecomplete() gets called during the pulse, it tends to see around 350V. It'll be down to 50V seconds later. Do I want to delay longer and see the <100V, or stay were I'm at and just see the drop from at least 600 down to 350?


Switching the trigger cards just made neither osc nor amp fire. But the osc will fire if you try enough times. Found out what the issue was... The trigger card charges a cap with the 15V signal. When the cap voltage exceeds 6.8V (from a zener diode) then the gate is below the anode, and the SCR goes boink. So, leave the 15V on long enough and it'll fire. If the 15V drops too fast, the cap never charges and no pulse.


Fun with optical alignment. I need to build another alignment stand, to shine a laser pointer into the OC. There is just too much loss trying to get through the HR.

Then, what is the threshold voltage? According to the laser-FAQ, the resonant reflector of the huges ruby range finder is 5 percent to 42 percent depending on the angle. ( ) So I need to read Solid State Laser Engineering, and ponder gains/losses in the resonator. There are A Lot of unknowns...

From the laser-FAQ, the huges ruby puts out 50mJ output at 1095 VDC, 150uf cap, arc length 3 inches rod length 3 inches by 1/4 inch diameter. Or, threshold at 75 Joules (electric) input. rod volume==0.1472621545 in^3 Divide by volume... 509 Joules per in^3

Osc is 250 uf 8 inch arc length (two 4 inch lamps in series) 4 inch rod 3/8" diameter volume=.4417864635 in^3 Amp is 250 uf 8 inch arc length two lamps in parallel each with their own cap and PFN. (so really *2 joules)

Given the osc volume is 0.4417864635 in^3, and we need 509 Joules per in^3 threshold at 224.86 Joules. I've been testing at 900V, is barely enough to fire the lamp (good for testing the controller though), which is 101 Joules... way too low. At 1400V, we get 245 Joules. Max voltage for 8 inches of arc is 3500 Volts (EG&G catalog). The OV card trips at about 2500 Volts.

2000V = 500 Joules
2500V = 781 Joules


Got coherent photons, threshold poorly aligned at V=2100. Weirdness at 2200V, the DAC didn't set right, rc=0x40.

I aligned the alignment laser by putting paper disks with holes on the OC and etalon. The outer edge of the disk lined up with the big cylinder, and then the laser went through a small hole in the center of the disk. I then reflected the laser off the front of the OC back to the laser, then did the same with the HR. I removed the axial mode aperture, polarizer, Qswitch, and etalon.

It then made /lots/ of photons and was extremely multi-mode. I then put the mode control aperture back in, and it made more like 11 millijoules, at 2100V (about 214 joules of electricity). I also cleaned everything (except the rod, which is nigh-impossible to get to), all the optics were filthy. Even the axial mode aperture was all blackened on the back. So I polished it with 2000 grit sand paper and a dremel, to get rid of the black marks.

This laser puts a whole lot more heat into the coolant than my YAG Quantel. Ambient temp was 66 degrees F, and the coolant was 74 F when I stopped playing with it. (4 gallons of coolant, delta of 8 degrees F = 4.44 degrees C, 4.1 J per degree C per ml, so about 275914 Joules. When that is divided by 551 Joules (for a 250uf cap at 2100V), its 500.7 which is remarkably round but I can't believe I fired the laser 500 times. This model fails to take into account heating from the pump, which is putting about 200 watts into the system.

TODO: check voltage regularly and clear READY flag if it drops too low. software flow control. max-charge-time sanity check. Perhaps a specific FAULT state, which blinks ready or something?

Order of optics insertion from the manual:

On adjusting the alignment laser:

Shopping list:

  thin tubing for secondary cooling loop
    1/4" ID  stuff to get to garden hose fitting.
  solenoid valve
  coolant temp probe
  or little circulating pump, to put ice on the cooler.
  bigger torch

Beware of polarization of the alignment laser. And the laser printer transparency stuff does /something/ to the alignment laser beam which makes it impossible to observe the reflections off the etalon. Use a piece of B&W film instead. triacetate is cast, not extruded, and does not affect polarization.

Fabricated a glass water to water heat exchanger for the cooler. Its about 6 feet of 1/4 inch OD tubing more or less coiled up (I am a lousy glass blower). The theory is to siphon ice water through it as opposed to doing something more long term, since the only time that a high repetition rate is relevant is when aligning.

All the optics are now in, and OSC is achieving 13 mJ at 2100V, single axial mode, unknown longitudinal mode, no qswitch. Need a "1 mm 65%R" etalon. The adjustment of the etalon is very touchy, and makes an amazing difference, right is 13mJ, wrong is 2mJ.

Pinout of the etalon TEC connector is:

5 pin male din, numbered 1 to 5 from left to right looking into the connector,
with the tab on the bottom..
(That is not correct DIN pin numbering...)
1	green	temp sensor
2	black	frame gnd
3	red	heater
4	yellow	temp sensor
5	blue	heater
The heater is 18 ohms total, consisting of 6 series resistors at 60 degree intervals around the etalon. temp sensor is between two of the resistors.


Fun with an aixiz LED driver for a brighter alignment laser:

With 5.6K current resistors:
Vcc---------Voltage Out () Max Output (1mv = 1ma)

With 100ohm current resistors:   (which mine has)
Vcc---------Voltage Out () Max Output (1mv = 1ma)


My 200mw laser diode thresholds at 80ma, and wants 210ma at 2.5V for 160mW of output. So feed it 4.5V, and see what happens...


The laser diode is getting about 2.2V after the regulator (getting 4.5V from 3 AA's). I turned the current limit up till it stopped getting brighter then backed off a bit.

Firmware fix: if the observed cap voltage drops too far, go back to idle or something...

Re-assess maxdac (0x2000), amp only goes up to 2000V, need 2100 to 2500.

I put an aluminum foil pin hole on the 200mw laser diode, and put it behind the HR. It can just barely get a useful number of photons through the HR. The optical lever arm is probably too short to align the HR itself with, but the alignment from the front is still valid. I then aligned the laser diode with the paper disks on the etalon and OC. The laser diode spot is relatively easy to see until the spatial filter.

I aligned the amp by putting the paper disks on the spatial filter mounts and aligning with them. I then did the fog-the-end-of-the-rod trick and observed the spot on the ends of the amp rod. So the amp is finally aligned.

I then put the spatial filter lens in, and aligned its output with the paper disk on the pinhole mount. I then put the pinhole in, and aligned it with the laser diode. Then I put the joule-meter after the pinhole, and fired the real laser, tweaking the pinhole positions to maximize the joule-meter reading.

At osc=2100V amp=2000V, got 122 millijoules after the amp. Don't entirely trust spatial filter alignment, and voltage is low. the amp will not go above 2000V, due to the current value of maxdac. Inch it up a bit, but avoid the over-voltage interlock.

Need coolant temp monitoring, and possibly thermostatic control of primary coolant loop. The secondary coolant loop will cool the primary coolant pretty well, but goes through ice rather quickly.


Fun with the qswitch driver:

The current theory is that the lumonics circuitry has SCR stacks which generate large negative going pulses. There is then an inductor which does something, and its capacitively coupled to the pockel cell. Since its capacitively coupled, the pockel cell sees a square pulse.

Two of these pulses are generated, such that they cover the entire lamp flash, and have a gap between them.

So, we need two trigger pulses, for two avalanche transistor stacks, possibly microseconds apart, but with a relative position precision in nanoseconds.

So, we use two of the MSP430 timer outputs... and put a DS1123 delay chip on one of them. It will delay from 0 to 255 steps, at 1 ns/step. So for delays of less than 125 ns, we set the two msp430 outputs to the same time, and then add delay. For >125ns, set one to clock n, one to clock n+1, and then add the remainder with the delay chip.


The D9 on the qswitch control card is backwards, pin 1 is where pin 5 should be. The photo diodes are also backwards, should not have been flipped, but the pins are sufficiently flexible.

And of course the clock doesn't want to start.


The photo-diode inputs moved between versions 1 and 2, so I added a pile of macros to move the software around, but I forgot to use the macros in the init function. So, I chased what I thought was a hardware problem for at least an hour before realizing it was software. :-P

The clock starts now, the problem was insufficient solder on the pads, so it looked soldered but was actually open. The two photo-diode inputs also now work. The RS-232 is happy, and talking to the computer through the controller. The delay chip is not installed yet, and none of the software for the accopian DAC is present.

Getting the optical fiber into the amplifier is easy, the hole in the cover is large enough for it to easily get close enough to the end of the rod without blocking the beam. The oscillator is more difficult. The axial mode aperture blocks one end, and the polarizer blocks the other. Fish it though the bottom with the power lines? Then it needs a rather sharp bend. Drill a hole in the end piece? Probably, but I will need to work up the enthusiasm to extract that part, and hopefully not un-align the OC.


osc and amp offset to 0x200 clocks. Assembled qswitch driver, taped optical fiber to ends of the flash lamps, and defeated interlocks so the cover doesn't get in the way.

The RS-232 driver on the controller needed to be re-flowed. Its amazing how things work for a while, then spontaneously quit.

Got first light into the qswitch trigger.


decision at 0xd324  val= 0x8287
min= 0xd044  max= 0xd466  delta= 0x422 134 usec
lamp 0  0x0 0xd031  len 6777 usec
lamp 1  0xd243 0xe586  len 627 usec
lamp 2  0xd466 0xdd5d  len 291 usec
lamp 3  0x0 0x0  len 0 usec
Qswitch missfire

Voltage: 14996 Vdc
Current: 14.996 ma
temp: 300 K
&buff= 0x970

The thing labeled lamp 0 is really the trigger out from the controller.


Moved the interlock measurement to the key switch, and put a 10K resistor across it. The problem is that the 48VAC lines waggle around enough that the optocoupler can get a signal from the capacitive load. The 10K resistor shorts that out, without letting enough current flow to close the relay. The only problem is that when the +-15VDC is on, the interlock gets a false open indication. If the power is on, then the indication is false. Unfortunately the micro-controller can't read the state of the +-15VDC power directly. But, the DACs on the energy control modules are powered by the +-15VDC, so if we don't get an i2c error, then the power is on.

MEH... Fixes in version 2: micro controller can read the power state directly, AND add a relay so software can break the interlock.


The voltage monitoring for the AMP quit working. It would charge, but not get any indication that there was a charge, so would never say STOP, and would hit the overvoltage interlock. Which definitely validates the design of having the separate overvoltage interlock board. So I poked at it, and then it started working again. Blea.


Lots of looking for the flaky solder joint... Might have found it.

decision at 0x2fe3  val= 0x8583
min= 0x2d03  max= 0x3314  delta= 0x611 197 usec
lamp 0  0x2fc3 0x4130  len 567 usec
lamp 1  0x3314 0x3c68  len 303 usec
lamp 2  0x2d03 0x5c0a  len 1530 usec
lamp 3  0x0 0x0  len 0 usec
Qswitch missfire
lamp 2 is qswitch signal from main CPU. Why is it so long? lamp 1 is OSC
decision at 0x5bfc  val= 0x8583
min= 0x591c  max= 0x6afd  delta= 0x11e1 581 usec
lamp 0  0x5b9b 0x6d57  len 577 usec
lamp 1  0x6afd 0x6b85  len 17 usec
lamp 2  0x58fc 0x8801  len 1530 usec
lamp 3  0x0 0x0  len 0 usec
Qswitch missfire

The qswitch pulse is very long because the lamp trigger signals charge a capacitor, which dumps a small SCR, which dumps a bigger SCR, which ionizes the lamp. A short pulse will not set it off, and the qswitch pulse code got the same treatment. So I moved it, the qswitch pulse should be very short now. I also suspect that the lamp 1 input is not happy.


Fun with the qswitch trigger, cont.

The trigger sometimes gets wonky if you play with testfire too much. I lengthened ENDOFFSET to 17000 clocks to address it. It may not have. I had previously shortened the qswitch pulse to 4 usec, to have a nice crisp pulse. But then the qswitch msp430 didn't have enough time to grab the rising edge, and thus missed the falling edge. So I put it back to ENDOFFSET like the rest. That results in a 1700 usec pulse.

There was also lots of RF interference in the qswitch board due to the HV trigger for the lamps. It can't sit on the capacitor cabinet, it must be several inches away, then everything is fine. So I have it sitting on a cardboard box beside the optical rail for now.

There is some weirdness where the lamps seem to be on longer when the optical fiber is closer to the lamp. So take the durations with a grain of salt for now.

Three shots with the OSC only: timing is 12 usec delay for qswitch, 13 usec for osc and amp.

decision at 0x137  val= 0x93
min= 0xfe57  max= 0x7a  delta= 0x223 69 usec
lamp 0  0x7a 0x185f  len 777 usec
lamp 1  0x0 0x0  len 0 usec
lamp 2  0x0 0x0  len 0 usec
lamp 3  0xfe57 0x351d  len 1782 usec
Qswitch missfire

decision at 0x8b2b  val= 0x95
min= 0x884b  max= 0x8a69  delta= 0x21e 68 usec
lamp 0  0x8a69 0xa236  len 774 usec
lamp 1  0x0 0x0  len 0 usec
lamp 2  0x0 0x0  len 0 usec
lamp 3  0x884b 0xbf0d  len 1782 usec
Qswitch missfire

decision at 0x8481  val= 0x97
min= 0x81a1  max= 0x83c1  delta= 0x220 69 usec
lamp 0  0x83c1 0x9b87  len 773 usec
lamp 1  0x0 0x0  len 0 usec
lamp 2  0x0 0x0  len 0 usec
lamp 3  0x81a1 0xb864  len 1782 usec
Qswitch missfire
Three shots with OSC and AMP:
decision at 0x98ef  val= 0x9b
min= 0x960f  max= 0x9819  delta= 0x20a 66 usec
lamp 0  0x9819 0xb060  len 790 usec
lamp 1  0x979d 0xc458  len 1456 usec
lamp 2  0x0 0x0  len 0 usec
lamp 3  0x960f 0xccd2  len 1782 usec
Qswitch missfire

decision at 0x9f32  val= 0x9d
min= 0x9c52  max= 0x9e53  delta= 0x201 65 usec
lamp 0  0x9e53 0xb698  len 790 usec
lamp 1  0x9de6 0xcabf  len 1459 usec
lamp 2  0x0 0x0  len 0 usec
lamp 3  0x9c52 0xd314  len 1782 usec
Qswitch missfire

decision at 0xaf16  val= 0x9f
min= 0xac36  max= 0xae40  delta= 0x20a 66 usec
lamp 0  0xae40 0xc689  len 790 usec
lamp 1  0xadce 0xdae8  len 1468 usec
lamp 2 0x0 0x0  len 0 usec
lamp 3  0xac36 0xe2fb  len 1782 usec
Qswitch missfire


Mounting holes for the qswitch driver board: board is 4x6 inches, mounting holes are 1/8 inches in on the sides, 1/8 inches in on the top (away from the avalanche transistors), and 1 inch in on the bottom. That puts a HV line kinda close to one, but not actually touching.

The transistor sockets are epsilon too close. A trivial quantity of filing (per socket...) enables them to fit.


Trigger pulse, into the base of the bottom transistor is 5V tall, and 8.1 usec long.

250 volts across the bottom transistor (a 2N5551, its good for it).

At 118 V across the transistor, still no switching. 1937V across the stack.


The diode on the bottom of the avalanche transistor stack is a 1N4734 zener diode, 5.6V 45ma 1W. A standard diode will not work.

So what happens is the trigger puts approx 5V from base to GND. There is a voltage fall from the base to the emitter, and then a reverse biased zener, which doesn't do anything until the zener voltage is crossed, then it avalanche conducts and a very sharp pulse is put from base to emitter. The bottom transistor then conducts, and adds its approx 180V to the 180V across the next transistor up. Then /it/ avalanche conducts, and now 180+180+180 volts are across the next transistor up (repeat up the stack, gaining voltage as you go).

It worked... Once. The pulse was short though. The OSC pump light is about 1500 usec long (assuming the trigger board is right, the photo-diode might have a long recovery time), need to be able to cover that length of time with the qswitch pulse.

Now its prematurely avalanching, and way too low of a voltage. The zener diode I currently have installed is under-sized, 300mw instead of 1W. Perhaps it fried. It did work, with everything assembled, exactly once...

I replaced the power in cable with a 4 conductor one, so now neutral is available for the 120V pumps. The only 4 conductor cable Lowes has is 10 gauge. Its pretty monstrous, but matches my extension cord so things are consistent. Its slightly weird to be plugging 15A devices into a 30A cable (which is on a 20A breaker...), but the controller does have a whole heap of 13.5A breakers, so I believe it is to code, or at least safe.

The power breakout is now a set of four terminal strips mounted on a plexiglas panel (with a cover). Its much easier to poke at than the original little junction box full of split nuts.


I checked all the transistors on the qswitch driver with my meter's hfe mode. Pretty much every transistor is fried. I suspect the inductor rang, and FOOM. Or the zener diode on the bottom fried...

I ordered the proper 5kv accopian power supply. Next steps are probably to finish populating and implementing its control circuitry.


Replaced all the fried transistors. Disconnected the 100 ohm resistor (ie: everything after the avalanche string). Its now triggering more or less happily. Voltage in is 2960V, voltage at top of stack is 1830V, pulse gets down to 17V. The low voltage varies, I'm interpreting it as not all the transistors avalanching. It will be interesting when the 5kv supply arrives. Then sometimes just one transistor starts self-avalanching (but not setting off the whole string) and one gets a saw-tooth overlayed on the expected waveform.

2M resistor is hot 117 deg F... the transistors are also warm, 87 deg F.

Added some code to the qswitch trigger to repeatedly fire at about 1 Hz. Burning the transistors in seems to make it more consistent. Vmin for triggering at all is about 1430 volts across the stack (1971V in).


Measured the Hfe of all the transistors. Q1 is a 2n5551, the rest are 2n3904. An unmolested 2n3904 is 172. An unmolested 2n5551 is 202. (sample size of 1, but plausible from the datasheet)

1 189   (2n5551, trigger)
2 166
3 176
4 180
5 165
6 170
7 164
8 187
9 160
10 170
11 170
12 154   <-- replaced new one is 165
13 170
14 159   <-- replaced new one is 180

To test HV diodes, put a 9V in series with the meter, and measure volts. One must exceed the voltage drop to get the diode to conduct... on a NTE517 diode, its about 3V. So when the diode conducts, the meter will read 6V. When the diode does not conduct, the apparatus will do a weird relaxation oscillator thing, going from 0 to about 2V and then dropping back to 0.

The UV LED used to cure optical cement is:

Mouser PN 897-lz100U600
Manufacturer LZ1-00U600  LEDEngine

Reconnected 100 ohm resistor to the rest of the circuitry. Inductor is still disconnected. The output of the first cap hangs out at 0. When the transistors fire it drops to -1800 volts, and then returns to 0 in about 42 usec. Scope reports the pulse to be 14 usec, I suspect its using the RMS definition.

Connected the inductor... Its now doing -130V, and a 3.2 usec pulse which looks all nasty, like the transistors are self-avalanching again.

Started replacing 2n3904's with 2n5551's, from Q14.

Q14 was 180, is 180
Q13 was 170 is 1040  (fried)
Q12 was 154 is 7   (fried)
Q11 was 170 is 142
Q10 2680  (fried)
Q9  29  (fried)
Q8  off scale high (very fried)
Q7 138
Q6 101

Much happier with some 2n5551's on the high end.

With more 2n5551's will not trigger. I suspect insufficient voltage across the individual transistors to avalanche.


I got the accopian power supply, and integrated all the software for controlling it. The inhibit input works, but takes hundreds of milliseconds to stabilize, so its not sufficient as a rising edge for the qswitch pulse. The avalanche stack is happy at 3700 volts (2830 after the 2M resistor) with the first four transistors above the triggered one being 2n3904's and the rest 2n5551's.

The avalanche pulse is 2830 volts to 250 volts in 6 ns.

So the current question is how to get the 0 to 3000 volt step, then hold it for on the order of 3 milliseconds of ruby florescence.

Stiffer i2c pull-up resistors seem to be indicated. Went for 4.7K, based on some random web pages.

The end of one of the big caps is arcing to the HV line going past it. I applied electrical tape to the trace.


Got a new idea... leave the avalanche stack shorted, to hold the power supply down. Then at the first lamp edge, let go so it pops up to +V. Then at the time of the trigger, short it again.

But, it doesn't work. The avalanche stack drags the power supply down, but then the voltage across the transistors is too low and they go out of avalanche mode. The trigger transistor at the bottom stays on (so you see a 200V delta) but the rest go back to non-conducting. The final output is +V-200V, up to +V, and then a proper avalanche switch down to a couple hundred volts, with the usual exponential climb back up to +V-200V.

So plan letter-plus-one is 4000V mosfets (IXTV03N400S) to apply the high voltage, and then the avalanche transistor stack (crowbar) to turn it off. Go for 2 in series, to handle the 5000V powersupply max. Plan A is to have the MOSFETS on the low-side and crowbar the power supply. The fact that there are two complicates that, only one can be at GND potential with the MSP430. Can the MOSFET gates be driven by an optocoupler in photo-voltaic mode?

Shopping List

A PVI5080NSPBF is designed to drive a MOSFET gate... but is only rated for
4000Vrms isolation.  $5

A VHS1-S12-S12-SIP is an isolated 12V supply.  6000V isolation.  $10

An OPI1264A optocoupler is good for 10000Vrms.  $2


The MOSFET crowbar scheme works. With a but...

I put the MOSFETs on the low side, to crowbar the power supply. I generated the gate current with photovoltaic optocouplers (apv1122a). Then drove the optocouplers with a PNP transistor on the high side, to be compatible with the drivers on the rest of the outputs. (They are unfortunately broken as designed, and will be replaced in the next revision.)

So now the problem is that the 2M current regulator resistor is overheating. Its dumping 12.5W of energy when crowbarred, and rated for 1. And I forgot the 100 ohm current limiting resistor on the avalanche stack. (5000V across 100 ohms is 50A)

What is the RC time of 2M and 12 pf? Rise time after the avalanche pulse seems slow (70 usec?).

And then there are the ovens which the OC and etalon are in. They have an 18 ohm resistor for heating, and something which I believe is a type K thermocouple for the sensor. A MAX31855 is the amp and ADC all stuck into a single chip.

MAX6682 is similar, only for thermistors. It puts out 10 bits of data, and a sign bit.

It is not a thermocouple. If it were a thermocouple, it would have a voltage across it. Except it would be in microvolts, and my meter doesn't go down that far. So I'm going to point at its resistance, its 108.6 ohms at a room temperature of about 67 degrees F. I believe a thermocouple would be much lower resistance.


So after pondering the ovens for the etalon and OC, I was thinking the ruby needs a similar thing, or at least a temp sensor. Possibly the amp too.

And perhaps the interlock loop should go through the head, such that a temperature excursion could break it.


How much power into the oven heater? Lets just call it 2W for now. We have a 24V bus, for the accopian power supply. at 24W, 2W is 84 mA, so the current limiting resistor is 285 ohms. Subtract the 18 ohms which is already there?


I rearranged the HV stuff so that the MOSFETS just switch the HV instead of crowbaring the power supply. Its switch-on time is about 12 milliseconds. So the controller needs to provide a fire signal at least 12 milliseconds early. Thats awfully long, the 8 MHz clock rolls over at about 8 milliseconds. The switch-off time is sub 0.1 millisecond...

So the plan is to go back to the crowbar arrangement. Ten 20M resistors in parallel will be able to handle 25W of power (12W expected). (5000v * 0.002A == 10W) They cost $3.89 each (quantity 10). MEH...


Fun with PCBs...

I modified the foo2lava filter which drives my printer so that black pixels are converted to all four toner pixels. That increased the amount of toner and made the toner transfer slightly happier. There are still lots of dropouts.

Aligning the two layers with a light table, and then taping them together to form a thing like an envelope works OK. Then insert the PCB into the envelope, put the whole assembly in a folded piece of paper, and then run it through the laminator. The folded piece of paper seems to reduce the rollers pulling on the blue stuff, so it doesn't get moved, and seems better aligned.

Six passes seems to smudge it, such that lines between traces get filled. Yet six passes will still not fill in all the dropouts. Does the paper insulate it too much? Does it reduce the pressure? Or increase it, due to additional thickness? The thinner PCB stock seems to work better, but I typically ran two pieces through, to increase the thickness/pressure.

The thin stuff is 2/64'th thick, the thick stuff is 3/64's. Two pieces of thin stuff would thus be thicker than the thick stuff, so my pressure is low. The single sided PCB used for the HV boards is 6/64's thick.

So double the thick stuff, and only 4 passes? double the thick stuff didn't fit... 4 passes. Some wide spaces had no problems, some narrow spaces had the blue stuff bend down and fill it.

Took the laminator apart again, removed the top "cooling plate", so it would not block the boards, and cranked a variable resistor to the end stop. The temp, before I adjusted it, was maybe 260, after was 310 or so. Apparently best practices is 350. I was measuring the temp with one of those infrared thermometers, so the measurement may be low because of the field of view of the sensor (it effectively averages over its whole field of view).

Second board: holder, black only, thick 2 sided, 4 passes.

Got the color thing working. So all four colors of toner are applied. This causes the artwork to look soft. And lots of stuff between the traces.

Third board: no holder, all colors, thick 2 sided PCB, 2 passes.

stuff between the traces can not be removed with packing tape. While it does pull off "loose" stuff, the blue stuff between traces is lower than the stuff on top of the toner, so it doesn't get suck to. Abrasives are similarly ineffective. (eraser, scrunge, brush)

Fourth board: on thin stuff, not doubled, black only, 3 passes.

The blue stuff starts warping after multiple passes. Fourth board was very spotty, but didn't have as much junk between the traces. There seems to be two cases of stuff between traces: there are stripes parallel to the paper motion in the printer from the toner going onto the blue stuff unevenly. Then there is if a space is exactly the right width a narrow strip down the middle.

There is a general blotchiness which matches a texture in the blue stuff from how it was coated. You can see droplets in its density.


I've been playing with a plotter, and random pens. The trick is to find a pen with permanent ink and a sufficiently fine point.

From the web:

Staedtler permanent special F number 319?
staedtler lomocolor 313 red?    <--  two votes for this one
  they make actual plotter pens too:  31HP03K-2
black medium 317 ?
micropigma pens with staedlter ink?
technical pens with thinned fingernail polish?

Bug zapper and aquarium lamps can be used to expose photo resist. Two bulbs 6 inches away, about 12 minutes?


Current theory is that a faber-castell extra super fine is narrow enough for QFP pins (claims 0.01mm, I'd believe 0.1). Its waterproof when it dries, but may be smudged. I haven't tried it in etchant yet. The biggest problem is the pen gets bumped in the pen holder, and shifts 20 mils or so, spoiling the details. I need to build a new pen adaptor with a larger diameter ring around its body. (20120409: Turns out that the etchant knocked the faber-castell ink's socks off in seconds... Only sharpie ink could deal with it.)


Fun with the qswitch and stuff controller:

Pins 9 and 10 are reversed on the accopian connector. Resistor between msp430 and inhibit transistor needs to be 1K (or smaller?), it has to overcome the 10K to 3.3V pull-up.

Fun with the heaters:

at 68 degrees, the sensor is 108.5 ohms.

Increased to 108.7 after several minutes of 24V in series with a 100 ohm 10W resistor, which was at 165 degrees. Bypassed the current limiting resistor (all of them). Got to 109.2 ohms in seconds. Which made no difference to the ADC. (reads 1252 units.)

I suspect the 108 to 109 ohms with Rext=10K is below the resolution of the ADC.

resistor change... 10K to 1500 ohm.

66 1162
78 1158
90 1156  115.7   ohms

Values are always even, I suspect SPI code is shifting one too far. Poll code also isn't working right, the timestamp is not inited correctly.

Values are also way too far apart, the thermistor resistance range is too small for a 1500 ohm Rext, but any lower and it exceeds the current load that the ADC voltage ref can handle (1 ma).

Measurement of 24V rail is pegged. change voltage divider to make output less than 1.5V. measurement of 3.3V rail is also pegged... :-P

Measurement of the output voltage: set for 5000, reading 4156v, actual is 4140v with the HV probe. I suspect the 10K on the output of the DAC is forming a voltage divider with the circuitry in the accopian supply, and reducing the 5V control voltage. Disconnected, Vout is 5V, with the accopian connected its 3.8V. Replace 10K resistors with 1500 ohm resistors. The load resistance is 1500+31666 ohms (according to that 3.8V drop), so within the 2K test load from the DAC data sheet.


The always even value was a bug.

code 581  65 degrees   (beginning, so temp at sensor is 65 deg F)
code 579  75 degrees   (measured with IR thermometer on outside surface)
code 580  83 degrees

Internal temp is much higher... Al collar is more like 93 degrees (at 83 deg point.) The power supply seems to push the temp reading slightly.


OK, screw the original sensors... Replace them with 10K NTP thermistors.

Of course that means disassembling aligned optics. :-P Strangely, the alignment of the OC survived the operation. The etalon also got back in, but the power seems reduced.

There is an open somewhere in flash-lamp input 0, and a lose connection in the thermistor input such that it only operates when the card is upside down.


Found the opens...

Assembled a bunch of boxen, to mount the qswitch trigger and driver in.

There is a failure mode where if the PWM value for the heater is updated at exactly the wrong time, it never resets, and fails on. Time to read the datasheet again.

The two photo-diodes are working. The thermal control hardware is working, but the software is weak. The accopian supply control is working. The AC power control is working.


Thermistor calibration:

room temps are kelvin - 273.
room	DAC
20	209
21	215
22	222
23	230
24	238
25	246
26	253
27	262
28	269
29	277
30	284
31	292
32	300
33	307
34	314
35	321
36	327
37	335
38	342
39	349
40	356

42	369
(and now going down...)
42	370
38	342
36	329
35	321
33	308
29	278
27	264
26	256

And then I broke my good thermometer, when it rolled off the table as I was disassembling the calibration apparatus. :-( You can't buy proper mercury thermometers anymore.


Finished assembly of the new qswitch driver board. It more or less works, but the current limiting resistors overheat. They get to about 200 deg F. 5000v at 2.5ma is 12.5 watts. There are 10 resistors in parallel each rated at 2.5W. It shouldn't even be breaking a sweat. Pondering the datasheet, the resistors are Ohmite part number SM108032005FE, which is coated with silicone, and rated to 110 degrees C, or 230 degrees F, or 180 degrees C (356 degrees F). The datasheet is ambiguous, one section says the series is rated to 230F, and another says silicone coated is rated to 356F. So they are either right on the edge of spec, or within spec, but I think the real issue is getting 12.5W out of the enclosure.

The TNC connector on the qswitch is not a normal size TNC connector. The center pin is normal, but the threads are smaller diameter. So I kludged it. A Mini-UHF connector is closer, but the connector's knurled part hits the bottom before the middle of the connector is completely seated.

The amp photo-diode doesn't seem to be reading right. Its way too short, 903 usec instead of the osc's 2355 usec.

Switching the fibers on the inputs, the osc was 2355 now its 773, and the amp which was 903 is now 3518. An old observation is that the photo-diodes are sensitive to amplitude of the light, and perceive a brighter pulse as longer.

Dan suggested putting both diodes into the same light source, and comparing their measurements. Do they both see the rise at the same time but one is truncated? Thats what the timestamps would indicate... Or are they both centered, but one sees the rise later and the fall earlier?

First q-switched shot: (osc only, though amp is firing)

decision at 0x9beb  val= 0x8b81min= 0x950b  max= 0x96c7  delta= 0x1bc 56 usec
lamp 0  0x96a6 0xdee1  len 2351 usec
lamp 1  0x96c7 0xb26a  len 899 usec
lamp 2  0x0 0x0  len 0 usec
lamp 3  0x950b 0xdb65  len 2290 usec
Qswitch target 0xdb66 actual 0xdb66 2237 usec

lamp 0 is osc, lamp 1 is amp, lamp 3 is timing signal from the main controller. The delta is pretty much always 56 usec, so the expected jitter from the 3.3V to 12V driver having to charge a cap may be too small to measure.


I implemented Dan's idea, and put optical fiber in each photo-diode then taped the other ends together and illuminated them both with a camera flash. The observation, with both timestamps and oscilloscope, is that the leading edge of the pulse is always right on, but the trailing edge comes earlier if the light is attenuated. (tested by putting my finger over one of the optical fibers, I am not especially opaque...)

See both_photodiodes_same_light.hpgl

So then I got my det10a photo-diode (Thor labs), as a ground truth. The rising edges are pretty much exactly right. The problem is the light pulse is /much/ shorter than observed electrical pulse. The falling edges are pretty much 2000 usec late. The electrical pulse is 10 to 20 times longer than the light.

See both_photodiodes_same_light_anddet10a.hpgl

decision at 0x1b0e  val= 0x8380min= 0x142e  max= 0x1473  delta= 0x45 8 usec
lamp 0  0x142e 0x6b40  len 2834 usec
lamp 1  0x1473 0x615e  len 2503 usec
lamp 2  0x0 0x0  len 0 usec
lamp 3  0x0 0x0  len 0 usec
Qswitch missfire


Pondering the photo-diode problem...

The bottom of the diode is pulled down with a 4.7K resistor to GND. The top of the diode has a 220K resistor to +12V, and a 0.1uf cap to GND. So when the diode conducts, it dumps the cap into the 4.7K resistor. When it ceases to conduct, the bottom of the diode should be pulled back down to GND by the 4.7K resistor. But it isn't.

The bottom of the photo-diode is monitored by an opamp. So it should be a very high impedance (with a 4.7K resistor across it).


Fun with osc lamp timing...

See osclamps.hpgl. The lamp pulse, as observed with the det10 sensor is about 700 usec long. The photo-diode output looks about the same, about 700 usec long. The opamp output is stretched, to 1260 usec. Why?

The amp pulse is the same approx 700 usec long.

The opamps report 1241 usec long, 359 usec long. One is stretched and one is compressed. I trust the rising edges right now though...

And the fire pulses are still not reliable. I suspect the transistor drivers suck... It has the voltage gain, but not current gain, and how much can the MSP430 sink?


Current draw of the head electronics box is about 0.67A (120V). Thats with both heaters and HV supply running. Coolant pump is 1.6A. So if the head electronics are plugged in with the cooler is 2.27A, over wire which is probably too thin (18 or 20 gauge, came from a hamfest...), but was not noticeably warming.

Corrected the power supply voltage monitoring ratios. The 3.3V rail is more like 3.5V... Which may be why the msp430 is running warm (312K), though its also directly above a 24V switching supply.

The thermal control works, but every once in a while a max6682 chip seems to crash. It starts reporting just 0. A power cycle gets it sane again. The cover is currently off, hopefully better RF shielding from the flash lamps will improve things.

Started tweaking the optical alignment. Before doing much, OSC is 10 mJ/pulse free-running. After tweaking the OC and HR a bit... OSC is 16 mJ/pulse free running at V=2100.

Pondering everything_20120424.hpgl... The top trace is the voltage on the qswitch. Middle is output from the photo-diode. Bottom is light from the DET10, observing a post-it of the laser output.

Observe how the qswitch isn't stopping the laser from lasing. (qswitch is on driver 1, driver 0 is the MOSFET... need to clean up that code.) I think the qswitch will need to be realigned from scratch. Blea... I managed to get a diffuser polarizer and screen into the resonator, its definitely off. The alignment laser happens to be polarized, which simplified things a bit.

And why isn't the rising edge of the qswitch waveform on the qswitch trigger in from the main CPU? The signal is arriving a good 70 usec before everything... It needs about 100 usec to get to 5kv. (timing defaults on the controller recomputed...) Why are there multiple peaks on the DET10? They don't "feel" like the laser doing the relaxation oscillation thing, too randomly spaced.

I need a better heat-sink, things get weird when the coolant hits 77 degrees F. The osc is about 1000J, the amp is 2000J. So 3000J/shot of thermal load, into 3 gallons of water. 1J increases the entire thermal mass's temp by .0000213949 degree K (or C...). So one shot should be 0.064 degrees C, or 0.10 degrees F. I'm seeing a rise from 72 to 77 degrees in far less than 50 shots... The circulating pump is a not insignificant load, the temp will go up with just the pump running. If we call the pump a 100% efficient heater, then its putting 200W into the coolant.


Talked to Ed Wesley...

My laser apparently came out of a holocopier.

Lase off the etalon, by blocking the HR and qswitch. That puts the etalon normal to the beam. Then shift 0.3mm... and ponder the contrast in the fringes of an analyzing etalon.

analyzing etalon fringe contrast co2 reflector as analyzing etalon optical flat 1/8 inch or so thick. Investigate things with a C315m to find something which does the etalon trick.

coolant temp is supposed to be 20 deg C


The qswitch is definitely aligned... The Maltese cross is centered on the beam. The resonator is more or less back in alignment as well. The Maltese cross goes inside-out when voltage is applied, just like the drawing in the service manual. So /why/ isn't it q-switching? Is the voltage wrong? I've tried 3k, 4k, and 5k, with no apparent difference.

The qswitch trigger timing is also just not working right. (This turned out to be operator error, the avalanche transistors will not avalanche below 4kv.)


The laser was lasing off the etalon, bypassing the qswitch, which is why the qswitch appears to not work. (But I've been wrong before...)

Micrometer positions for etalon: (normal to beam, not final pos) top: 6.140 side: 6.305 (these values are now out of date.)

The qswitch works... yay technology. See qswitchcontrol_worked_20120408.hpgl And the timing report for that shot is:

decision at 0xc9aa  val= 0x1
min= 0xbeaa  max= 0xc249  delta= 0x39f 117 usec
lamp 0  0xc249 0xc2c2  len 15 usec
lamp 1  0x0 0x0  len 0 usec
lamp 2  0x0 0x0  len 0 usec
lamp 3  0xbeaa 0x1359  len 2756 usec
Qswitch target 0xcd49 actual 0xcd49 358 usec

The configuration was decision 0xb00 offset 1 0x1800. Don't remember the voltage, but (looking at the oscilloscope plot) its too high. Note the triangles, one of the transistors is prematurely avalanching. The lamda/4 voltage is 3.2kv in the configuration information for a different laser. My qswitch driver won't work below 4kv, but some of the 2n5551 transistors could be swapped for 2n3904s to reduce that voltage.

I don't believe that timing report though. I rewrote the edge detection code on the lamp inputs so it records just the first rising and first falling edge. I believe lamp0 saw a glitch caused by the flash lamps going off.

There are two time-bases for the qswitch. When the trigger (from the main CPU) arrives, the decision is scheduled and the MOSFET driver drops to 0, so the qswitch voltage starts climbing. It takes on the order of 200 usec to get to Vmax. The second time-base is the rising edge of lamp 0 (the oscillator). If both lamps are on and the jitter is close enough at decision time then the qswitch will be dropped back to 0 volts at lamp 0 + offset ticks.

The pockel cell eats about 1/2 of the power output. The etalon eats on the order of 90% of the rest. The osc power output is probably single digit millijoules. Though I have not increased the lamp voltage (from 2100V) yet.


The correct analyzing etalon is 1mm long, 65 percent reflective. Thats actually a more or less standard part. Which costs $570.


Assembled the cases around the qswitch driver board and trigger board. The spurious pulses are no longer showing up in the timing report. The cases need a little more cutting, I forgot to leave clearance for the cover between the 24V supply and the side of the case.

Q-switching eats a lot of energy. The output isn't even detectable until the osc voltage is increased to 2300V. I went up to 2400, and was getting on the order of 25 mJ/pulse out of the oscillator.


Resoldered the D9 connector for the Accopian supply. All the pins were cold soldered and falling out. I also enlarged the mounting holes for the 24V supply and moved it away from the side of the box, so the cover will now go on properly.

Assembled a second 200mw alignment laser ($50, from Axiz), and put it behind the second steering mirror so it shines through the mirror and the amp. Most of the energy is lost trying to get through the mirror, 650nm is too close to 694nm, but its a usable amount of light for aligning down-stream optics.

I currently have the spatial filter removed.

I then aligned the osc beam with the amp alignment beam, and then fired q-switched though the amp. It was more or less happy, and pretty close to aligned after crossing the room (15 or 20 feet, to a piece of zappit paper taped to the wall.) I tweaked the ruby beam slightly to more accurately hit the laser-diode spot.

Unfortunately its not tem00. The spot is donut shaped, both q-switched and free-running. I tried moving the etalon slightly to see of that was doing it, but nothing changed.

I wonder if its not aligned with the correct side of the HR. I'm not sure how that would make a donut though.


Played with the spatial filter a little. Easy to align to the alignment laser...

Started drawing an enclosure for the head. The current plan is an aluminum frame to hold everything, and then the sides made of oak plywood. Its cheaper than aluminum and should look cooler anyway.


The diameter of the mode selection aperture is 0.073 inches, or a bit less than 2 mm. According to the laser design spreadsheet thats not good enough. And its definitely multi-mode. The aperture is definitely as-manufactured. How did it ever work? 1.3mm at the OC will work. And if the beam is smaller, it will actually fit through the amp...

Removing the polarizer and the pockel cell at the same time is important... The deviation they each add to the beam cancel out. Adding and removing them as a pair leaves the resonator more or less aligned.

Etalon normal to the beam: top 6.135 side 6.315. Side was then reduced by 0.3 mm. Thats actually pretty close to the previous time I had it in alignment.

I seem to have fried the alignment laser which shone into the OC. I suspect it reacted poorly to having the ruby fire into it... At least it wasn't one of the $50 lasers...

Osc only 12.7mJ, at 2300V. After spatial filter 10 mJ. The blob makes me think the beam isn't /quite/ centered in the amp.


Spent a bunch of time building an enclosure for the head. It has a frame made of aluminum angle, the lid is 1/4 inch thick oak plywood. Oak costs $30 for a 4x8 foot sheet. A 4x8 foot sheet 1/16 inch aluminum from McMaster-Carr is $160. So oak it is. I think it looks cooler than the aluminum would too.

I put a 1.3mm aperture on the axial mode selection aperture. Its actually 52 mils in diameter, which is a little over sized but its also not right on the OC. The beam out of the osc looked pretty good, but after the amp is the same slightly flattened ring as before. Why? Is the amp not sufficiently pumped? Out of sync?


Charles gave me a hand getting the head into its box. The electronics boxes will need some brackets, and the cables will need some cable ties.

Then we put a diverging lens into the beam after the osc, in an attempt to find where the donuts are coming from. Its not in the osc. The beam looks great, very Gaussian, straight out of the osc. We were even bouncing the beam off the two steering mirrors to the amp before going to the diverging lens. The donuts must be coming from the amp somehow. Internal reflection off the interior of the rod? That would explain the oval-ness of the spot. Though it sure looks round immediately after the amp.


I cropped the image of the osc spot, and plotted it with gnuplot. Which had issues with the size of the dataset... But the beam profile out of the osc is extremely happy, and IMHO Gaussian.

So whats going on in the amp?

Free-running, with the new 1.3mm aperture, the osc output is 15.8mv, or 7.5 uJoules, Vosc=2300.

There is weirdness with the avalanche transistors going off immediately after they are turned on. I don't know where its coming from, it might be a glitch in the analog circuitry, I have been unable to find it in the software.

Functional range of qswitch offsets:

Ideally, the qswitch would open right at the end of the lamp pulse. So I have all the stuff to time the flashes. Unfortunately it doesn't work. While it can observe the rising edge OK, the falling edge is not accurate. So I'll find a good delay more empirically.

First I looked at the timing with an oscilloscope and the fast photo diode. What are the minimum and maximum delays where the laser lases.

decision at 0xb00  offset 0 at 0xb00  

0x0b00  540 usec from the first voltage onto the qswitch   very wimpy
0x0f00  670 usec from first voltage,   less wimpy
0x1000  700 usec,   still increasing
0x1400   840 usec  pretty robust
0x1500   860 usec, very robust
0x1600   900 usec,  nothing
0x1800   960 usec,  nothing

So its going to be from 0xc00 to 0x1600. But the photo diode doesn't give energy, which is what I really want. So switch to the joule-meter...

0x0c00 7.1 7.2
0x0d00 6.6 6.7
0x0e00 10.0 10.5
0x0f00 11.65 12.25
0x1000 8.7  9.9
0x1100 10.6 11.45
0x1200 8.8 7.9
0x1300 8.4 10.3
0x1400 7.0 5.3
0x1500  3.6 3.1

The numbers are millivolts, divide by 2.2 to get millijoules. I went for 0xf00. Though 0x1100 might make more sense.

Then I went back to playing with the amp. After the amp, free running, Vosc=2300 Vamp=2100 output is 410 mv or 186 mJ. Q-switched, the output is 330mv or 150 mJ. So its running at about 15% of advertised output. I haven't increased the osc or amp voltages above threshold, hopefully that will get the rest of the power...

Screen is 120 inches from the front of the optical rail. The piece of tape in the middle of the frame is 1" wide.

Images: (in 2012050502)

I am unconvinced that the alignment laser is centered in the amp.


Eye Safety:

According to a graph in the back of "Solid State Laser Engineering", 10^-7 J/cm^2 is safe at 700nm. Actually a bit under 10^-6 is, so 10^-7 has a safety margin.

So given a 1J laser, if the light is spread out over 10^7 cm^2 its safe. Thats a disk with a radius of 1.78 meters. MEH, might need a more accurate definition of where the safe value is. I had something more like two 1 foot disks in mind...

OBDisclaimer: I am not a laser safety officer. It is assumed that the reader is competent to arrange for their own safety.

A 1 foot disk has an area of 113 in^2, or 730 cm^2.


PFG-01 needs 20 to 40 uJ/cm^2 pulsed and processed in SM-6... If we have a 1' disk, 1J would get us 1.3 mJ/cm^2, so plenty of light... But the laser is actually doing about 150 mJ/pulse q-switched, thats 205 uJ/cm^2. So we'll have to be careful with the illumination, but 8x10 looks imminently doable.


Fun with calibration.

Ambient 77 F, coolant temp 75 F. etalon and OC are 298 K.

VO=2300 VA=2100 SF lens installed power out = 102mv (46mJ) repeated the observation twice: 100mv, off-scale high got a charge fault, est VA=2900 power out = 425mv (193 mJ)

The amp charge circuit is acting up again. Same symptoms as before, the ready signal is never generated. Kludged the software to continue. I suspect the board is to flexible, and popped components off.

With attenuator, VA=2900 145mv, assume output was 193mJ divide by 0.75 for mJ

Removed SF lens, power is not significantly reduced. So I'm putting it back...

With attenuator, VO=2600 VA=2900 joule meter says 330 mv, output is 440 mJ coolant temp 70 F.

The alignment laser is pretty accurate, but with the diverging lens installed, the reference beam is too dim to see projected. The ref beam is also way off center, and the over head mirrors are not adjustable enough to get it back in line.

Attempted to make the first hologram (number 96.1). It went black in the developer (SM-6) but there was no diffraction.


Fun with debugging...

Kludged an etalon into the optics, in search of interference. It was way off center, so the spatial frequency was high, but there was definitely an interference pattern.

The qswitch is also verified to be single pulse.

And then the ready indication on the amp quit working... output was 430 mv (195 mJ) at Vamp=2300 free-running. It can still report the voltage, so the problem is in the voltage comparator again. Its like there must be a constant number of things which aren't working, and I got the count too low. :-P I have kludged the firmware to continue working on optical issues.

Rearranged the optics to get the big overhead reference beam mirrors square. Beam splitter is now a horizontal prism.


First Success

I have finally gotten a viable hologram, number 99.1, the fifth attempt with this apparatus.

The problem is that PFG-01 sensitivity rolls off at 680nm, and we're at 694nm. The datasheet specificly says not for use with ruby. (I should have read more carefully... MEH) So I tried some of an ancient roll of 10E75 holotest film. According to the datasheet, its looking for on the order of 2 uJ/cm^2.

The hologram went black nearly instantly, and had contrast to an unexposed corner. I pulled it out of the developer at 45 seconds (as opposed to the specified 2 minutes). It bleached in 4 minutes, but had lots of fog. The fog is not present on the unexposed corner, so its not from the age of the film.

There is a pattern of lines over everything. My first thought is that the etalon in the osc is not aligned and its multi-mode. But the last bounce mirror for illumination is second-surface, I bet its coming from there.


Revisiting Eye Safety...

Chapter 23 of the "Electro-Optics Handbook (2nd Edition)" "Laser Safety in the Research and Development Environment" states that the intrabeam laser ocular exposure limit at 700nm 1nm to 18us is 0.5 uJ/cm^2. Handbook (2nd Edition)/87161_23.pdf

To get 1J (rated output, not observed) to 0.5uJ/cm^2 it would have to be spread over 2 million cm^2, or a disk 900 cm in diameter (35 inches). Not entirely possible for my configuration.

But, for extended source ocular exposure (IE: diffuse reflection) there is a correction factor, provided that the reflection covers large enough of the viewer's field of view (a). amin must be larger than 1.5 (0.08 degrees) mrad viewing angle. Greater than 100 mrad (5.7 degrees) is no longer considered beneficial (amax).

CE = a/amin for amin < a < 100 mrad.
CE = a2/(amin * amax) for a > 100 mrad

Assuming its 100mrad (my configuration should be larger...) the correction factor is 8.5*10^3. That number is from the book, and I'm not sure how they are getting it given the equation for CE above. I keep getting 1333.

But, given the correction of 8.5*10^3, now we get 4.2 mJ/cm^2, which will have an area of 238 cm^2, or an disk 10cm in diameter (about 4 inches).

Given the correction of 1333, the illumination can be 666 uJ/cm^2. So 1J would be 1501 cm^2, or a disk 24.6 cm in diameter (9.7 inches).

Or, with a correction of 8500, its 4250 uJ/cm^2, or a disk 7 cm in diameter (3.8 inches). The number cited in Practial holography is a disk 6 inches in diameter.

OBDisclaimer: I am not a laser safety officer. It is assumed that the reader is competent to arrange for their own safety.


Pricing of some optics...
wave plate   1" diameter 10J/cm^2  670nm  $304
polarizing beam splitter 1" 2J/cm^2 620-1000nm  $203
polarizing beam splitter 1" 10J/cm^2 532nm  $500
analyzing etalon  $570
I would also like a pony.


ref beam length 129 inches.     4+38+58+29

obj beam length 
	3+14 to get off optics board     1/2" diameter   (approx)
	23 bounce to bounce		3.375" diameter
	23 bounce to bounce		6.25" diameter
	30 bounce to diffuser		10" diameter
	21 diffuser to subject
	12 subject to film

Found the popping sound. The illumination beam expanding lens was in backwards, and the reflection focused to a point, ionizing the air. (see images)


Started working on V2 of the main control board. The board is too thin, and keeps flexing and popping components off, I don't feel like trying to fix it any more.

I also want to replace all the random connections to the board with an edge connector. I underestimated how annoying it would be to work on the board, or how often I'd endup doing so... :-P

So, given a 44 pin edge connector (used on other projects...) its amazing how quickly they went. I didn't realize there were that many lines.


More or less finished the board layout, though the majority is unchanged. I bailed on having seperate GNDs for every signal to the osc and amp power supplies, and that saved enough pins to get everything through a 44 pin edge connector.

The panel is now a 2x6 matrix, one column is the mode switch, and the other has chare, fire, and dump. The dump switch has multiple contacts, so it will break the interlock in hardware as well as inform the msp430.

The msp430 now has a pair of relay drivers, one so software can break the interlock, and possibly the other so software can turn on the main power as well.

The interlock observation is now fully implemented, as opposed to haveing an extra resistor tacked to some wires. It indicates open when actually closed, but there is now a seperate line to observe that the +12V rail is powered. The 12V rail is also now connected to an analog input via a voltage divider. It would be nice to observe the -12V rail too, but I don't feel like messing with yet another opamp, and it would have to be powered by the rails its supposed to be observing.

I have reduced the I2C pullup resistors to 4.7K.

Given that a laser is required to have a key switch for the main power... Is a password controled software implementation acceptable?


So we got the CNC mill running, which means: Fun with the heat exchanger...

Body is plexiglass, and about 6 hours on a CNC mill. Sides are 47 mil thick 304 stainless steel, gaskit is locktite 587. Barb fittings are nylon 1/4 NPT to 1/2" ID tubing, sealed with teflon tape.

The max temp a TEC can survive is 80 degrees C, or 176 degrees F.

The TECs I have are weird ones off ebay. They are approxamately a Nord TM-127-1.4-8.5. Imax is 8.5A, Vmax is 14.6V, delta Tmax is 71 (C), and will move up to 74W.

I have no idea what the cooling capacity of my heat sinks are. They are generic extruded aluminum with a fan, surplus CPU heat sink assemblies.

The power supply I have is 300W at 12V, or about 24A. At 6A (2 ohm current limiting resistor) we will be dumping 72W into the TEC, and with 0 degree delta can move 74W of heat. We won't be at a 0 degree delta... at a 30 degree C delta we can move 45W (there is a graph on the datasheet).

So the heat sink needs to move 72+45W=117W. Which is extremely optimistic.

At 12V, no current limiting resistor (it would have to be rated for 70W, that is not the right answer) the heat sink hits 150F. That is not sustainable. So, put two TECs in series. At 6V, the heat sink stablizes at around 100F. Which is sustainable. So temp delta of 40F, (22C) which is well within range. Current into the switching supply is 0.7A at 120VAC, 84W.

With 2 strings of two TECs, current into the supply is 1.25A, or 150W.

With 3 strings of two TECs, current into the supply is 1.78A, or 213W.


How much energy can the heatexchanger move? 4000ml of water in the system. Ambient temp is 70F. Temp was recorded at 1 minute intervals using a alcohol thermometer (first column in C) and an IR thermometer (second column in F).
19.0	66.5
18.9	66.5
18.5	66.0
18.5	66.0
18.1	65.6
18.0	65.0
18.0	64.5
17.9	64.5
17.6	64.0
17.5	64.0
17.4	64.0
17.1	63.5
17.0	63.5
17.0	63.0
16.9	62.5
Heatsink was 100F, current was 1.52A at 120Vac (observed at the end)

Drop of 2.1 degrees C in 15 minutes, which is 35169.12000J in 15 minutes. Or 2344J per minute, or 39 watts. For which we used 182W. I'm uncertain that is sufficient.

Or 2344J per minute, or 39 watts. For which we used 182W. I'm uncertain that is sufficient.


,p> Lots and lots of assembly. The V2 board is completely populated.

The DACs are happy, as far as I2C goes. LED drivers are happy. The new matrix panel layout is happy. RS-232 is happy, both to the host and the qswitch controller. The new relay drivers are happy, with no current limiting. They are running off the unregulated unswitched supply, which is about 7V, and the relays are rated for 9V, so it probably makes sense. The interlock is reading backwards or something... OSC voltage reads constantly high. Nothing will charge right now, I suspect the 555 is not running. Or perhaps the level shifters are unhappy.


I put some heatsink greese on the cold side of the TEC modules, and increased the voltage of the power supply to about 13.5 volts. Any higher and the power supply got weird. During alignment tests, the coolant did not get above 68 F. Ambient is approx 69 F.

More fun with geometry, rerranging so we can do a transmission diffuser instead of a reflection.

ref beam length 129 inches.     4+38+58+29

obj beam length 
	3+14 to get off optics board     1/2" diameter   (approx)
	39 bounce to bounce		
	29 bounce to bounce		
	27 bounce to subject
	12 subject to film

The max osc voltage is 2500V (assuming current calibration). Its actually a tad higher, but the OV card trips at 2600 just after the ready indication.

The max amp voltage is more than 2900. I didn't go above 2900 due to the ominous crackling that tends to happen at that voltage.

The qswitch may or may not be very well timed, due to the falling edge bug. However it put a very firm hole in the zappit paper compared to free-running.


After pondering the holograms, I lengthened the illumination beam about 12 inches.

ref beam length 129 inches.     4+38+58+29

obj beam length 
	3+14 to get off optics board     1/2" diameter   (approx)
	42 bounce to bounce		
	33 bounce to bounce		
	18+13 bounce to subject
	12 subject to film

total 135

I suspect I'm actualy wrong, and mistook where the spot from the diffuser is shining for beam length problems.

After much debugging, It is finally time to shoot a hologram on some fresh film.

Hologram number 104.2 on a harman holo fx plate in SM6 developer for 2 minutes and Ferric EDTA bleach for 2 minutes was extremely successful and I'm calling the project a complete Success.