SantyagoSantyago
Avatar

Witaj!
Blog archiwalny. Już niebawem nowy serwis!

YouTube RSS Facebook GitHub

Naświetlarka UV i wytrawiarka płytek PCB

Całkiem przypadkowo natknąłem się dawno temu na film w serwisie YouTube, traktujący o domowej produkcji płytek PCB. Osobiście jestem przekonany, że lepiej wykonać płytki PCB w profesjonalnej firmie - wiecie: estetyka, dwustronny layout, opisy, soldermaska, cynowanie otworów itd. Jednak do małych, domowych projektów, nie specjalnie tego wymagam. Nie zapomnijmy, że dochodzi do tego koszt kilkudziesięciu złotych i długaśny czas oczekiwania. Zdecydowałem się więc na zrobienie sobie odpowiednich narzędzi do wykonywania takich płytek metodą fototransferu, czyli naświetlarki UV oraz wytrawiarki PCB.

Osoby śledzące mnie na Google+ lub Facebook, na bieżąco mogły obserwować postępy rozwoju projektu, dlatego ten wpis będzie traktował o tym, jak powstawał projekt oraz jego finalny zarys.

Zanim jednak zacznę, przedstawię krótką specyfikację projektu:

Naświetlarka UV

  • Głowica z diodą UV o mocy 30W
  • Wyświetlacz OLED 1.3"
  • Sterowanie za pomocą podświetlanego enkodera RG
  • Chłodzenie diody UV ogniwem Peltiera TEC1-12710
  • Niezależny pomiar temperatury diody UV i radiatora
  • Aktywne chłodzenie radiatora wentylatorem
  • Pomiar punktu rosy za pomocą czujnika SHT11 (wilgotność powietrza, temperatura otoczenia)
  • Driver LED LDU4860S1000 o sprawności 95% i kontrolą PWM
  • Regulacja mocy diody UV w zakresie 0÷100%
  • Monitorowanie parametrów pracy diody UV za pomocą INA226 (napięcie, prąd i moc)
  • Przetwornica Step-UP 36V
  • Wydajny, niskoprofilowy zasilacz Mean Well RPS-320-12 o mocy 320W
  • Sterownik oparty na ATmega328P / Arduino IDE

 

Wytrawiarka

  • Akwarium z wiekiem o pojemności roboczej 1.6 litra
  • Wyświetlacz OLED 1.3"
  • Sterowanie za pomocą podświetlanego enkodera RGB
  • Możliwość trawienia dwóch płytek PCB 120mm/120mm
  • Łączna moc grzewcza 120W (4x30W)
  • Dwukanałowy system grzania (do grzania i podtrzymania temperatury)
  • Ciągły pomiar temperatury roztworu
  • System napowietrzania: mieszanie, chłodzenie
  • Sterownik oparty na ATmega328P / Arduino IDE

Historia projektu

Projekt powstawał bardzo długo, bo już w październiku 2014 przygotowałem sobie pierwszą głowicę UV składająca się z aluminiowego radiatora, wentylatora oraz czterech diod UV o długości fali 405nm po 4.5W każda, co łącznie dało mi sumę 18W oraz jasność 3200mW. Głowica była zasilania napięciem 12V poprzez driver LED i pobierała maksymalny prąd 2A.

Konstrukcja pierwszej głowicy (oprócz diod UV) składała się przyklejonego czujnika temperatury DS18B20 oraz dwóch diod RGB WS2812 mających służyć do oświetlenia przestrzeni roboczej słabym, czerwonym światłem. Za chłodzenie odpowiadał 12V wentylator, a całość została przymocowana do podstawki po starej lampce biurkowej :) Niezbyt estetycznie, ale od czegoś musiałem przecież zacząć.

Kiedy miałem już gotową głowicę UV, przyszedł czas na drugą część projektu, a mianowicie na samą wytrawiarkę PCB składająca się ze szklanego naczynia o pojemności 1,6 litra i czterech grzałek o mocy 30W każda (łącznie 120W). Początkowo próbowałem z grzałkami o mniejszej mocy i ilości, jednak grzanie wody do wymaganej temperatury 50ºC trwało zbyt długo.

Główne założenie jest takie, że do podgrzania roztworu trawiącego, wykorzystywane są wszystkie cztery grzałki, natomiast do utrzymania temperatury tylko dwie. Do pomiaru temperatury został wykorzystany ponownie czujnik DS18B20 w wodoszczelnej obudowie. Dodatkowo, aby zapewnić porządany ruch cieczy, zastosowałem kamienny napowietrzacz z pompką.

Podgrzanie wody z temperatury z 25ºC do 50ºC trwa około 25 minut - może być.

Pierwszy zarys projektu wyglądał następująco:

Super głowica z chłodzeniem Peltiera

Podczas pracy z głowicą UV zdarzyło mi się nieszczęśliwie upalić jedną diodę. I tu pojawił się problem, ponieważ zostały one przyklejone klejem termoprzewodzącym. Oczywiście mógłbym je oderwać i wyczyścić radiator, ale zacząłem się zastanawiać jak usprawnić konstrukcję tak, aby konserwacja głowicy przebiegała sprawnie bez użycia lutownicy i zbędnego brudzenia. Tak narodził się pomysł budowy modułowej głowicy UV z diodą o mocy 30W.

Oczywiście większa moc diody UV wydziela znacznie więcej ciepła niż w przypadku poprzedniej konstrukcji. Na upartego wystarczyłoby mi chłodzenie w postaci wentylatora i radiatora, ale pech chciał, że zacząłem się również interesować ogniwami Peltiera i pomyślałem, że super by było chłodzić taką diodę właśnie takim ogniwem. Jak szaleć to szaleć, nauki nigdy za wiele :)

Moduł Peltiera został dociśnięty przez aluminiową płytkę do radiatora, natomiast do samej płytki została przykręcona 30W dioda UV. W obu aluminiowych elementach nawierciłem również otwory na czujniki temperatury tak, abym mógł mierzyć temperaturę podstawy radiatora oraz temperaturę chłodzonej płytki z diodą UV. W otwory został wpuszczony klej termoprzewodzący i oczywiście nieśmiertelne DS18B20.

Taka konstrukcja pozwoli mi na wymianę ogniwa i diody w przyszłości, gdy okaże się to konieczne.

Sterowniki - mózgi całej operacji

Najwięcej czasu pochłonął mi sterownik UV, gdzie podczas całego etapu przechodził różne metamorfozy - od zmiany wyświetlacza, zasilania diody i kontroli parametrów pracy. Największym postępem było zastosowanie czujnika SHT11 do pomiaru temperatury otoczenia i wilgotności powietrza. Te dwa pomiary pozwoliły mi na obliczenie punktu rosy, aby nie dopuścić do nadmiernego schłodzenia diody i wystąpienia procesu skraplania powietrza. Co prawda na pełnej mocy diody problem prawie nie występował, ale przy mniejszych mocach już tak. Problem również powróciłby w okresie letnim, gdzie punkt rosy będzie łatwiej osiągnąć. Jest to bardzo ważne, tym bardziej, że już ujarałałem jedną diodę UV właśnie przez wilgotność. Drugim "ficzerem" było zastosowanie czujnika INA226 do ciągłego monitorowania parametrów pracy diody: napięcia, prądu i pobieranej mocy.

Po wielu tygodniach pracy, zmianach i niepowodzeniach, udało się w końcu przenieść projekt na płytkę PCB i przetestować sterownik UV wraz z głowicą, gdzie po wyborze czasu naświetlania i mocy świecenia diody UV, wystarczy już tylko uruchomić program.

 

Ogniowo Peltiera zostaje wyłączone w momencie, kiedy dioda UV osiągnie temperaturę o 5ºC wyższą od obliczonej temperatury punktu rosy. Kiedy temperatura wzrasta o 0.5ºC (punkt rosy + 5.5ºC) ogniowo załączane jest ponownie. Pozwala to na utrzymanie stałej temperatury diody w przedziale ±2ºC od temperatury oczekiwanej.

Wentylator również załącza się automatycznie kiedy radiator przekroczy temperaturę 40ºC i wyłącza po schłodzeniu do temperatury poniżej 38ºC. Po upływie ustawionego czasu dioda UV zostaje wyłączona, a wentylator pracuje do czasu osiągnięcia przez radiator temperatury 38ºC.

  • ET - ustawiony czas naświetlania
  • UV - ustawiona moc diody UV
  • T1 - temperatura radiatora
  • T2 - temperatura diody UV
  • To - temperatyra otoczenia
  • H% - wilgotność powietrza
  • Dp - temperatura punktu rosy
  • Dx - minimalna temperatura do której chłodzona będzie dioda
  • U - napięcie na diodzie UV
  • I - prąd diody UV
  • P - pobierana moc przez diodę UV

Termostat

Zaprojektowanie termostatu okazało się już zdaniem z górki. O ile sterownik UV zasilany jest napięciem 12V z wydajnego zasilacza implusowego Mean Well RSP-320-12, to tutaj chciałem uniknąć plątaniny kabli i zasilać wszystko jednym przewodem prosto z gniazdka sieciowego. Konstrukcja jest banalnie prosta - 3 przekaźniki - z czego dwa do sterowania i zasilania par grzałek oraz trzeci do sterowania i zasilania pompką powietrza.

Wymaganą tempertaturę ustawiamy za pomocą obrotowego enkodera i zatwierdzamy przyciskiem. Stan pracy sygnalizowany jest za pomocą podświetlania enkodera:

  • żólty / ciągły - tryb ustawień
  • niebieski / przerywany - temperatura za niska (ciągłe grzanie 120W, ciągłe napowietrzanie)
  • zielony / przerywany - temperatura osiągnięta (przerywane grzanie 60W, napowietrzanie 15s w odstępie 45s)
  • czerwony / przerywany - temperatura za wysoka (ciągłe napowietrzanie i chłodzenie)

W praktyce utrzymywana jest ustawiona temperatura w zakresie ±0.5°C.

  • Heat A / REL1 - sygnalizacja pracy grzałek 2x 30W
  • Heat B / REL2 - sygnalizacja pracy grzałek 2x 30W
  • AIR / REL3 - sygnalizacja pracy napowietrzacza
  • 50.0 - ustawiona temperatura
  • 50.6 - aktualna temperatura
  • Pasek pod temperaturami - odliczanie do następnego napowietrzania lub czasu pozostałego napowietrzania

Prezentacja

Reklama

Komentarze Komentarze
Avatar 1
Anon Linux Ubuntu / Mozilla Firefox 37.0
26 April 2015 - 10:24 Brak informacji
Avatar 1
Arduino freefall Windows 7 / Mozilla 11.0
13 May 2015 - 11:06 Brak informacji

Hoi is it posible to sent me de code for
ADXL345 Accelerometer and Arduino + Tap & Free Fall
Regard
Jorg van Beem
the Netherlands

Avatar 1
Paszczak Windows XP / Mozilla Firefox 38.0
01 July 2015 - 22:44 Legnica

Hejka

mam pytanie o długość fali UV, chcę sobie kupić leda 10W ale są takie o długości fali albo 395nm albo 410-420nm - czy te 405nm to ejst krytyczny parametr ?

Avatar 2
Korneliusz Linux x86_64 / Mozilla Firefox 34.0
01 July 2015 - 23:26 Bytom

jedne i drugie będą ok

Avatar 1
Krzysztof Szeremeta (kszere) Linux x86_64 / Safari 537.36
03 August 2015 - 23:49 Białystok

Korneliuszu, mam kilka pytań. :)
1. W jakim języku pisałeś oprogramowanie?
2. Czy wykorzystałeś jakąś bibliotekę do obsługi wyświetlacza OLED?

Avatar 2
Korneliusz Linux Ubuntu / Mozilla Firefox 39.0
05 August 2015 - 21:17 Bytom

1) takie arduinowe c++ (pisane w Arduino IDE)
2) tak, u8glib

Avatar 1
Edek Windows / Mozilla 11.0
17 October 2015 - 01:03 Wrocław

Czujnik w metalowej obudowie zanurzony w roztworze trawiącym ? Nie zezre go to ?
Czego używasz do trawienia ? ?

Ja tez używam ds18b20 ale szczelnie zalany samą żywicą epoksydową. Tez miałem kamień do napowietrzania ale jakoś reagował z roztworem, teraz mam rurkę z dziurkami

Avatar 2
Korneliusz Linux Ubuntu / Mozilla Firefox 41.0
19 October 2015 - 22:37 Bytom

Na zdjęciach jest test z wodą :) z roztworem czunijk zabezpieczony