72
POLITECHNIKA WARSZAWSKA Rok akademicki 2007/2008 WYDZIAŁ ELEKTRONIKI I TECHNIK INFORMACYJNYCH INSTYTUT INFORMATYKI WIECZOROWE STUDIA ZAWODOWE INFORMATYKA PRACA DYPLOMOWA INŻYNIERSKA Łukasz Trojanowski Stabilizator temperatury płaszcza wodnego oparty na modułach Peltiera Opiekun pracy dr inż. Janusz Rzeszut Ocena .…………………………….. ………………………………………. Podpis przewodniczącego Komisji Egzaminu Dyplomowego

Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

Embed Size (px)

Citation preview

Page 1: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

POLITECHNIKA WARSZAWSKA Rok akademicki 2007/2008

WYDZIAŁ ELEKTRONIKI I TECHNIK INFORMACYJNYCH

INSTYTUT INFORMATYKI

WIECZOROWE STUDIA ZAWODOWE – INFORMATYKA

PRACA DYPLOMOWA INŻYNIERSKA

Łukasz Trojanowski

Stabilizator temperatury płaszcza wodnego

oparty na modułach Peltiera

Opiekun pracy

dr inż. Janusz Rzeszut

Ocena .……………………………..

……………………………………….

Podpis przewodniczącego

Komisji Egzaminu Dyplomowego

Page 2: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

2

Kierunek: Informatyka

Data urodzenia: 10. września 1981.

Data rozpoczęcia studiów: 1. października 2004.

Życiorys.

Urodziłem się dnia 10. września 1981 roku Warszawie. W latach 1988 – 1996

uczęszczałem do Szkoły Podstawowej nr 36 w Warszawie, a następnie w latach 1996 – 2000

do XXVIII Liceum Ogólnokształcącego im. Jana Kochanowskiego w Warszawie do klasy o

profilu biologiczno-chemicznym. W 2000 roku ukończyłem liceum i zdałem egzamin

maturalny.

W 2000 roku rozpocząłem studia magisterskie w Szkole Głównej Gospodarstwa

Wiejskiego w Warszawie na kierunku ochrona środowiska. Od 2003 roku w ramach studiów

specjalizowałem się w technologiach w ochronie środowiska. 14. lipca 2005 roku złożyłem

egzamin magisterski, uzyskując tytuł zawodowy magistra inżyniera. Temat pracy

magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów

komunalnych (na wybranych przykładach). Praca powstała pod kierunkiem prof. dr. hab. inż.

Andrzeja Świątkowskiego z Wojskowej Akademii Technicznej. W czasie trwania studiów

odbyłem praktyki w Wolińskim Parku Narodowym w Międzyzdrojach i w Instytucie

Badawczym Leśnictwa w Sękocinie.

W 2004 roku rozpocząłem studia na wydziale Elektroniki i Technik Informacyjnych

Politechniki Warszawskiej, w ramach których powstała niniejsza praca.

Od roku 2005 wykonywałem drobne prace zlecone, związane z serwisem i obsługą

sieci komputerowych. W 2006 roku odbyłem trzymiesięczny staż w Urzędzie Miasta

Stołecznego Warszawy. W kwietniu 2006 rozpocząłem studia doktoranckie w Instytucie

Melioracji i Użytków Zielonych w Falentach, które obecnie kontynuuję.

………………………………

Podpis studenta

EGZAMIN DYPLOMOWY

Złożył egzamin dyplomowy w dn. ……………..2008 r.

z wynikiem………………………………………………………………………………

Ogólny wynik studiów…………………………………………………………………..

Dodatkowe wnioski i uwagi komisji…………………………………………................

……………………………………………………………………………......................

Page 3: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

3

STRESZCZENIE

Praca opisuje projekt i konstrukcję stabilizatora temperatury płaszcza wodnego.

Urządzenie jest zdolne mierzyć temperaturę i sterować pracą modułu Peltiera, tak, aby

utrzymanie zadanej temperatury było możliwe. Podstawowym zastosowaniem urządznia jest

stabilizacja temperatury odczynnika fotograficznego.

Wbudowane zostały mechanizmy kalibracji, które pozwalają zwiększyć dokładność

zastosowanego cyfrowego czujnika temperatury typu LM74. Dokładność stabilizacji

temperatury jest rzędu 0,1°C.

Urządzenie do sterowania wykorzystuje mikrokontroler 8 bitowy ATmega32 firmy

Atmel. Posiada ponadto interfejs użytkownika w postaci wyświetlacza LCD, oraz 4-

przyciskową klawiaturę. Mechanizmy kalibracji wykorzystują łącze RS232C.

Sterowanie modułem realizowane jest za pomocą dwóch przekaźników, sterowanych z

mikrokontrolera poprzez wzmacniacze prądowe z izolacją optyczną.

Słowa kluczowe: moduł Peltiera, cyfrowy pomiar temperatury, stabilizacja temperatury,

ATmega

ABSTRACT

Stabilizer of water jacket`s temperature based on Peltier module

The study describes the project and construction of the stabilizer of water jacket`s

temperature. The device is able to measure temperature and drive Peltier module to keep

given temperature. The basic application of the device is to keep stable temperature of

photographic chemicals.

The device has integrated mechanisms to calibrate, which improve accuracy of digital

thermal sensor LM74 used in the device. Accuracy in stabilizing temperature is in order of

magnitude of 0.1°C

The device uses ATmega32 microcontroller from Atmel for driving. It also has user

interface that consists of LCD and four-button keypad. Mechanisms of calibration use the

RS232C interface.

Driving Peltier module is implemented on two relays , driven from microcontroller by

current amplifiers with optical isolation.

Keywords: Peltier module, digital temperature sensing, temperature stabilization, ATmega

Page 4: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

4

Spis treści

1. Cel i zakres pracy ............................................................................................................. 5

2. Przegląd stanu wiedzy z zakresu elektronicznego pomiaru i stabilizacji temperatury. ... 8

2.1. Elektryczne metody pomiaru temperatury. ............................................................... 8

2.1.1. Termistory. ......................................................................................................... 8

2.1.2. Układy scalone z wyjściem analogowym. ......................................................... 9

2.1.3. Układy cyfrowe. ............................................................................................... 11

2.2. Budowa i działanie modułów Peltiera ..................................................................... 12

3. Konstrukcja urządzenia .................................................................................................. 19

3.1. Schemat blokowy .................................................................................................... 19

3.2. Jednostka sterująca. ................................................................................................. 19

3.3. Pomiar temperatury. ................................................................................................ 22

3.4. Interfejs użytkownika. ............................................................................................. 26

3.5. Komunikacja z PC ................................................................................................... 28

3.6. Sterowanie modułem Peltiera .................................................................................. 28

3.7. System rozprowadzania ciepła. ............................................................................... 30

3.8. Schemat ideowy i montażowy urządzenia. ............................................................. 31

4. Działanie urządzenia ...................................................................................................... 37

4.1. Globalne struktury danych. ..................................................................................... 37

4.2. Tryby pracy urządzenia. .......................................................................................... 38

5. Uruchomienie prototypu urządzenia .............................................................................. 45

6. Podsumowanie ............................................................................................................... 48

Spis ilustracji ...................................................................................................................... 50

Bibliografia ......................................................................................................................... 51

Załączniki ........................................................................................................................... 52

Page 5: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

5

1. Cel i zakres pracy

Celem pracy jest zaprojektowanie i skonstruowanie stabilizatora temperatury płaszcza

wodnego. Podstawowym przeznaczeniem urządzenia jest stabilizacja temperatury

odczynników fotograficznych w zakresie temperatur wynoszącym od +10 do +50°C z

dokładnością rzędu 0,1°C, jakkolwiek możliwe jest dowolne zastosowanie, które wymaga

płaszcza wodnego o zadanej temperaturze z zakresu działania urządzenia. Stabilizator

powinien być w stanie doprowadzić do zadanej temperatury i utrzymać w niej kilka litrów

płynu o pojemności cieplnej zbliżonej do wody w warunkach temperatury pokojowej.

Podstawową funkcją urządzenia jest automatyczna stabilizacja wybranej przez

użytkownika temperatury. Udział użytkownika ogranicza się do wyboru zadanej temperatury i

przygotowaniu płaszcza wodnego. Stabilizowana temperatura jest wybierana za pomocą

przycisków z rozdzielczością nie mniejszą niż 0,1°C.

Projekt urządzenia zakłada zastosowanie, jako elementu sterującego, mikrokontrolera

8-bitowego. Jako element stabilizujący temperaturę, zastosowany zostanie moduł Peltiera.

Użycie tego elementu umożliwia łatwe odwrócenie kierunku przepływu ciepła, a co za tym

idzie wykorzystania urządzenia jako podgrzewacza i chłodnicy. Pomiar temperatury należy

zrealizować czujnikiem termoelektrycznym dowolnego typu. Wymagana jest dokładność

rzędu 0,1°C. Dopuszczalna jest okresowa kalibracja urządzenia, przy użyciu referencyjnego

wskaźnika temperatury.

Urządzenie musi zostać wyposażone w interfejs użytkownika, umożliwiający

wygodne sterowanie wszystkimi funkcjami. Interfejs powinien się składać z panelu

sterowania (zestaw przycisków i przełączników) oraz wyświetlacza alfanumerycznego.

Oprócz prezentacji zadanej temperatury, urządzenie musi pokazywać temperaturę aktualną

oraz niezbędne informacje dla użytkownika dla prawidłowej obsługi i interpretacji stanu

urządzenia. Do okresowej kalibracji dopuszcza się zastosowanie urządzeń zewnętrznych,

takich jak termometr referencyjny i komputer PC z odpowiednim oprogramowaniem.

Zasilanie urządzenia odbywa się z sieci elektrycznej 230V prądu przemiennego.

Zakres pracy obejmuje wykonanie projektu i konstrukcję prototypu urządzenia.

Projekt obejmuje dobór podzespołów, wykonanie schematu i projekt obwodu drukowanego

oraz rozwiązanie zasilania urządzenia. Do projektu zalicza się również program

mikrokontrolera sterującego oraz całość oprogramowania dodatkowego, służącego m. in. do

Page 6: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

6

kalibracji urządzenia. Częścią projektu jest również opis eksploatacji urządzenia i procedury

kalibracyjne i testowe.

W realizacji urządzenia wyróżnić można szereg zagadnień wymagających zastosowania

konkretnych rozwiązań projektowych i praktycznych.

Do działania urządzenia niezbędny jest precyzyjny pomiar temperatury metodami

elektrycznymi. Jest to w sposób oczywisty implikowane przez założenia projektowe. Pomiar

temperatury musi się odbywać z dokładnością do 0,1°C, co jest zwykle wartością

przewyższającą dokładności osiągane przez popularne, niedrogie czujniki ogólnego

zastosowania.

Aby osiągnąć taką dokładność należy zastosować sprzęt laboratoryjny lub

odpowiednio skorygować charakterystykę popularnych czujników. Pierwsze rozwiązanie

charakteryzuje się wysokim kosztem, gdyż czujniki o dokładności 0,1°C lub lepszej są drogie,

a ponadto często ich zastosowanie wymusza użycie wielu dodatkowych elementów i

spełnienie wysokich wymagań odnośnie zasilania i filtrowania zakłóceń. Drugie rozwiązanie

polegające na użyciu niedrogiego czujnika i dokonaniu jest kalibracji jest czaso- i

pracochłonne. Wymaga ono stworzenia mechanizmów kalibracji, a także przeprowadzania

okresowego sprawdzenia działania i kalibracji urządzenia. Zadaniem pracy jest przegląd

dostępnych metod elektronicznego pomiaru temperatury oraz dobór odpowiedniego

rozwiązania i zaprojektowanie wszystkich mechanizmów niezbędnych do jego prawidłowego

funkcjonowania.

Kolejnym zagadnieniem, które należy rozwiązać, jest sterowanie modułem Peltiera za

pomocą mikrokontrolera. Moduł Peltiera pracuje z mocą rzędu 100W, przy napięciu zasilania

kilkunastu woltów. Podczas stabilizacji ważna jest możliwość łatwego przełączania

kierunków pracy modułu, natomiast drugorzędne znaczenie ma możliwość regulacji mocy.

Należy zatem zaprojektować sterowanie modułem umożliwiające włączanie i wyłączanie go

w dowolnym kierunku pracy i zabezpieczenie układu przed uszkodzeniem, gdyby na skutek

awarii lub błędu wysterowane zostało jednocześnie grzanie i chłodzenie.

Moduł Peltiera jest urządzeniem o powierzchni około kilkudziesięciu centymetrów

kwadratowych. Istnieje zatem potrzeba projektu systemu, którego zadaniem będzie

rozprowadzenie ciepła między czujnikiem a płynem w płaszczu wodnym. Należy także

zapewnić skuteczną wymianę ciepła miedzy drugą stroną modułu a otoczeniem, która w

czasie pracy, w zależności od kierunku, będzie ulegała nagrzaniu lub ochłodzeniu. Od

Page 7: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

7

skuteczności wymiany ciepła z otoczeniem w dużym stopniu zależy sprawność

funkcjonowania modułu Peltiera i całego urządzenia.

Projekt obejmuje także zasilanie układu. Musi ono spełniać dwa podstawowe kryteria.

Pierwszym jest dostarczanie odpowiedniej ilości mocy, drugim zapewnienie odpowiednio

odfiltrowanego zasilania dla elektroniki sterującej. Jest to szczególnie ważne ze względu na

to, że przełączanie stosunkowo dużych prądów często generuje zakłócenia na linii zasilania,

które są w stanie spowodować nieprawidłową prace mikrokontrolerów.

Realizacja pracy zakłada także konstrukcję prototypu, składającego się ze sterownika,

modułu Peltiera oraz systemu transportu ciepła, a także wykonanie testów i sformułowanie

wniosków i zaleceń do konstrukcji urządzenia docelowego.

Page 8: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

8

2. Przegląd stanu wiedzy z zakresu elektronicznego pomiaru i stabilizacji

temperatury.

Koniecznymi elementami projektowanego urządzenia są elementy mierzące i

stabilizujące temperaturę. Poniżej dokonano przeglądu dostępnych czujników, a także

przedstawiono charakterystykę modułów Peltiera, z uwzględnieniem ich budowy, działania i

możliwości wykorzystania w praktyce.

2.1. Elektryczne metody pomiaru temperatury.

Pomiar temperatury za pomocą urządzeń elektronicznych jako warunek konieczny

przyjmuje zamianę temperatury, która jest wartością nieelektryczna na jakąkolwiek wielkość

związaną z prądem elektrycznym. Od jakości tej zamiany zależy jakość i dokładność

pomiaru, gdyż w chwili obecnej wartości elektryczne, takie jak napięcie, opór lub prąd mogą

być mierzone bardzo dokładnie. Elektryczne pomiary temperatury są niezbędne wszędzie

tam, gdzie wynik jest wykorzystywany u przez systemy elektroniczne używane do

sterowania, monitoringu, alarmowania i wszelkich innych zastosowań. Coraz częstsze użycie

systemów cyfrowych wymaga zamiany wartości temperatury na wartość cyfrową, co może

być dokonane na wiele sposobów poprzez zewnętrzny, dodatkowy układ, lub obwód scalony

w jednym układzie.

Poniżej dokonano przeglądu czujników temperatury dostępnych w dniu dzisiejszym w

handlu, z uwzględnieniem ich dokładności i sposobu odczytu wartości pomiaru. Czujniki

zostały podzielone na grupy w zależności od sposobu prezentacji wyniku.

2.1.1. Termistory.

Termistor jest opornikiem półprzewodnikowym, którego podstawową cechą jest silna

zależność oporu od temperatury. Termistory wykonane są z różnych materiałów i

charakteryzują się różną zmianą oporu w zależności od temperatury. Podstawowym

parametrem charakteryzującym taki element jest współczynnik temperaturowy, czyli parametr

mówiący, jak zmienia się opór wraz z temperaturą. Można na podstawie tego współczynnika

wyróżnić termistory NTC i PTC, czyli o ujemnym i dodatnim współczynniku

temperaturowym. W pierwszej grupie wzrost temperatury powoduje spadek rezystancji, a w

Page 9: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

9

drugim jej wzrost. Zależność ta jest zwykle nieliniowa. Producenci w kartach katalogowych

podają tabelę lub wzór określający zachowanie czujnika. W przypadku tabeli jest to zestaw

punktów opór-temperatura dla zakresu, który termistor jest w stanie mierzyć. Wzór jest

zwykle funkcja wykładniczą oporu od temperatury, w której stałe zależą od typu termistora.

Osobnym typem termistora są termistory CTR o skokowej zmianie rezystancji.

Charakteryzują się gwałtowną zmianą oporu przy przejściu przez pewną krytyczną wartość

temperatury. Wykorzystywane są głównie jako bezpieczniki termiczne, a ich zastosowanie do

pomiarów jest rzadkie.

Ze względu na nieliniowość charakterystyki termistora stosowane są układy

linearyzujące, co znacznie komplikuje konstrukcję. W zależności od klasy, termistor jest w

stanie wyznaczyć różnice temperatury rzędu tysięcznych stopnia, a mierzyć temperaturę z

dokładnością do setnych części stopnia. Ze względu jednak na potrzebę linearyzacji,

termistor, jako element dyskretny, nie jest często stosowanym rozwiązaniem. Jest on jednak

bardzo atrakcyjnym rozwiązaniem dla projektantów układów scalonych, a także stanowi

podstawowy element elektryczny wrażliwy na temperaturę obok termopar, złącz

półprzewodnikowych i czujników pirometrycznych. [4]

Przykładem temistorów jest rodzina ACCX-0xx produkowana przez firmę RTI

Electronics Inc. Producent ten wytwarza linię termistorów precyzyjnych o oporze

nominalnym od 2252 do 10kΩ. Opór nominalny to opór jaki element posiada przy

temperaturze 25°C. Dokumentacja podaje dwa rodzaje tabel definiujących charakterystykę

elementów. Pierwszy rodzaj podaje wartość rezystancji dla wybranych wartości temperatury.

Temperatury definiowane są co 10, a zakres obejmuje -40°C do +150°C.

Drugi rodzaj tabeli obejmuje wartość współczynnika RT/R25. Jest to współczynnik

wyrażający stosunek oporu w danej temperaturze do oporu przy temperaturze 25°C. Tabela ta

jest wspólna dla całej grupy produktów. Obejmuje zakres 0°C -70°C i podaje wartości co

1°C. [8]

2.1.2. Układy scalone z wyjściem analogowym.

Kolejną grupą układów są układy scalone z wyjściem analogowym. Układy takie,

oprócz elementu wrażliwego na temperaturę zawierają zestaw elementów linearyzujących

wyjście. Parametr wyjściowy takiego układu jest proporcjonalny do temperatury. Poniżej

został przedstawiony przegląd tego typu układów podzielonych pod względem parametru

wyjściowego.

Układy z wyjściem napięciowym

Page 10: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

10

Najliczniejszą grupą czujników z wyjściem analogowym są czujniki z wyjściem

napięciowym, proporcjonalnym do temperatury. Wyjście takich układów, niekiedy poprzez

dodatkowe układy dopasowujące poziom napięcia, podłączane są do wejścia przetwornika

analogowo-cyfrowego. Poniżej opisano kilka wybranych czujników tego typu:

Seria LM35. Producentem układów jest National Semiconductor. Poszczególni

przedstawiciele rodziny różnią się dokładnością pomiaru. Układ posiada tylko trzy

wyprowadzenia; zasilanie i wyjście napięciowe. Napięcie rośnie na nim o 10mV na każdy

stopień Celsjusza, dla temperatury 0°C napięcie wynosi 0V. Dokładność czujnika typowo dla

temperatury 25°C wynosi od ±0,2°C do ±0,6°C. Układ zasilany jest napięciem 4-30V, a

zakres pomiarowy wynosi od -65°C do 150°C (w niektórych obudowach do 180°C). Jest

sprzedawany w obudowach do montażu przewlekanego i powierzchniowego. [14]

Seria TMP01. Producentem układów jest Analog Devices. Poszczególne układy różnią

się obudową i dokładnością. Układ posiada wyjście napięciowe 5mV/K. Dla temp. 25°C

napięcie wynosi 1,49V. Dokładność typowo przy 25°C wynosi ±0,5 lub ±1°C. Możliwy jest

pomiar z zakresu -55 do +125°C. Układ posiada dodatkowo możliwość działania jako

termostat. Posiada wyjścia sterujące z otwartym kolektorem, a wartości temperatur

przełączania wyjść programuje się dobierając oporniki. Zasilanie układu 5V. [23]

Układ LM45. Konstrukcja, podobnie jak LM35 National Semiconductor. Układ

posiada wyjście napięciowe pracujące identycznie jak w LM35. Jednak dokładność czujnika

w zależności od wersji wynosi od ±2 do ±3°C. Zasilanie układu 4-10V, a zakres pomiaru -

20°C do 100°C. Czujnik występuje wyłącznie w obudowie SOT-23 do montażu SMD. [15]

Układy pracujące jak dioda Zenera.

Przykładem takiego układu jest LM335, produkcji ST Microelectronics. Układ taki

zachowuje się jak dioda Zenera, której napięcie przebicia jest proporcjonalne do temperatury.

Posiada trzy wyprowadzenia, dwa z nich to anoda i katoda diody, a trzecie jest wyjściem

służącym do kalibracji. Zmiany napięcia przebicia wynoszą 10mV/K. Przy 25°C układ ma

dokładność ±2°C, jednak jest możliwe jej zwiększenie poprzez zastosowanie mechanizmu

kalibracji proponowanego przez producenta. Układ mierzy temperatury z zakresu -40 do

100°C, jest produkowany w obudowach TO-92 i SO8. [19]

Układy z wyjściem prądowym.

Układy z tej grupy funkcjonują jak źródła prądowe, o wartości prądu proporcjonalnej

do temperatury. W podstawowym układzie z takim czujnikiem mierzony jest spadek napięcia

na rezystorze, wskutek czego uzyskuje się wyjście napięciowe. Przedstawicielem tej grupy

Page 11: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

11

układów jest rodzina AD590, produkcji Analog Devices. Wyjście prądowe jest

proporcjonalne do temperatury, zależność wynosi 1µA/K. Dla temperatury +25°C (298,2K)

prąd wynosi 298,2µA. Układ wymaga kalibracji, ponieważ bez niej błąd może sięgać ±10°C

w niektórych wersjach. Po wykonaniu kalibracji spada do ±1°C w wersji AD590K. Dostępny

jest w obudowach do montażu powierzchniowego i przewlekanego. [9]

Układy z wyjściem czasowym

Układy takie generują przebieg prostokątny, którego parametry czasowe odpowiadają

zmierzonej temperaturze. Mogą one być wykorzystane w urządzeniach całkowicie

analogowych, a także poprzez użycie liczników w układach mikroprocesorowych. Zwykle

przebieg generowany przez czujnik nadaje się do bezpośredniego doprowadzenia do wejść

licznikowych procesora. Omówione poniżej zostały dwa układy tego typu, różniące się m. in.

sposobem interpretacji generowanego przebiegu.

Układ SMT160-30. Produkowany przez Smartec. Czujnik ten posiada wyjście

generujące przebieg prostokątny o czasie wypełnienia proporcjonalnym do zmierzonej

temperatury. Częstotliwość przebiegu wynosi od 1 do 4kHz. Na każdy stopień Celsjusza

wypełnienie rośnie o 0,47%. Układ zasilany jest napięciem 5V, mierzy temperatury z zakresu

-45 do +130°C. Dokładność czujnika jest różna w zależności od obudowy, wynosi od ±0,7°C

do ±2°C. Czujnik jest produkowany w czterech różnych obudowach, do montażu

przewlekanego i powierzchniowego. Producent gwarantuje poprawną pracę na przewodach o

długości do 20m, co pozwala na znaczne odsuniecie czujnika od reszty układu pomiarowego.

[22]

Seria MAX6575 produkcji Maxim. Układ ten posiada jedną linie wyjściową. Jest to

linia typu otwarty dren. Pomiar wyzwalany jest przez krótkie ściągnięcie linii do masy przez

procesor sterujący. Po określonym czasie czujnik ściąga linie do masy, a temperatura jest

proporcjonalna do czasu, jaki upłynął. W tym przypadku jest mierzony czas powrotu impulsu.

Dodatkowo ustawiany jest mnożnik czasu na jedną z czterech wartości, co pozwala na

podłączenie kilku układów do jednej linii i wyzwalanie ich jednym impulsem. Układ pracuje

z napięciem 2,7 do 5,5V, mierzy temperaturę z zakresu -40 do 125°C. Przy 25°C typowo

błąd wskazania wynosi ±0,8°C. Dostępny wyłącznie w obudowie SOT23-6 do montażu SMD.

[20]

2.1.3. Układy cyfrowe.

Odrębną grupę scalonych czujników temperatury stanowią układy z interfejsem cyfrowym.

Wyposażone są zwykle w szeregowy interfejs, a wartość temperatury przesyłana jest jako

Page 12: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

12

słowo składające się z odpowiedniej ilości bitów, zgodnej z rozdzielczością układu. Układy

takie bywają wyposażone w dodatkowe funkcje, jak np. termostat. Główną zaletą tego typu

urządzeń jest prostota użycia, minimalna ilość zewnętrznych elementów, dokładność odczytu

zawsze zgodna ze sprzętową rozdzielczością czujnika. W chwili obecnej na rynku dostępnych

jest wiele układów wyposażonych w różne interfejsy i różnej klasy dokładności.

W tabeli zaprezentowano wybrane czujniki cyfrowe z uwzględnieniem ich najważniejszych

parametrów.

Tabela 1. Zestawienie parametrów cyfrowych czujników temperatury [11, 12, 13, 16, 17, 18]

Model Producent Interfejs Zakres °C Dokładność* °C Rozdzielczość °C

MAX 7500 Maxim I2C -55; +125 ±2 0,5

LM 72 National

Semiconductor

I2C -55; +125 ±2 0,5

LM 74 National

Semiconductor

Synchroniczny,

szeregowy, 2

przewody

-55; +150 ±1,25 0,0625

LM 92 National

Semiconductor

synchroniczny,

szeregowy, 2

przewody

-55; +150 ±0,5 0,0625

DS 1620 Dallas

Semiconductor

Synchroniczny,

szeregowy, 3

przewody

-55; +125 ±0,5 0,5

DS 1621 Dallas

Semiconductor

Synchroniczny,

szeregowy, 2

przewody

-55; +125 ±0,5 0,5

DS 18B20 Dallas

Semiconductor

1-wire -55; +125 ±0,5 0,0625

* Dokładność jest podana dla zakresu temperatur obejmującego warunki normalne.

Tabela przedstawia tylko najpopularniejsze cyfrowe układy do pomiaru temperatury. Duża

różnorodność na rynku w chwili obecnej pozwala dobrać właściwy układ do większości

zastosowań.

2.2. Budowa i działanie modułów Peltiera

Moduły Peltiera w ostatnim czasie znalazły szerokie zastosowanie w technice. Stosowane są

w wielu urządzeniach dla różnych zastosowań i w różnej skali. Pojawienie się prostej,

Page 13: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

13

pozbawionej części mechanicznych pompy ciepła w znacznym stopniu przyczyniło się do

rozwoju wielu dziedzin nauki i techniki.

W ogólnym ujęciu od strony funkcjonalnej moduł Peltiera jest pompą ciepła. Jego

działanie polega na transporcie ciepła przy wykorzystaniu zewnętrznego źródła energii,

dostarczanej pod postacią prądu elektrycznego. Oznacza to zdolność tego elementu do

wytworzenia różnicy temperatur, tak, aby możliwy był przepływ ciepła z otoczenia o niższej

temperaturze do otoczenia o wyższej temperaturze.

W ujęciu konstrukcyjnym element Peltiera jest półprzewodnikiem, w którym nacisk

został położony na maksymalne wykorzystanie efektu Peltiera do transportu ciepła.

Zewnętrznie jest to płytka z wyprowadzeniami elektrycznymi. Ponieważ sam moduł

nie ma żadnych elementów sterujących, wyprowadzenia służą wyłącznie do zasilania.

Rozmiar płytki zależny jest od zastosowań i może być bardzo różny, dzięki dużemu

potencjałowi skalowania urządzenia. Najczęściej spotykane w handlu są moduły o

powierzchni kilkudziesięciu centymetrów kwadratowych. Należy jednak wspomnieć o

modułach o powierzchni rzędu milimetrów kwadratowych stosowanych w specjalistycznych

rozwiązaniach w technice precyzyjnej. Skalowanie „w górę” jest w oczywisty sposób

możliwe poprzez stosowanie wielu modułów. Mogą one być łączone cieplnie zarówno

równolegle (zwiększenie ilości transportowanego ciepła) jak i szeregowo (zwiększenie

wytwarzanej różnicy temperatur). Również sposób łączenia elektrycznego modułów jest

dowolny, charakteryzują się głównie rezystancyjnym charakterem obciążenia.

Rysunek 1. Widok ogólny modułu Peltiera [6]

Działanie modułów Peltiera opiera się na zjawisku odkrytym przez Jeana Peltiera.

Jean Charles Athanase Peltier żył w latach 1785-1845. Był francuskim meteorologiem i

fizykiem, zawodowo zajmował się zegarmistrzostwem. Swojego najważniejszego odkrycia

dokonał w roku 1834. Odkrył, że przepływ prądu przez połączenie dwóch różnych metali

Page 14: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

14

wywołuje oddawanie lub pochłanianie ciepła. Kierunek przepływu ciepła zależny był od

kierunku przepływu prądu [1][2]. Dzięki odkryciu tego zjawiska możliwe stało się

skonstruowanie modułów działających jak pompy ciepła. Warto w tym miejscu wspomnieć o

zjawisku odwrotnym, noszącym nazwę efektu Seebecka. Polega ono na powstawaniu różnicy

potencjałów na styku dwóch przewodników o różnych temperaturach. Na zjawisku Seebecka

opiera się funkcjonowanie termopar, służących jako czujniki temperatury.

Rysunek 2. Jean Charles Athanase Peltier [1]

Moduł Peltiera, jak już zostało wspomniane, ma postać płytki. Można wyróżnić trzy

zasadnicze warstwy modułu. Zewnętrzne, o identycznej budowie, odpowiadają za kontakt z

otoczeniem. Wykonane są zwykle z materiałów ceramicznych o dużej odporności

mechanicznej i termicznej. Zapewnia to odpowiednią sztywność modułu i zdolność do

działania w skrajnej temperaturze. Warstwa wewnętrzna odpowiada za właściwości

termoelektryczne urządzenia. Mechanicznie składa się ona z wielu kolumienek. Występują

dwa rodzaje kolumienek ułożonych naprzemiennie, domieszkowanych n i p. Efekt Peltiera

powstaje na styku dwóch różnych przewodników, zatem wymusza to stosowanie dwóch

rodzajów kolumienek. Kolumienki elektrycznie połączone są szeregowo. Płynący prąd

napotyka na zmianę kolumienki obu typów. Są one połączone stykami miedzianymi w

okolicy kontaktu z obudową. Połączenia są lutowane i to zwykle one ograniczają maksymalną

temperaturę modułu. Po jej przekroczeniu następuje upłynnienie spoiny, rozlutowanie i w

rezultacie przerwanie obwodu. W praktyce maksymalna temperatura pracy modułu wynosi

zwykle około 130 stopni Celsjusza.

Kolumienki wykonane są z tellurku bizmutu. Są one domieszkowane n i p. Dzięki

zastosowaniu tego materiału efekt termiczny jest możliwie duży (znacznie większy, niż gdyby

zastosowano czyste metale). Ze względu na zastosowane materiały moduł Peltiera można

uznać za półprzewodnik. Rysunki nr 3 i 4. wyraźnie przedstawiają, że złącza n-p i p-n

Page 15: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

15

zlokalizowane są po różnych stronach modułu. Złącza n-p oddają ciepło, a złącza p-n je

pobierają. Łatwo również zauważyć, że po odwróceniu kierunku przepływu prądu złącza n-p i

p-n zamienią się miejscami, stąd zmiana kierunku przepływu ciepła po zmianie polaryzacji

zasilania.

Rysunek 3. Budowa ogniwa Peltiera [5]

Rysunek 4. Przekrój przez moduł Peltiera [5]

Istota działania modułu polega na występowaniu zjawiska Peltiera na złączu p-n. Dzieje

się tak dlatego, że obszary n i p mają elektrony o różnych potencjałach energetycznych.

Obszar n zawiera nadmiar elektronów. Oznacza to, że elektrony są na wyższych orbitalach

(na wyższych poziomach energetycznych), ponieważ nie mogą się pomieścić na orbitalach

niższych. W momencie wymuszenia poprzez różnicę potencjałów ich ruchu do obszaru p,

niejako „spadają” na niższy poziom. Nadmiar energii wydziela się w postaci ciepła.

Analogicznie, elektrony z obszaru p, gdzie są na niskim poziomie energetycznym (nadmiar

dziur), są „wciągane” do obszaru n, gdzie muszą wejść na wyższy poziom. Niedobór energii

pobierają z otoczenia, co powoduje ochładzanie złącza.

Page 16: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

16

Skuteczność działania modułu jest ograniczana przez szereg czynników natury

fizycznej. Jest on przewodnikiem elektrycznym, posiadającym rezystancję. Wskutek

przepływu przez niego prądu rozpraszana jest energia w postaci ciepła. Jest ona równa:

P = I 2 R (I – natężenie prądu, R – opór elektryczny)

Zwana jest ona ciepłem Joule’a. Ciepło to w czasie pracy modułu jest „wypychane” na ciepłą

stronę. Jego ilość, co wynika ze wzoru, jest proporcjonalna do kwadratu natężenia prądu.

Aby dokładnie przedstawić konsekwencje tego zjawiska, należy przeanalizować zależność

ilości transportowanego ciepła od natężenia prądu.

Jak wspomniano, ciepło jest transportowane dzięki różnicy poziomów energii

pokonywanej przez elektrony. Każdy elektron powoduje pochłonięcie lub oddanie pewnej

stałej ilości energii, gdyż każdy pokonuje tę samą barierę. Definicja natężenia prądu mówi, że

jest to ilość ładunku (każdy elektron niesie stały ładunek, zatem ładunek jest proporcjonalny

do ilości elektronów) przepływającego w jednostce czasu. Zatem widać wyraźnie, że ilość

przetransportowanego ciepła przez moduł jest proporcjonalna do natężenia prądu.

Występuje zatem sytuacja, gdy zdolność transportu ciepła rośnie liniowo, a ciepło

Joule’a kwadratowo wraz z natężeniem prądu. Istnieje zatem taka wartość prądu, gdzie moduł

już nie będzie w stanie pobierać ciepła ze środowiska, a cała moc będzie zużywana na

transport ciepła Joule’a. Jeśli natężenie będzie dalej rosło, obie strony modułu zaczną

oddawać ciepło na zewnątrz. Istnieje też pewien optymalny prąd, powyżej którego ilość

ciepła Joule’a rośnie szybciej niż zdolność transportu ciepła. W normalnej eksploatacji nie ma

potrzeby przekraczania tej wartości prądu.

Warto również wspomnieć o wydajności cieplnej strony „gorącej” modułu. Na ilość

energii przez nią wypromieniowanej składa się energia elektryczna pobrana z zasilania (jako

ciepło Joule’a) i ciepło odebrane ze strony „zimnej”. Zatem, jeśli rozpatrzony zostanie

stosunek oddanego ciepła do pobranej energii, okaże się, że wynosi on ponad 1. Daje to

ponad stuprocentową sprawność grzewczą w odniesieniu do ilości pobranej energii

elektrycznej. Energia pobrana z otoczenia jest niejako „darmowa”, ze względu iż

wykorzystywane są tzw. niskotemperaturowe źródła ciepła. Aktualnie takie rozwiązania są

wykorzystywane do celów grzewczych, jednak przy użyciu sprężarkowych pomp ciepła, a

jako nieskotemeraturowe źródła ciepła wykorzystuje się grunt, zbiorniki wodne itp.

Kolejnym istotnym zjawiskiem występującym w czasie pracy modułu jest transport

ciepła. Każdy materiał posiada pewną przewodność cieplną. Również kolumienki z których

wykonany jest moduł przewodzą ciepło ze strony „gorącej” do „zimnej”, czyli w odwrotnym

Page 17: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

17

kierunku niż pompuje je urządzenie. Stwarza to więc konieczność ponownego wypchnięcia

tego ciepła na zewnątrz. W sposób oczywisty obniża to wydajność urządzenia. Ilość

transportowanego ciepła rośnie wraz z różnicą temperatur obu stron.

W praktyce skuteczność działania modułu zależy od wielu czynników i trudno jest, nie

stosując zaawansowanego modelowania, precyzyjnie określić możliwe do uzyskania

temperatury. Na skuteczność składają się takie czynniki jak wartość prądu, różnica

temperatur, izolacja termiczna przestrzeni chłodzonej i wiele innych. Praktyka wykazuje, że

sprawność sprężarkowych pomp ciepła jest zwykle nieco większa.

Moduły Peltiera stosuje się obecnie prawie wyłącznie do chłodzenia lub stabilizacji

temperatury. Jest to związane głównie z kosztami co czyni zastosowanie do ogrzewania

nieopłacalnym. Najczęstsze zastosowania to:

- Chłodzenie elementów radioelektronicznych i laserowych w celu zmniejszenia zakłóceń.

Stosuje się tutaj moduły o powierzchni rzędu milimetrów kwadratowych. Schłodzenie takich

elementów znacznie poprawia parametry urządzeń.

- Chłodzenie elementów elektronicznych w celu odebrania od nich nadmiaru ciepła i

zapobieganiu uszkodzeniom (np. procesory we współczesnych PC) . Należy jednak

wspomnieć, ze to zastosowane w ostatnim czasie nieco traci na popularności. Składa się na to

kilka powodów. Zdarzały się przypadki uszkodzeń elementów z powodu nadmiernego

schłodzenia lub doprowadzenia do kondensacji pary wodnej w okolicach styków

elektrycznych, co prowadziło do zwarć lub korozji. Ponadto moduły wymagały wydajnego

chłodzenia (zwykle wodnego) strony „gorącej”. Kolejną wadą była moc modułów, rzędu

100W, co powodowało, że wymagane było zwykle skomplikowane, odrębne zasilanie. W

końcu procesory stały się tańsze, wydzielają mniej ciepła i w celu zwiększenia ich wydajności

wystarczy zwykłe chłodzenie wodne, które nie ma wad modułu Peltiera.

- Konstrukcja niewielkich, przenośnych urządzeń chłodniczych, np. lodówki turystyczne.

Pozwala to na znaczne uproszczenie ich konstrukcji, poprzez znaczną eliminację części

mechanicznych.

- Stabilizatory temperatury, komory termiczne, inny sprzęt laboratoryjny, gdzie wymagana

jest stabilna temperatura. Wykorzystywana jest tutaj możliwość łatwej zmiany kierunku

przepływu ciepła (łatwe ogrzewanie i ochładzanie).

- Wzorce temperatury.

Page 18: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

18

- Wirtualna rzeczywistość. Urządzenia symulujące wrażenia temperatury przy dotykaniu

przedmiotów w wirtualnym świecie. Tu również wykorzystywana jest możliwość zmiany

kierunku przepływu ciepła i niewielkie rozmiary urządzenia.

Ze względu na cenę moduły Peltiera nie są wykorzystywane w urządzeniach dużej

skali, nie są także wykorzystywane do ogrzewania mimo możliwości uzyskania wysokiej

wydajności ze względu na zdolność pobierania ciepła ze źródeł niskotemperaturowych. Jeżeli

w przyszłości konstruktorom uda się zmniejszyć cenę modułów, wówczas możliwe będzie ich

użycie na większą skalę, do takich celów jak klimatyzowanie całych pomieszczeń, lub w

małych urządzeniach grzewczych (czajniki, kuchenki) w celu oszczędzenia energii

elektrycznej (kosztem nieznacznego ochłodzenia powietrza w pomieszczeniu).

Podsumowując, można wyróżnić następujące zalety modułów Peltiera:

Brak części mechanicznych,

Wysoka niezawodność, odporność mechaniczna i elektryczna,

Bezgłośna praca,

Duże możliwości skalowania (szczególnie w dół),

Prostota zastosowania, elastyczność skali i kształtu.

Możliwość pracy rewersyjnej

W pełni regulowana moc pracy (płynnie), obciążenie

Podstawowe wady:

Cena

Kłopotliwe zasilanie (dość wysokie prądy)

Sprawność niższa niż sprężarkowych pomp ciepła.

Niewątpliwym pozostaje fakt, że moduły Peltiera są ciekawymi urządzeniami o dużym

potencjale. Ich zastosowanie charakteryzuje się wysoką elegancją, ze względu na możliwość

uproszczenia konstrukcji urządzenia i zmniejszenia jego wymiaru. Pozwalają one także na

umieszczenie pomp ciepła tam, gdzie do tej pory było to niemożliwe ze względu na wymiary

i komplikację tradycyjnych rozwiązań – istnieją zastosowania, gdzie moduły są na dzień

dzisiejszy niezastąpione. Podstawową ich wadą pozostaje cena. „Peltiery” są kosztowne ze

względu na materiały używane do ich budowy. Jeżeli w przyszłości możliwe będzie obniżenie

kosztów produkcji tych urządzeń, należy się spodziewać wkroczenia ich w nowe obszary

zastosowań. [3, 5, 6]

Page 19: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

19

3. Konstrukcja urządzenia

Opis projektu konstrukcji urządzenia obejmuje kryteria doboru elementów,

charakterystykę elementów, połączenia elektryczne (schemat), opis wyprowadzeń i sygnałów.

Zawiera także projekt obwodu drukowanego, który został wykonany przez zewnętrznego

wykonawcę i posłużył do montażu urządzenia.

3.1. Schemat blokowy

Projekt sprzętowy urządzenia został przedstawiony na schemacie blokowym na

rysunku 5. Można wyróżnić w nim następujące części: jednostka centralna, interfejs

użytkownika, blok pomiaru temperatury, blok sterowania modułem Peltiera, części

wykonawcze (moduł i system dystrybucji ciepła), komunikacja z PC w celu kalibracji oraz

zasilanie wszystkich elementów układu.

Rysunek 5. Schemat blokowy projektowanego urządzenia

3.2. Jednostka sterująca.

Rolą jednostki sterującej w projekcie jest:

- odczyt temperatury z czujnika,

- obsługa interfejsu użytkownika,

- sterowanie modułem Peltiera na podstawie ustawień użytkownika i odczytanej temperatury

Page 20: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

20

- zapewnienie działania mechanizmów kalibracji i obsługa połączenia z PC, jeśli jest to

konieczne

Jednostka sterująca sprawuje nadzór nad całym urządzeniem, ponadto wykonuje

zadania matematyczno-logiczne, jak porównywanie temperatur, pamiętanie ustawień

kalibracji itp. Implikuje to zastosowanie mikrokontrolera cyfrowego, który po odpowiednim

zaprogramowaniu będzie w stanie spełniać wymienione zadania.

Pożądane cechy mikrokontrolera to:

- łatwa dostępność urządzenia w handlu. Oprócz oczywistych ułatwień w pozyskaniu

procesora, dzięki łatwej dostępności nie trzeba ponosić dodatkowych kosztów związanych ze

sprowadzeniem, a także można uniknąć opóźnień.

- łatwy dostęp do oprogramowania i urządzeń programujących. Projekt zakłada

oprogramowanie w asemblerze, zatem istotne jest dostarczenie przez producenta układu

odpowiedniego oprogramowania, jego aktualizacje, współpraca z programatorami

- wspieranie interfejsu JTAG w celu wspomagania uruchomienia. Dzięki interfejsowi JTAG

możliwe jest śledzenie pracy procesora oraz praca krokowa, co skraca czas wykrycia i

poprawienia błędów.

- wspieranie sprzętowe protokołu komunikacji z PC (UART lub USB). Protokoły

asynchroniczne są kłopotliwe w implementacji programowej, sprzętowe mechanizmy

znacznie ułatwiają projektowanie.

- dostępność układu w obudowie DIP do montażu przewlekanego. Jest to istotne ułatwienie

przy budowie prototypu.

- posiadanie wystarczającej liczby wyprowadzeń. Szacunkowa ilość niezbędnych pinów to

około 20.

- posiadanie minimum 1kB pamięci nieulotnej EEPROM lub FLASH, dającej łatwo

programować się z poziomu wykonywanego programu. Jest ona niezbędna do

przechowywania danych kalibracyjnych.

- minimalna ilość elementów zewnętrznych niezbędnych do uruchomienia procesora.

(wewnętrzny układ taktujący, wewnętrzne rezystory pull-up sterowane z poziomu układu).

- dodatkowymi zaletami procesora będą: przełączane szybkości wewnętrznego zegara oraz

liczniki zgłaszające przerwania, pozwalające ustalić tempo wykonania procedur urządzenia.

Należy także dodać, że dla projektu nie jest krytyczna wydajność obliczeniowa i

szybkość działania. Wystarczający jest procesor 8-bitowy o przeciętnej wydajności

obliczeniowej. System ma za zadanie stabilizować temperaturę cieczy, która ma znaczną

Page 21: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

21

pojemność cieplną, co implikuje powolne zmiany temperatury. Nie jest konieczny szybki

pomiar i szybka reakcja na zmiany temperatury. Dowolne jest napięcie zasilania procesora, a

także energochłonność układu, ponieważ urządzenie zasilane jest z sieci energetycznej, a

pobór prądu przez sterownik jest znikomy w porównaniu z poborem przez moduł Peltiera.

Po dokonaniu analizy dostępnych układów do projektu został wybrany procesor ATmega32

produkcji firmy Atmel. Jest to 8-bitowy układ o maksymalnej wydajności 16 MIPS, należący

do rodziny AVR, wersja zasilana napięciem 5V (4,5 – 5,5V).

Rysunek 6. ATmega16 i ATmega32

Jest to szeroko stosowany przez amatorów układ, łatwo dostępny i niedrogi. Można

zakupić go w obudowie DIP40. Posiada 4 porty 8-bitowe, co daje 32 programowane

wyprowadzenia. Posiada również interfejs JTAG, który może być stosowany do

programowania i debugowania. Wykorzystuje on 4 piny portu C, co powoduje

zmniejszenie ogólnej ilości dostępnych linii do 28, jeśli jest używany. Układ posiada 32KB

pamięci FLASH, 2 KB SRAM i 1 KB EEPROM, wytrzymującej co najmniej 100000 cykli

zapisu/kasowania. ATmega32 może pracować z wewnętrznym zegarem 1, 2, 4, 8MHz, a

także wykorzystywać kwarc zewnętrzny. Producent dostarcza program AVR Studio, który

jest kompleksowym narzędziem programistycznym i uruchomieniowym dla układów z

rodziny AVR. Dostępny jest nieodpłatnie ze strony producenta. Istotne dla projektu

pozostałe funkcje procesora to interfejs UART, który po dostosowaniu poziomu napięć jest

zgodny z RS232C, trzy wewnętrzne liczniki z prescalerem, mogące zgłaszać przerwania

oraz rezystory pull-up na każdym porcie sterowane niezależnie, ułatwiające m. in.

implementację klawiatury.

Jednostka matematyczno-logiczna operuje na 32 8-bitowych rejestrach. Jakkolwiek są

one ogólnego przeznaczenia, nie wszystkie instrukcje mają dostęp do każdego rejestru.

Dodatkowo do dyspozycji jest licznik programu, rejestr stanu i wskaźnik stosu. 6 rejestrów

Page 22: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

22

można połączyć w 3 rejestry indeksowe o długości 16 bitów, pozwalające adresować

bezpośrednio całą przestrzeń adresową. Jednostka posiada 131 instrukcji, realizujących

wszystkie podstawowe funkcje logiczne, a także funkcje arytmetyczne takie jak: dodawanie,

odejmowanie, mnożenie.

Przedstawione cechy uzasadniają wybór kontrolera ATmega32, ponieważ spełnia

wszystkie wymagania stawiane przez projekt. Użyta została wersja w obudowie DIP40 do

montażu przewlekanego. [10]

3.3. Pomiar temperatury.

Projektowane urządzenie musi być wyposażone w układ mierzący temperaturę

płaszcza wodnego. Cześć pomiarowa musi spełniać następujące założenia:

- zakres pomiaru powinien co najmniej obejmować temperatury od 10 do 50°C

- dokładność pomiaru rzędu 0,1°C

- sonda powinna mieć niewielkie rozmiary, prostą konstrukcję i niski koszt, co ułatwia

ewentualną wymianę.

- dopuszcza się możliwość okresowej kalibracji układu.

Wszystkie założenia, poza dokładnością spełniają popularne czujniki cyfrowe. Są to

układy wewnętrznie skalibrowane przez producenta, wyposażone zwykle w szeregowy

interfejs cyfrowy, przystosowane do pracy z praktycznie każdym mikrokontrolerem

dostępnym na rynku. Przeglądu dostępnych urządzeń dokonano w rozdziale dotyczącym

technik pomiaru temperatury.

Żaden z wymienionych czujników nie spełnia wymagań dotyczących dokładności, spełniając

jednocześnie wymagania dotyczące zakresu i rozdzielczości. W każdym przypadku konieczna

jest kalibracja.

Z przeprowadzonych badań [7] wynika, że dokładność czujnika typu LM74 można

znacznie poprawić kalibracją. W badaniu użyto populacji czujników i podjęto próbę

obliczenia funkcji korygującej uniwersalnej dla całej populacji. Zatem indywidualna

kalibracja użytego czujnika da rezultaty niegorsze. Najlepsze rezultaty badający uzyskał dla

korekcji odczytów funkcją liniową.

Za wyborem układu LM74 przemawiają następujące argumenty:

- dostateczny zakres pomiaru,

- dostateczna rozdzielczość pomiaru,

Page 23: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

23

- łatwy w implementacji interfejs szeregowy,

- udowodnione dobre efekty kalibracji, [7]

- niska cena (układy dysponujące wyższą dokładnością są droższe, a mimo to w dalszym

ciągu kalibracja byłaby niezbędna).

Do zalet układu należy zaliczyć także szeroki zakres napięć zasilania (2,7 do 5,5V) i niski

pobór prądu.

Czujnik LM74 jest miernikiem temperatury wyposażonym w przetwornik analogowo-

cyfrowy oraz szeregowy interfejs synchroniczny. Odczyt temperatury następuje na żądanie

kontrolera. Układ podaje dane w postaci 13-bitowego słowa. Pomiaru mieści się w zakresie

-55°C do +150°C, natomiast rozdzielczość wynosi 0,0625°C.

Rysunek 7. Układ LM74

Dokładność czujnika zależy od zakresu temperatury i wynosi:

± 1,25°C. dla temperatur z zakresu: -10 do +65°C

± 2,1°C. dla temperatur z zakresu: -25 do +110°C

± 3°C. dla temperatur z zakresu: -55 do +125°C

Maksymalny pobór prądu przez czujnik wynosi około 0.5mA, w trybie uśpienia spada do

3µA.

Uproszczony schemat blokowy jest przedstawiony na rysunku 8:

Page 24: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

24

Rysunek 8. Uproszczony schemat blokowy układu LM74

Układ posiada następujące wyprowadzenia:

- V+, zasilanie

- GND – masa

- CS, linia wyboru urządzenia, sterowana z kontrolera

- SI/O – linia danych, transmisja danych do i z układu, linia dwukierunkowa

- SC – linia zegara interfejsu szeregowego, sterowana z kontrolera

Pomiędzy V+ a masę konieczne jest włączenie kondensatora 0,1μF. Większa niż kilka

centymetrów długość przewodów lub ścieżek pomiędzy kondensatorem i układem powoduje

powstanie znacznych błędów pomiaru. Interfejs układu może być sterowany całkowicie

programowo z mikrokontrolera, lub tez może zostać wykorzystany mechanizm sprzętowy

procesora. Producent podaje przykładowe połączenia dla kilku popularnych typów

kontrolerów. Słowo przekazywane przez układ ma postać dwóch ośmiobitowych ramek,

wynik jest wyrównany do lewej strony w systemie U2. Przykładowy przebieg sygnałów

przedstawia rysunek 9:

Rysunek 9. Przebieg sygnałów podczas odczytu temperatury z układu LM74.

Page 25: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

25

Maksymalna częstotliwość zegara interfejsu wynosi 6,25MHz. Rejestr temperatury

uaktualniany jest w czasie zależnym od wersji układu:

- dla obudowy SO-8: typowo 280ms, maksymalnie 425ms,

- dla obudowy micro-SMD: typowo 611ms, maksymalnie 925ms.

W razie odczytu temperatury w trakcie uaktualniania wartości w rejestrach, na wyjściu

pojawia się dotychczasowa wartość. Nowa wartość odczytu dostępna jest dopiero po

zakończeniu cyklu pomiaru. Pozwala to na odczyt z urządzenia w dowolnym momencie.

Kontakt termiczny układu z otoczeniem zapewniony jest przede wszystkim poprzez metalowe

wyprowadzenia elektryczne. Odczytywana temperatura jest temperaturą wewnętrznej

struktury krzemowej układu.

Aby osiągnąć zamierzoną dokładność pomiaru niezbędna jest kalibracja układu.

Pomiar w zakresie wykorzystywanych temperatur (10 – 50°C) wg. danych producenta jest

obarczony błędem o maksymalnej wartości 1,25 °C. Jest to znacznie więcej, niż wartość

wymagana w projekcie. Kalibracja jest czynnością okresową. Wykonanie jej musi mieć

miejsce kiedy:

- urządzenie jest uruchamiane po raz pierwszy po montażu.

- została wymieniona sonda, lub układ pomiarowy w sondzie

- okresowo, głównie w celu kontroli poprawności działania. Może dojść do rozkalibrowania

czujnika na skutek starzenia się układu pomiarowego.

Szczegóły kalibracji zostały przedstawione w części dotyczącej oprogramowania

układu.

Czujnik został dołączony do wyprowadzeń procesora portu A w następujący sposób:

PA.0 – SI/O, dwukierunkowa linia danych

PA.1 – SC, zegar interfejsu

PA.2 – CS, wybór układu aktywny stanem niskim.

Połączenia wykonane są bezpośrednio, ze względu na pełna zgodność elektryczną. Nie ma

potrzeby żadnego dostosowywania sygnału.

Odrębnym zagadnieniem jest konstrukcja sondy temperaturowej. Musi ona zapewniać

dobry kontakt termiczny, a jednocześnie być szczelna i odporna mechanicznie. Rozważano

kilka typów konstrukcji do zastosowania.

Jedną z konstrukcji było zastosowanie zamkniętego profilu walcowego o średnicy kilkunastu

mm z umieszczonym wewnątrz czujnikiem. Schemat tej konstrukcji przedstawia rysunek

nr 10.

Page 26: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

26

Rysunek 10. Schemat sondy temperatury

Czujnik wewnątrz jest uszczelniony i zaizolowany przy pomocy dowolnego materiału

(silikon).

Inny wariant konstrukcji zakłada użycie dwóch warstw blachy miedzianej i umieszczenie

czujnika pomiędzy nimi. Całość również należy zaizolować silikonem.

W wariancie prototypowym użyto czujnika przylutowanego do niewielkiej płytki laminatowej

i przymocowano za pomocą silikonu do bloku wodnego. Płytka stanowi przejściówkę ze

standardu SMD na standardowy rozstaw końcówek 100mils. Pomiar temperatury na bloku

jest miarodajny, gdyż blok jest wykonany z miedzi, która dobrze przewodzi ciepło i zapewnia

dobry kontakt termiczny z cieczą.

Niezależnie od przyjętego rozwiązania, wytyczne są takie same: dobry kontakt

termiczny i zabezpieczenie czujnika. Należy także pamiętać, że konieczne jest zastosowanie

kondensatora 100nF pomiędzy masą a zasilaniem możliwie blisko czujnika (w sondzie).

3.4. Interfejs użytkownika.

Interfejs użytkownika w urządzeniu spełnia funkcję komunikacyjną. Niezbędna jest

komunikacja dwukierunkowa. Kierunek od użytkownika realizuje klawiatura. Złożona jest z

czterech przycisków, wykonanych jako mikrostyki. Przyciski zwierają poszczególne linie

portu mikrokontrolera do masy. Dzięki zastosowaniu wewnętrznych rezystorów

podciągających wyjścia do zasilania, nie są potrzebne żadne dodatkowe elementy. Rozwarcie

Page 27: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

27

przycisku odczytywane jest jako stan wysoki. Wciśnięcie powoduje zwarcie linii do masy,

przepływ prądu przez opornik, spadek napięcia na nim i pojawienie się na wejściu portu stanu

niskiego. Zastosowane przełączniki dołączone są do portu A mikrokontrolera. Opis sygnałów:

PA.4 – ON/OFF

PA.5 – DÓŁ

PA.6 – GÓRA

PA.7 – Menu

Szczegółowy opis działania przycisków znajduje się w części dotyczącej oprogramowania i

działania układu.

Kierunek komunikacji do użytkownika realizowany jest za pomocą wyświetlacza

alfanumerycznego. Użyty został wyświetlacz zgodny ze standardem HD44780. Posiada dwie

linie po 20 znaków, co pozwala na wyświetlenie 40 znaków. Wyświetlacz jest zasilany

napięciem 5V, linie wyświetlacza podłączone są do wyjść procesora bezpośrednio.

Wyświetlacz sterowany jest w trybie 4 bitowym, przez co wykorzystuje 7 linii procesora.

Podłączony jest do portu B, rozkład sygnałów jest następujący:

PB.0 – E, linia Enable sterowana z procesora

PB.1 – R/W, linia wyboru zapisu lub odczytu z HD44780

PB.2 – RS, linia wyboru dostępu do rejestrów danej lub instrukcji do wyświetlacza

PB.4-7 – DB4-DB7, 4 równoległe linie danych. Linia DB7 działa także jak linia BUSY,

sygnalizacja oczekiwania na układ HD44780.

Rysunek 11. Wyświetlacz HD44780

W trybie 4-bitowym linie DB0-3 sterownika HD44780 pozostają niewykorzystane i są

niepodłączone.

Page 28: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

28

3.5. Komunikacja z PC

W urządzeniu przewidziany został przewidziany system kalibracji przy użyciu

komputera PC. Taki system wymaga zapewnienia komunikacji obustronnej. Wybrany został

standard RS232C, ze względu na obecność tego interfejsu w procesorze. Standard elektryczny

RS232C przewiduje sygnał niski na poziomie +3 do +15V, a stan wysoki na poziomie -3 do

-15V. Procesor ATmega wykonany w technologii CMOS posiada stany logiczne na poziomie

0V i 5V. Konieczne jest dostosowanie tych poziomów dla umożliwienia współpracy. W tym

celu użyty został układ MAX232, przeznaczony do konwersji poziomów RS232-TTL.

Posiada on dwie pary układów konwersji napięć TTL – RS232C. Do pracy układ MAX232

wymaga dołączenia czterech zewnętrznych kondensatorów o pojemności 1µF. W konstrukcji

projektu użyto kondensatorów tantalowych o pojemności zalecanej przez producenta. Układ

MAX232 zastosowano w obudowie DIP16.

Do komunikacji wykorzystano linie TX i RX. Nie został zaimplementowany system

sterowania przepływem. Układ MAX232 dołączony został do wyjść procesora portu D, które

pracują jako sprzętowe wyprowadzenia interfejsu UART:

TXD (PD.1) – T1IN

RXD (PD.0) – R1OUT

Natomiast wyjścia układu MAX232A wyprowadzone są na żeńskie gniazdo DB9

umożliwiające podłączenie prostego kabla do portu w komputerze PC:

T1OUT – RxD (pin 2)

R1IN – TxD (pin 3)

Na pin 5 gniazda DB9 podana jest masa całego układu. Druga para buforów w układzie

MAX232 pozostaje niewykorzystana i jest niepodłączona.

3.6. Sterowanie modułem Peltiera

Moduł Peltiera jest urządzeniem pracującym z mocą rzędu 100W. Pracuje przy

prądzie stałym, charakter obciążenia jest wyłącznie rezystancyjny. Przełączanie modułu

zostało zrealizowane wielostopniowo z izolacją galwaniczną.

Do sterowania przewidziano 3 wyprowadzenia mikrokontrolera. Dwa z nich służą do

sterowania całym modułem, załączając odpowiednio grzanie lub chłodzenie. Trzeci służy do

załączania systemu rozprowadzenia ciepła, załączany jest równocześnie z każdym z dwóch

Page 29: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

29

poprzednich wyprowadzeń. Podłączenia SA zrealizowane na porcie D mikrokontrolera w

następujący sposób:

PD.5 – ogrzewanie

PD.6 – chłodzenie

PD.7 – Praca systemu rozprowadzania ciepła

Pierwszy stopień sterowania oraz izolacje galwaniczną zapewnia transoptor CNY17-3.

Anoda diody transoptora podłączona jest rezystorem 560Ω do zasilania. Katoda diody

dołączona jest do wyprowadzenia mikrokontrolera. Stan niski na wyprowadzeniu powoduje

świecenie diody i otwarcie fototranzystora. Punkt pracy diody został ustalony na podstawie

informacji zawartej w dokumentacji transoptora. Prąd diody wynosi około 6mA (napięcie

około 1,1V). Współczynnik CTR transoptora wynosi od 100 do 200%, przez co maksymalny

prąd kolektora wyniesie ok. 6 do 12mA. Jest to wartość wystarczającą do wysterowania

wzmacniacza prądowego. Na głównej płycie urządzenia wyprowadzone są 3 pary emiter-

kolektor transoptorów w celu nieumieszczania na jednej płycie elektroniki sterującej i stopni

mocy. Takie postępowanie pozwala uniknąć zakłóceń.

Moduł jest sterowany przekaźnikami elektromagnetycznymi. Parametry

przekaźników: typ przełączny, prąd cewki 60mA, napięcie cewki 12V, maksymalny prad

zestyków 16A. Przekaźniki i moduł mogą być zasilane z osobnej linii o napięciu około 12V.

Sterowanie przekaźnikami odbywa się za pomocą tranzystorów bipolarnych BC547C. Są one

połączone w układ Darlingtona z transoptorami i pracują jak wzmacniacze prądowe dla

przekaźników w układzie wspólnego kolektora. Maksymalny prąd kolektora dla tranzystorów

BC547C wynosi 150mA, zatem jest to wartość wystarczająca do wysterowania cewki

przekaźnika. Równolegle do cewki przekaźnika włączone są zaporowo do prądu kolektora

diody 1N4936 w celu zabezpieczenia tranzystorów sterujących przed napięciem

indukowanym w momencie rozłączenia cewki przekaźnika. Schemat części sterującej

widoczny jest na ilustracji 12.

W wersji prototypowej nie jest przewidziane sterowanie układem rozprowadzenia ciepła, nie

mniej obecność końcówki sterującej i transoptora stwarza możliwość projektu takiego

systemu w przyszłości.

Page 30: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

30

Rysunek 12. Schemat sterownika modułu Peltiera

Układ taki zapewnia bezpieczeństwo eksploatacji. Jeśli na skutek błędu lub awarii oba

wyjścia sterujące mikroprocesora zostaną ustawione w stan niski i oba transoptory się

otworzą, przez moduł nie popłynie prad, gdyż na oba wejścia zasilające zostanie podany ten

sam potencjał. Kolejna zaletą jest możliwość przełączania pracy modułu bez ryzyka

pojawienia się stanów powodujących zwarcie. Ostatnią zaletą, którą należy wskazać jest fakt,

że kiedy nie pracuje mikroprocesor przez cewki przekaźników nie popłynie prąd i pozostaną

one wyłączone nawet, jeśli część sterująca mocą będzie zasilana.

3.7. System rozprowadzania ciepła.

Jako system dystrybucji ciepła zastosowano wymuszony obieg cieczy. Jest to obieg

zamknięty, składający się z pompy, przewodów hydraulicznych, bloku wodnego i systemu

wymiany ciepła z otoczeniem. Pompa ma za zadanie wymusić obieg cieczy, może być

sterowana z układu. Blok wodny zapewnia wymianę ciepła między modułem a cieczą. Jest to

element stosowany do chłodzenia wodnego urządzeń elektronicznych. Umieszczany jest na

układzie (module). Przepływająca przez niego ciecz odbiera lub oddaje ciepło elementowi.

Blok wykonany jest z materiałów łatwo przewodzących ciepło, jak np. miedź. Druga strona

modułu wymienia ciepło z otoczeniem za pomocą radiatora wyposażonego w wentylator.

Schemat układu przedstawiono na ilustracji nr 13.

Page 31: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

31

Rysunek 13. Schemat systemu rozprowadzania ciepła

3.8. Schemat ideowy i montażowy urządzenia.

Schemat urządzenia umieszczony na jednej płycie widoczny jest na rysunku. Wykaz

elementów na schemacie wraz z wartościami i przeznaczeniem przedstawia tabela nr 2:

Tabela 2. Wykaz elementów układu

Oznaczenie elementu Wartość Opis

IC1 Układ MAX232CPE Przetwornica napięcia dla RS232

IC2 ATmega32 16PU Mikrokontroler sterujący

IC3 LM7805C Stabilizator napięcia 5V

OK1-OK3 CNY17-3 Transoptory izolujące stopnie mocy od

sterownika

C2 100nF Kondensator odsprzęgający dla

mikrokontrolera i układu MAX232

C7 330nF, 250V Kondensator filtrujący przed stabilizatorem

LM7805

C3-C6 1µF Kondensatory niezbędne dla pracy układu

MAX232

Page 32: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

32

R2-R4 560Ω Rezystory ustalające punkt pracy diod

transoptorów

D1 1N4148 Dioda ograniczająca napięcie podświetlenia

wyświetlacza

Page 33: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

33

Rysunek 14. Schemat ideowy urządzenia

Page 34: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

34

Rysunek 15. Schemat montażowy urządzenia

Page 35: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

35

Na płycie występuje ponadto szereg złącz do podłączenia dodatkowych modułów. Poniżej

przedstawiono opis złącz, wraz z rozkładem sygnałów.

Zasilanie:

Złącze zasilania całego układu sterownika. Napięcie wprowadzane jest na stabilizator

LM7805. Nie powinno być niższe niż 7V, nie powinno też przekraczać kilkunastu woltów ze

względu na wzrost strat i rozgrzewanie stabilizatora LM7805

1 GND

2 V+

3 GND

HD44780:

Złącze do podłączenia wyświetlacza HD44780.

1 VDD - zasilanie

2 GND

3 Enable

4 V0 – regulacja kontrastu wyświetlacza, podłączona na stałe do GND

5 RS

6 R/W

7-10 Niepodłączone

11 D5

12 D4

13 D7

14 D6

15 K – katoda diody podświetlającej

16 A – anoda diody podświetlającej

JP1:

Złącze interfejsu RS232C

1 TxD

2 RxD

3 GND

JP3:

Złącze do podłączenia klawiatury

Page 36: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

36

1 GND

2 Przycisk ON/OFF

3 Przycisk DÓŁ

4 Przycisk GÓRA

5 Przycisk Menu

LM74:

Złącze do podłączenia czujnika temperatury LM74

1 GND

2 V+

3 CS, wybór układu aktywny stanem niskim.

4 SC, zegar interfejsu

5 SI/O, dwukierunkowa linia danych

JTAG:

10 stykowe standardowe gniazdo interfejsu JTAG procesorów AVR wyposażonych w

taki interfejs.

1 TCK

2 GND

3 TDO

4 V+, napięcie zasilania układu docelowego

5 TMS

6 NSR, reset układu docelowego

7 VSP, zasilanie układu docelowego. Niepodłączone

8 NTR, niepodłączone

9 TDI

10 GND

Sterowanie:

1 Wyjście kolektora transoptora - układ rozprowadzania ciepła

2 Wyjście emitera transoptora - układ rozprowadzania ciepła

3 Wyjście kolektora transoptora - chłodzenie

4 Wyjście emitera transoptora - chłodzenie

5 Wyjście kolektora transoptora - grzanie

6 Wyjście emitera transoptora - grzanie

Page 37: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

37

4. Działanie urządzenia

Oprogramowanie urządzenia składa się z dwóch zasadniczych części:

oprogramowania mikrokontrolera ATmega32 oraz programu kalibracyjnego na PC. Cześć

znajdująca się w mikrokontrolerze napisana jest w asemblerze, przy użyciu programu AVR

Studio w wersji 4.13b528. Kod składa się z 8 plików z kodem, 1 pliku z danymi (ciągi

znaków), które musza znaleźć się w pamięci mikrokontrolera i 1 pliku include z etykietami,

dostarczonego przez producenta oprogramowania. Poniżej opisane zostało działanie układu

wraz z dostępnymi trybami i sposobem ich użycia.

4.1. Globalne struktury danych.

W kodzie programu występuje kilka globalnych struktur danych, które są wykorzystywane

przez różne procedury. Dlatego wymagane jest ich osobne omówienie.

Zmienna stan, składa się z 1 bajtu, zlokalizowana jest w pamięci operacyjnej

mikrokontrolera. Poszczególne bity oznaczają:

B7 B6 B5 B4 B3 B2 B1 B0

- stp echo przepisz wyświetl praca chłodzenie grzanie

grzanie - praca modułu, ogrzewanie płynu

chłodzenie - praca modułu, ochładzanie płynu

praca - stan pracy urządzenia.

wyświetl - znacznik ustawiany, gdy zachodzi konieczność odświeżenia wyświetlacza w

pętli głównej programu.

przepisz - znacznik ustawiany po odebraniu tablicy poprawek do bufora, przepisanie do

EEPROM

echo - znacznik ustawiany po odebraniu żądania echo z interfejsu UART.

stp - praca w stabilizacji na ustalone punkty kalibracji.

Zmienne przechowujące wartości temperatury. Temperatura jest przechowywana na

dwóch bajtach, wyrównana do prawej, jako liczba stałoprzecinkowa z przecinkiem miedzy 4

a 5 bitem, kolejność big-endian.

temperaturaH:temperaturaL - temperatura zmierzona, wyrównana do prawej

Page 38: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

38

tempKorH:tempKorL - temperatura zmierzona z poprawką korygującą

wskazanie termometru

tempStabH:tempStabL - żądana temperatura stabilizowana

Zmienna tablicowa poprawkiRAM umieszczona w pamięci operacyjnej. Ma długość

800 bajtów, stanowi bufor odbiorczy. Po odebraniu poprawek z interfejsu UART są one

przepisywane z tego bufora do pamięci EEPROM. Jest to spowodowane powolnym zapisem

do pamięci EEPROM. Każda poprawka jest przechowywana na 1 bajcie, przecinek podobnie

jak w przypadku temperatury między 4 a 5 bitem. Zakres poprawki mieści się zatem w

zakresie -8°C do +7,9375°C. Nie jest jednak możliwe wykorzystanie całego zakresu, gdyż

bajty o wartościach: 125, 126, 127 są specyficznymi znakami protokołu transmisji tablicy

poprawek. Powoduje to zawężenie dozwolonego zakresu do: -7,8125°C do +7,9375°C

Zmienna stanu services. Rozmiar zmiennej 1 bajt, istotne tylko 3 bity. Wskazują, która

temperatura jest stabilizowana w trybie stabilizacji na ustalone punkty.

B7 B6 B5 B4 B3 B2 B1 B0

temperatura A temperatura B temperatura C - - - - -

„1” na danym bicie oznacza wybór tej temperatury.

Tablica poprawki zlokalizowana jest w segmencie pamięci EEPROM. Jest ona

miejscem przechowywania tablicy kalibracji dla czujnika LM74. Zawiera 800 bajtów.

Zmienne tempA, tempB i tempC przechowują wartości, na które stabilizuje

temperaturę tryb stabilizacji na stale punkty. Znajdują się również w pamięci EEPROM. Są to

zmienne dwubajtowe, temperatura przechowywana jest podobnie, jak w przypadku wartości

temperatury w pamięci RAM.

4.2. Tryby pracy urządzenia.

Tryb podstawowy.

Urządzenie przeznaczone jest do pracy w kliku trybach. Taki sposób jest

uwarunkowany funkcjami, które musza się z znaleźć w projekcie. Bezpośrednio po włączeniu

zasilania urządzenie uruchamia się w trybie podstawowym. Jest to tryb stabilizacji

temperatury na zadaną przez użytkownika wartość. Temperatura pochodząca z czujnika jest w

tym trybie korygowana o poprawkę pochodzącą z tablicy poprawek z pamięci EEPROM.

Page 39: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

39

W trybie tym tempo pracy urządzenia wyznacza licznik. Wykorzystany jest 16-bitowy

licznik numer 1. Jest on taktowany z wewnętrznego zegara procesora a częstotliwość dzielona

jest przez 64. Zatem przejście licznika przez cały zakres zajmuje 2^16*64 = 4194304 cykli,

co przy częstotliwości pracy 1MHz trwa około 4,2s. Licznik zgłasza przerwanie przy

przejściu przez 0 (przepełnienie). Procedura przerwania wykonuje następujące czynności:

- wywołuje procedurę odczytu temperatury z czujnika. Temperatura jest odczytywana,

wyrównywana do prawej, dodawana jest poprawka. Następnie wartość z poprawką i bez niej

zapisywana jest w j lokalizacji w pamięci. Jeżeli temperatura jest spoza zakresu objętego

poprawkami, dodawana jest wartość ostatniej poprawki najbliższej mierzonej temperaturze.

Zakres poprawek obejmuje 0-50°C. Czyli dla temperatur poniżej 0°C stosowana jest

poprawka dla 0°C, a dla temperatur powyżej 50°C poprawka dla 50°C. Urządzenie w

zasadzie nie jest przeznaczone do pracy w większym zakresie temperatur, nie mniej jednak

nie ma ograniczenia programowego.

- porównuje zmierzoną i skorygowaną temperaturę z zadaną i odpowiednio włącza bądź

wyłącza moduł Peltiera, lub zmienia kierunek jego pracy. Moduł jest wyłączany jedynie

wtedy, kiedy temperatury zadana i zmierzona są sobie równe. Razem z modułem włączana

jest również praca układu rozprowadzenia ciepła.

- ustawiany jest znacznik konieczności uaktualnienia treści wyświetlacza. Po wyjściu z

procedury obsługi przerwania w pętli głównej jest sprawdzany i uruchamiana jest procedura

wyświetlania.

Wyświetlacz w trybie podstawowym wygląda następująco:

T . a k t : ± X X . X X ° C Y

T . s t a b : ± X X . X X ° C

W miejscu znaków X wyświetlana jest wartość temperatury: w górnej linii aktualna w dolnej

żądana. W miejscu znaku Y wyświetlany jest symbol aktualnego stanu wyświetlacza:

- strzałka w lewo oznacza włączone chłodzenie

- strzałka w prawo oznacza włączone grzanie

- pozioma kreska oznacza, że płaszcz wodny osiągnął temperaturę żądaną i urządzenie nie

pracuje.

- litera o oznacza, że urządzenie oczekuje na wybór temperatury stabilizowanej i nie pracuje.

W tym trybie aktywne są wszystkie przyciski. Przycisk on/off umożliwia włączenie i

wyłączenie stabilizacji. Jednokrotne naciśnięcie zmienia tryb działania. Kiedy urządzenie jest

Page 40: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

40

włączone nie jest możliwa zmiana zadanej temperatury. W celu zmiany należy przycisnąć

przycisk i wyłączyć stabilizatowanie temperatury. Kiedy stabilizowanie jest wyłączone, na

wyświetlaczu pokazuje się symbol o. Za pomocą przycisków GÓRA i DÓŁ możliwe jest

wtedy zmniejszanie lub zwiększanie żądanej temperatury. Wybór temperatury odbywa się z

rozdzielczością 1/16°C, z taką też rozdzielczością dokonywany jest pomiar. Po wybraniu

właściwej temperatury należy nacisnąć przycisk on/off, aby urządzenie rozpoczęło

stabilizację. Każdorazowe wciśnięcie przycisku GÓRA lub DÓŁ powoduje odświeżenie

zawartości wyświetlacza.

Przycisk MENU służy do wejścia do zaawansowanych opcji urządzenia. W celu

wejścia do zaawansowanych opcji należy wcisnąć i przytrzymać przycisk około 2 sekundy,

kiedy stabilizacja jest wyłączona. Przycisk MENU jest nieaktywny, kiedy urządzenie pracuje.

Tryb stabilizacji na stałe punkty i szybka kalibracja.

Urządzenie umożliwia pracę bez przeprowadzonej pełnej kalibracji, ale z

zachowaniem maksymalnej dokładności. Pozwala na to tryb stabilizacji na stałe punkty.

Możliwy jest wybór trzech punktów. Działanie tego trybu jest następujące. W pierwszej fazie

konieczna jest szybka kalibracja. Polega ona na ręcznym sterowaniu modułem w celu

doprowadzenia płynu do żądanej temperatury. Niezbędny do tego jest wzorcowy termometr.

Po osiągnięciu oczekiwanej temperatury urządzenie zapamiętuje wynik pomiaru. Wyniki są

zapamiętywane w pamięci nieulotnej i pozostają aktualne do momentu zastąpienia ich

nowymi. Możliwe jest zapamiętanie do trzech temperatur. W drugiej fazie należy wejść do

trybu stabilizacji temperatury na stałe punkty i wybrać jeden z trzech zapamiętanych

punktów. Urządzenie będzie się zachowywać identycznie, jak w trybie podstawowym, z tą

różnicą, ze należy dokonać wyboru jednej z trzech temperatur, które zostały uprzednio

zapamiętane, a nie wybrać dowolną temperaturę z rozdzielczością 1/16 °C.

Aby dokonać szybkiej kalibracji po wejściu do MENU należy wybrać przyciskami

GÓRA/DÓŁ opcję Kalibr. Na stale p. i zatwierdzić przyciskiem ON/OFF. Następnie

każdorazowe naciśnięcie tego przycisku przełącza kalibrowany punkt. W dolnej linii

wyświetlacza pokazują się kolejno punkty: Temperatura A, B, C. Ręczne sterowanie

modułem odbywa się za pomocą przycisków GÓRA/DÓŁ. Wciśnięcie przycisku góra (dół)

włącza ogrzewanie(chłodzenie), co jest potwierdzane wyświetleniem komunikatu w górnej

linii wyświetlacza. Ponowne wciśnięcie przycisku wyłącza moduł Peltiera, co jest również

sygnalizowane komunikatem na wyświetlaczu. Kiedy na termometrze wzorcowym

temperatura osiągnie żądaną wartość, należy nacisnąć przycisk MENU, co spowoduje

Page 41: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

41

zapisanie w pamięci pomiaru. Na wyświetlaczu pokazuje się napis Zapamiętano. W tej chwili

danemu punktowi (A, B, C) zostaje przypisana zmierzona wartość. Aby rozpocząć pracę po

kalibracji należy ponownie uruchomić urządzenie.

Po ponownym uruchomieniu należy wejść do menu i wybrać pozycję Stab. na stale p.

Zatwierdzić przyciskiem ON/OFF. Następnie należy wybrać punkt, na który stabilizowana

będzie temperatura, za pomocą przycisków GÓRA/DÓŁ i włączyć urządzenie. Czynności

tych dokonuje się identycznie, jak w trybie podstawowym. Również symbol wskazujący na

stan urządzenia działa identycznie. Pomiar jest również dokonywany co około 4,2s przy

przerwaniu zgłaszanymi przez licznik. Kiedy stabilizacja jest wyłączona, możliwy jest powrót

do trybu podstawowego, poprzez wciśnięci e i przytrzymanie ok. 2 sek. Przycisku MENU.

Kalibracja po RS232.

Jak wspomniano już wielokrotnie w pracy, urządzenie do poprawnej pracy wymaga

kalibracji. Jest to związane ze zbyt dużą niedokładnością użytego czujnika LM74. Każdy

czujnik jest kalibrowany indywidualnie. Niezbędny jest referencyjny czujnik temperatury,

natomiast dla uproszczenia procedury nie są wymaganane źródła temperatury odniesienia o

określonej wartości. Celem procedury jest stworzenie tablicy poprawek, które będą dodawane

do pomiaru, celem uzyskania dokładnej wartości pomiaru. Obliczenie tablicy wykona

program w komputerze PC, a następnie prześle ją za pomocą interfejsu RS232 do urządzenia.

Kalibracja jest wykonywana funkcjami sklejanymi, przy użyciu wielomianów

pierwszego stopnia (liniowo).

W pierwszej kolejności należy sporządzić tabelę złożoną z par wyników: pomiaru

czujnikiem i termometrem referencyjnym i wprowadzić ją do programu dla komputera PC

dokonującego kalibracji. Im punktów będzie więcej i im będą bardziej równomiernie

rozłożone w przedziale temperatur, których pomiar zakłada projekt (10 °C-50 °C), tym

dokładniejsze będą wyniki.

W następnym kroku obliczana jest wartość różnic temperatury (poprawek dla każdego

zmierzonego punktu). Dla każdej pary sąsiadujących punktów wyznaczana jest metodą

interpolacji liniowej funkcja, postaci f(T) = m*TLM74 + b. Zwraca ona wielkość poprawki w

funkcji temperatury odczytanej przez czujnik. Parametry prostej wyznaczane są według

wzorów:

Page 42: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

42

Gdzie: TLM47 – temperatura zmierzona przez czujnik LM74, Tr – temperatura zmierzona przez

termometr referencyjny, ΔT = Tr – TLM74, indeksy 1,2 oznaczają kolejne sąsiadujące ze sobą

punkty

Następnie na podstawie funkcji wyznaczana jest tabela poprawek. Obejmuje ona

zakres 0 do 50°C z krokiem 1/16°C, równym rozdzielczości czujnika. Dla każdej zmierzonej

wartości temperatury przez czujnik z podanego zakresu jest dostępna wartość poprawki.

Poprawki są następnie zapisywane w pamięci nieulotnej kontrolera, jako 8 bitowe,

stałoprzecinkowe liczby ze znakiem w systemie U2. Podczas pracy urządzenia poprawka jest

natychmiast dodawana do wyniku uzyskanego z pomiaru. W ten sposób uzyskiwana jest

temperatura Tr = TLM74 + ΔT. Rozmiar tablicy wynosi 800 bajtów (50 stopni, po 16 wartości

na każdy stopień).

W urządzeniu do pełnej kalibracji przewidziano dwa tryby. Oba są osiągalne z

MENU. Pierwszy tryb to: Pomiar bez korekcji. Po wejściu do tego trybu układ wyświetla

wartość temperatury prosto z czujnika bez uwzględniania żadnych poprawek z tablicy. Tryb

ten służy do sporządzenia tabeli temperatur zmierzonych przez czujnik i przez termometr

referencyjny. Tablica ta jest niezbędna w dalszej fazie kalibracji.

Drugi tryb to Kalibracja po RS232. W trybie tym urządzenie oczekuje na przesłanie po

złączu szeregowym tablicy poprawek z komputera PC. Został opracowany protokół

komunikacyjny i specjalny program na komputer PC. Interfejs RS232C jest zorientowany

bajtowo, toteż komendy sterujące protokołu mają rozmiar jednego bajtu. Są to:

- 125 – echo. Po otrzymaniu tej komendy urządzenie wysyła ciąg STPW vXXX, gdzie XXX

to wersja urządzenia. Ciąg jest zakończony bajtem o wartości 125. Prawidłowa odpowiedź

pozwala programowi stwierdzić, że urządzenie jest podłączone i działa.

- 126 – stop. Komenda ta oznacza koniec tablicy poprawek i nakazuje rozpoczęcie

przepisywania do pamięci nieulotnej.

- 127 – start. Komenda ta oznacza początek transmisji tablicy poprawek.

Prawidłowy ciąg transmisji wygląda następująco: start → 800 bajtów poprawek → stop.

Urządzenie odbierając dane zapisuje je w pamięci SRAM, ze względu na to, ze zapis w

pamięci EEPROM jest znacznie wolniejszy niż transmisja. Następnie po zakończeniu

transmisji tablica jest samoczynnie przepisywana do pamięci EEPROM, która jest nieulotna

po odłączeniu zasilania. Na wyświetlaczu ukazują się następujące komunikaty: Połączono –

Page 43: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

43

po odebraniu komendy echo. Odebrano – po zakończeniu transmisji, Gotowe po przepisaniu

tablicy do pamięci EEPROM.

Transmisja odbywa się z prędkością 2400 bitów na sekundę i nie jest możliwa jej

zmiana. Dane są odbierane w procedurze przerwania. Zegar transmisji szeregowej jest

pobierany z wewnętrznego zegara procesora. Producent mikrokontrolera gwarantuje odchyłkę

nie większą niż 0,2% dla szybkości 2400bps, co jest wartością dopuszczalną w standardzie

UART.

Na komputer PC został opracowany program Kalibrator. Został napisany w języku C#

(Visual Studio 2008), do działania wymaga środowiska .NET Framework w wersji co

najmniej 2.0. Interfejs przedstawiony jest na ilustacji 16.

Rysunek 16. Interfejs programu kalibracyjnego

Po uruchomieniu ukazuje się główne okno programu. Z listy rozwijalnej należy

wybrać port COM, do którego jest podłączone urządzenie. Następnie, po kliknięciu Polacz,

pogram wyśle komendę echo do urządzenia. Jeśli dany port będzie niedostępny, w oknie

komunikacyjnym ukaże się komunikat błąd portu. Jeśli urządzenie odpowie prawidłowo

ukaże się wersja oprogramowania urządzenia i zostanie odblokowany przycisk Prześlij.

Następnie należy wprowadzić listę punktów kalibracyjnych z tabeli utworzonych w

pierwszej fazie. W okno T. ref. Należy wpisać temperaturę z termometru odniesienia, a w

okno T. LM74 wartość zmierzoną przez czujnik. Punkt należy zatwierdzić wciskając przycisk

Dodaj. Przyjecie punktu zostanie potwierdzone komunikatem. Kiedy zostaną dodane

wszystkie punkty, należy wcisnąć Zakończ. Program przygotuje wtedy tablicę poprawek w

pamięci. Wciśnięcie przycisku Prześlij spowoduje przesłanie tablicy poprawek do urządzenia.

Page 44: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

44

Powodzenie procesu jest sygnalizowane przez wyświetlacz urządzenia w sposób opisany

powyżej.

Możliwe jest również wyzerowanie tablicy poprawek. Należy wówczas wcisnąć

przycisk Prześlij bez uprzedniego używania przycisku Zakończ. Spowoduje to

zaprogramowanie tablicy zerami.

Po przesłaniu tablicy i ponownym uruchomieniu urządzenia tablica poprawek jest

uwzględniana automatyczne. Zalecana jest okresowa kontrola czujnika poprzez porównanie z

termometrem referencyjnym ze względu na możliwość spadku dokładności na skutek

starzenia się elementów

Page 45: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

45

5. Uruchomienie prototypu urządzenia

W celu przetestowania projektu skonstruowany został prototyp urządzenia według

założeń konstrukcyjnych opisanych powyżej. Urządzenie zostało złożone z płyty głównej,

płyty sterownika ze stopniem mocy z przekaźnikami, klawiatury, wyświetlacza, oraz

elementów wykonawczych. Elementy wykonawcze to moduł Peltiera o wymiarach 40x40mm,

pompa wodna mocy 5W zatapialna, przewody hydrauliczne, zbiornik (płaszcz wodny), oraz

blok wodny. Ogólny widok przedstawia ilustracja nr 17.

Rysunek 17. Widok ogólny prototypu urządzenia

Na ilustracji widoczne są wszystkie elementy. Czujnik temperatury umieszczony

jest na wymienniku ciepła. Moduł Peltiera umieszczony jest pomiędzy blokiem wodnym a

radiatorem. Zarówno blok wodny, jak i wentylator z radiatorem to typowe elementy

używane do chłodzenia procesów komputerów PC. Pompka umieszczona jest w

zbiorniku. Tłoczy przewodem płyn do wymiennika, który oddaje lub odbiera ciepło od

modułu Peltiera. Następnie drugim przewodem płyn powraca do zbiornika. Szczegółowy

widok wymiennika ciepła przedstawiony jest na ilustracji 18, a zbiornik wraz z pompą na

ilustracji 19. Całość została zasilona z zasilacza PC AT o mocy 200W.

Page 46: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

46

Rysunek 18. Wymiennik ciepła

Rysunek 19. Zbiornik (płaszcz wodny)

Page 47: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

47

Urządzenie zostało uruchomione i przetestowano poszczególne tryby. Zostały także

sprawdzone maksymalna i minimalna, możliwa do uzyskania temperatura oraz parametry

elektryczne modułu.

Urządzenie pracowało poprawnie w zakresie sterowania modułem w zależności od

temperatury. Poprawnie pracowały wszystkie tryby. Podczas ciągłej pracy modułu przy

temperaturze otoczenia około 24ºC minimalna temperatura płaszcza wyniosła 19 ºC a

najwyższa 38 ºC. Należy dodać, ze w obiegu pozostawało około 0,5dm3 cieczy, a zbiornik

miał izolację termiczną. Na fotografii, dla celów ilustracyjnych, izolacji nie ma, aby

umożliwić pokazanie wszystkich elementów wewnątrz zbiornika. Izolacja jest jednak

niezbędna, do uzyskania wymienionych wyżej rezultatów. Napięcie na module wyniosło

11,5V, a prąd około 1,2A. Zrobiono także próbę przy napięciu modułu 16V, prąd ustalił się na

poziomie 1,5A, ale nie uzyskano lepszych wyników w zakresie chłodzenia. Wydajność

chłodzenia ogranicza także zanurzona pompa, która do chłodzenia mechanizmów używa

wody, którą pompuje.

Zakres temperatur uzyskiwanych przez urządzenie jest związany z jego mocą i

jakością wymienników ciepła. Urządzenie pełnowymiarowe z pewnością wymaga użycia

elementów większej mocy, natomiast nie jest wymagana modyfikacja sterownika. W obliczu

uzyskanych wyników uruchomienie należy uznać za udane.

Page 48: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

48

6. Podsumowanie

Wynikiem pracy jest zaprogramowany i uruchomiony stabilizator temperatury

płaszcza wodnego, wykorzystujący moduł Peltiera, jako element transportujący aktywnie

ciepło. Do układu został również stworzony komplet narzędzi służących kalibracji.

Urządzenie zostało zaprogramowane przy pomocy interfejsu JTAG, którego złącze

zostało umieszczone na płycie w celu umożliwienia modyfikacji już uruchomionego

urządzenia.

Całość jest zmontowana na płycie zaprojektowanej specjalnie dla tego celu,

wykonanej na zlecenie. Umieszczenie złącz wszystkich elementów interfejsu użytkownika

oraz złącz urządzeń zewnętrznych na płycie umożliwia dużą elastyczność przy wyborze

obudowy.

Stabilizator temperatury płaszcza wodnego wg. powyższego projektu działa

poprawnie. Sterownik jest uniwersalny i może służyć do sterowania urządzeniem w dowolnej

skali. Wydajność stabilizacji zależy od wielkości modułu, ale także od izolacji połączeń

termicznych oraz jakości wymiany ciepła z płynem i otoczeniem. Z podstawowych

spostrzeżeń powstałych w czasie realizacji pracy wymienić należy:

- moduł pracujący z mocą około 15W jest w stanie stabilizować temperaturę

niewielkich ilości płynu (około 0,5l) w zakresie zbliżonym do temperatury pokojowej (zakres

około 20 - 35°C)

- użycie cyfrowego czujnika temperatury jest wygodnym sposobem pomiaru przy

użyciu mikroprocesora. Należy pamiętać, że kondensator odsprzęgający musi być w możliwie

małej, nieprzekraczającej kilku cm, odległości od układu. Jego brak powoduje zakłócenia w

funkcjonowaniu wewnętrznego przetwornika i znaczne zafałszowanie wyniku.

- wbudowana pamięć EEPROM w procesor jest idealnym sposobem przechowywania

małych ilości nieulotnych danych, ze względu na prosty, bajtowy dostęp. Należy jednak

zawsze brać pod uwagę czas programowania, który jest stosunkowo długi i może być

krytyczny przy niektórych zastosowaniach, jak np. transmisja szeregowa.

- praca układu cyfrowego nie jest zakłócana przez pracujące cewki przekaźników,

nawet, jeżeli zasilane są z jednej linii. Zastosowanie izolacji optycznej toru sterującego jest

wystarczające. Zaprojektowany układ umożliwia jednak zastosowanie niezależnych,

izolowanych linii do zasilania części logicznej oraz zasilania modułu Peltiera i sterownika.

Page 49: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

49

Układ może stanowić platformę do rozwoju i modyfikacji podobnych projektów.

Procesor posiada niezablokowaną pamięć FLASH i wyprowadzony interfejs JTAG, dzięki

czemu możliwe są modyfikacje w układzie w zakresie na jaki pozwala konstrukcja

elektryczna.

Page 50: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

50

Spis ilustracji

Rysunek 1. Widok ogólny modułu Peltiera [6] .................................................................. 13

Rysunek 2. Jean Charles Athanase Peltier [1] .................................................................... 14

Rysunek 3. Budowa ogniwa Peltiera [5] ............................................................................ 15

Rysunek 4. Przekrój przez moduł Peltiera [5] .................................................................... 15

Rysunek 5. Schemat blokowy projektowanego urządzenia ............................................... 19

Rysunek 6. ATmega16 i ATmega32 .................................................................................. 21

Rysunek 7. Układ LM74 .................................................................................................... 23

Rysunek 8. Uproszczony schemat blokowy układu LM74 ................................................ 24

Rysunek 9. Przebieg sygnałów podczas odczytu temperatury z układu LM74. ................ 24

Rysunek 10. Schemat sondy temperatury .......................................................................... 26

Rysunek 11. Wyświetlacz HD44780 ................................................................................. 27

Rysunek 12. Schemat sterownika modułu Peltiera ............................................................ 30

Rysunek 13. Schemat systemu rozprowadzania ciepła ...................................................... 31

Rysunek 14. Schemat ideowy urządzenia .......................................................................... 33

Rysunek 15. Schemat montażowy urządzenia ................................................................... 34

Rysunek 16. Interfejs programu kalibracyjnego ................................................................ 43

Rysunek 17. Widok ogólny prototypu urządzenia ............................................................. 45

Rysunek 18. Wymiennik ciepła ......................................................................................... 46

Rysunek 19. Zbiornik (płaszcz wodny) .............................................................................. 46

Page 51: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

51

Bibliografia

1. Encyklopedia Britannica, www.britannica.com

2. Encyklopedia Powszechna PWN, Państwowe Wydawnictwo Naukowe, Warszawa

1984

3. A.Jankowski, Ocena możliwości wykorzystania termoelektrycznych baterii

chłodniczo-grzejnych do klimatyzacji pojazdów,

http://www.mech.pg.gda.pl/ktc/wtargans/osiagi/Jankowski_chlodnictwo.pdf,

Politechnika Gdańska

4. Mała Encyklopedia Techniczna, Państwowe Wydawnictwo Naukowe, Warszawa 1969

5. Ogniwa Peltiera, Elektronika dla wszystkich 7/97, 1997

6. Z. Orłowski, Chłodziarka do piwa, Elektronika dla wszystkich 6/97, 1997

7. P. Piekarczyk, Pomiary niskich temperatur czujnikami cyfrowymi, Poznańskie

Warsztaty Telekomunikacyjne, Poznań 2004.

Karty katalogowe i noty aplikacyjne:

8. Karta termistora

9. Karta układu AD590, www.analog.com

10. Karta układu ATmega32, www.atmel.com

11. Karta układu DS 1620, www.maxim-ic.com

12. Karta układu DS 1621, www.maxim-ic.com

13. Karta układu DS. 18B20, www.maxim-ic.com

14. Karta układu LM35, www.national.com

15. Karta układu LM45, www.national.com

16. Karta układu LM72, www.national.com

17. Karta układu LM74, www.national.com

18. Karta układu LM92, www.national.com

19. Karta układu LM335, www.st.com

20. Karta układu MAX6575, www.maxim-ic.com

21. Karta układu MAX 7500, www.maxim-ic.com

22. Karta układu SMT160-30, www.smartec.nl

23. Karta układu TMP01, www.analog.com

24. Nota aplikacyjna avr200, www.atmel.com

Page 52: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

52

Załączniki

Kod programu dla procesora ATmega.

plik main.asm

;-----------------------------------------

; Stabilizator temperatury płaszcza wodnego

; Łukasz Trojanowski

; Politechnika Warszawska

; Wieczorowe Studia Zawodowe

; -Informatyka

; Warszawa 2008

;-----------------------------------------

.include "m32def.inc"

;-----------------------------------------

; Definicje przycisków

;-----------------------------------------

.equ kal = 7 ;przyciski

.equ up = 6

.equ down = 5

.equ onoff = 4

;-----------------------------------------

; Zmienne globalne w SRAM

.dseg

;-----------------------------------------

temperaturaH: .byte 1 ;temperatura zmierzona wyrownana do prawej

temperaturaL: .byte 1

tempKorH: .byte 1 ;temperatura zmierzona z poprawką

tempKorL: .byte 1

tempStabH: .byte 1 ;temperatura stabilizowana

tempStabL: .byte 1

stan: .byte 1

.equ grzanie = 0 ;wlaczenie grzania

.equ chlodzenie = 1 ;wlaczenie chlodzenia

.equ praca = 2 ;praca urzadzenia

.equ wyswietl =3 ;koniecznosc uaktualnienia wyswietlacza

.equ przepisz = 4; przepisz poprawki do eeprom

.equ echo = 5; ;odpowiedz

.equ stp = 6;

serviceS: .byte 1

.equ tA = 7

.equ tB = 6

.equ tC = 5

poprawkiRAM: .byte 800

;-----------------------------------------

; Zmienne w pamięci EEPROM

.eseg

;-----------------------------------------

poprawki: .byte 800

Page 53: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

53

tempA: .byte 2

tempB: .byte 2

tempC: .byte 2

;-----------------------------------------

; Kod wykonywalny

.cseg

;-----------------------------------------

.org 0

rjmp RESET

.org OVF1addr

jmp TIM1_OVF

.org URXCaddr

jmp USART_RXC

.org $02a

RESET:

;-----------------------------------------

; Wskaźnik stosu

;-----------------------------------------

clr r16

sts stan,r16

ldi r16,high(RAMEND)

out sph,r16

ldi r16,low(RAMEND)

out spl,r16

.include "init44780.asm" ;inicjalizacja wyswietlacza

ldi ZH,high(czekaj*2)

ldi ZL,low(czekaj*2)

call WriteL

;ustawienie portu A

;0 - data

;1 - clock

;2 - -CS

;-----------------------------------------

; Konfiguracja klawiatury

;-----------------------------------------

ldi r16,0b00000110

out ddra,r16

ldi r16,0b11110100

out porta,r16 ;wlaczenie rezystorow pullup i stan H na -CS

ldi r16,0b11100000 ;ustawienie wyjsc sterujacych portu D

out portd,r16

out ddrd, r16

;-----------------------------------------

; Inicjalizacja TimeraB

; prescaler 16, przerwanie co ok. 4,5 sek.

;-----------------------------------------

ldi r16,0b00000011

out TCCR1B,r16

in r16,TIMSK

sbr r16,0b00000100

out TIMSK,r16

ldi r16,0xF0

Page 54: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

54

ser r17

out TCNT1H,r16

out TCNT1L,r17

;-----------------------------------------

; Wstepne ustawienie temp. stabilizowanej

;-----------------------------------------

ldi r16,0x01

sts tempStabH,r16

ldi r16,0x50

sts tempStabL,r16

sei

;-----------------------------------------

; Petla główna

mlop:

;-----------------------------------------

lds r16,stan

sbrc r16,wyswietl

call print_main

sbrc r16,praca

rjmp mlop2

sbis pina,up

call zwieksz

sbis pina,down

call zmniejsz

sbis pina,kal

jmp Menu

mlop2:

sbis pina,onoff

call on_off

rjmp mlop

on_off:

cli

lds r16,stan

ldi r17,0b100

eor r16,r17

sts stan,r16

ldi r18,200

call Wait

;-----------------------------------------

; Przerwanie overflow Timera B

TIM1_OVF:

;-----------------------------------------

push r16

push r17

call readLM74

lds r16,stan

sbr r16,(1<<wyswietl)

sts stan,r16

sbrs r16,praca

jmp TIM1_OVFwsamraz

lds r16,stan

sbrc r16,stp

rjmp Tstp

lds r16,tempKorL

lds r17,tempKorH

lds r22,tempStabL

lds r23,tempStabH

TIM1_OVF1:

cp r17,r23

Page 55: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

55

breq TIM1_OVFporown1

brge TIM1_OVFzacieplo

brlt TIM1_OVFzazimno

TIM1_OVFporown1:

cp r16,r22

breq TIM1_OVFwsamraz

brsh TIM1_OVFzacieplo

brlo TIM1_OVFzazimno

TIM1_OVFzazimno:

lds r16,stan

cbr r16,(1<<chlodzenie)

sbr r16,(1<<grzanie)

sts stan,r16

sbi portd,(5+chlodzenie)

cbi portd,(5+praca)

cbi portd,(grzanie+5)

rjmp TIM1_OVFporown2

TIM1_OVFzacieplo:

lds r16,stan

cbr r16,(1<<grzanie)

sbr r16,(1<<chlodzenie)

sts stan,r16

sbi portd,(5+grzanie)

cbi portd,(5+praca)

cbi portd,(chlodzenie+5)

rjmp TIM1_OVFporown2

TIM1_OVFwsamraz:

lds r16,stan

cbr r16,(1<<grzanie)

cbr r16,(1<<chlodzenie)

sts stan,r16

sbi portd,(5+grzanie)

sbi portd,(5+praca)

sbi portd,(chlodzenie+5)

rjmp TIM1_OVFporown2

TIM1_OVFporown2:

pop r17

pop r16

reti

Tstp:

lds r16,serviceS

sbrc r16,tA

rjmp TstpA

sbrc r16,tB

rjmp TstpB

sbrc r16,tC

rjmp TstpC

TstpA:

ldi XL,low(tempA)

ldi XH,high(tempA)

rjmp Tstp2

TstpB:

ldi XL,low(tempB)

ldi XH,high(tempB)

rjmp Tstp2

TstpC:

ldi XL,low(tempC)

ldi XH,high(tempC)

rjmp Tstp2

Tstp2:

out EEARL,XL

out EEARH,XH

sbi EECR,EERE

in r22,EEDR

adiw XL,1

Page 56: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

56

out EEARL,XL

out EEARH,XH

sbi EECR,EERE

in r23,EEDR

lds r16,temperaturaL

lds r17,temperaturaH

rjmp TIM1_OVF1

;-----------------------------------------

; Przerwanie odbioru z UART

USART_RXC:

;-----------------------------------------

in r16,UDR

cpi r16,127

breq USART_RXC_start

cpi r16,126

breq USART_RXC_stop

cpi r16,125

breq USART_RXC_echo

USART_RXC_zapisz:

st X+,r16

reti

USART_RXC_start:

ldi XL,low(poprawkiRAM)

ldi XH,high(poprawkiRAM)

reti

USART_RXC_stop:

lds r16,stan

sbr r16,(1<<przepisz)

sts stan,r16

reti

USART_RXC_echo:

lds r16,stan

sbr r16,(1<<echo)

sts stan,r16

reti

;-----------------------------------------

; Odczyt z czujnika LM 74

; Wyrównanie i korekcja wyniku

readLM74:

;-----------------------------------------

cbi porta,1

cbi porta,2

clr r0

clr r1

clr r16

LM74:

lsl r0

sbic pina,0

inc r0

inc r16

sbi porta,1

nop

cbi porta,1

cpi r16,8

brne LM74

LM74_2:

lsl r1

sbic pina,0

inc r1

inc r16

sbi porta,1

Page 57: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

57

nop

cbi porta,1

cpi r16,16

brne LM74_2

sbi porta,2

wyrownajR: ;wyrownuje wynik do prawej.

ldi r16,3

wyrownajR_1:

clc

sbrc r0,7

sec

ror r0

ror r1

dec r16

brne wyrownajR_1

sts temperaturaH,r0

sts temperaturaL,r1

koryguje:

lds YH,temperaturaH

lds YL,temperaturaL

ldi r16,low(50*16)

sub YL,r16

ldi r16,high(50*16)

sbc YH,r16

brpl koryguje_zaduzo

lds YH,temperaturaH

lds YL,temperaturaL

clr r16

sub YL,r16

sbc YH,r16

brmi koryguje_zamaly

ldi XL,low(poprawki)

ldi XH,high(poprawki)

add XL,YL

adc XH,YH

rjmp koryguje_odczyt

koryguje_zamaly:

ldi XL,low(poprawki)

ldi XH,high(poprawki)

rjmp koryguje_odczyt

koryguje_zaduzo:

ldi XL,low(poprawki+50*16)

ldi XH,high(poprawki+50*16)

koryguje_odczyt:

sbic EECR,EEWE

rjmp koryguje_odczyt

out EEARL,XL

out EEARH,XH

sbi EECR,EERE

in r16,EEDR

clr r17

sbrc r16,7

ser r17

lds YH,temperaturaH

lds YL,temperaturaL

add YL,r16

adc YH,r17

sts tempKorH,YH

sts tempKorL,YL

Page 58: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

58

ret

.include "service.asm"

.include "klawiatura.asm"

.include "print.asm"

.include "eeprom.asm"

.include "44780.asm"

.include "div16u.asm"

.include "etykiety.inc"

plik service.asm

;-----------------------------------------

; Wejscie do Menu

;-----------------------------------------

Menu:

cli

ldi r16,5

Menu2:

sbic pina,kal

jmp Menu_wyjscie

push r16

ldi r18,250

call Wait

pop r16

dec r16

brne Menu2

rjmp Menu_Entrypoint

Menu_wyjscie:

lds r16,stan

sbr r16,(1<<wyswietl)

sts stan,r16

jmp mlop

Menu_Entrypoint:

cli

ldi r16,1

call writeI

ldi ZH,high(menuL*2)

ldi ZL,low(menuL*2)

call WriteL

ldi r16,0b11000000

call writeI

ldi ZH,high(stabstp*2)

ldi ZL,low(stabstp*2)

call WriteL

clr r16

sts serviceS, r16

Menu_loop:

sbis pina,up

rjmp Menu_Up

sbis pina,down

rjmp Menu_Down

sbis pina,onoff

rjmp Wybor

sbis pina,kal

call Exit

Page 59: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

59

rjmp Menu_loop

Menu_Down:

lds r16,serviceS

dec r16

cpi r16,0xFF

brne Menu_Zmien

ldi r16,3

rjmp Menu_Zmien

Menu_Up:

lds r16,serviceS

inc r16

cpi r16,4

brne Menu_Zmien

clr r16

Menu_Zmien:

sts serviceS,r16

cpi r16,0

breq Zstabstp

cpi r16,1

breq Zpombezkor

cpi r16,2

breq Zkalibracja1

cpi r16,3

breq Zrs232

Zstabstp:

ldi r16,0b11000000

call writeI

ldi ZH,high(stabstp*2)

ldi ZL,low(stabstp*2)

call WriteL

ldi r18,150

call Wait

rjmp Menu_loop

Zpombezkor:

ldi r16,0b11000000

call writeI

ldi ZH,high(bezkor*2)

ldi ZL,low(bezkor*2)

call WriteL

ldi r18,150

call Wait

rjmp Menu_loop

Zkalibracja1:

ldi r16,0b11000000

call writeI

ldi ZH,high(kalibracja1*2)

ldi ZL,low(kalibracja1*2)

call WriteL

ldi r18,150

call Wait

rjmp Menu_loop

Zrs232:

ldi r16,0b11000000

call writeI

ldi ZH,high(rs232*2)

ldi ZL,low(rs232*2)

call WriteL

ldi r18,150

call Wait

rjmp Menu_loop

Page 60: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

60

Wybor:

lds r16,serviceS

cpi r16,3

breq Proc_rs232a

cpi r16,2

breq Proc_Kalibracja1a

cpi r16,1

breq Proc_bezkor

cpi r16,0

breq Proc_stabstp

Proc_rs232a:

jmp Proc_rs232

Proc_Kalibracja1a:

jmp Proc_Kalibracja1

;-----------------------------------------

; Pomiar bez korekcji

;-----------------------------------------

Proc_bezkor:

call readLM74

ldi r16,1

call WriteI

ldi ZH,high(temperatura*2)

ldi ZL,low(temperatura*2)

call WriteL

ldi r16,0b11000000

call WriteI

call printTemp

ldi r16,0b11011111

call WriteD

ldi r16,'C'

call WriteD

ldi r17,8

sbis pina,kal

call Exit

Proc_bezkor1:

ldi r18,254

call Wait

dec r17

brne Proc_bezkor1

rjmp Proc_bezkor

;-----------------------------------------

; Stabilizacja na stałe punkty

;-----------------------------------------

Proc_stabstp:

sbr r16,0b00000100

out TIMSK,r16

lds r16,stan

sbr r16,(1<<stp)

sts stan,r16

lds r16,serviceS

sbr r16,(1<<tA)

sts serviceS,r16

sei

Proc_stabstp3:

lds r16,stan

sbrc r16,wyswietl

call print_stp

sbrc r16,praca

rjmp Proc_stabstp2

sbis pina,up

Page 61: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

61

call stp_zmien

sbis pina,down

call stp_zmien

sbis pina,kal

call Exit

Proc_stabstp2:

sbis pina,onoff

call on_off

rjmp Proc_stabstp3

stp_zmien:

ldi r18,254

call Wait

lds r16,stan

sbr r16,(1<<wyswietl)

sts stan,r16

lds r16,serviceS

sbrc r16,tA

jmp B1

sbrc r16,tB

jmp C1

sbrc r16,tC

jmp A1

A1:

sbr r16,(1<<tA)

cbr r16,(1<<tC)

sts serviceS,r16

ret

B1:

sbr r16,(1<<tB)

cbr r16,(1<<tA)

sts serviceS,r16

ret

C1:

sbr r16,(1<<tC)

cbr r16,(1<<tB)

sts serviceS,r16

ret

;-----------------------------------------

; Kalibracja na stałe punkty

;-----------------------------------------

Proc_Kalibracja1:

cli

ldi r16,1

call WriteI

ldi r18,250

call Wait

ldi r16,0b10000000

sts serviceS,r16

ldi ZH,high(wybierz*2)

ldi ZL,low(wybierz*2)

call WriteL

ldi r16,0b11000000

call WriteI

ldi ZH,high(temperatura*2)

ldi ZL,low(temperatura*2)

call WriteL

ldi r16,'A'

call WriteD

Proc_Kalibracja2:

Page 62: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

62

sbis pina,up

call Proc_grzej

sbis pina,down

call Proc_chlodz

sbis pina,kal

call Proc_zapamietaj

sbis pina,onoff

call Proc_zmientmp

rjmp Proc_Kalibracja2

Proc_grzej:

lds r16,stan

clr r17

sbr r17,(1<<grzanie)

eor r16,r17

cbr r16,(1<<chlodzenie)

sbi portd,(5+chlodzenie)

sbrs r16,grzanie

rjmp Proc_grzej1

cbi portd,(5+praca)

cbi portd,(grzanie+5)

sbr r16,(1<<praca)

rjmp Proc_grzej2

Proc_grzej1:

sbi portd,(5+praca)

sbi portd,(grzanie+5)

cbr r16,(1<<praca)

Proc_grzej2:

sts stan,r16

call Proc_LCD

ldi r18,254

call Wait

ret

Proc_chlodz:

lds r16,stan

clr r17

sbr r17,(1<<chlodzenie)

eor r16,r17

cbr r16,(1<<grzanie)

sbi portd,(5+grzanie)

sbrs r16,chlodzenie

rjmp Proc_chlodz1

cbi portd,(5+praca)

cbi portd,(chlodzenie+5)

sbr r16,(1<<praca)

rjmp Proc_chlodz2

Proc_chlodz1:

sbi portd,(5+praca)

sbi portd,(chlodzenie+5)

cbr r16,(1<<praca)

Proc_chlodz2:

sts stan,r16

call Proc_LCD

ldi r18,254

call Wait

ret

Proc_zmientmp:

call stp_zmien

call zmienLCD

ret

Proc_zapamietaj:

Page 63: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

63

ldi r18,254

call Wait

lds r16,serviceS

ldi r17,0b11100000

and r16,r17

cpi r16,0b10000000

breq Proc_zapamietajA

cpi r16,0b01000000

breq Proc_zapamietajB

cpi r16,0b00100000

breq Proc_zapamietajC

Proc_zapamietajA:

ldi YH,high(tempA)

ldi YL,low(tempA)

rjmp Proc_zapamietaj2

Proc_zapamietajB:

ldi YH,high(tempB)

ldi YL,low(tempB)

rjmp Proc_zapamietaj2

Proc_zapamietajC:

ldi YH,high(tempC)

ldi YL,low(tempC)

rjmp Proc_zapamietaj2

Proc_zapamietaj2:

sbic EECR,EEWE

rjmp Proc_zapamietaj2

push YL

push YH

call readLM74

pop YH

pop YL

lds r16,temperaturaL

out EEARH,YH

out EEARL,YL

out EEDR,r16

sbi EECR,EEMWE

sbi EECR,EEWE

Proc_zapamietaj3:

sbic EECR,EEWE

rjmp Proc_zapamietaj3

lds r16,temperaturaH

adiw YL,1

out EEARH,YH

out EEARL,YL

out EEDR,r16

sbi EECR,EEMWE

sbi EECR,EEWE

ldi r16,0b11000000

call WriteI

ldi ZH,high(zapamietano*2)

ldi ZL,low(zapamietano*2)

call WriteL

ret

Proc_LCD:

ldi r16,0b10000000

call WriteI

lds r16,stan

sbrs r16,praca

rjmp Proc_LCDstop

sbrs r16,grzanie

rjmp Proc_LCDchlodzenie

rjmp Proc_LCDgrzanie

Proc_LCDchlodzenie:

ldi ZH,high(chlodzenieL*2)

Page 64: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

64

ldi ZL,low(chlodzenieL*2)

call WriteL

ret

Proc_LCDgrzanie:

ldi ZH,high(grzanieL*2)

ldi ZL,low(grzanieL*2)

call WriteL

ret

Proc_LCDstop:

ldi ZH,high(stop*2)

ldi ZL,low(stop*2)

call WriteL

ret

zmienLCD:

ldi r16,0b11000000

call WriteI

ldi ZH,high(temperatura*2)

ldi ZL,low(temperatura*2)

call WriteL

lds r17, serviceS

sbrc r17,tA

ldi r16,'A'

sbrc r17,tB

ldi r16,'B'

sbrc r17,tC

ldi r16,'C'

call WriteD

ret

;-----------------------------------------

; Kalibracja po RS232

;-----------------------------------------

Proc_rs232:

clr r16 ;wyłączenie przerwań timera

out TIMSK,r16

ldi r16,1

call WriteI

ldi ZH,high(kalibracja*2)

ldi ZL,low(kalibracja*2)

call WriteL

ldi r16,0 ;inicjalizacja UARTu

out UBRRH,r16

ldi r16,0b10000110

out UCSRC,r16

ldi r16,25

out UBRRL,r16

cbi UCSRB,UCSZ2

sbi UCSRB,RXCIE

sbi UCSRB,RXEN

sbi UCSRB,TXEN

sei

Kalibmode1:

lds r15,stan

sbrc r15,przepisz

rjmp przepiszE

sbrc r15,echo

rjmp echoE

sbis pina,kal

call Exit

jmp Kalibmode1

przepiszE:

cli

Page 65: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

65

lds r16,stan

cbr r16,(1<<przepisz)

sts stan,r16

ldi r16,1

call WriteI

ldi ZH,high(odebrano*2)

ldi ZL,low(odebrano*2)

call WriteL

ldi XL,low(poprawkiRAM)

ldi XH,high(poprawkiRAM)

ldi YL,low(poprawki)

ldi YH,high(poprawki)

clr ZH

clr ZL

przepiszE1:

sbic EECR,EEWE

rjmp przepiszE1

ld r16,X+

out EEARH,YH

out EEARL,YL

out EEDR,r16

sbi EECR,EEMWE

sbi EECR,EEWE

adiw YL,1

adiw ZL,1

cpi ZH,0x3

brne przepiszE1

cpi ZL,0x20

brne przepiszE1

ldi r16,1

call WriteI

ldi ZH,high(gotowe*2)

ldi ZL,low(gotowe*2)

call WriteL

sei

rjmp Kalibmode1

echoE:

cli

lds r16,stan

cbr r16,(1<<echo)

sts stan,r16

ldi r16,1

call WriteI

ldi ZH,high(polaczono*2)

ldi ZL,low(polaczono*2)

call WriteL

ldi ZH,high(echoF*2)

ldi ZL,low(echoF*2)

call sendL

sei

rjmp Kalibmode1

sendL:

lpm r16,Z+

cpi r16,0

breq SendLend

SendL1:

sbis UCSRA,UDRE

rjmp SendL1

out UDR,r16

rjmp sendL

SendLend:

ret

;-----------------------------------------

; Powrot do trybu podstawowego

;-----------------------------------------

Page 66: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

66

Exit:

cli

ldi r16,5

Exit2:

sbic pina,kal

jmp Exit3

push r16

ldi r18,250

call Wait

pop r16

dec r16

brne Exit2

jmp RESET

Exit3:

sei

ret

plik klawiatura.asm

;-----------------------------------------

; Procedury obsługi przycisków z pętli głownej

;-----------------------------------------

zwieksz:

ldi r18,10 ;ustabilizowanie stykow

call Wait

lds XL,tempStabL

lds XH,tempstabH

adiw XL,1

sts tempStabL,XL

sts tempStabH,XH

call print_main ;pierwsza reakcja na przycisk

ldi r18,255

zwieksz_Wait2:

ldi r17,255

zwieksz_Wait1: ;oczekiwanie na zwolnienie przycisku, ca 400ms

sbic pina,up

ret

nop

nop

dec r17

brne zwieksz_Wait1

dec r18

brne zwieksz_Wait2

zwieksz2: ;jesli przycisk nie zostal zwolniony - seria

lds XL,tempStabL

lds XH,tempstabH

adiw XL,1

sts tempStabL,XL

sts tempStabH,XH

call print_main

ldi r18,20

call Wait

sbis pina,up

rjmp zwieksz2

ret

zmniejsz:

ldi r18,10

call Wait

lds XL,tempStabL

lds XH,tempstabH

Page 67: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

67

sbiw XL,1

sts tempStabL,XL

sts tempStabH,XH

call print_main

ldi r18,255

zmnijesz_Wait2:

ldi r17,255

zmnijesz_Wait1:

sbic pina,down

ret

nop

nop

dec r17

brne zmnijesz_Wait1

dec r18

brne zmnijesz_Wait2

zmnijesz2:

lds XL,tempStabL

lds XH,tempstabH

sbiw XL,1

sts tempStabL,XL

sts tempStabH,XH

call print_main

ldi r18,20

call Wait

sbis pina,down

rjmp zmnijesz2

ret

plik print.asm

printTemp:

lds dd16uL, temperaturaL

lds dd16uH, temperaturaH

rjmp printTemp1

printTempKor:

lds dd16uL, tempKorL

lds dd16uH, tempKorH

rjmp printTemp1

printTempStab:

lds dd16uL, tempStabL

lds dd16uH, tempStabH

printTemp1:

tst dd16uH

brmi printTempMinus

push r16

push r17

ldi r16,'+'

call WriteD

pop r17

pop r16

rjmp printTemp5

printTempMinus:

push r16

push r17

ldi r16,'-'

call WriteD

pop r17

pop r16

com dd16uL

Page 68: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

68

com dd16uH

clr drem16uL

inc drem16uL

add dd16uL,drem16uL

clr drem16uL

adc dd16uH,drem16uL

printTemp5:

ldi dv16uH,0x6

ldi dv16uL,0x40

call div16u

mov r16,dd16uL

tst r16 ;pomijanie pierwszego nieznaczacego zera

breq printTemp4

ldi r17,'0'

add r16,r17

call WriteD

printTemp4:

mov dd16uH,drem16uH

mov dd16uL,drem16uL

clr dv16uH

ldi dv16uL,0xA0

call div16u

mov r16,dd16uL

ldi r17,'0'

add r16,r17

call WriteD

mov dd16uH,drem16uH

mov dd16uL,drem16uL

clr dv16uH

ldi dv16uL,16

call div16u

mov r16,dd16uL

ldi r17,'0'

add r16,r17

call WriteD

ldi r16,'.'

call WriteD

ldi ZH,high(poprzecinku*2)

ldi ZL,low(poprzecinku*2)

lsl drem16uL

lsl drem16uL

clr r16

add r30,drem16uL

adc r31,r16

call WriteL

ret

print_main:

lds r16,stan

cbr r16,(1<<wyswietl)

sts stan,r16

ldi r16,1

call WriteI

ldi ZH,high(tAkt*2)

ldi ZL,low(tAkt*2)

call WriteL

call printTempKor

ldi r16,0b11011111

call WriteD

ldi r16,'C'

call WriteD

strzalki:

ldi r16,0b10010011

call WriteI

lds r16,stan

sbrs r16,praca

rjmp print_off

Page 69: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

69

sbrc r16,grzanie

rjmp print_grzanie

sbrc r16,chlodzenie

rjmp print_chlodzenie

ldi r16,'-'

call WriteD

rjmp print_main2

print_grzanie:

ldi r16,0b01111110

call WriteD

rjmp print_main2

print_chlodzenie:

ldi r16,0b01111111

call WriteD

rjmp print_main2

print_off:

ldi r16,'o'

call WriteD

rjmp print_main2

print_main2:

lds r16,stan

sbrc r16,stp

ret

ldi r16,0b11000000

call WriteI

ldi ZH,high(tStab*2)

ldi ZL,low(tStab*2)

call WriteL

call printTempStab

ldi r16,0b11011111

call WriteD

ldi r16,'C'

call WriteD

ret

print_stp:

lds r16,stan

cbr r16,(1<<wyswietl)

sts stan,r16

ldi r16,1

call WriteI

ldi ZH,high(temperatura*2)

ldi ZL,low(temperatura*2)

call WriteL

lds r17,serviceS

sbrc r17,tA

ldi r16,'A'

sbrc r17,tB

ldi r16,'B'

sbrc r17,tC

ldi r16,'C'

call WriteD

rjmp strzałki

plik 44780.asm

;-----------------------------------------

; Test flagi Busy

;-----------------------------------------

Busy:

ldi r17,0x0F

out ddrb,r17

sbi portb,1

cbi portb,2

Czekaj44780:

Page 70: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

70

sbi portb,0

nop

in r17,pinb

cbi portb,0

sbi portb,0

cbi portb,0

tst r17

brmi Czekaj44780

ret

;-----------------------------------------

; Zapis instrukcji/danej do HD44780

;-----------------------------------------

WriteI:

rcall Busy

cbi portb,2

rjmp Write

WriteD:

rcall Busy

sbi portb,2

Write:

ser r17

out ddrb,r17

cbi portb,1

push r16

andi r16,0xF0

in r17,portb

andi r17,0x0F

add r16,r17

out portb,r16

sbi portb,0

cbi portb,0

pop r16

swap r16

andi r16,0xF0

add r16,r17

out portb,r16

sbi portb,0

cbi portb,0

ldi r16,0x0F

out ddrb,r16

ret

;-----------------------------------------

; Petla opozniajaca

; 1 MHz - ~1ms * r18

;-----------------------------------------

Wait:

push r17

Wait2:

ldi r17,200

Wait1:

nop

nop

dec r17

brne Wait1

dec r18

brne Wait2

pop r17

ret

;-----------------------------------------

; Wypisywanie ciagu

; na wyswietlaczu

;-----------------------------------------

Page 71: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

71

WriteL:

lpm r16,Z+

cpi r16,0

breq WriteLend

rcall WriteD

rjmp WriteL

WriteLend:

ret

plik div16u.asm [24]

;-----------------------------------------

; Procedura dzielenia

; Dostarczona przez producenta mikrokontrolera

;-----------------------------------------

.def drem16uL=r14 ; reszta

.def drem16uH=r15

.def dd16uL =r16 ;dzielna

.def dd16uH =r17

.def dv16uL =r18 ;dzielnik

.def dv16uH =r19

.def dcnt16u =r20

.def tcnt =r21

div16u:

clr drem16uL ;clear remainder Low byte

sub drem16uH,drem16uH;clear remainder High byte and carry

ldi dcnt16u,17 ;init loop counter

d16u_1:

rol dd16uL ;shift left dividend

rol dd16uH

dec dcnt16u ;decrement counter

brne d16u_2 ;if done

ret ; return

d16u_2:

rol drem16uL ;shift dividend into remainder

rol drem16uH

sub drem16uL,dv16uL ;remainder = remainder - divisor

sbc drem16uH,dv16uH ;

brcc d16u_3 ;if result negative

add drem16uL,dv16uL ; restore remainder

adc drem16uH,dv16uH

clc ; clear carry to be shifted into result

rjmp d16u_1 ;else

d16u_3:

sec ; set carry to be shifted into result

rjmp d16u_1

plik etykiety.inc

linia: .db "Test 1234567890!@#$%^&*() ABCDEF",0

temperatura: .db "Temperatura: ",0

poprzecinku: .db

"00",0,0,"06",0,0,"12",0,0,"18",0,0,"25",0,0,"31",0,0,"37",0,0,"43",0,0,"50",

0,0,"56",0,0,"63",0,0,"69",0,0,"75",0,0,"81",0,0,"87",0,0,"93",0,0

kalibracja: .db "Tryb serwisowy RS232",0

odebrano: .db "Odebrano",0

gotowe: .db "Gotowe :)",0

czekaj: .db "Czekaj...",0

tAkt: .db "T.akt: ",0

tStab: .db "T.st: ",0

echoF: .db "STPW v.11",125,0

Page 72: Stabilizator temperatury płaszcza wodnego oparty na ...limonit.abajt.pl/pliki/praca.pdf · magisterskiej: Ocena Metod redukcji emisji dioksyn z procesu spalania odpadów komunalnych

72

polaczono: .db "Polaczono",0

rs232: .db "Kalibr. po RS232 ",0

kalibracja1: .db "Kalibr. na stale p."

bezkor: .db "Pomiar bez korekcji",0

stabstp: .db "Stab. na stale p. "

menuL: .db "Menu",0

wybierz: .db "Wybierz temp.",0

chlodzenieL: .db "Chlodze! ",0

grzanieL: .db "Podgrzewam! ",0

stop: .db "Peltier wyl. ",0

zapamietano: .db "Zapamietano ",0

plik init44780.asm

;-----------------------------------------

; Inicjalizacja wyświetlacza LCD HD 44780

; PORTB: 0 E, 1 R/W, 2 RS, 3 nc, 4-8 DB4-DB8

;-----------------------------------------

ser r16

out ddrb,r16

ldi r18,40 ; //wait 40 ms

call Wait

ldi r16,0b00110000

out portb,r16

cbi portb,0

sbi portb,0

ldi r18,5 ;// wait 4.1

call Wait

cbi portb,0

sbi portb,0

ldi r18,1 ; // wait 100us

call Wait

cbi portb,0

sbi portb,0

ldi r16, 0b00100000

out portb,r16

cbi portb,0

sbi portb,0

ldi r18,1

call Wait

ldi r16,0b00101000

cbi portb,2

call Write

ldi r16,0b00001000

call WriteI

ldi r16,0b00000001

call WriteI

ldi r16,0b00000111

call WriteI

ldi r16,0b1100 ;// 2 linie, 5x8 dot, bez kursora

call WriteI

ldi r16,0b110 ;// Entry mode

call WriteI