Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 21 gru 2024, o 05:12


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 
Autor Wiadomość
PostNapisane: 20 kwi 2016, o 21:03 
Offline
Użytkownik

Dołączył(a): 29 lis 2012
Posty: 1074
Lokalizacja: Sochaczew
Pomógł: 21

Obrazek

Chciałem Wam przedstawić jeden z moich wielu projektów własnych czy też zapożyczonych. Projektem tym jest stacja lutownicza wykorzystująca kolbę Solomon 10/20/30 z termoparą typu K.
Stacja nie jest tak do końca moim pomysłem 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 jego strony, która już nie jest dostępna a bynajmniej znaleźć jej nie mogę pod adresem pod jakim do tej pory strona się znajdowała. Ja wniosłem do tegoż projektu kilka poprawek które wynikają z mojego lenistwa i zapominalstwa.

Schemat i opis
Poniżej znajdziecie schemat ideowy stacji i opis który wyjaśni co, po co, dlaczego i do czego? Schemat jest dość chaotyczny bo to były moje pierwsze podrygi w programie eagle a że stacja działa i płytka jest okej to nie wprowadzałem zmian w schemacie.

Obrazek

Zaczniemy od początku czyli sekcja zasilania. Na wejście CON1 należy 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 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.

Obrazek

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 OP07CN. 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.

Kilka słów muszę wspomnieć o sekcji zasilania 230V z dziwnym układem przycisków SW3, SW6, tranzystorem T1 oraz przekaźnikiem Pk1. Moduł ten wraz z odpowiednim fragmentem oprogramowania jest jedną z kilku innowacji jakie wprowadziłem w swojej wersji stacji lutowniczej. Pozwala on na:
  • tzw miękkie sterowanie (starzy wyjadacze znający sprzęt m.in. Technics'a będą wiedzieć o co chodzi)
  • automatyczne usypianie stacji po upływie określonego czasu (15 min. - dokładnie 14,43)
  • automatyczne wyłączanie stacji po upływie określonego czasu (30 min. - dokładnie 29,22)
  • automatyczne wyłączanie podświetlania lcd po określonym czasie (5 min. - dokładnie 4,54)
  • włączenie podświetlania następuje po naciśnięciu któregokolwiek z przycisków lub podniesieniu kolby
  • automatyczne przejście w stan normalnej pracy po podniesieniu kolby lutownicy

Powyższe modyfikacje pozwolą mi uniknąć sytuacji kiedy to raz zapomniałem na noc wyłączyć lutownicę i grzała się całą noc... Straszne i niebezpieczne a przede wszystkim "pieniądzożerne". Ta stacja wyłączy się sama po pół godzinie bezczynności...
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 ale to ż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 "wysokoprądowe" wyprowadzenia przekaźnika, więc dostarczamy zasilanie na transformator a co za tym idzie na cały układ. Program zapisany 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.

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ł SW6 podaje zasilanie na trafo, 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 jeśli zmieniła się wartość temp. zadanej to jest ona zapisywana do pamięci eeprom. Zapisywana jest 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 jako włącz a drugi jako wyłącz.
Ja w swojej stacji lutowniczej wykorzystałem taki oto włącznik:

Obrazek

Jest to włącznik od jakiegoś odkurzacza nowszej wersji. Przerobiłem go by był to włącznik chwilowy a nie włącz/wyłącz. Przeróbka polegała na usunięciu jednej ze sprężynek odpowiedzialnych za działanie bistabilne.

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. W mojej pierwszej wersji stacji a tym bardziej w wersji głównego autora przy pierwszym uruchomieniu po zaprogramowaniu procesora należało najpierw wcisnąć przycisk WIĘCEJ oraz przycisk MNIEJ dzięki czemu wpisywana była pierwsza wartość temperatury gdyż po zaprogramowaniu świeżego procesora wartość owej temperatury wynosi 0. Chcąc jak najbardziej to uprościć najpierw wymuszałem sprawdzanie tylko przycisku WIĘCEJ, ale... uznałem że człowiek to "zwierzę" leniwe i chciałem pominąć również i to więc... wymyśliłem sobie że zaraz po uruchomieniu programu procesor sprawdza parametr zmiennej NASTAWA i jeśli wynosi on mniej niż 50 to z automatu wpisywana jest wartość 250st. C.

Samo użytkowanie sprowadza się do kilku czynności:
  • przycisk WIĘCEJ zwiększa wartość żądanej temperatury
  • przycisk MNIEJ zmniejsza wartość żądanej temperatury
  • przycisk UŚPIENIE wprowadza stację w stan hibernacji obniżając zarówno temperaturę grota (do wartości 60st. C) jak i pobór mocy oraz wyłącza podświetlanie lcd
  • przyciski ZADANA 1, ZADANA 2, ZADANA 3 odpowiadają za ustawienie predefiniowanych wartości temperatur do szybkiego wyboru, przy czym zapis zadanych temperatur odbywa się na zasadzie opisanej niżej.
  • przycisku ON/OFF yyy, chyba nie trzeba tłumaczyć
  • przycisk WIECEJ + UŚPIENIE włącza wyciąg
  • przycisk MNIEJ + UŚPIENIE wyłącza wyciąg


Jeśli chcemy skorzystać z przycisków szybkiego wyboru temperatury ZADANA 1, ZADANA 2 czy ZADANA 3 to należy przypisać im odpowiednie temperatury. Dokonujemy tego następująco:
  • przyciskami WIĘCEJ lub MNIEJ ustawiamy pożądaną temperaturę
  • naciskamy na chwilę przycisk pod który chcemy zapisać wybraną wartość temperatury
  • naciskamy na raz przyciski WIĘCEJ oraz MNIEJ

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ę 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, ZADANA 1, ZADANA 2 oraz 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 czasu automatycznego wyłączenia 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 = ok. 5 minut bezczynności
  • czas do automatycznego uśpienia = ok. 15 minut bezczynności
  • czas do automatycznego wyłączenia = ok. 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 znajdowała się w trybie uśpienia.

Panel przedni stworzony został w darmowym programie Inkscape.

Program jest przetestowany i już ową stacją lutowałem. Zamierzam wprowadzić jeszcze kilka poprawek o których poinformuję na bieżąco.
Stacja nie jest jeszcze w pełni ukończona. Do pełnego ukończenia muszę jeszcze opisać jak zrobiłem wykrywanie odłożenia kolby (zwykły wyłącznik krańcowy) oraz pokazać filmik z działania i obsługi stacji. Filmik jest przygotowywany i powoli się renderuje...

W programie występuje kilka razy dyrektywa WAIT której jak wiadomo wszem i wobec używać się nie powinno, ale program nie jest obostrzony timerami czy innymi uwarunkowaniami czasowymi więc mogłem sobie na to pozwolić.

Byłbym zapomniał o kodzie źródłowym. Proszę:

Składnia: [ Pobierz ] [ Ukryj ]
język basic4gl
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 kwi 2016, o 09:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

Bardzo fajny projekt.

Namazane ze smarta.

_________________
Usługi druku przestrzennego - www.drumik.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO