Sterownik mikroprocesorowy urządzenia chłodząco

Transkrypt

Sterownik mikroprocesorowy urządzenia chłodząco
Zakład Systemów Zasilania (Z-5)
Sterownik mikroprocesorowy urządzenia chłodzącogrzewczego wykorzystującego efekt Peltiera
Praca nr 05300028
Warszawa grudzień 2008
Sterownik mikroprocesorowy urządzenia chłodząco-grzewczego wykorzystującego efekt Peltiera
Praca nr 05300028
Słowa kluczowe (maksimum 5 słów): efekt Peltiera stabilizacja temperatury pracy baterii
Kierownik pracy: dr inż. Robert Adam Samborski
Wykonawcy pracy:
dr inż.
mgr inż.
mgr inż.
technik
Robert
Maciej
Edward
Krzysztof
Samborski
Kozyra
Chrustowski
Kanicki
Z5
Z5
Z5
Z5
Kierownik Zakładu: inż. Paweł Kliś
© Copyright by Instytut Łączności, Warszawa grudzień 2008
2
Spis treści
1.Wstęp.................................................................................................................................................4
2. Układ grzewczo-chłodzący..............................................................................................................5
3. Energoelektroniczny układu regulacji mocy w urządzeniu grzewczo chłodzącym.........................5
3.1 Układu sterowania tranzystorów mocy IGBT...........................................................................6
4. Ogólna struktura sterowania i regulacji temperatury w urządzeniu grzewczo-chłodzącym..........10
5. Konstrukcja systemu chłodzącego. ...............................................................................................12
6. Sposób realizacji cyfrowego regulatora PID napięć wyjściowych przetwornic DC/DC oraz
regulacji temperatury..........................................................................................................................16
7. Konstrukcja sterownika systemu chłodzenia i grzania szaf dostępowych.....................................19
8. Narzędzia wspomagania programowania. Środowisko programowe............................................21
9. Realizowane funkcje oraz struktura oprogramowania sterownika urządzenia chłodzącego. .......21
10. Interfejs użytkownika oprogramowania sterownika urządzenia chłodzącego.............................25
11. Badania i testowanie oprogramowania kontrolera urządzenia chłodzącego................................31
12. Wnioski.........................................................................................................................................31
13. Bibliografia...................................................................................................................................32
3
1. Wstęp
Niniejsza praca dotyczy tematyki eksploatacji baterii akumulatorów chemicznych,
ołowiowo kwasowych, typu VRLA w telekomunikacyjnych i innych systemach zasilania
gwarantowanego. W dalszej części niniejszego opracowania bateria ta będzie nazywana też krótko
VRLA lub po prostu baterią.
Jednym z najistotniejszych parametrów eksploatacyjnych mającym wpływ na czas życia baterii jest
temperatura. Wzrost temperatury pracy baterii akumulatorów o każde 9°C powyżej znamionowej
temperatury pracy (typ. 25°C) skraca czas życia baterii o ok. 50%.
Teoretycznie w telekomunikacyjnym systemie zasilania bateria akumulatorów o pojemności 80% w
stosunku do pojemności znamionowej uznawana jest za niesprawną i podlega wymianie. Aby
zapewnić właściwe warunki temperaturowe dla eksploatacji baterii akumulatorów stosowane są
kosztowne w eksploatacji urządzenia klimatyzacyjne. Urządzenia te montowane są zazwyczaj w
obiektach stacjonarnych natomiast w urządzeniach wolno stojących typu out-door istnieje jedynie
możliwość dogrzewania komory bateryjnej w miesiącach zimowych. Letnie upały natomiast
powodują znaczące przegrzewanie się baterii akumulatorów, co skutkuje bardzo krótkim okresem
(1 do 3 lat) eksploatacji tejże baterii.
Aby zapewnić właściwe temperaturowe warunki eksploatacji baterii akumulatorów w
Zakładzie Systemów Zasilania Z5 Instytutu Łączności opracowane zostało termoelektryczne
urządzenie grzewczo-chłodzace umożliwiające stabilizację temperatury pracy baterii akumulatorów
[1]. Urządzenie to wykorzystuje efekt Peltiera i nie zawiera żadnych elementów mechanicznych tak
jak ma to miejsce w klasycznych urządzeniach klimatyzacyjnych.
W ramach niniejszej pracy wykonano i przebadano kompletny model mikroprocesorowego
regulatora temperatury wraz z układami wykonawczymi. Układ ten umożliwia programowanie i
regulację temperatury komory bateryjnej w szafie systemowej typu out-door. Zastosowanie układu
kontroli temperatury powoduje że całe urządzenie nabiera właściwości kompletnego modelu
użytkowego
4
2. Układ grzewczo-chłodzący
Termoelektryczne urządzenie grzewczo-chłodzące, przedstawione szczegółowo w [1],
składa się z zespołu szesnastu połączonych szeregowo modułów Peltiera współpracujących z
odpowiednim układem wymiany ciepła i układem zasilania. Schemat połączeń modułów Peltiera,
zwanych dalej krótko modułami, przedstawiono na rysunku numer 1.
Rys. nr 1 Układ połączeń modułów Peltiera,
T1...T8 - moduły Peltiera,
Ch1...Ch5 - sekcje
Zastosowane moduły termoelektryczne wykonane są na napięcie znamionowe 12V. Dlatego też
każda z czterech sekcji (patrz rys. 1) może być zasilona napięciem o wartości maksymalnej 48V
DC. Na podstawie wyników badań uzyskanych w [1] napięcie zasilające każdą z sekcji nie
przekracza w praktyce16 V.
Aby umożliwić właściwą wymianę ciepła w układzie przedstawionym w [1] w zależności od
bieżących warunków i stanu układu, konieczne jest regulowanie wartości prądu płynącego przez
każdą parę modułów (sekcje jak na rys. nr 1) w zależności od wymaganej temperatury.
5
3. Energoelektroniczny układu regulacji mocy w urządzeniu grzewczo
chłodzącym
Aby umożliwić regulację prądu płynącego w czterech niezależnych sekcjach urządzenia
grzewczo-chłodzącego opracowany został układ energoelektroniczny którego schemat
przedstawiono na rysunku 2. Jest to układ czterech niezależnych przetwornic DC/DC typu
obniżającego. Topologia układowa typu obniżającego (step down) jest powszechnie znana i opisana
szczegółowo w [2] lub [3]. Regulacja szerokości impulsów sterujących tranzystory PWM w
układzie z rysunku 2 umożliwia regulację napiecia wyjściowego każdej przetwornicy w zakresie od
zera do wartości napięcia wejściowego (0÷Uwe) Aby umożliwić pełen zakres regulacji prądu w
układzie urządzenia grzewczo-chłodzącego napięcie wejściowe każdej z przetwornic powinno być
wyższe od 16V. Układ został przewidziany do współpracy z napięciem wejściowym w zakresie 24
÷ 400V DC. Wszystkie podzespoły przetwornic z rysunku 2 zostały dobrane tak aby układ ten
prawidłowo pracował w założonym zakresie napięć wejściowych. Zaprojektowany został także
odpowiedni układ dopasowujący sygnały sterujące bramek tranzystorów do sygnałów sterujących z
układu mikroprocesorowego.
Sygnały PWM sterujące bramki tranzystorów wytwarzane są w specjalnie do tego celu
zaprojektowanym, układzie sterownika wykorzystującego mikrokontroler jednoukładowy STR912
[4]
Rys. nr 2 Schemat układu sterowania prądem dla czterech sekcji
urządzenia grzewczo-chlodzącego
6
3.1 Układu sterowania tranzystorów mocy IGBT
Sterowanie tranzystorem IGBT każdej z przetwornic przedstawionych na rysunku nr 2
polega na przyłożeniu pomiędzy bramkę i emiter tego tranzystora sygnału napięciowego + 15V dla
stanu przewodzenia lub 0V dla stanu blokowania. Aby tranzystor nie włączał się przypadkowymi
zakłóceniami dla stanu blokowania stosowane jest napięcie -15V. Wszystkie napięcia bramkowe o
których mowa mierzone są względem emitera. Ze względu na zakres napięć bramkowych
wymagany do sterowania tranzystora IGBT korzystna jest separacja galwaniczna pomiędzy
sterującym układem logicznym, mikrokontrolerem a tranzystorem IGBT. Układ mikrokontrolera
pracuje przy napięciu stałym 3.3V DC i nie jest w stanie sterować bezpośrednio tranzystorami
mocy IGBT.
Aby dopasować poziomy sygnałów sterujacych z układu mikroprocesorowego do potrzeb
sterowania tranzystorami IGBT, zastosowano aplikację układu HCPL3120. Schemat funkcjonalny
wraz z opisem wyprowadzeń tego układu przedstawiono na rysunku nr 3.
Rys. nr 3. Schemat funkcjonalny układu HCPL 3120
wraz z opisem wyprowadzeń
Na bazie układu HCPL3120 zbudowano układ sterowania bramek tranzystorów IGBT nazywany
dalej driverem. Schemat drivera przedstawiono na rysunku nr 4. Układ ten zapewnia dodatkowo
kształtowanie stromości narastania sygnału bramkowego tranzystora za pośrednictwem elementów
R i D. Dla schematu z rysunku 4 zaprojektowano płytkę drukowaną dwustronną. Schemat połączeń
na druku przedstawiono na rysunku 5.
7
Rys. nr 4 Schemat ideowy układu drivera tranzystorów IGBT
8
Rys. nr 5 Schemat połączeń płytki drukowanej drivera tranzystorów IGBT
kolejno warstwy top i bottom
9
4. Ogólna struktura sterowania i regulacji temperatury w urządzeniu grzewczochłodzącym.
Aby kontrolować przepływ prądu elektrycznego w każdej sekcji urządzenia grzewczochłodzącego każda z przetwornic obniżających z rysunku nr 2 wyposażona została w regulator
napięcia wyjściowego PI. Aby kontrolować wartość temperatury schładzanego obiektu
zastosowano dodatkowy regulator PI sterujący temperaturą. Schemat ideowy całego urządzenia
grzewczo-chłodzącego wraz ze strukturą układu regulacji temperatury przedstawiono na rysunku nr
6.
Rys. nr 6. Schemat ideowy całego urządzenia grzewczo-chłodzącego
wraz ze strukturą układu regulacji temperatury
Działanie układu jest następujące. Przetwornice regulujące wartość prądu płynącego w sekcjach
TP1-2 TP3-4 TP5-6 i TP7-8 urządzenia grzewczo chłodzącego zasilane są parami z dwóch
zasilaczy napięcia stałego DC1 i DC2 o wartości 48V DC. Wartość zadana napięcia wyjściowego
każdej z przetwornic podawana jest z regulatora temperatury którego zadaniem jest utrzymywanie
temperatury na zadanej wartości. Jako układ pomiaru temperatury (Temp sensor rys. nr 6)
zastosowano kompletny układ pomiarowy typu MCP 9803 współpracujący z magistralą I2C [5]. Na
rysunku 7 przedstawiono przykładowy schemat aplikacyjny tego układu. Oraz widok
zaprojektowanego obwodu drukowanego zastosowanego w urządzeniu.
10
Rys. nr 7 Przykładowy schemat aplikacyjny układu MPC9803 [5]
Wszystkie układy regulacji przedstawione na rysunku 6 zrealizowane zostały programowo przy
użyciu mikrokontrolera STR912. Szczegółowa struktura układów regulacji zostanie omówiona
jeszcze w dalszej części niniejszego opracowania.
11
5. Konstrukcja systemu chłodzącego.
Zadaniem oprogramowania systemu chłodzenia oraz grzania komory bateryjnej szaf
dostępowych ( ONU, SDA) eksploatowanych w Telekomunikacji Polskiej S. A. jest
sterowanie pracą wszystkich jego podzespołów. W urządzeniu chłodzącym zastosowano
nowoczesne termoelementy działające na zasadzie efektu Peltiera, które umożliwiają
stabilizację temperatury przedziałów bateryjnych w telekomunikacyjnych systemach
dostępowych instalowanych na zewnątrz budynków. W pracy został wykorzystany model
urządzenia grzewczo - chłodzącego opracowany w IŁ, którego konstrukcję przedstawiono na
Rys. nr 8 oraz Rys. nr 9.
Rys. nr 8. Widok strony zewnętrznej (gorącej) podzespołów urządzenia chłodzącego.
12
Rys. nr 9. Widok strony wewnętrznej (strony zimnej) podzespołów urządzenia chłodzącego.
Urządzenie chłodzące zostało zamontowane w bocznej ścianie szafy dostępowej.
Schemat elektryczny podzespołów dwustopniowego urządzenia chłodzącego przedstawiono
na rysunku nr 10.
W wykonanym modelu urządzenia chłodzącego zainstalowano 16 termoelementów w
układzie dwustopniowym. Każdy zespół składa się z dwóch niezależnych elementów
chłodzących (dwa termoelementy strony zimnej oraz dwa moduły strony gorącej). Moduły
strony gorącej i zimnej są zasilane z osobnych źródeł energii o różnych wartościach prądu
oraz napięcia. Układy dwustopniowe wymagają dwóch niezależnych źródeł zasilania
(przetwornic DC/DC) o regulowanej wartości prądu. W urządzeniu chłodzącym do zasilania
termoelementów zastosowano cztery przetwornice DC/DC. Napięcia wyjściowe
poszczególnych przetwornic w procesie regulacji temperatury w komorze bateryjnej są
sterowane niezależnie przez kontroler mikroprocesorowy, który, realizuje programowe
procedury cyfrowych regulatorów PID. Wartości zadane dla regulatorów przetwornic
wyznacza cyfrowy regulator temperatury na podstawie wykonywanych pomiarów
temperatury wewnątrz komory bateryjnej. Do pomiaru temperatur zastosowano scalone
układy pomiarowe MCP 9803 oraz MCP 9805, które przez dwuprzewodową magistralę I2C
13
transmitują pomierzone wartości temperatur do mikrokontrolera.
Schemat elektryczny zasilania dla jednego modułu chłodzącego przedstawiono na rysunku
nr 11.
Rys. nr 10. Schemat połączeń elektrycznych podzespołów urządzenia chłodzącego.
Rys. nr 11. Schemat zasilania termoelementów jednego modułu chłodzącego.
14
6. Sposób realizacji cyfrowego regulatora PID napięć wyjściowych
przetwornic DC/DC oraz regulacji temperatury.
Stabilizacja temperatury wewnątrz komory bateryjnej na zadanym poziomie oraz
stabilizacja napięć wyjściowych przetwornic DC/DC zasilających jest realizowana przez
regulatory cyfrowe wykorzystujące algorytmy PID. Schemat blokowy regulatora cyfrowego
przedstawiono na rysunku nr 12.
Rys. 12. Schemat blokowy regulatora cyfrowego.
Regulator cyfrowy porównuje wielkość regulowaną y(t) obiektu regulacji z wartością
zadaną dla tej wielkości yzad(k) i wytwarza sygnał uchybu e(k). W zależności od wielkości
sygnału uchybu jest wytwarzany sygnał u(t) sterujący obiektem regulacji. Cechą
charakterystyczną regulatora cyfrowego ( w porównaniu z regulatorem ciągłym –
analogowym ) jest praca ze stałym okresem próbkowania Tp. W procesie próbkowania sygnał
wyjściowy y(t) obiektu sterowania jest przekształcany na ciąg dyskretnych wartości y(k).
Wyznaczony ciąg wartości dyskretnych y(k) jest porównywany z wartością zadaną ( w
postaci cyfrowej ). W wyniku tego porównania powstaje ciąg wartości dyskretnych uchybu
regulacji e(k)=uzd(k)-y(k) dla k=0, 1, 2, 3, … Na podstawie ciągu wartości uchybu regulacji
e(k) blok cyfrowego algorytmu regulacji wytwarza dyskretny sygnał sterujący u(k). Na
wyjściu regulatora cyfrowego znajduje się układ ekstrapolacji, który wytwarza sygnał
sterujący obiektem u(t) określony dla każdej chwili czasu t.
Blok cyfrowego algorytmu regulacji realizuje algorytm równoległego, pozycyjnego
regulatora PID. Schemat blokowy regulatora PID przedstawiono na rysunku nr 13.
Rys. nr 13. Schemat blokowy regulatora PID.
15
Równoległy regulator PID składa się z następujących członów funkcjonalnych:
•
•
•
•
Człon proporcjonalny o wzmocnieniu Kr
Człon całkujący o stałej czasowej całkowania Ti
Człon różniczkujący o stałej różniczkowania (zdwojenia) Td
Człon Kp określający wzmocnienie całego regulatora PID.
Uwzględniając strukturę algorytmu regulacji PID schemat funkcjonalny cyfrowego
regulatora można przekształcić do postaci przedstawionej na rysunku nr 14.
Rys. nr 14. Schemat funkcjonalny cyfrowego regulatora
z równoległym algorytmem PID.
Funkcja opisująca liniowy (ciągły) algorytm regulacji PID przedstawiony powyżej jest
określona przez ogólną postać równania:
1
u(t) = Kp { e(t) +
Ti
t
∫ e  t dt + Td
0
de  t 
}
dt
Dyskretyzacja powyższej funkcji polega na wprowadzeniu dyskretnych wartości sygnału
uchybu regulatora e(k) oraz zastąpieniu całki sumą:
t
∫ e  t dt ¿
0
k
∑ e  i Tp ,
i=0
a pochodną zastąpieniu różnicą pierwszego rzędu:
de  t 
e k −e k −1 
.
¿
dt
Tp
16
Dla przekształcenia sumy zastępującej całkowanie w czasie k-1 można wprowadzić
oznaczenie:
k −1
s(k – 1) =
∑ e i r p ,
i=1
a zatem s(k) = s(k – 1) + e(k) lub e(k) = s(k) – s(k – 1).
W wyniku powyższych założeń i przekształceń otrzymujemy ostateczną formułę
opisującą dyskretną procedurę dla regulatora PID:
u(k) = Kp { e(k) +
Tp
Td
s(k) +
[e(k) – e(k – 1)]}.
Ti
Tp
Sygnał wyjściowy dyskretnego regulatora PID będzie odtwarzany przez przetwornik
analogowo-cyfrowy ( ekstrapolacja zerowego rzędu ), a zatem jego nastawy poza
parametrami Kp, Ti, Td muszą uwzględniać wartość aktualnego okresu próbkowania Tp. W
rzeczywistej realizacji oprogramowania przyjęto, że do obliczeń wartości całki zostanie
zastosowana metoda prostokątów.
Zaprojektowany w pracy sterownik modułów chłodzących realizuje procedury
dyskretnych regulatorów napięcia (prądów) dla czterech przetwornic DC/DC zasilających
termoelementy stron gorących i zimnych oraz regulatora temperatury komory bateryjnej
zgodnie ze schematem przedstawionym na rysunku nr 15.
Rys. nr 15. Schemat organizacyjny regulatora temperatury
w urządzeniu grzewczo-chłodzącym
Cyfrowy regulator temperatury PID TEMPERAT na podstawie wartości temperatury
zadanej oraz rzeczywistej pomierzonej wartości temperatury w komorze bateryjnej wyznacza
sterowanie Uzad, które jest wartością zadaną dla regulatorów napięcia Reg PID 0 oraz Reg
PID 2 przetwornic DC/DC zasilających termoelementy strony zimnej modułów chłodzących.
Natomiast dla regulatorów napięcia Reg PID 1, Reg PID 2 przetwornic DC/DC zasilających
termoelementy po stronie gorącej wartość sygnału zadanego jest odpowiednio podwojoną
wartością Uzad (2 * Uzad). Zastosowanie dodatkowych regulatorów napięcia przetwornic
DC/DC pozwala na regulację ich napięcia wyjściowego pomiędzy kolejnymi zmianami
napięcia zadanego realizowanymi przez regulator temperatury. Zmiany napięcia wyjściowego
przetwornic są spowodowane zmianami rezystancji wewnętrznej termoelementów w funkcji
17
różnicy temperatur pomiędzy poszczególnymi powierzchniami. Stałe czasowe regulacji
systemów chłodzących określają okresy próbkowania rzędu kilku minut. W opracowanym
regulatorze czas próbkowania można regulować z dokładnością 1 sek w przedziale do180
minut. Natomiast czas próbkowania regulatorów napięciowych jest stały i wynosi 255 µs
(częstotliwość próbkowania wynosi 3,92 kHz).
W opracowanym algorytmie regulatora temperatury oraz regulatorów napięcia
przetwornic DC/DC zostały wprowadzone odpowiednie zabezpieczenia pozwalające na
ograniczenie maksymalnych wartości sterowania (nasycenie, ang. saturation) oraz ochrona
przed zjawiskiem nadmiernego wzrostu wartości sygnałów wewnętrznych związanych z
całkowaniem (ang. windup effect). Efekt ten powoduje występowanie przeregulowań oraz
wydłuża czas regulacji.
Wszystkie funkcje regulacyjne zostały sparametryzowane w stopniu umożliwiającym
swobodne strojenie poszczególnych regulatorów. Strojenie regulatorów przebiega
dynamicznie dzięki natychmiastowemu wprowadzeniu zmian parametrów bez konieczności
ich ponownego zainicjowania. Po osiągnięciu stabilnej pracy strojonego regulatora
wprowadzone parametry są stale zapamiętywane w dodatkowej pamięci nieulotnej (FLASH).
Podstawowe parametry regulatorów napięcia:
• Stała próbkowania - T (Tp)
• Stała całkowania - Ti
• Stała różniczkowania - Td
• Wzmocnienie całego regulatora - Kp
• Wzmocnienie członu proporcjonalnego - kpid
• Wartość sygnału zadanego - uster_zad
• Dopuszczalna górna wartość szerokości impulsu PWM - max_PWM
• Dopuszczalna dolna wartość szerokości impulsu PWM - min_PWM
• Dopuszczalna inicjowana górna wartość szerokości impulsu PWM - max_PWM_INIT
Podstawowe parametry regulatora temperatury:
• Stała próbkowania - T (Tp)
• Stała całkowania - Ti
• Stała różniczkowania - Td
• Wzmocnienie całego regulatora - Kp
• Wzmocnienie członu proporcjonalnego - kpid
• Wartość temperatury zadanej - Temp_zad
• Górna wartość temperatury zadanej - dTemp_zad
• Dolna wartość temperatury zadanej - mTemp_zad
• Dopuszczalna górna wartość szerokości impulsu PWM - max_PWM
• Dopuszczalna dolna wartość szerokości impulsu PWM - min_PWM
• Zmiana trybu pracy regulatora – grzanie/chłodzenie
7. Konstrukcja sterownika systemu chłodzenia i grzania szaf dostępowych.
Uwzględniając wszystkie wymagania dotyczące zakresu pełnionych funkcji przez
oprogramowanie systemu klimatyzacji, dużej wymaganej szybkości działania procesora i jego
mocy obliczeniowej, dużej liczby sterowników urządzeń zewnętrznych, pojemności pamięci
operacyjnej oraz pamięci stałej (programu) typu flash wybrano mikrokontroler STR912FA
firmy ST Microelectronics z procesorem typu ARM966E-S. Podstawowe dane techniczne
tego kontrolera:
• Zegar systemowy 96 MHz
• Pamięć RAM 96 kB
18
•
•
•
•
•
•
•
•
•
•
•
•
•
Pamięć Flash 544 kB
Rozbudowany kontroler przerwań
W systemie wykorzystano sterowniki urządzeń:
Porty we/wy GPIO
Kontroler przerwań VIC
Zegar czasu rzeczywistego RTC
Zegar nadzoru WDG
Cztery 16-to bitowe generatory w trybie PWM
Kontroler ENET w trybie TCP/IP
Kontroler SPI (synchroniczna magistrala transmisyjna)
Uniwersalny kontroler UART
Kontroler magistrali I2C
Kontroler magistrali transmisyjnej CAN
8-mio kanałowy przetwornik pomiarowy ADC 10-cio bitowy.
W praktycznej realizacji sterownika zastosowano minimoduł MMstr912 z kontrolerem
STR912F. Parametry techniczne minimodułu:
•
•
•
•
•
•
•
•
•
STR912 - mikrokontroler z rdzeniem ARM966E taktowanym zegarem do 96MHz
Kontroler warstwy fizycznej Ethernetu STE100P
Pamięć Flash M25P64 o pojemności 8MB z interfejsem SPI
Wbudowany rezonator kwarcowy 25MHz
Wbudowany rezonator kwarcowy 32kHz dla zegara RTC
Wbudowany stabilizator 1.8V zasilający rdzeń procesora
Pojedyncze napięcie zasilania modułu 3.3V
Diody LED do sygnalizacji pracy
Możliwość zamontowania podstawki pod baterię podtrzymującej zegar RTC i pamięć
RAM
19
8. Narzędzia wspomagania programowania. Środowisko programowe.
W procesie projektowania i uruchamiania oprogramowania sterownika urządzenia
chłodzącego wykorzystano środowisko programowe chronione licencjami typu GPL (ang.
General Public Licence) oraz pakiety narzędzi programistycznych typu Open Source. Są to:
•
•
•
•
Środowisko oprogramowania WinARM, które jest zbiorem różnych narzędzi do
projektowania aplikacji z procesorami ARM w języku C i C++ w platformie MSWindows.
Środowisko programowe GNU ARM – zbiór narzędzi do projektowania aplikacji
programowych dla różnych typów procesorów. Środowisko to emuluje platformy
Linux.
Środowisko programowe Cygwin - zbiór narzędzi do projektowania aplikacji
programowych, w tym narzędzia do edytowania i uruchamiania plików wsadowych
dla środowiska GNU ARM.
Pakiet OpenOCD – obejmuje zbiór narzędzi do programowania, debugowania
i testowania pamięci kontrolerów ARM7 oraz ARM9. W procesie programowania
pamięci jest używany interfejs typu JTAG. Procedury OpenOCD wspierają między
innymi interfejsy równoległe typu wiggler oraz interfejsy typu FTDI FT2232
wykorzystujące urządzania typu USB.
Przedstawione środowisko programowe umożliwia projektowanie przede wszystkim
w systemach operacyjnych Linux oraz systemach operacyjnych MS-Windows. Obejmuje
kompilator GCC języka C, C++, asemblery dla wielu typów procesorów, bogaty zestaw
bibliotek ogólnego przeznaczenia oraz bibliotek matematycznych. Są dostępne zintegrowane
pakiety wspomagania oprogramowania, np. Eclipse Anjuta Programmers Notepad 2, CAPS.
9. Realizowane funkcje oraz struktura oprogramowania sterownika
urządzenia chłodzącego.
Oprogramowanie sterownika urządzenia chłodzącego obejmuje zbiór wielu funkcji,
które organizują pracę wszystkich podzespołów, nadzorują stan pracy urządzeń oraz
umożliwiają obsłudze komunikację z systemem. Podstawowe zadania oprogramowania:
•
•
•
•
•
•
•
•
•
Sterowanie pracą urządzenia chłodzącego, np. załączanie przetwornic DC/DC
poszczególnych modułów chłodzących w trybie zasilania bezpośredniego (z
wyłączeniem funkcji automatycznej regulacji temperatury), załączanie urządzenia w
trybie chłodzenia, załączanie urządzenia w trybie grzania, wyłączanie urządzenia
chłodzącego
Realizacja procedury regulatora PID niezależnie dla czterech przetwornic DC/DC
Realizacja procedury PID dla regulatora temperatury wewnątrz komory bateryjnej
Programowanie parametrów pracy wszystkich podzespołów urządzenia chłodzącego
oraz nastaw regulatorów PID
Zapamiętywanie parametrów pracy i nastaw w zewnętrznej pamięci FLASH za
pośrednictwem synchronicznej magistrali SPI
Inicjowanie pracy wszystkich podzespołów z aktualnymi parametrami i nastawami
zapamiętanymi w zewnętrznej pamięci FLASH
Interaktywne strojenie nastaw regulatorów PID
Próbkowanie i pomiar napięć wyjściowych przetwornic DC/DC przez 8-mio kanałowy
10-cio bitowy przetwornik ADC
Pomiar temperatur i wilgotności wnętrza komory bateryjnej, temperatury otoczenia,
20
•
•
•
•
temperatury radiatorów urządzenia chłodzącego, temperatury radiatorów
termoelementów. Pomiary temperatur są wykonywane przez elektroniczne czujniki
(MCP9893, MCP9805). Dane z tych czujników są przesyłane do procesora po
szeregowej magistrali I2C
Analiza stanu i poprawności pracy wszystkich podzespołów urządzenia chłodzącego
w trybie kontroli i nadzoru oraz przesyłanie stanów alarmowych do systemu
nadrzędnego (najczęściej do sterownika siłowni urządzenia telekomunikacyjnego)
Realizacja operacji transmisji danych pomiędzy kontrolerem urządzenia chłodzącego
a sterownikami zewnętrznymi (np., sterownikiem siłowni, centrum nadzoru) za
pośrednictwem łącza Ethernet w standardzie TCP/IP (webserver) lub magistrali
obiektowej typu CAN
Realizacja funkcji interfejsu użytkownika w trybie obsługi oraz w trybie serwisowym.
Komunikacja pomiędzy użytkownikiem a systemem jest realizowana poprzez
szeregowe łącze RS232C oraz łącze Ethernet (protokół TCP/IP) z wykorzystaniem
usługi webserver
Realizacja funkcji związanych z wewnętrzną organizacją pracy oprogramowania
sterownika urządzenia chłodzącego
Wymagana duża liczba realizowanych funkcji, ich zakres działania, konieczność pracy
systemu w czasie rzeczywistym (np. realizacja procedur PID regulatorów napięć wyjściowych
przetwornic oraz regulatora temperatury) oraz wymagania dotyczące wzajemnej
synchronizacji wielu procesów całkowicie eliminuje możliwość zaprojektowania sytemu
pracującego autonomicznie. W celu umożliwienia pracy sterownika w czasie rzeczywistym
oraz umożliwieniu właściwej synchronizacji wielu procesów zaprojektowane
oprogramowanie pracuje pod kontrolą systemu operacyjnego czasu rzeczywistego FreeRTOS.
System operacyjny FreeRTOS [6] [8] zapewnia:
•
•
•
•
•
•
•
•
•
•
Wielozadaniowość procesów (zadań, ang. task)
Współbieżność procesów
Uwzględnia priorytety poszczególnych zadań
Nadzór nad aktualnie wykonywanym zadaniem (ang. scheduling)
Umożliwia i nadzoruje funkcje przerwań (ang. preemptive) poprzez możliwość
przełączania kontekstów (ang. context)
Kernel FreeRtos udostępnia bogaty zestaw funkcji API
Procedury obsługi zegara czasu systemowego
Nadzoruje stan pracy poszczególnych zadań ( wykonywany, gotowy do pracy, stan
zawieszenia oraz stan zablokowania)
Umożliwia realizację zadań zaprojektowanych w formie makr
Umożliwia realizację kolejek zadań (ang. queque implementation) oraz stosowanie
semaforów (ang. semaphore implementation)
W projekcie oprogramowania sterownika zastosowano funkcje API:
Tworzenie zadań:
• xTaskHandle
• xTaskCreate
• vTaskDelete
Sterowanie zadaniami:
• vTaskDelay
21
•
•
•
•
•
•
vTaskDelayUntil
uxTaskPriorityGet
vTaskPrioritySet
vTaskSuspend
vTaskResume
vTaskResumeFromISR
Obsługa jądra systemu:
• taskYIELD
• taskENTER_CRITICAL
• taskEXIT_CRITICAL
• taskDISABLE_INTERRUPTS
• taskENABLE_INTERRUPTS
• vTaskStartScheduler
• vTaskEndScheduler
• vTaskSuspendAll
• xTaskResumeAll\
Obsługa zadań:
• xTaskGetCurrentTaskHandle
• xTaskGetTickCount
• xTaskGetSchedulerState
• uxTaskGetNumberOfTasks
• vTaskList
• vTaskStartTrace
• ulTaskEndTrace
Zarządzanie systemem kolejek:
• uxQueueMessagesWaiting
• vQueueDelete
• xQueueCreate
• xQueueSend
• xQueueSendToBack
• xQueueSendToFront
• xQueueReceive
• xQueuePeek
• xQueueSendFromISR
• xQueueSendToBackFromISR
• xQueueSendToFrontFromISR
• xQueueReceiveFromISR
Zarządzanie semaforami:
• SemaphoreCreateBinary
• xSemaphoreCreateMutex
• xSemaphoreTake
• xSemaphoreGive
• xSemaphoreGiveFromISR
22
Funkcję zegara systemowego realizuje zegar czasu rzeczywistego RTC kontrolera
STR912, który generuje przerwanie sprzętowe o najwyższym priorytecie z okresem 1 ms.
System operacyjny czasu rzeczywistego zarządza zadaniami, które realizują niezależnie
wykonywane funkcje. Są to:
•
•
•
•
vConsole
vI2c_mcp
vuIP_Task
vLEDFlashTask
Zadania vConsole oraz vuIP_Task wykonują podobne funkcje i realizują operacje
związane z obsługą interfejsu użytkownika wykorzystując odpowiednio kanał transmisyjny
RS23C i łącze Ethernet (TCP/IP). W przypadku wykorzystywania łącza TCP/IP stosuje się
standardowe przeglądarki stron WWW. Dodatkowo zadanie vuIP_Task umożliwia transmisję
danych o stanie pracy urządzeń do systemów nadrzędnych. Zadanie vI2c_mcp wykonuje
pomiary temperatury podzespołów urządzenia chłodzącego. Pomiary są wykonywane
cyklicznie co 100 ms. Po wykonaniu pomiarów wyniki są wpisywane do buforów dostępnych
dla pozostałych zadań. Podstawowa funkcja tego zadania polega na synchronizacji i nadzorze
operacji transmisji danych pomiędzy czujnikami pomiarowymi a buforami danych za
pośrednictwem magistrali I2C.
Zadanie vLEDFlashTask pełni funkcję kontroli poprawności pracy systemu
operacyjnego FreeRTOS. Jest to standardowy program ze zbioru funkcji użytkowych pakietu
FreeRTOS.
Do realizacji zadania vuIP_Task wykorzystano pakiet oprogramowania stanowiący
stos ethernetowy uIP 1.0 Embedded TCP/IP Stack [7]. Stos uIP jest przeznaczony do
stosowania w niewielkich aplikacjach mikrokomputerowych. Pomimo niewielkiego kodu oraz
pewnych ograniczeń wykazuje możliwości znacznie większych pakietów. Obejmuje jednak
optymalnie minimalny zbiór funkcji właściwy dla stosów w pełni wyposażonych, co
umożliwia obsługę pojedynczych sterowników sieci pracujących w protokołach IP, ICMP,
UDP oraz TCP. Oprogramowanie stosu uIP zastało napisane w języku C oraz spełnia
wymagania zawarte w dokumencie RFC dotyczące standardów w komunikacji host-to-host.
Procedury regulatorów PID przetwornic DC/DC są synchronizowane przerwaniami
generowanymi przez kontroler pomiarów analogowych ADC. Po wykonaniu każdej serii
pomiarów napięć wyjściowych (255 µs) następuje wywoływanie kolejno procedur
regulatorów PID0, PID1, PID2 oraz PID3 przetwornic. Wyznaczone wartości wypełnień
PWM są uaktualniane po wystąpieniu najbliższego przerwania generowanego przez timery
pracujące w trybie generatorów PWM. Impulsy PWM dla każdej przetwornicy są generowane
z częstotliwością 23,4 kHz.
Procedura regulatora PID temperatury jest synchronizowana przez przerwania
generatora WDG kontrolera STR912, który generuje przerwania co 1 sek. Po osiągnięciu
okresu dyskretyzacji regulator PID wyznacza nowe sterowanie, które określa wartość
sterowania zadanego dla przetwornic DC/DC zasilających termoelementy podzespołów
chłodzących (grzewczych).
23
10. Interfejs użytkownika oprogramowania sterownika urządzenia
chłodzącego.
Po włączeniu napięcia zasilania sterownika, po resecie systemu oraz po naciśnięciu
klawisza ‘m’ klawiatury na konsoli zostanie wyświetlony zestaw dostępnych opcji programu
w postaci:
28-10-2008 ver. 1.2 @Z5
Wykaz opcji Menu:
Aktualne param PID:
Inicjow param PID:
RunS PWM 0-1-2-3:
RunQ PWM 0-1-2-3:
Stop PWM 0-1-2-3:
Start/Stop PWM_0123:
PID0 - reg nastaw:
PID1 - reg nastaw:
PID2 - reg nastaw:
PID3 - reg nastaw:
Frequence PWM 24/48:
-----------------------Run regul PID_Temp:
Stop regul PID_Temp:
Run/Stop reg PID_T:
PID_T - reg nastaw:
Inicjow param PID_T:
-----------------------Odczyt PAR z FLASH:
Zapis PAR do FLASH:
Aktualne wart PWM:
Pomiar param analog:
m
w
i
r
q
k
SW7
0
1
2
3
4
t
e
SW3
n
j
f
z
a
p
Użytkownik za pośrednictwem konsoli RS23C wykorzystując dowolny terminal może
sterować pracą systemu chłodzenia. Szybkość transmisji wynosi 115200 bit/sek. A pozostałe
parametry to 8-1-1 bez kontroli parzystości.
Opcja ‘w’ umożliwia kontrolę aktualnych wartości wszystkich istotnych parametrów.
Informacje są wyświetlane w postaci:
Aktualne nastawy regulatora PID0:
reg0.T ..........
= 2.54999992e-04
reg0.Ti .........
= 3.28000009e-01
reg0.Td .........
= 7.99999995e-08
reg0.Kp .........
= 1.00000000e+00
reg0.kpid .......
= 1.00000000e+00
reg0.A ..........
= 1.00000000e+00
reg0.MAX ........
= 1.00000000e+05
reg0.cHORYZONT = 1
reg0.uster_zad ..
= 200
reg0.uster ......
=0
reg0.max_PWM .... = 350
reg0.min_PWM .... = 0
24
reg0.max_PWM_INIT = 350
Aktualne nastawy regulatora PID1:
reg1.T ..........
= 2.54999992e-04
reg1.Ti .........
= 3.28000009e-01
reg1.Td .........
= 7.99999995e-08
reg1.Kp .........
= 1.00000000e+00
reg1.kpid .......
= 1.00000000e+00
reg1.A ..........
= 1.00000000e+00
reg1.MAX ........
= 1.00000000e+05
reg1.cHORYZONT = 1
reg1.uster_zad ..
= 200
reg1.uster ......
=0
reg1.max_PWM .... = 350
reg1.min_PWM .... = 0
reg1.max_PWM_INIT = 350
Aktualne nastawy regulatora PID2:
reg2.T ..........
= 2.54999992e-04
reg2.Ti .........
= 3.28000009e-01
reg2.Td .........
= 7.99999995e-08
reg2.Kp .........
= 1.00000000e+00
reg2.kpid .......
= 1.00000000e+00
reg2.A ..........
= 1.00000000e+00
reg2.MAX ........
= 1.00000000e+05
reg2.cHORYZONT = 1
reg2.uster_zad ..
= 200
reg2.uster ......
=0
reg2.max_PWM .... = 350
reg2.min_PWM .... = 0
reg2.max_PWM_INIT = 350
Aktualne nastawy regulatora PID3:
reg3.T ..........
= 2.54999992e-04
reg3.Ti .........
= 3.28000009e-01
reg3.Td .........
= 7.99999995e-08
reg3.Kp .........
= 1.00000000e+00
reg3.kpid .......
= 1.00000000e+00
reg3.A ..........
= 1.00000000e+00
reg3.MAX ........
= 1.00000000e+05
reg3.cHORYZONT = 1
reg3.uster_zad ..
= 200
reg3.uster ......
=0
reg3.max_PWM .... = 350
reg3.min_PWM .... = 0
reg3.max_PWM_INIT = 350
Aktualne nastawy regulatora PIDT:
regT.T ..........
= 1.00000000e+00
regT.Ti .........
= 1.00000000e+00
regT.Td .........
= 7.99999995e-08
regT.Kp .........
= 1.00000000e+00
regT.kpid ....... = 1.00000000e+00
regT.A ..........
= 1.00000000e+00
regT.MAX ........
= 1.00000000e+05
25
regT.cHORYZONT
regT.Temp_zad ...
regT.dTemp_zad ..
regT.mTemp_zad ..
regT.max_PWM ....
regT.min_PWM ....
regT.tryb .......
=1
= 320 20.0000 °C
= 400 25.0000 °C
= 256 16.0000 °C
= 511
= 20
= grzanie
Wszystkie informacje opcji ‘w’ są wyświetlane w postaci jednego strumienia, zatem
konsola powinna umożliwiać przewijanie ekranu.
Wybranie opcji ‘i’ [Inicjow param PID] powoduje ponowne zainicjowanie
wszystkich parametrów oraz nastaw, którym zostaną przypisane tzw ‘dane fabryczne’. Opcja
jest wywoływana w przypadku pierwszego uruchomienia oprogramowania (czysta
zewnętrzna pamięć FLASH) lub w przypadku wpisania znacznej liczby błędnych danych.
Wybranie opcji ‘0’, ‘1’, ‘2’ lub ‘3’ umożliwia zmianę parametrów odpowiednio PID0,
PID1, PID2, PID3 przetwornic DC/DC. Powyższe operacje należą do zestawu opcji
serwisowych i powinny być przeprowadzane przez przeszkolony personel. Niewłaściwe ich
użycie może doprowadzić do rozstrojenia systemu. W normalnych warunkach pracy są
dostępne po wprowadzeniu hasła dostępu. Po wprowadzeniu np. opcji ‘0’ na ekranie konsoli
zostanie wyświetlony drugi poziom opcji w postaci:
Podaj numer parametru regulatora PID0 [0...9] lub q - quit:
0: T
[okres probkowania]
1: Ti
[stala calkowania]
2: Td
[stala rozniczkowania]
3: Kp
[wzmocnienie calego regulatora]
4: kpid
[wzmocnienie czlonu proporcjonalnego]
5: Horyzont
[zakres horyzontu ]
6: Max
[maksymalny zakres regulatora]
7: uster_zad
[Wartosc zadana napiecia]
8: max_PWM [maksymalna szerokość PWM]
9:
[
]
Klawisze regulacji: + inc parametr
- dec parametr
* mul parametr
/ div parametr
. val parametr
Operator systemu może wybrać dowolny parametr z powyższej listy i wykonać wymagane
zmiany jego wartości przy pomocy klawiszy regulacji. Klawisze ‘+’, ‘-‘, ‘*’ oraz ‘/’ wywołują
zmianę wartości o kreśloną jednostkę zgodnie z znaczeniem klawisza. Każda zmiana
parametru jest natychmiast realizowana (uaktualniana). Po osiągnięciu wymaganej wartości
strojonego parametru użytkownik zatwierdza zmiany przez naciśnięcie klawisza ENTER.
Unieważnienie wprowadzonych zmian można zrealizować po naciśnięciu klawisza ‘q’.
Wybór klawisza regulacji ‘.’ umożliwia wprowadzenie wymaganej wartości parametru przez
wprowadzenie jego liczbowej wartości.
Zmiany wartości parametrów regulatora temperatury można zrealizować wybierając
opcję ‘n’ [PID_T - reg nastaw] . Na ekranie konsoli zostanie wyświetlone menu drugiego
poziomu:
26
Podaj numer parametru regulatora PID_T [0...9] lub q - quit:
0: T
[okres probkowania]
1: Ti
[stala calkowania]
2: Td
[stala rozniczkowania]
3: Kp
[wzmocnienie calego regulatora]
4: kpid
[wzmocnienie czlonu proporcjonalnego]
5: Horyzont
[zakres horyzontu ]
6: Max
[maksymalny zakres regulatora]
7: Temp_zad [Wartosc zadana temperatury]
8: dTemp_zad [max zakres temperatury]
9: mTemp_zad [min zakres temperatury]
a: max_PWM [maksymalna szerokość PWM 0-3]
b: min_PWM [minimalna szerokość PWM 0-3]
c: tryb
[tryb pracy chłodzenie/grzanie]
Klawisze regulacji: + inc parametr
- dec parametr
* mul parametr
/ div 27arameter
. val 27arameter
Analogicznie do regulatorów przetwornic powyższe operacje należą również do zestawu opcji
serwisowych i powinny być przeprowadzane przez przeszkolony personel. Niewłaściwe ich
użycie może doprowadzić do rozstrojenia systemu. W normalnych warunkach pracy są
dostępne po wprowadzeniu hasła dostępu. Proces zmian wartości wybranego parametru
przebiega analogicznie do opisanych powyżej. Wybór opcji ‘c’ umożliwia ręczne wymuszenie
zmiany trybu pracy urządzenia chłodzącego [chłodzenie/grzanie]. Zmiana trybu pracy
powoduje wyłączenie funkcji automatycznej regulacji temperatury, a jej ponowne włączenie
nastąpi po wprowadzeniu poprzedniego trybu pracy.
Wybór opcji ‘4’ (opcja serwisowa) umożliwia na wprowadzenie częstotliwości pracy
przetwornic [24/48 kHz]. Na ekranie konsoli zostanie wyświetlona informacja:
Aktualny zakres F = 24 kHz
F = 24 kHz: '2' F = 48 kHz: '4' lub q - quit: Quit
Wybór opcji ‘j’ [Inicjow param PID_T] analogicznie do opcji ‘i’ dla regulatorów
przetwornic powoduje ponowne zainicjowanie wszystkich parametrów oraz nastaw regulatora
temperatury, którym zostaną przypisane tzw ‘dane fabryczne’. Opcja jest wywoływana w
przypadku pierwszego uruchomienia oprogramowania (czysta zewnętrzna pamięć FLASH)
lub w przypadku wpisania znacznej liczby błędnych danych.
Opcja ‘f’ [Odczyt PAR z FLASH] wyświetla wartości parametrów i nastaw
zapisanych do zewnętrznej pamięci FLASH. Na ekranie konsoli zostanie wyświetlona
informacja w postaci:
Reading data from flash:
Parametry regulatora PID0:
reg0.T .......
- okres próbkowania: .................
reg0.Ti ......
- stała całkowania: ..................
2.54999992e-04
3.28000009e-01
27
reg0.Td ......
- stała różniczkowania: ..............
7.99999995e-08
reg0.Kp ......
- wzmocnienie całego regulatora: .....
1.00000000e+00
reg0.kpid ....
- wzmocnienie członu proporcjonalnego: 1.00000000e+00
reg0.uster_zad
- napięcie zadane [odniesienia]: .....
200
reg0.max_PWM . - maksymalne sterowanie: .............
350
Parametry regulatora PID1:
reg1.T .......
- okres próbkowania: .................
2.54999992e-04
reg1.Ti ......
- stała całkowania: ..................
3.28000009e-01
reg1.Td ......
- stała różniczkowania: ..............
7.99999995e-08
reg1.Kp ......
- wzmocnienie całego regulatora: .....
1.00000000e+00
reg1.kpid ....
- wzmocnienie członu proporcjonalnego: 1.00000000e+00
reg1.uster_zad
- napięcie zadane [odniesienia]: .....
200
reg1.max_PWM . - maksymalne sterowanie: .............
350
Parametry regulatora PID2:
reg2.T ....... - okres próbkowania: .................
reg2.Ti ...... - stała całkowania: ..................
reg2.Td ...... - stała różniczkowania: ..............
reg2.Kp ...... - wzmocnienie całego regulatora: .....
reg2.kpid .... - wzmocnienie członu proporcjonalnego:
reg2.uster_zad - napięcie zadane [odniesienia]: .....
reg2.max_PWM . - maksymalne sterowanie: .............
2.54999992e-04
3.28000009e-01
7.99999995e-08
1.00000000e+00
1.00000000e+00
200
350
Parametry regulatora PID3:
reg3.T ....... - okres próbkowania: .................
reg3.Ti ...... - stała całkowania: ..................
reg3.Td ...... - stała różniczkowania: ..............
reg3.Kp ...... - wzmocnienie całego regulatora: .....
reg3.kpid .... - wzmocnienie członu proporcjonalnego:
reg3.uster_zad - napięcie zadane [odniesienia]: .....
reg3.max_PWM . - maksymalne sterowanie: .............
2.54999992e-04
3.28000009e-01
7.99999995e-08
1.00000000e+00
1.00000000e+00
200
350
Parametry regulatora PIDT:
regT.T ....... - okres próbkowania: .................
regT.Ti ...... - stała całkowania: ..................
regT.Td ...... - stała różniczkowania: ..............
regT.Kp ...... - wzmocnienie całego regulatora: .....
regT.kpid .... - wzmocnienie członu proporcjonalnego:
regT.Temp_zad - Temperatura zadana [odniesienia]: ..
regT.dTemp_zad - max Temp zadana [odniesienia]: .....
regT.mTemp_zad - min Temp zadana [odniesienia]: .....
regT.max_PWM . - maksymalne sterowanie: .............
regT.min_PWM . - minimalne sterowanie: ..............
regT.tryb .... - tryb pracy PIDT: ...................
1.00000000e+00
1.00000000e+00
7.99999995e-08
1.00000000e+00
1.00000000e+00
320 20.0000 °C
400 25.0000 °C
256 16.0000 °C
511
20
1
End reading data
Opcja ‘z’ [Zapis PAR do FLASH] umożliwia zapisanie nastaw i parametrów
poszczególnych regulatorów PID przetwornic oraz regulatora temperatury. Jest to opcja
serwisowa. Na ekranie konsoli zostanie wyświetlony komunikat:
reading data from FLASH - wait ...
Podaj numer regulatora [0, 1, 2, 3, 4 (:Temper)] i ENTER lub q - quit:
28
Po wybraniu regulatora następuje wykonanie zlecenia:
Writing data to flash:
Reading flash:
14 2.54999992e-0414 3.28000009e-0114 7.99999995e-0814 1.00000000e+0014
1.00000000e+003 2003 350
˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙
14 2.54999992e-0414 3.28000009e-0114 7.99999995e-0814 1.00000000e+0014
1.00000000e+003 2003 350
˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙
14 2.54999992e-0414 3.28000009e-0114 7.99999995e-0814 1.00000000e+0014
1.00000000e+003 2003 350
˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙
14 2.54999992e-0414 3.28000009e-0114 7.99999995e-0814 1.00000000e+0014
1.00000000e+003 2003 350
˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙
14 1.00000000e+0014 1.00000000e+0014 7.99999995e-0814 1.00000000e+0014
1.00000000e+003 3203 4003 2563 5112 201 1
˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙
end writing data
Wybranie opcji ‘p’ [Pomiar param analog] umożliwia kontrolę wykonywanych
pomiarów temperatur oraz wilgotności:
T0 = 16.81 °C T1 = 16.76 °C T8 = 17.01 °C RH = 46.0 % temp_0 = 269
Opcja ‘a’ [Aktualne wart PWM] powoduje wyświetlenie informacji opisującej
aktualne zadane, pomierzone oraz wystawione przez regulatory wartości PWM:
zadPWM0 = 200 zadPWM1 = 200 zadPWM2 = 200 zadPWM3 = 200 pd = 0
PWM0
= 214 PWM1
= 214 PWM2
= 214 PWM3
= 214
pomPWM0 = 200 pomPWM1 = 200 pomPWM2 = 200 pomPWM3 = 200
Interfejs użytkownika posiada zestaw opcji realizujących załączanie oraz wyłączanie
przetwornic w trybie pracy bezpośredniej z miękkim startem lub bez miękkiego startu,
załączanie i wyłączanie przetwornic w trybie regulacji temperatury (opcja podstawowa).
Operacje załączania i wyłączania urządzeń chłodzących mogą być wykonywane poprzez
naciśnięcie przycisków SW7 oraz SW4 umieszczonych na pakiecie sterownika.
29
11. Badania i testowanie oprogramowania kontrolera urządzenia
chłodzącego.
Po opracowaniu oprogramowania sterownika urządzenia chłodzącego wszystkie jego
funkcje zostały wstępnie uruchomione oraz przetestowane z wykorzystaniem zewnętrznych
układów symulacyjnych. Testowano zarówno ich poprawność działania oraz użyteczność. Po
wprowadzeniu niezbędnych zmian oprogramowanie stanowiło podstawowe narzędzie w
procesie uruchamiania i testowania podzespołów urządzenia chłodzącego, a w tym:
• Przetwornic DC/DC z regulatorami napięcia wyjściowego
• Regulatora temperatury
• Układów pomiarowych temperatury, wilgotności oraz napięć wyjściowych
przetwornic DC/DC
• Interfejsu użytkownika
• Układów załączania i wyłączania przetwornic i regulatora temperatury
Przeprowadzone badania i testy potwierdziły poprawność i niezawodność działania
wszystkich procedur oprogramowania sterownika urządzeń chłodzących.
12. Wnioski
•
Wszystkie przedstawione wyniki niniejszej pracy wraz z modelowym układem sterowania
urządzenia grzewczo-chłodzącego pokazują, że praca została zrealizowana w całości a cel
pracy został osiągnięty.
•
Zastosowanie 32-bitowego układu mikroprocesorowego STR912 pozwoliło na
implementację czterech regulatorów napięcia oraz regulatora temperatury w jednym
układzie mikrokontrolera oraz implementację systemu operacyjnego czasu rzeczywistego
RTOS [6 ]
•
Przygotowanie wniosku celowego związanego bezpośrednio z tematyką niniejszej pracy
oraz z tematyką pracy [1] świadczyć może o trafności działań badawczych podjętych w
tym kierunku.
•
Szeroki zakres napięć zasilających z jakim współpracuje urządzenie sterujące pozwala na
zastosowanie tej techniki nie tylko w telekomunikacji ale także w systemach pracujących
przy innym napięciu niż telekomunikacyjne 48V, co znacząco poszerza spektrum
potencjalnych odbiorców.
30
13. Bibliografia
[1] E.Chrustowski, R. Samborski i inni „Opracowanie modelu urządzenia chłodzącego
przeznaczonego do stosowania w obiektach telekomunikacyjnych instalowanych na zewnątrz
budynków” IŁ Warszawa 2005
[2] Mohan Undelin Robins „Power Electronics” 1999
[3] R.Samborski Rozprawa doktorska pt:” Dwukierunkowy układ przekazywania energii w
fotowoltaicznych i wiatrowych systemach zasilania” Politechnika Warszawask 2008
[4] STR912 Refference ST Microelectronics 2007
[5] Microchip „MCP9800/1/2/3 2-Wire High-Accuracy Temperature Sensor”
[6] www.freertos.org
[7] A.Dunkels „uIP 1.0 Embedded TCP/IP Stack“ Swedish Institute of Computer Science
2006
[8]M.Kozyra, R.Samborski, E.Chrustowski i inni „Rdzeń modułowego ystemu czasu
rzeczywistego do profesjonalnych aplikacji hybrydowych systemów zasilania i systemów
automatycznego nadzoru“ IŁ Warszawa 2007
31