Introduction.
This is actually my third UV-LED exposure box. The first was a converted flatbed scanner, with too many fails and faults, but at that time, it got the job done. The second was a PIC 16F628 based 45 UV LEDs, in a custom made box. The box is made out of 3mm MDF plates. To make double sided PCB, I needed to expose the board for 10 minutes, flip it over, and expose it for another 10 minutes. Risking the alignment of the graphic to be in jeopardy.
Description and Operation.
This time, I'm using the second versions MDF box and UV LEDs, with a different controller circuit. The thought was to have a box to make DS boards in one shot, with variable exposure time, a warning LED and a buzzer that makes a sound when the time is up. Now I've added another 45 UV LEDs, and made an "add-on" box, which fits on top of the original box. You need to calculate you own values for the resistors to the UV LEDs. The listing below, is for the controller circuit.
And you will need:
My extra add-on box is connected via one of the powerconnector. This connector is connected to the the cables going from JP6. The last thing I added was a ICSP connector. This is for the user to alter the exposure time, for his/hers own time. See the programlistings below. When using the ICSP feature, the powersource needs to be disconnected.
The program:
I think that the program can be made smaller and more "stream-line".
Schematic.
I've attached a higher resolution image of the schematic.See attachments below.
My board layout.
Made in Eagle.
The real deal.
Pictures:
The two boxes of LEDs
The "add-on" placed on top, ready to expose.
There are some more pictures in my album. That's right about here.
Attachments are in EAGLE format and a high res image of the schematic.
This is actually my third UV-LED exposure box. The first was a converted flatbed scanner, with too many fails and faults, but at that time, it got the job done. The second was a PIC 16F628 based 45 UV LEDs, in a custom made box. The box is made out of 3mm MDF plates. To make double sided PCB, I needed to expose the board for 10 minutes, flip it over, and expose it for another 10 minutes. Risking the alignment of the graphic to be in jeopardy.
Description and Operation.
This time, I'm using the second versions MDF box and UV LEDs, with a different controller circuit. The thought was to have a box to make DS boards in one shot, with variable exposure time, a warning LED and a buzzer that makes a sound when the time is up. Now I've added another 45 UV LEDs, and made an "add-on" box, which fits on top of the original box. You need to calculate you own values for the resistors to the UV LEDs. The listing below, is for the controller circuit.
Rich (BB code):
Partlist
Exported from UV Box v3.sch at 19.12.11 18.57
EAGLE Version 5.7.0 Copyright (c) 1988-2010 CadSoft
Part Value Device Package Library Sheet
C1 0.1uF C-EU025-025X050 C025-025X050 resistor 1
C2 33pF C-EU025-025X050 C025-025X050 resistor 1
C3 33pF C-EU025-025X050 C025-025X050 resistor 1
C4 0.1uF C-EU025-025X050 C025-025X050 resistor 1
C5 100uF CPOL-EUE2.5-5 E2,5-5 rcl 1
IC1 PIC 16F628 DIL18 DIL18 ic-package 1
IC2 78L05Z 78L05Z TO92 linear 1
JP1 12 vDC PINHD-1X2 1X02 pinhead 1
JP2 Start PINHD-1X2 1X02 pinhead 1
JP3 Reset PINHD-1X2 1X02 pinhead 1
JP4 Busy LED PINHD-1X2 1X02 pinhead 1
JP5 Buzzer PINHD-1X2 1X02 pinhead 1
JP6 To UV LEDs PINHD-1X2 1X02 pinhead 1
JP7 Selector switch PINHD-1X7 1X07 pinhead 1
JP8 ICSP PINHD-1X6 1X06 pinhead 1
Q1 4MHz CRYSTALHC18U-V HC18U-V crystal 1
Q2 IRL2703 PMOSFET_NTO220BV TO220BV transistor-power 1
R1 380R R-EU_0204/7 0204/7 resistor 1
R2 12k R-EU_0204/7 0204/7 resistor 1
R3 12k R-EU_0204/7 0204/7 resistor 1
R4 12k R-EU_0204/7 0204/7 resistor 1
R5 12k R-EU_0204/7 0204/7 resistor 1
R6 12k R-EU_0204/7 0204/7 resistor 1
R7 12K R-EU_0204/7 0204/7 resistor 1
R8 12K R-EU_0204/7 0204/7 resistor 1
R9 10k R-EU_0204/7 0204/7 resistor 1
The schematic and board is made in EAGLE.A powersource (My powersource: 12v 1.66A)
2 pcs perfboads
90 pcs UV LED
Resistors for the LEDS
2 pcs powerconnectors
1 pcs powerswitch
2 pcs push-buttons, Normally Open, 1 for start and 1 for emergency stop.
1 red LED
1 piezo buzzer
1 turnable switch, to select exposure time.
Bolts and nuts
Assorted cables
Couple of glassplates, cut in the right size.
My extra add-on box is connected via one of the powerconnector. This connector is connected to the the cables going from JP6. The last thing I added was a ICSP connector. This is for the user to alter the exposure time, for his/hers own time. See the programlistings below. When using the ICSP feature, the powersource needs to be disconnected.
The program:
Rich (BB code):
/*
Program: main.c
Description: Timer program for UV-box
PIC: 16F628
IDE: MPLAB
Compiler: Hi - Tech C
Date: Nov 2010
*/
#include <htc.h>
#define _XTAL_FREQ 4000000
/* Configuration */
__CONFIG(WDTDIS &
PWRTEN &
MCLREN &
BOREN &
LVPDIS &
DATUNPROT &
UNPROTECT &
XT);
/* Prototyping the functions */
void lightLED();
void beep();
/* Global variables */
unsigned char i;
/* Functions */
void lightLED()
{
PORTB = 0b00000011; // Setting bits 0 and 1 to HIGH
__delay_ms(1000);
PORTB = 0b00000000; // Setting all bits to LOW
} // end lightLED
void beep()
{
for (i=0;i<125;i++)
{
PORTB = 0b00000100; // Setting bit 2 to HIGH
__delay_ms(1);
PORTB = 0b00000000; // Setting bit 2 to LOW
__delay_ms(1);
} // end for-loop
} // end beep
/* Main program */
void main()
{
TRISA = 0b11111111; // Setting all bits on port a to input
TRISB = 0b00000000; // Setting all bits on port b to output
PORTA = 0b00000000; // Setting all bits on port a to LOW
PORTB = 0b00000000; // Setting all bits on port b to LOW
CMCON = 0x07; // Disabling the analogue comparators
while (1)
{
if (RA0)
{
for(i=0;i<2;i++) // Create a delay for 2 seconds
{
lightLED();
} // end for-loop
beep();
} // end if
if (RA1)
{
for(i=0;i<120;i++) // Create a 2 min delay
{
lightLED();
} // end for-loop
beep();
} // end if
if (RA2)
{
for(i=0;i<240;i++)
{
lightLED();
} // end for-loop
beep();
} // end if
if (RA3)
{
for(i=0;i<240;i++)
{
lightLED();
} // end for-loop
for (i=0;i<120;i++)
{
lightLED();
}
beep();
} // end if
if (RA4)
{
for(i=0;i<240;i++)
{
lightLED();
} // end for-loop
for(i=0;i<240;i++)
{
lightLED();
}
beep();
} // end if
if (RB7)
{
for (i=0;i<60;i++)
{
lightLED();
}
beep();
}
} // end while
} //end main
Schematic.
I've attached a higher resolution image of the schematic.See attachments below.
My board layout.
Made in Eagle.
The real deal.
Pictures:
The two boxes of LEDs
The "add-on" placed on top, ready to expose.
There are some more pictures in my album. That's right about here.
Attachments are in EAGLE format and a high res image of the schematic.
Attachments
-
250 KB Views: 117
-
19.5 KB Views: 123
-
1.8 KB Views: 112
-
55.1 KB Views: 146
Last edited: