poniedziałek, 2 czerwca 2014

Amatorska stacja lutownicza
Na wstępie apeluję i bardzo proszę o zachowanie szczególnej ostrożności, gdyż w niektórych miejscach płytki występuje pełne napięcie sieci 230VAC.
Nie zachowanie ostrożności może grozić śmiercią !!!


Lutownica czy też stacja lutownicza to chyba najbardziej potrzebne narzędzie w pracowni zarówno elektronika jak i elektronika-amatora. O ile zwykłą lutownicę można mieć za przysłowiowych kilka złotych o tyle stacja lutownicza to już większy koszt a w dodatku nie zawsze spełnia nasze oczekiwania. Prosta lutownica ma wiele minusów spośród których można wymienić choćby brak kontroli nad osiąganą temperaturą.
Zaprezentowana tutaj stacja lutownicza ma wiele plusów, natomiast minusów w sumie nie dopatrzyłem się. Z pewnością ktoś może wytknąć ich masę, ale przypominam że jest to amatorska stacja lutownicza i do takich zastosowań przeznaczona, więc nie ma co szukać dziury w całym. Poza wszystkimi plusami jakie posiada owa stacja, można dodać jeszcze jeden, chyba najważniejszy - cena. Koszt wykonania tej stacji nie uszczupli zbyt mocno domowego budżetu przeciętnego a nawet mniej zamożnego elektronika-amatora.


Stacja nie jest moim projektem i całkowicie podpisać się pod nią nie mogę bo było by to co najmniej nie fair.
Projekt jest dzieckiem kolegi Kamila Szkutnika (a przynajmniej u niego na stronie pierwszy raz ją znalazłem). Cały projekt pochodzi z tej strony, natomiast ja wniosłem do tegoż projektu kilka poprawek które przyznam szczerze, podpowiedział mi pewien kolega Piotr.
Schemat i opis
Poniżej znajdziecie schemat ideowy stacji i opis który wyjaśni co, po co, dlaczego i do czego?

Zaczniemy od początku czyli sekcja zasilania. Na wejście CON1 nalezy podać napięcie zasilające cały układ. Podpinamy tam wtórne uzwojenie transformatora o napięciu 2x12V i mocy około 60VA. Transformator taki można kupić w wielu sklepach, a nie chcąc robić nikomu reklamy nie będę podawał konkretnej lokalizacji.

Napięcie wyjściowe prostowane jest przez przez mostek prostowniczy B1 i podawane na dwa człony stabilizacyjne. Pierwszy człon zasilania to stabilizator napięcia +5V dla procesora a także jego peryferii. Natomiast drugi człon to symetryczny stabilizator napięcia +/- 9V dla wzmacniacza operacyjnego wykrywającego przejście napięcia sieci przez zero oraz dla wzmacniacza który wzmacnia bardzo niewielkie napięcie termopary do poziomu, który spokojnie odczyta sobie serce naszej stacji czyli procesor atmega8.
Cała sekcja zasilania jest typowa dla scalonych stabilizatorów z serii 78XX i 79XX i nie ma sensu wdawać się tu w głębsze omawianie tego zagadnienia.


Jako że procesor będzie zbierał dane ze swoich wejść ADC to został on wyposażony w potrzebne kondensatory filtrujące napięcie zasilania. Są to kondensatory C15, C16 oraz C17 i towarzyszący im dławik 10uH. Są to elementy niezbędne do prawidłowej pracy procesora w takiej konfiguracji jak w zaprezentowanym tu projekcie. Kostka IC1 czyli wzmacniacz LM311 pracuje tu w roli układu wykrywania przejścia napięcia sieci przez zero, choć ostatecznie samo wykrywanie realizowane jest drogą programową. Kolejnym blokiem wartym omówienia, który jest też koniecznym blokiem aby stacja mogła pełnić swoją rolę jest układ IC6 czyli kostka OP07N. Scalak ten pracuje tu w roli wzmacniacza o wzmocnieniu wyznaczonym stosunkiem rezystancji R9 i R10, a jego wzmocnienie ustawione jest na x100. Układ ten wzmacnia niewielkie napięcie termopary i podaje na jedno z wejść ADC mikrokontrolera. Dioda zenera na wyjściu IC6 zabezpiecza przed sytuacją gdyby przypadkiem pojawiło się tam napięcie wyższe niż napięcie dopuszczalne które można podać na wejście procesora.

Aby móc korzystać z przetwornika ADC najpierw należy go skonfigurować a wygląda to tak:

Config Adc = Single , Prescaler = Auto , Reference = Avcc

Kilka słów muszę wspomnieć o sekcji zasilania 230V z dziwnym układem przycisków SW3, SW6, tranzystorem T1 oraz diodą D5. Moduł ten jest jedną z kilku innowacji jakie wprowadziłem w swojej wersji stacji lutowniczej.
Pozwala on na:
tzw miękkie włączanie stacji
automatyczne usypianie stacji po upływie określonego czasu (15 min.)
automatyczne wyłączanie stacji po upływie określonego czasu (30 min.)
automatyczne wyłączanie podświetlania lcd po określonym czasie (5 min.)
włączenie podświtlania następuje po naciśnięciu któregokolwiek z przycisków
automatyczne przejście w stan normalnej pracy po podniesieniu kolby lutownicy
Do złącz o nazwach SW3 i SW6 należy podłączyć włącznik chwilowy o stykach NO i z dwoma galwanicznie oddzielonymi sekcjami, ponieważ jedna z sekcji załącza zasilanie 230VAC i trzeba z tym bardzo uważać. Krótko omówię zasadę działania tego bloku. Zacznijmy od sytuacji kiedy stacja jest wyłączona i nie pobiera zupełnie żadnego prądu. Tranzystor T1 nie podaje zasilania na przekaźnik Pk1 a ten nie zasila transformatora. Naciskamy włącznik który zwiera nam jednocześnie wyprowadzenia SW3 i SW6 i co dzieje się dalej? Już tłumaczę.
Zwierając SW6 podajemy zasilanie 230V na trafo, niejako zwierając wyprowadzenia przekaźnika, więc dostarczamy zasilanie na transforamtor a co za tym idzie na cały układ. Program napisany wewnątrz mikrokontrolera po kilku chwilach podaje stan wysoki na tranzystor T1, ten zwiera wyprowadzenia przekaźnika i już nie musimy trzymać przycisku wł/wył. W tym samym czasie zwarty SW3 nie daje żadnego efektu i nie ma wpływu na działanie układu poza wstrzymaniem działania programu do czasu jego puszczenia. Procedura odpowiedzialna za to wygląda tak:


Wlacznik Alias Pinc.4
'...
'...
'...
Bitwait Wlacznik , Set

Teraz opiszę sytuację kiedy stacja pracuje a my chcemy ją wyłączyć naciskając przycisk wł/wył. Co się dzieje?
Naciśnięcie wł/wył zwiera SW6, ale że ten obwód jest już zwarty przez przekaźnik Pk1 to tutaj nic się nie stanie, lecz...zauważyć trzeba że jednocześnie z SW6 zwieramy SW3 podając stan niski na PINC.4 mikrokontrolera. W programie zdarzenie takie wywołuje podprogram wyłączania stacji lutowniczej. W tym czasie zapisywana jest do pamięci eeprom aktualnie ustawiona temperatura i podawany jest stan niski na tranzystor T1 wyłączając całe urządzenie. Jeśli ktoś nie chce kombinować z szukaniem włącznika z dwiema oddzielonymi galwanicznie sekcjami, to albo wykona na własną rękę taki włącznik na bazie dwóch oddzielnych, zachowując przy tym dalece idącą ostrożność, albo po prostu założy sobie dwa włączniki i opisze jeden jak wł. a drugi jako wył.

Ja w swojej stacji lutowniczej wykorzystałem taki oto włącznik i dostosowałem go do swoich potrzeb:



Dostosowanie to polegało na usunięciu blaszki i kołeczka które są odpowiedzialne za stany bistabilne przełącznika. Dzięki temu przełącznik stał się monostabilny i przydatny do moich potrzeb.

Wspomnieć tu należy, że zarówno podczas włączania stacji jak i podczas jej wyłączania można przycisk(i) trzymać przez dowolnie długi czas, ponieważ w każdym przypadku program czeka na stan rozwarcia SW3. Jedynymi skutkami ubocznymi będą wydłużone czasy zarówno włączania jak i wyłączania urządzenia.


Obsługa:
--------------------------------------------------------------------------------

Obsługa stacji jest prosta i dość intuicyjna. Przy pierwszym uruchomieniu po zaprogramowaniu procesora należy najpierw wcisnąć przycisk więcej i trzymając go nacisnąć wł./wył. Dzięki takiemu zabiegowi wpisujemy do stacji wartość początkową ustawień czyli 250st. Jest to zabieg jednorazowy i nie wymaga ponownego wykonywania chyba że ktoś jeszcze raz zaprogramuje procesor a ma ustawione czyszczenie pamięci EEPROM wraz z czyszczeniem pamięci FLASH. Samo użytkowanie sprowadza się do kilku czynności:
przycisk WIĘCEJ zwiększa wartość pożądanej temperatury
przycisk MNIEJ zmniejsza wartość pożądanej temperatury
przycisk UŚPIENIE wprowadza stację w stan hibernacji obniżając zarówno temperaturę grota jak i pobór mocy
przyciski TEMP. ZADANA 1, ZADANA 2, ZADANA 3 odpowiadają za ustawienie predefiniowanych wartości temperatur do szybkiego wyboru
przycisku ON/OFF chyba nie trzeba tłumaczyć


Jeśli chcemy skorzystać z przycisków szybkiego wyboru temperatury TEMP. ZADANA 1, 2, 3 to należy przypisać im odpowiednie temperatury. Dokonujemy tego następująco:
1.przyciskami WIĘCEJ lub MNIEJ ustawiamy pożądaną temperaturę
2.wciskamy któryś z przycisków szybkiego wyboru temperatury na dłużej niż 0,5 sekundy
Na wyświetlaczu pojawi się komunikat o zapisie aktualnej temperatury pod dany przycisk a jednocześnie temperatura zapisana zostanie do nieulotnej pamięci mikrokontrolera. Postępujemy tak z wszystkimi trzema przyciskami. Od tej pory pod każdym z guziczków zapisaną mamy temperaturę do szybkiego wyboru. Gdy wciśniemy na chwilę (krócej niż 0,5 sekundy) którykolwiek z przycisków, wybrana zostanie jedna z wcześniej zapisanych temperatur. By opuścić tryb szybkiej temperatury należy wcisnąć ten sam przycisk który nacisnęliśmy wchodząc w dany tryb. Podobnie jest z trybem uśpienia, by z niego wyjść należy ponownie nacisnąć przycisk UŚPIENIE.
W trybach UŚPIENIE, TEMP. ZADANA 1, TEMP. ZADANA 2 oraz TEMP. ZADANA 3 nie działają inne przyciski póki nie wyjdziemy z danego trybu. By z nich skorzystać należy wyjść do trybu normalnej pracy stacji. Przy podniesionej kolbie lutownicy nie działa przycisk UŚPIENIE, a w zasadzie nie tyle nie działa co podniesiona kolba wybudza stację ze stanu hibernacji. Sądzę że chyba nie jest to kłopotem?


Do odliczania czasów automatycznego usypiania, automatycznego wyłączania czy czas automatycznego podświetlania wyświetlacza lcd zaprzęgnięty został timer1 który skonfigurowany został tak, że przerwanie wywoływane jest co 1 sekundę. Poszczególne czasy są ustawione na sztywno i wynoszą:
czas podświetlania lcd = 5 minut bezczynności
czas do automatycznego uśpienia = 15 minut bezczynności
czas do automatycznego wyłączenia = 30 minut bezczynności
Każdorazowe naciśnięcie któregokolwiek z przycisków zeruje czas a dodatkowo każde wejście w tryb zadanej temperatury zeruje czas oraz wyłącza jego zliczanie. Podniesienie kolby lutownicy z podstawki zeruje czas i automatycznie włącza normalną pracę jeśli stacja zbajdowała się w trybie uśpienia.



Gdyby ktoś chciał sobie dostosować czasy do swoich potrzeb to wystarczy zmienić następujące fragmenty kodu:
Czasy podświetlania lcd oraz czas do autouśpienia:

  1. If Kolba_odlozona = 0 Then 'jeśli kolba jest położona
  2. If Zm_dla_odl_kolby = 0 Then 'i zmienna pomocnicza =0
  3. Start Timer1 'to rozpocznij zliczanie
  4. Zm_dla_odl_kolby = 1 'zmień stan zmiennej pomocniczej na 1 żeby timer nie był już startowany
  5. End If
  6.  
  7. If Licz_czas = 900 Then Gosub Usypianie 'jeśli kolba leży 900 sekund (15 minut)
  8. If Licz_czas < 300 Then 'czas podświetlania w sekundach Reset Wlacz_lcd 'jeśli czas od ostatniego naciśnięcia przycisku jest > 5min. to
  9. Else 'wyłącz podświetlanie
  10. Set Wlacz_lcd
  11. End If
  12. Else
  13. Stop Timer1 'zatrzymaj timer
  14. Zm_dla_odl_kolby = 0 'wyzeruj wartość zmiennej pomocniczej odłożenia kolby
  15. Licz_czas = 0 'i zerujemy wartość zliczania czasu
  16. End If


Czas do autowyłączenia:


  1. Usypianie:
  2. '==========================================================
  3. Nastawa_temp = Nastawa 'wpisujemy aktualne ustawienia do zmiennej tymczasowej
  4. Nastawa = 60 'nastawa przyjmuje wartość 60
  5. Locate 2 , 1
  6. Lcd " U" ; Chr(1) ; "PIENIE "
  7. Bitwait Uspienie , Set 'i program czeka na puszczenie przycisku UŚPIEINIE
  8. Do
  9. Gosub Pomiar_temp
  10. Gosub Sterowanie_grzalka
  11.  
  12.  
  13. If Licz_czas = 1800 Then Gosub Procedura_wylaczania 'czas do autowyłączania(30 minut)
  14. '...
  15. '...
  16. Return


Program napisany i wstępnie przetestowany. Gdyby ktoś chciał już testować i znalazłby "niedoróbki" to proszę o kontakt.


Nieprawidłowości jakie zauważyłem:
1. Na obecną chwilę po wszystkich testach zauważyłem że czasem w dolnej linii wyświetlacza zostaje napis LUTOWNICY po tym jak zostanie odłączona rączka lutownicy, minie czas 15 minut czyli włączy się uśpienie i z tego uśpienia wyjdziemy.
2.Jeśli odłączymy rączkę lutownicy to nadal można ustawiać temperaturę przyciskami MNIEJ oraz WIĘCEJ ale tego nie widać. Zmianę widać dopiero po jej podłączeniu.


Coś na temat pozostałych złącz.

- ISP_PROG - jak sama nazwa mówi jest to typowe złącze do programowania ISP
- SW1 - złącze do podłączenia przycisków zwiększania temp. zmniejszania oraz uśpienia
- SW2 - złącze przycisków szybkiego wyboru jednej z trzech predefiniowanych temperatur
- SW5 - czujnik odłożenia kolby lutownicy
- JP1 - złącze przewidziane do zasilania prostych typów programatorów jak STK200
- CON3 - złącze do podłączenia uzwojenia pierowtnego transformatora
- CON5 - wraz z elementami R14 i T3 zostały dodane na przyszłość
- CON6 - wejście napięcia 230VAC
- CON7 - wyjście 230V na dodatkowe podświetlanie
- CON8 - wyjście 230V na wentylator wyciągu
- FUSE - złącze śrubowe do podłączenia gniazda bezpiecznika

Spis elementów:
Rezystory:
R4, R5, R16, R17 - 220R
R18 - 330R
R6, R7 ,R8, R12 - 510R
R3 - 1k
R13, R14, R15 - 4k7
R1, R2, R10, R11 - 10k
R9 - 1M
Kondensatory:
C2,C4,C5,C7,C6,C11,C12,C13,C15,C16,C17,C19,C20,C24,C25 - 100nF
C3,C6,C9,C22,C23, - 10uF
C10 - 100uF
C1 - 470uF

Układy calone:
IC1 - LM311N
IC2 - MEGA8
IC3 - 7805
IC4 - LM7809
IC5 - LM7909
IC6 - OP07CN

Różne:
DZ1 - 4V7
L1 - 10uH
LCD - LCD-16x2
OPT1 - MOC3020M
OPT2 - MOC3042M
PK1 - KM82
TR1 - BT138
TR2 - BT138
LED1,LED2 - kolory według uznania

Wkrótce wideo z działania stacji lutowniczej


Brak komentarzy:

Prześlij komentarz