XXX. ASR '2005 Seminar, Instruments and Control, Ostrava, April 29, 2005
61
The Optimization of Modules for M68HC08 Optimalizace modulů pro M68HC08 DOLEŽEL, Petr1 & VAŠEK, Vladimír2 1
Ing., Univerzita Tomáše Bati ve Zlíně, Nad stráněmi 4511, Zlín, Česká republika
[email protected]
2
prof. Ing. CSc.,
[email protected]
Abstrakt: Cílem této práce bylo ověření převodu programových modulů určených pro mikropočítače Motorola řady HC11 do nových modulů pro řadu HC08. Pro tento účel byly vybrány moduly pro průběžnou identifikaci a pro syntézu regulátoru metodou inverze dynamiky. Tyto moduly byly odzkoušeny na mikropočítači 68HC908GP32 při regulaci teploty. Klíčová slova: HC08, adaptivní řízení, průběžná identifikace, inverze dynamiky
1 Úvod V dnešní době se stále častěji využívají jednočipové mikropočítače pro řízení technologických procesů. Nízká cena a vysoký výkon jsou velkou předností těchto zařízení. Aplikace pro tyto mikropočítače lze dnes psát jak v tradičním assembleru, tak i v jazyce C. Aby bylo programování jednodušší, je vhodné vytvořit určité moduly, které lze do výsledné aplikace jednoduše přidat a programátor nemusí mít znalosti o funkcích a složitých algoritmech. Proto se na našem pracovišti začal vyvíjet knihovna modulů, které mají ulehčit práci programátora (Dolinay, 2002). Ten již nemusí znát přesný výpočet vlastností regulátoru a může využít jeden z dostupných modulů. Stačí mu tedy jen základní znalosti a popis této knihovny. Knihovna obsahuje řadu modulů určených pro adaptivní řízení technologických procesů. Tato práce je zaměřena na konverzi existujících modulů pro adaptivní řízení do jiné řady mikropočítačů. Konverze modulů z jedné řady do druhé je součástí grantu poskytnutého ministerstvem školství, mládeže a tělovýchovy. Cílem tohoto projektu je vytvoření nových modulů zaměřených na moderní metody automatického řízení pro osmibitové mikropočítače M68HC11 a M68HC08. Tato práce je jen dílčí částí tohoto projektu a má za úkol zajistit kompatibilitu starších a nově vytvořených modulů mezi dvěma různými navzájem nekompatibilními řadami mikropočítačů Motorola. Původní moduly byly vytvořeny na naší fakultě v rámci diplomové práce a dále byly upravovány a optimalizovány pro mikropočítače Motorola řady 68HC11. Aby bylo možné použít stávající moduly i na mikropočítačích řady 68HC08 bylo nutné tyto moduly přepracovat pro tento procesor. Tyto dvě řady mají totiž úplně odlišnou procesorovou jednotku. Zatímco 68HC11 má dva osmibitové akumulátory A, B a dva šestnáctibitové indexové registry IX a IY, 68HC08 má osmibitový akumulátor pouze jeden. Šestnáctibitový registr lze vytvořit pomocí dvou osmibitových registrů H a X. Programový čítač a ukazatel zásobníku mají již shodný. Stejně tak 68HC08 obsahuje vše co řada 68HC11 – A/D převodník, binární vstupy a výstupy, sériové komunikační rozhraní apod. Jedinou nevýhodou mikropočítače 68HC08 je absence externí datové, adresové a řídící sběrnice umožňující
XXX. ASR '2005 Seminar, Instruments and Control, Ostrava, April 29, 2005
62
připojení standardních pamětí RAM, ROM a EPROM a jiných periferií. Tato zařízení lze připojit jen pomocí periferní sériové komunikační linky. Toto činí tyto dvě rodiny mikropočítačů vzájemně nekompatibilní. Protože je změna programového kódu z jedné řady na jinou velmi komplikovaná, byla na naší fakultě vytvořena aplikace pro automatickou konverzi z HC11 do HC08 (Dostálek, 2004). Využití tohoto konvertoru velmi usnadnilo převod starých modulů pro mikropočítač 68HC08. Moduly pro HC11 byly uzpůsobeny pro využití s operačním systémem RTMON (Dolinay, 2002). Tento operační real-time systém však nelze z hardwarových důvodů zkonvertovat. Proto bylo nutné zakomponovat překonvertované moduly do provizorní aplikace, která dokáže obsluhovat přerušení časovače a vytvořit tak vzorkovací periody. Pro odzkoušení možností konverze a převodu modulů byly převedeny základní moduly pro syntézu regulátoru pomocí inverze dynamiky a pro průběžnou identifikaci soustavy.
2 Metody 2.1 Matematické funkce Vzhledem k tomu, že syntéza parametrů regulátoru a identifikace soustavy se neobejde bez výpočtu s reálnými čísly, je součástí knihoven také modul určený právě pro práci s nimi. Tato knihovna byla vytvořena Gordonem Doughmanem a musela být rovněž převedena pomocí konvertoru, neboť byla primárně vyvinuta pro modely HC11. Reálné číslo je pro potřeby této knihovny ve 4B standardním formátu IEEE.
2.2 Průběžná identifikace systému Reálné procesy mají povětšinou stochastický charakter. To znamená, že jejich parametry nelze považovat za konstantní. Změna vlastností systémů je projevem okolních vlivů jako je například změna provozního režimu, vlastností surovin nebo změna samotného zařízení. Obyčejné regulátory mají pevně stanovené parametry, a proto takový regulátor nemůže reagovat na změnu vlastností soustavy. Proto je výhodné použit adaptivní systémy řízení. Takové systémy dokáží reagovat na změny řízených procesů a jsou schopné přepočítat parametry regulátoru za běhu řídícího procesu. Mezi základní typy adaptivních systémů lze považovat adaptivní regulátory s heuristickým přístupem, samočinně se nastavující regulátory, systémy s referenčním modelem a systémy s proměnnou strukturou (Bobál, 1999). Moduly vytvořené pro mikropočítače řady HC11 jsou zaměřeny na samočinně se nastavující regulátory. Tyto regulátory jsou založeny na principu průběžného odhadování parametrů řízené soustavy a poruch. Z těchto znalostí se pak vytvoří optimální regulátor. ˆ Θ
Qs
Výpočet parametrů regulátoru
q w
e
Regulátor
Qi
Průběžná identifikace Param. soustavy
v
n
Regulovaná soustava
Obrázek 1 Blokové schéma samočinně se nastavujícího regulátoru (Bobál, 1999)
y
XXX. ASR '2005 Seminar, Instruments and Control, Ostrava, April 29, 2005
63
Ze schématu (Obrázek 1) je vidět základní uspořádání jednotlivých částí samočinně se nastavujícího regulátoru, který byl použit i v této práci. Bodové odhady parametrů soustavy ˆ a vstupují do části určené pro výpočet parametrů regulátoru q. jsou označeny jako Θ
2.3 Syntéza regulátoru pomocí metody inverze dynamiky Pro zjištění funkčnosti převedených knihoven byl zvolen modul pro výpočet koeficientů regulátoru metodou inverze dynamiky. Tato metoda je běžně využívána u standardních regulátorů a umožňuje definovat určitý překmit. Je také mnohem přesnější než často používaná metoda Ziegler-Nichols.
GR
GS
Obrázek 2 Regulační obvod Při výpočtu parametrů regulátoru se vychází ze standardního regulačního obvodu (Obrázek 2). Přenos regulátoru lze vyjádřit přenosem
GR =
GW , GS (1 − GW )
(1)
kde GS je přenosem řízené soustavy a GW je přenos řízení. Pro regulační obvod s číslicovým regulátorem je Z-přenos řízení definován vztahem:
GW ( z ) =
k od T z −d −d z − 1 + k od Tz d=
(2)
Td T
(3)
kod – zesílení otevřeného regulačního obvodu s číslicovým regulátorem T – vzorkovací perioda d – diskrétní dopravní zpoždění Dále lze vztah pro přenos regulátoru upravit do tvaru: q 0 + q1 z −1 + q 2 z −2 GR = , 1 − z −1
(4)
kde
q0 =
X b1 + b2
q1 =
Xa1 b1 + b2
q2 =
Xa 2 b1 + b2
(5)
Parametr X lze zvlášť určit pro soustavu s dopravním zpožděním X = aT
a pro soustavu bez dopravního zpoždění:
a=
1 αT + βTd
(6)
XXX. ASR '2005 Seminar, Instruments and Control, Ostrava, April 29, 2005
X = 1 − cW
cW = e
−
T TW
TW 〉
64
T 0,3
(7)
Konstanty α a β pro v rovnici (6) lze určit z tabulek pro určitý požadovaný překmit (Vítečková, 2000) Po vypočtení koeficientů regulátoru byl použit vzorec pro výpočet akční veličiny u(k). u (k ) = q é e(k ) + q1e(k − 1) + q 2 e(k − 2 ) + u (k − 1)
(8)
2.5 Použitý hardware Pro odzkoušení celé aplikace byl použit mikropočítač 68HC908GP32. Byl vybrán pro své paměťové možnosti. Má totiž 512B paměti RAM, což je poměrně velký paměťový prostor vzhledem k ostatním typům mikropočítačů z řady 68HC08. Celý experiment byl zprovozněn na vývojovém kitu firmy Beta Control.
3 Výsledky Testování optimalizovaných knihoven probíhalo na tepelných soustavách. Žádaná hodnota w se měnila mezi 60 a 80°C. Velký překmit před prvním dosažením žádané hodnoty byl způsoben tím, že ještě nebyla dostatečně identifikována soustava. Po určitých počet identifikačních kroků se již překmity zmenšily. Na dolním obrázku ( Obrázek 3) můžete vidět průběh teploty při regulaci soustavy a velikost akčního zásahu. 100
90
80
te p lo ta [°C ], a k č n í z á s a h [% ]
70
60
50
40 30
20
10 0 0
500
1000
1500
2000
2500
čas [sec] Žádaná hodnota
Měřená teplota
Akční veličina
Obrázek 3 Průběh regulace metodou inverze dynamiky
3000
XXX. ASR '2005 Seminar, Instruments and Control, Ostrava, April 29, 2005
65
3
2
1
0 0
500
1000
1500
2000
2500
3000
-1
-2
-3
-4
-5 čas [sec] a1
a2
b1
b2
Obrázek 4 Odhady parametrů při identifikaci Na předcházejícím obrázku (Obrázek 4) můžete vidět průběh identifikace soustavy. Jednotlivé odhady parametrů odpovídají rovnici (9): Gs ( z) =
b1 z + b2 z −d , z + a1 z + a 2 2
(9)
kde d je diskrétní dopravní zpoždění. V případě této aplikace byla soustava identifikována jako soustava druhého řádu bez dopravního zpoždění. Od toho se odvíjel další výpočet parametrů regulátoru.
3.1 Optimalizace Původní moduly pro HC11 jsou méně náročné na paměťové požadavky než převedené moduly na HC08. Tyto nové moduly však pracují rychleji, což je způsobeno dokonalejším procesorem pracujícím na vyšší frekvenci. Konvertor má v sobě zakomponovány jisté optimalizační struktury, nicméně i přesto lze doladit určité vlastnosti i po konverzi. Tyto optimalizační zásahy však byly u výše zmiňovaných knihoven minimální a příliš neovlivnily výslednou aplikaci. Hlavní optimalizační proces spočíval v celkové aplikaci, která tyto jednotlivé moduly spojovala. Bylo nutné plně nahradit real-time operační systém RTMON a to tak, aby mohl periodicky spouštět průběžnou identifikaci a aby byl zajištěn akční zásah v přesně určenou dobu. Původní odhady parametrů soustavy, perioda vzorkování a jiné důležité proměnné byly nastaveny jako konstanty. Jediné měnitelné vlastnosti procesu řízení za provozu je změna žádané veličiny v testovacím případě jen mezi dvěma hodnotami.
XXX. ASR '2005 Seminar, Instruments and Control, Ostrava, April 29, 2005
66
4 Závěr Tato práce ukázala, že zajištění kompatibility modulů pro adaptivní řízení primárně vytvářených pro mikropočítače HC11 je možné díky konvertoru vyvinutém na našem pracovišti. Problém nastává pouze při využití modulů s operačním systémem RTMON nebo modulů vyžadujících extrémní paměťové nároky. První problém lze odstranit vytvořením jednoduché aplikace, která sice neobsahuje výhody real-time operačních systémů, ale plně postačuje pro řízení technologických procesů. Druhý problém lze řešit přidáním externí paměti, kterou však nelze připojit standardním způsobem jako například u řady procesorů HC11.
5 Poděkování Tato práce byla podporována Fondem rozvoje vysokých škol v rámci projektu MŠMT G1/2728/2005, grantem GA CZ číslo102/03/0625 a výzkumného záměru MSM 7088353102.
6 Použitá literatura DOLINAY, J. 2002. Diplomová práce - Programové moduly řídicích a identifikačních algoritmů pro mikropočítač 68HC11. Zlín 2002. 79 s. DOSTÁLEK, P., VAŠEK, V. 2004. Programová přenositelnost mezi 8-bitovými mikropočítači Motorola. Říp 2004. 6 s. BOBÁL, V., BÖHM, J., PROKOP, R., FESSEL, J. 1999. Praktické aspekty samočinně se nastavujících regulátorů: algoritmy a implementace. VUT, Brno 1999. ISBN 80-2141299-2 VÍTEČKOVÁ, M. 2000. Seřízení regulátorů metodou inverze dynamiky. Ostrava 2000. ISBN 80-7078-628-0