Project: DS-PCB UV LED exposure box.

Thread Starter

nerdegutta

Joined Dec 15, 2009
2,676
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.

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
And you will need:

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.
The schematic and board is made in EAGLE.
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
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.
 

Attachments

Last edited:

faceter

Joined Dec 4, 2011
7
Hi nerdegutta
I rerad about your UV Box project. I have a redundant scanner and was thinking about a conversion to a UV unit. Youv'e already made one but you comment on the 'fails and faults'. Were they so bad? Any chance of letting me know what was wrong and if you have any schematics let me have them?

Thanks
 

Thread Starter

nerdegutta

Joined Dec 15, 2009
2,676
The procedure were straight forward.

I took out all that was inside, and soldered approximate 295 UV LEDs together. I do not think I used the proper resistors, but my timingcircuit was fine. Around 7 minutes. It was a 555 and transistor circuit. Don't have the schematics longer...

What I meant with fails and faults, was my soldering skills at the time, and my understanding of how LED's and resistors work together.

The powersource was a jump-started ATX powersupply.

Edit:
I've found the scanner, took some pictures, and made an album. It's here.
 
Last edited:
Top