Data General Nova 3 printed circuit board, owned by Emil Sarlija. (Photo credit: Wikipedia)
There are many tutorials on that on-line, which all boil down to three steps:
- Print the PCB onto paper using a laser printer. You'll have to experiment with various paper types and number of times you need to print on top of the same image in order to get enough ink.
- Push the printed circuit board layout against the PCB while heating it, typically using an iron or a laminator. You'll have to experiment with heat and pressure.
- Somehow peel off the paper without tearing the PCB tracks off. Depending on the type of paper, you'll have to soak it in water for some time, or you'll have to carefully peel off the paper little by little.
Photo printing involves three steps, too:
- Print the PCB layout onto transparent film. Virtually all laser printers can do that. One print will probably suffice.
- Put the transparent film on top of a photo-prepared PCB (you can buy those) and expose with UV light for about five minutes.
- Develop the PCB.
And now that you have the box, you might also want a timer, preferably an electronic one. The following schematic is an example of making an easy digital timer that allow you to set the exposure time from one to nine minutes.
The design revolves around the PICAXE 08M. You may need to alter the code a bit for the newer 08M2, which is faster, so that the timing loop is repeated several more times. The schematic is quite simple (click the image for a larger version):
The three buttons are used to set the timer value: one for incrementing the value, one for decrementing the value, and one for starting the timer. Any of the keys can be used to shut off the lamp prematurely.
The up and down button, S2 and S3, are pulled up, so that a "low" value of the corresponding pin on the PICAXE 08M implies that the particular buttons is pressed. The third button, S1, pulls both buttons to ground, so that it seems as if they're both pressed at the same time. This tells the PICAXE 08M that the "start" button has been pressed.
The timer value is displayed on a 7-segment LED display using just two signals: one signal resets a 4026 counter (which outputs its value in 7-segment format, and is capable of driving a 7-segment display), and another signal counts the 4026 one count up. By resetting and quickly counting, any value from 0 to 9 is displayed with only a slight blink in the display.
The code for the timer is as follows:
' UV Box Exposure Timer
#picaxe 08m
#com /dev/ttyUSB0
' Preload the EEPROM with defaults:
' Value: Last exposure time. Default is 7 minutes.
eeprom 0, ( 7 )
' Pin 0: Reset 4026-based 7-segment counter.
' Pin 1 and pin 3: Button input (00=none, 01='down', 10='down',
' 11='start'/'stop').
' Pin 2: UV lamp on/off.
' Pin 4: Count a 4026-based 7-segment counter.
input 1, 3
output 0, 2, 4
symbol i = b0
symbol exposuretime = b1
symbol digit = b2
symbol button1 = b3
symbol buttonvalue = b4
symbol minutesleft = b5
symbol minutecounter = w3 ' b6:b7
' Turn off the UV lamp.
low 2
' Restore the settings from EEPROM.
read 0, exposuretime
' Display the exposure time
let digit = exposuretime
gosub showdigit
main:
' Wait for the user to push start. Meanwhile, scan for
' up and down buttons.
gosub scanbuttons
if buttonvalue = 1 then
gosub countdown
else if buttonvalue = 2 then
gosub countup
else if buttonvalue = 0 then
' Write the exposure time to EEPROM.
write 0, exposuretime
gosub expose
' Restore the display.
let digit = exposuretime
gosub showdigit
endif
pause 150
goto main
' Expose PCB.
expose:
' Turn on the UV lamp.
high 2
' Wait half a second to give the user time to release
' the key.
pause 500
let minutesleft = exposuretime + 1
let digit = exposuretime
exposeminute:
gosub showdigit
' Loop counts in tenths of seconds, and compensate for
' some loop overhead.
let minutecounter = 590
exposeloop:
' If the user presses a key, then turn off the lamp and
' return to the main loop.
gosub scanbuttons
if buttonvalue <> 3 then goto endexposure
pause 99
dec minutecounter
if minutecounter > 0 then goto exposeloop
' Count down the number of minutes left.
dec digit
dec minutesleft
if minutesleft > 1 then goto exposeminute
endexposure:
' Wait half a second to give the user time to release
' the "stop" (start) key.
low 2
if buttonvalue = 0 then
pause 500
endif
return
' Scan the buttons to see if one of them is pressed.
' buttonvalue = 0: both pressed,
' buttonvalue = 1: button 2 pressed,
' buttonvalue = 2: button 1 pressed,
' buttonvalue = 3: none pressed.
scanbuttons:
let buttonvalue = pin1 * 2 + pin3
return
' Increment the exposure time.
countup:
inc exposuretime
if exposuretime < 10 then goto displaynewexposure
' Decrement the exposure time.
countdown:
dec exposuretime
if exposuretime < 1 then
exposuretime = 1
endif
displaynewexposure:
digit = exposuretime
gosub showdigit
return
' Show the value of "digit" by resetting the display and
' counting to the display value.
showdigit:
' Reset the counter.
pulsout 0, 1 ' 10 us pulse
' Count to the display value.
if digit = 0 then endshow
for i = 1 to digit
pulsout 4, 1 ' 10 us pulse
next i
endshow:
return
The code should be mostly self-explanatory. Refer to the in-code comments for details.
The PCB is laid out in two parts, as indicated by the schematic; one for the "main board," which includes the processor and the relay, and one for the user interface, which includes the display and the keys, ready to be mounted in a plate:
I won't get into detail about how I obtained the three UV tubes used in the exposure box and how they're connected, because obtaining the UVB tubes cheaply from a local supplier was a bit of luck, and the tubes are wired like any other tube with ballast and starter. The final version in a wooden box looks like this on a somewhat messy workbench:
The required exposure time for a photo print is about four to five minutes using this exposure box.



But that is neither how I think, nor how I work. Presented with a problem, I see a landscape in front of me with lush valleys, impassable mountains and gorges, walls, streams, highways, buildings, paths, caves, dark forests, and hidden passages. The problem is an area in the distance that is sometimes clearly visible, at other times covered in a hazy mist that obscures the precise location, and sometimes it falls entirely beneath the horizon, giving itself away only by a magnetic attraction that guides the compass needle to point in its direction, or as distant rays revealing where the Sun is setting. It is a map for a Westward chase for the escaping light.
A ghost is a deceased person that haunts the living, because the deceased person has unfinished business or lost property that was highly important to him. In spite of what healthy skepticism might prompt me to believe, I believe in ghosts, because I have seen many of them.
In the mythical universes the axis mundi connects the cosmic planes of existence. In Christianity, the axis mundi is symbolized by the Jacob's ladder, and in the Norse mythology it was Yddgrasil. The the individual, the axis mundi is the connection between sensing and interpretation of the senses, and the connection between his past and his future. It is the person's thread through life.




Truth is reserved for misguided humans who believe that truth is a goal.
It is usually considered bad practice to compare groups that you don't like with Nazis. This comparison is made so often, however, that it has earned its own name:
Some of my close relatives were members of the Nazi party during the
Nazis of today are unlike the mythical Nazi, because the mythical Nazi never existed. Nazis of today are not necessarily goose-stepping down the Straße, do not necessarily wear armbands, and do not necessarily call themselves Nazis. Only the mythical Nazi does all of this, as well as the few individuals who attempt an ostensive act of the universe of the mythical symbol.
This is a job for the PICaxe 08M, which has built-in support for the Dallas Semiconductors DSB 1-wire temperature probe.










And so "less" is no less.

Recent Comments