You are on page 1of 141

T.C.

SELUK NVERSTES
FEN BLMLER ENSTTS

























ASENKRON MOTORUN SAYISAL ARET
LEYC TABANLI VEKTR KONTROL



brahim ERTRK

YKSEK LSANS TEZ
ELEKTRK-ELEKTRONK MHENDSL A.B.D.

Konya, 2006









T.C.
SELUK NVERSTES
FEN BLMLER ENSTTS







ASENKRON MOTORUN SAYISAL ARET LEYC TABANLI
VEKTR KONTROL


brahim ERTRK

YKSEK LSANS TEZ
ELEKTRK-ELEKTRONK MHENDSL ANABLM DALI

Bu tez .. / .. / 2006 tarihinde aadaki jri tarafndan oy birlii / oy okluu ile
kabul edilmitir.




Yrd. Do. Dr. Yksel ZBAY
(Danman)




Yrd. Do. Dr. Abdullah RKMEZ Yrd. Do. Dr. Nihat YILMAZ
(ye) (ye)
iii
ZET
Yksek Lisans Tezi


ASENKRON MOTORUN SAYISAL ARET LEYC TABANLI
VEKTR KONTROL


brahim ERTRK
Seluk nivertsitesi
Fen Bilimleri Enstits
Elektrik-Elektronik Mhendislii A.B.D.
2006, 130 Sayfa
Danman : Yrd. Do. Dr. Yksel ZBAY
Jri : Yrd. Do. Dr. Abdullah RKMEZ
Yrd. Do. Dr. Yksel ZBAY
Yrd. Do. Dr. Nihat YILMAZ


Bu alma asenkron motorun saysal iaret ileyici tabanl hz alglaycsz
vektr kontroln inceleme amacyla yaplmtr. ncelikle bu konuyla ilgili daha
nce yaplm almalar aratrlmtr. almamzda uygun bir vektr kontrol
yntemi bulunmas iin incelenen kaynaklarda kullanlan vektr kontrol yntemleri
eitli simlasyon yazlmlar zerinde test edilmitir.
Daha sonra, simlasyon almalarnda, farkl simlasyon yazlmlar ve bu
yazlmlarn salad simlasyon yntemleri incelenmitir ve simlasyon
almasnda kullanlacak simlasyon yntemi ve uygun yazlm aratrlmtr.
Simlasyon yazlm ve yntemi seilirken simlasyon hzna, programn
kararllna ve simlasyon almas sonucunda elde edilen verilerin incelenmesi
iin kullanlan aralara dikkat edilmitir. Bylece simlasyon iin
MATLAB/SIMULINK yazlm paketi ve C S-Function kullanlmasna karar
verilmitir.
Simlasyon ortamnda test edilen vektr kontrol yntemlerinin pratikte de test
edilebilmesi iin asenkron motora ve DSP tabanl srcye ihtiya duyulmutur.
Src sistemden beklenen en nemli zellik dk-maliyettir. Src sistem iin
test amal kullanlabilecek bir DSP kart aratrlmtr ve TMS320F243 sabit-
noktal DSP ieren dk-maliyetli bir kart satn alnmtr. Bu DSP kartla uyumlu
bir motor kontrolr kart piyasada mevcut olmasna ramen, olduka pahal
olduundan daha dk-maliyetli benzer bir kart tasarlanm ve imal edilmitir.
Bylece, aratrlan kaynaklarda verilen vektr kontrol yntemlerini hem simlasyon
ortamnda hem de pratikte test etme imkan salanmtr.
Kaynak aratrmas srasnda, hz alglaycsz vektr kontrolnde rotor hz ve
durum deikenleri ile makine parametrelerinin kestirilmesi iin genellikle Model
Referans Adaptif Sistem (MRAS) ve gzetleyici tabanl yntemlerle karlalmtr.
iv
almamzda, ncelikle dierlerinden daha basit algoritmas olan MRAS zerinde
durulmutur. Rotor hz kestirimi iin MRAS kullanan vektr kontrol yntemleri
simlasyon ortamnda dk rotor hzlar haricinde iyi sonular vermitir. Fakat
pratikte anlaml sonular elde edilememitir.
kinci olarak Geniletilmi Kalman Filtresi (EKF) ieren gzetleyici tabanl
kestirim yntemi kullanlmtr. Bu yntem karmak bir algoritma gerektirir. Fakat
parametre deiimlerine ve lm grltlerine kar bakl nedeniyle hem
simlasyon ortamnda hem de pratikte sfrdan nominal deerine kadar tm rotor
hzlarnda uygun sonular vermitir.
Denemelerden sonra, vektr kontrol iin gerekli tm verilerin stator akmlar
ile inverter DC besleme voltaj lmleri yardmyla EKF tabanl gzetleyici
tarafndan kestirilen hz alglaycsz dorudan vektr kontrol yntemi kullanlmasna
karar verilmitir. nerilen yntem simlasyon ortamnda ve pratikte test edilmitir.
nerilen yntem her rotor hznda ve deiik yk artlar altnda kararl olmutur.
Ayrca nerilen yntem referans rotor hznn ve yknn deiimlerine kar iyi bir
dinamik performans sergilemitir.
Hz kestiriminde ortalama yaklak % 2.5 olarak bulunmutur ve referans rotor
hznn ve yknn deiimlerine kar ortalama cevap zaman yaklak 300 ms dir.
Bundan baka, kestirilen hz referans hz ile tam olarak ayndr. laveten, nerilen
EKF tabanl kestirim yntemi sabit v/f orantsna dayanan alt-adm inverter ile test
edilmitir ve rotor hznn kestirimi nerilen yntem tarafndan doru bir ekilde
yaplmtr ve bu uygulamalarda arzulanan sonular elde edilmitir.

Anahtar Kelimeler : Asenkron motor, alan ynlendirme kontrol, alglaycsz
kontrol, vektr kontrol, DSP, Kalman Filtresi, MRAS, C S-Funtion.
















v
ABSTRACT
MS Thesis


DIGITAL SIGNAL PROCESSOR BASED VECTOR CONTROL OF
INDUCTON MOTOR


brahim ERTRK
Selcuk University
Graduate School of Natural and Applied Scienes
Department of Electrical and Electronics Engineering
2006, 130 Pages
Supervisor : Asst. Prof. Dr. Yksel ZBAY
Jury : Asst. Prof. Dr. Abdullah RKMEZ
Asst. Prof. Dr. Yksel ZBAY
Asst. Prof. Dr. Nihat YILMAZ


This study was conducted to examine Digital Signal Processor (DSP) based
speed sensorless vector control of induction motor. Firstly, previously conducted
studies related with this subject were investigated. Used vector control methods in
examined resources were tested on various simulation softwares to find suitable
vector control method for our application.
Nextly, in simulation studies, different simulation softwares and simulation
methods that provided by these softwares were examined and suitable software and
simulation method that will be used in simulation study were investigated. While
selecting simulation software and method, simulation speed, stability of program and
examining tools used for obtained data from simulation study were considered. Thus,
use of MATLAB/SIMULINK software package and C S-Function was decided for
simulation.
To test vector control methods that were tested on simulation environment in
practice, induction motor and DSP based driver were required. Most important
property that expected from driver system is low-cost. A DSP card that can be used
as test purpose was investigated for drive system and low-cost card that included
TMS320F243 fixed-point DSP was bought. Additionally, a motor controller card that
is suitable with this DSP card is available on the market. But, since it is extremely
expensive, low-cost card that is similar to this card was designed and built in this
study. Thus, the possibility of testing given vector control methods in investigated
resources was provided in simulation environment and practice.
While examining literature, generally Model Reference Adaptive System
(MRAS) and observer based methods were encountered to estimating rotor speed,
state variables and machine parameters in speed sensorless vector control. In our
study, firstly MRAS whose algorithm is simpler than others was considered. Vector
vi
control methods that use MRAS to rotor speed estimation gave good results in
simulation environment except for lower rotor speed. But any meaningful results
were not obtained in practice.
The secondly, observer based estimating method that included Extended
Kalman Filter (EKF) was used. This method requires a complex algorithm. But,
because of its immunity to parameter variations and measuring noise, it gave suitable
results in simulation and practice for every rotor speed from zero to nominal value.
After the experimentations, the use of speed sensorless direct vector control
methods that requires information estimated by EKF based observer that uses stator
current and inverter supply voltage measurement was decided. Proposed method was
tested in simulation environment and practice. It was stable on every rotor speed and
under different load condititions. Furthermore, it was exhibited good dynamic
performance against the variations of reference rotor speed and load.
Average error on speed estimation was found to be about 2.5% and average
response time against to variations of reference rotor speed and load was about 300
ms. Furthermore, estimated speed was exactly the same with reference rotor speed.
In addition, proposed EKF based estimating method was tested with six-step inverter
based on fixed v/f ratio and estimate of rotor speed was accurately made by
proposed method and desired results were obtained in these applications.

Key Words : Induction motor, field oriented control, sensorless control, vector
control, DSP, Kalman Filter, MRAS, C S-Funtion.

















vii
NSZ
Asenkron makinenin alan ynlendirme kontrol hakknda Trke kaynaa pek
rastlanmamtr. Ancak, yabanc dergi ve internet zerinde ngilizce kaynaklar
bulunmu, ayrca konu ile ilgli kitaplar edinilmitir. Yurdumuzda, bu tr srcler
retilmeyip genellikle ithal edilmektedir. Trkiyede daha ok voltaj/frekans
tekniine dayanan srcler retilmektedir. Bu nedenlerle bu konuda alma
yaplmaya karar verilmitir. Tez almas hem uygulama hem de simlasyon
ortamnda yrtlm ve bu alma ile nerilen sistemin geerlilii kantlanmtr.
Uzun sren almalar srasnda bana her zaman destek olan eim Fatma
ERTRKe ve her aamada nerilerini hibir zaman esirgemeyen hocam Sayn Yrd.
Do. Dr. Yksel ZBAYa teekkr ederim.
Yaplan almann ileride yaplacak olan almalara k tutmasn dilerim.



Konya, 2006 brahim ERTRK
















viii
NDEKLER

Sayfa No :

ZET ............................................................................................................ iii
ABSTRACT ................................................................................................. v
NSZ ........................................................................................................ vi
NDEKLER ............................................................................................. vii
SMGELER VE KISALTMALAR .............................................................. ix


1. GR ........................................................................................................ 1


2. KAYNAK ARATIRMASI .................................................................... 5
2.1. Vektr Kontrol Yntemleri ................................................................... 6
2.2. Asenkron Makine iin Parametre ve Durum Kestirimi Yntemleri ..... 7


3. ASENKRON MAKNE KONTROL ELEMANLARI ............................ 16
3.1. Genel Asenkron Makine Kontrol Sistemi ............................................. 16
3.2. Asenkron Motor .................................................................................... 17
3.2.1. Dinamik Makine Modeli .................................................................... 19
3.2.2. Birim Srekli-Zaman Dinamik Makine Modeli ................................. 23
3.2.3. Srekli ve Ayrk Zaman Birim Durum Uzay Makine Modeli .......... 26
3.3. Alan Ynlendirme Kontrol .................................................................. 28
3.4. nverter Modeli ve Anahtarlanmas ....................................................... 34
3.5. Geniletilmi Kalman Filtresi ................................................................ 36


4. DSP TABANLI VEKTR KONTROLR VE
ASENKRON MOTOR SMLASYON TASARIMI ............................. 41

4.1. Simlasyon Dosyalar ve Fonksiyonlar ................................................. 42


5. TMS320F243 TABANLI ASENKRON
MOTOR SRSC TASARIMI.......................................................... 46

5.1. DSP Kontrolr (F243 DSK DSP STARTER KIT)............................. 46
5.2. Saysal Motor Kontrolr (DMC) ........................................................... 48
5.3. TMS320F243 iin Yazlm Tasarm .................................................... 49






ix
6. DENEYSEL SONULAR ....................................................................... 55

6.1. Asenkron Makinenin DSP Tabanl Vektr Kontrol Simlasyonu ...... 55
6.1.1. Vektr Kontroll Asenkron Makinenin Bota alma
Simlasyonu ........................................................................................ 55
6.1.2. Vektr Kontroll Asenkron Makinenin Ykte alma
Simlasyonu ........................................................................................ 58
6.2. TMS320F243 Tabanl Asenkron Motor Srcs ile Yaplan
Uygulama Sonular ............................................................................. 62


7. SONULAR VE NERLER ................................................................. 67
7.1. Sonular ................................................................................................. 67
7.2. neriler .................................................................................................. 69


8. KAYNAKLAR ......................................................................................... 71


EKLER ......................................................................................................... 75

EK-A SMLASYON DOSYALARI ........................................................ 76
EK-B SAYISAL MOTOR KONTROLR KARTI ORCAD EMALARI 84
EK-C DSP YAZILIMI ................................................................................. 97
EK-D SMLASYON ALIMASINDAN ELDE EDLEN
GRAFKLER .................................................................................. 123















x
SMGELER ve KISALTMALAR

d/dt Trev operatr
f Frekans [Hz]
i
r
Rotor akm [A]
i
s
Stator akm [A]
Ll
r
Rotor kaak indktans [H]
Ll
s
Stator kaak indktans [H]
L
m
Karlkl indktans [H]
n
s
Senkron hz [d/dk]
p ift kutup says
R
r
Rotor direnci []
R
s
Stator direnci []
s Birim kayma
T
e
retilen moment [N.m]
T
L
Yk momenti [N.m]
V
s
Stator voltaj [V]
Asal frekans [rd/s]
Ak [wb]
Stator indktans iin dnm sabiti
Rotor aks uzaysal pozisyonu [rd]

(abc) -fazl sistem
AC Alternatif akm
ADC Analolog/Dijital Dntrc
ASM Asenkron motor
Cos G katsays
DC Doru akm
(d-q) Durgun koordinat sistemi
(D-Q) Hareket eden koordinat sistemi
DSP Saysal iaret ileyici
EKF Geniletilmi Kalman filtresi
xi
IGBT Beyzi izole edilmi bipolar transistr
EKF Geniletilmi Kalman filtresi
KF Kalman filtresi
PI Oransal-ntegral reglatr
PWM Darbe genilik modlasyonu
SVPWM Uzay vektr dalga genilik modlasyonu
YSA Yapay sinir a

























1
1. GR
Asenkron makineler basit yaplar, ucuz olmalar, fazla bakma ihtiya
duymamalar ve yksek verimleri nedeniyle endstride yaygn olarak kullanlrlar.
Sfrdan tam-yke kadar neredeyse sabit hzda alrlar. Ancak, dorusal olmayan
yaplar nedeniyle daha karmak kontrol algoritmalar gerektirirler ve deiken hzl
uygulamalara kolaylkla uydurulamazlar. Bu nedenle ok uzun bir sre yalnzca sabit
hzl uygulamalarda kullanlmtr. Deiken hzn gerekli olduu uygulamalarda DC
makineler ne kmtr. Ancak, DC makineler dnen ksmdaki sargnn beslenmesi
iin fraya ihtiya duyduklarndan, verimleri dktr ve asenkron makinelere gre
olduka sk bakma ihtiya duyarlar.
Yar-iletken teknolojisindeki gelimeler sayesinde eitli g elektronii
elemanlar ve mikro-denetleyiciler gelitirilmitir. Bu gelimelerden sonra asenkron
makineleri deiken hzl uygulamalarda kullanmak mmkn olmutur. Bilindii gibi
asenkron makinenin hz statora uygulanan kaynan frekansna ve kutup saysna
baldr. Kutup says deitirilerek yaplan hz ayar zordur ve her biri ayn anda
kullanlamayan sarglara ihtiya vardr. Bu da fazladan bakr kullanm anlamna
gelir ve hem maliyeti, hem de makine boyutlarn artrr. Yine bu ekilde yaplan hz
ayar srekli biimde olmayp, kademeli olarak salanabilir. Bundan baka, asenkron
makinenin statoruna uygulanan gerilimin bykl ve frekans deitirilerek de hz
ayarlanabilir. Bu gnmzde eitli ak evrim frekans konvertrleriyle
yaplmaktadr.
Bir frekans konverteri ebeke gerilimini dorultarak, istenilen frekans ve
byklkte voltaj salar. Bylece asenkron makinenin hz frekansa bal olarak
ayarlanabilir. Frekans deitirilerek yaplan hz kontrol tekniklerinde hz geri
beslemesi olmadndan asenkron makinenin dorusal olmayan tork-hz
karakteristii nedeniyle kararl bir alma her zaman salanamayabilir. Bu ekilde
yaplan kontrol biimine skaler kontrol denir. nk, deikenlerin uzaysal
durumlar dikkate alnmayp yalnzca byklne baklr.
DC makinelerde birbirinden tamamen ayr alan ve armatr sargs mevcuttur.
Bu sarglara istenilen DC gerilim ayr ayr uygulanabilir. Makinenin momenti
armatr akm ile manyetik aknn arpm ile ve manyetik ak da alan sargs
2
akmyla doru orantldr. Bylece, elde edilmek istenilen manyetik ak ve moment
bu sarglara uygulanan DC gerilimin basite ayarlanmasyla elde edilebilir. Buradan
yola klarak asenkron makinenin de eitli dnm teknikleriyle alan ve armatr
sargsna ayr gerilim uygulanabilen DC makineye benzetilebilecei ispatlanmtr.
Asenkron makinenin stator akm vektr DC makineye benzer ekilde alan ve
momenti oluturan iki dik bileene ayrlabilir. Bu vektrlerden manyetik ak
vektrne paralel olan akm vektr; manyetik aky oluturan akm, buna dik olan
akm vektr de momenti oluturan akm temsil ederler. Bylece, bu iki stator akm
vektr bileeni ayr ayr kontrol edilerek asenkron makine de DC makine gibi
kontrol imkanna kavuur. Bu ekilde yaplan kontrol ekli; kontrol deikenlerinin
hem byklkleri hem de uzaysal durumlar dikkate alndndan vektr kontrol
veya bu vektr deikenler stator veya rotor alann referans kabul eden yeni bir
koordinat sistemine dntrldklerinden alan ynlendirme kontrol olarak
adlandrlr.
Yukarda bahsedilen asenkron makinenin hz kontrol teknikleri karmak
kontrol algoritmalar ve elektronik g anahtarlar gerektirdiklerinden, bunlarn
uygulanabilir hale gelmeleri iin yar-iletken teknolojisindeki gelimeler nemli
olmutur. zellikle, vektr kontrol teknii ok hzl g elektronii anahtarlar ve
makineden ald verileri hzl bir ekilde ileyip tekrar kontrol sinyaline
dntrerek bu g elektronii anahtarlarna gnderebilecek ok hzl ilemcilere
ihtiya duyar. Bu amala yeterince gl ve ok hzl yar-iletken anahtar olan
IGBTler (Isolated Gate Bipolar Transistor) gelitirilmitir.
Vektr kontrol tekniinin gerektirdii ilemleri ok hzl bir ekilde yerine
getirebilecek ilemciler olan DSPlerin (Digital Signal Processor) gelitirilmesi ile
artk vektr kontrol tekniinin ticari olarak da uygulanmas mmkn hale gelmitir.
DSPlerin gelitirilmesinin amac motor kontrol olmadndan uzun bir sre ses ve
grnt ileme gibi dier ilemler iin kullanlmtr. Fakat gnmzde motor
kontrolne ynelik olarak retilen DSPler mevcuttur. Bunlar, zellikle motor
kontrol iin retildiklerinden, ADC (Analog to Digital Converter), PWM (Pulse
Width Modulation) sinyallerini retebilen birimleri, hz ve durum alglayc enkoder
sinyallerini tutabilecek birimleri ierirler.
3
Vektr kontrol tekniklerinde, rotor ve manyetik alannn hzlar ve uzaysal
durumlar alglayc cihazlarla alglanabilecei gibi, makinenin matematiksel
modelinden yararlanlan eitli hz kestirme yntemleriyle de bulunabilir. Bu
yntemlerde, istenilen veriler dorudan hesaplanmayp, hz deikeni ieren bir
makine modeliyle hz deikeni iermeyen bir makine modelinin
karlatrlmasndan elde edilen hata sinyali hz deikeni ieren makine modeline
geri beslenerek hz kestirme ilemi yaplr. Hz kestirme yntemleri, makine miline
bir alglayc balamann mmkn olmad durumlarda yararl olabilir. Ayrca
maliyetin de azaltlmasn salar.
Vektr kontrol tekniinde belirli bir anda istenilen hz veya moment iin
gerekli kontrol deikenleri olan manyetik ak veya akm ne ise makineye
uygulananlar da onlar olacaktr. Bylece, makinenin yksek verimli olarak
almasn salar. Gnmzde enerji maliyetleri arttka verimli alma ne
kmaktadr. Ayrca, evrenin de korunmas iin mevcut enerji kaynaklarnn
ekonomik bir biimde kullanlmalar gereklidir. Bu durumda, mevcut teknikler daha
verimli hale getirilmeye allmaktadr. Vektr kontrol teknii bu bakmdan nem
kazanmaktadr.
Bu tez almasnda asenkron makinenin alglaycsz vektr kontrol
incelenecektir. ncelikle, incelemeler iin asenkron makinenin ve kontrol sisteminin
matematiksel modellerinin oluturulabildii MATLAB/SIMULINK yazlm
paketinden yararlanlacaktr. Bu yazlm ile yaplan simlasyon almalarndan
sonra, zellikle motor kontrolne ynelik olarak Texas Instruments firmas
tarafndan gelitirilmi olan TMS320F243 DSP kontrolr ile tasarlanacak olan
kontrol birimi ve g elektronii birimi ile 750 W gcndeki bir asenkron makinenin
vektr kontrol incelenecektir.
Tez ierisindeki blmler ksaca yle zetlenebilir. Birinci blm olan bu
blmde asenkron makine ve kontrol yntemleri ksaca aklanmaya allmtr.
kinci blmde ise daha nce bu tezin konusu ile ilgili olarak yaynlanm
almalara yer verilmitir. nc blmde asenkron motor ve kontrolnde
kullanlan yntemler incelenmitir. Bu amala otomatik kontrolde kullanlan
asenkron motor modelleri, vektr kontrol teorisi ve Kalman Filtresi zerinde
durulmutur. Drdnc blmde MATLAB/SIMULINK yazlm paketi ile DSP
4
kontrolrn ayrk zaman simlasyon modeli ve asenkron motorun srekli zaman
simlasyon modeli tasarm zerinde durulmutur. Bu amala tez almasnda
kullanlan simlasyon ynteminin temelini oluturan SIMULINK C S-Function
incelenmitir. Beinci blmde tez projesinde kullanlan TMS320F243 tabanl
asenkron motor srcs donanm ve yazlm tasarm zerinde durulmutur. Altnc
blmde, nerilen DSP tabanl asenkron motor vektr kontrol ynteminin pratikte
uygulanabilirliini aratrmak amacyla simlasyon ortamnda ve pratikte yaplan
deneysel almalara yer verilmitir. Yedinci blmde tez almas boyunca varlan
kannatler sunulmu, ayrca bu tez almasnda yaplmayp ileride yaplabilecek olan
almalar ile ilgili nerilerde bulunulmutur. Sekizinci blmde ise kullanlan
kaynaklara yer verilmitir. Son olarak tezin btnln korumak amacyla tez metni
ierisinde bulunmayan, ancak burada yaplan almalar daha anlalr hale
getirebilecei dnlen eitli grafikler, emalar ve dosyalar ek olarak sunulmutur.



















5
2. KAYNAK ARATIRMASI
Bu blmde asenkron makinenin vektr kontrol ile ilgili literatrde yer alan,
zellikle bu tez almasnn konusuyla ilgili yaynlanm olan almalara yer
verilecektir.
Asenkron makinenin yksek performansl kontrolnn temeli vektr kontrol
tekniklerine dayanr. Vektr veya alana ynelik kontrol yntemlerinde makinenin
dinamik modeli gerekli olur. Makine dinamik modeli durum denklemleriyle temsil
edilir. Durum deikeni olarak genellikle stator akm ve rotor aks kullanlr. Vektr
kontrolnden beklenen performans elde edebilmek iin ncelikle durum
deikenlerinin vektrel byklklerinin ve ynlerinin kesin olarak bilinmesi
gereklidir. Stator akm ve voltaj makine terminallerinden dorudan llebilir. Rotor
ve stator aksnn llebilmesi iin ise standart makinelerde bulunmayan yar-iletken
Hall etkisi alglaycs veya yalnzca alan alglayc olarak kullanlan ikincil sarglar
gereklidir. Tabii ki, bu durumda src maliyeti artacaktr. Bu nedenle, genellikle
literatrde src maliyetinin azaltlmas amacyla, rotor veya stator alan
vektrlerinin evrim-ii olarak kestirilmesi zerinde durulmaktadr. Ancak, bu
yntemlerden elde edilen sonularn doruluu makine parametrelerinin kesin olarak
bilinmesine baldr. Dinamik model iin gerekli parametrelerin makine zerinde
yaplan standart testler ile bulunabilmesine ramen, normal alma sresince sarg
scakl ve demirin doyumu gibi etkenlerle deimeleri mmkndr. Bu durumda,
hesaplanan durum deikenleri hatal olacaktr ve deien parametrelere gre makine
modelinin gncellenmesi gerekecektir. Literatrde ska karlalan alma
konularndan biri de deien parametrelerin evrim-ii olarak kestirilmesi ve buna
gre makine modelinin gncellenmesidir.
Blm ierisinde ncelikle konunun daha iyi anlalabilmesi asndan,
literatrde bahsi geen vektr kontrol yntemlerine yer verilecektir. Daha sonra
makine parametreleri kestirimi ve durum kestirimi yntemleri ile ilgili yaynlar
zetlenmeye allacaktr. Parametre ve durum kestirimi iin genellikle ayn
yntemler kullanlmaktadr. Bu nedenle ilgili yntemler kestirim yntemleri olarak
bir balk altnda verileceklerdir.

6
2.1. Vektr Kontrol Yntemleri
Vektr kontrol yntemlerinin temelinde vektr dnmleri vardr. Statora
gre durgun koordinat sisteminde ifade edilen stator voltaj ve akm vektrleri
ynelimin yapld alana ait ak vektrn referans kabul eden yeni bir dnen
koordinat sisteminde ifade edilebilecek ekilde dnm ilemine tabi tutulurlar. Bu
nedenle ncelikle yeni koordinat sisteminin ani uzaysal durumunun bilinmesi
gereklidir. Literatrde genellikle ynelimin yapld alan ve bu alann uzaysal
durumunun bulunma yntemine gre snflandrmalara rastlanmaktadr.
Boussak ve Jarraye (2006) gre vektr kontrol teknikleri, dorudan ve dolayl
alan vektr ynlendirme kontrol olarak iki snfa ayrlabilir. Ayn snflandrma
Bose (1998) tarafndan dolayl (ileri-beslemeli) vektr kontrol ve dorudan (geri-
beslemeli) vektr kontrol biiminde yaplmtr. Dorudan kontrol ynteminde alan
vektr stator terminal byklklerinden elde edilir. Dolayl kontrolde ise alan
ynlendirmenin salanmas iin makine kayma frekans kullanlr. Dorudan vektr
kontrolde mevcut kayma frekansnn hesaplanmas gerekirken, dolayl vektr
kontrolde kayma hz sisteme referans kayma hz olarak verilir. Bunun anlam,
dorudan vektr kontrolde ynlendirmenin yapld alannn uzaysal durumu kesin
olarak bilinmelidir. Dolayl vektr kontrolde ise ynelimin yapld alannn uzaysal
durumu aslnda bilinmeyip, alann istenen uzaysal durumuna gre vektr
dnmleri yaplr.
Bose (1998) tarafndan ynlendirmenin yapld alana gre stator alan
ynlendirme kontrol ve rotor alan ynlendirme kontrol eklinde bir
snflandrma yaplmtr. Ancak literatrde alan ynlendirme kontrol veya vektr
kontrol terimleri genel olarak rotor alanna ynlendirme kontrol anlamnda
kullanlmaktadr. Holtze (2001) gre vektr kontrol iin kullanlan asenkron makine
dinamik modelini oluturan durum denklemlerindeki durum deikenleri stator alan
ynlendirme kontrol iin stator akm ve stator aks, rotor alan ynlendirme
kontrol iin stator akm ve rotor aks olarak seilmelidir. Rotor alanna ynelik
vektr kontrol, makine dinamiklerinden bamsz olarak, hava aralnda istenilen
herhangi blgede ve younlukta stator manyeto-motor kuvvet (mmk) dalm
7
istenildiinde uygulanr. Stator alanna-ynelik vektr kontrol ise, hzl bir stator
akm kontrol yaplmak istenildiinde uygulanr.
Li ve ark. (2006) gre vektr kontrol yntemleri, rotor hznn veya alan aks
konumunun belirlenmesi iin alglayc kullanlyor ise alglaycl vektr kontrol
aksi halde alglaycsz vektr kontrol eklinde iki snfa ayrlabilir. Burada
kullanlan alglayc terimi stator akm ve voltajlarnn llmesi iin kullanlan
cihazlar anlamnda olmayp, rotor hz veya konumunu alglayan cihaz anlamnda
kullanlmaktadr. Tabii ki, tm vektr kontrol yntemlerimde stator akmlarnn ve
voltajlarnn llmesi iin alglayclar bulunmaldr. Gerekte deiken hzl
asenkron motor srclerinde rotor hz veya konum alglayc bulunmaz ise sistem
ak-evrim kontrol sistemi olur. Hassas konumlandrma sistemlerinde vektr
kontroll asenkron motor kullanlacak ise rotor hz veya konum alglayc bulunmas
daha uygun olacaktr (Li, Chiasson, Bosson ve Tolbert 2006).
Yukarda bahsedilen vektr kontrol teknikleri birbirlerinden ayr olarak
kullanlmayp, alglaycl/alglaycsz, dolayl/dolaysz ve rotor/stator alan
ynlendirme kontrol eklinde birlikte kullanlrlar.
2.2. Asenkron Makine iin Parametre ve Durum Kestirimi Yntemleri
Sistem teorisinde, kestirim terimi genel olarak sistemin modelini oluturan
durum denklemlerindeki llebilen byklkler yoluyla llebilen byklklerin
tahmin edilmesi anlamnda kullanlmaktadr. Durum denklemlerindeki byklkler
ise durum deikenleri ve parametrelerdir. Teoride parametreler sabit olarak kabul
edilirken, gerekte deikendirler. Bu nedenle durum deikenlerinin kestirimi iin
kullanlan yntemler parametre kestirimi iin kullanlabilir. Ayn ekilde, parametre
kestirimi iin kullanlan yntemler durum deikeni kestirimi amacyla kullanlabilir.
Genel olarak kestirim yntemleri, spektral analiz tabanl, gzetleyici
tabanl ve Model Reference Adaptive System (MRAS) tabanl yntemler olarak
gruba ayrlabilir. Bunlarn dnda parametrelerin ve durum deikenlerinin
dorudan makine durum denklemlerinden hesaplanabildii yntemler de
gelitirilmitir. Ancak dorudan hesaplama yntemleri genellikle sistemin
kararlln ktletirmektedir. Ayrca dolayl olarak makine parametrelerinin
8
kestirimi iin yntemlerde gelitirilmitir. rnek olarak sarg scakll llerek
sarg direnci dolayl hesaplanabilmektedir.
Toliyat ve ark. (2003) tarafndan asenkron motor parametre kestirim teknikleri
iin yukardakine benzer bir snflandrma yaplmtr. Ayrca evrim-d kestirim
tekniklerine de deinmileridir. Ancak evrim-d teknikler makine parametrelerinin
kestirilmesi amacyla deil, belirlenmesi amacyla uygulanrlar. Kestirim teknikleri
genellikle almalarda birbirlerinden ayr olarak kullanlmayp, birlikte kullanlarak
vektr kontroln performans artrlmaya allmaktadr. Bu nedenle burada
parametre ve durum kestirimi konusunda incelenen kaynaklar bir balk altnda
verilecektir. Ancak ncelikle yaynlarda ska bahsedilen yntemleri ksaca
aklanmaya allacaktr.
Tm kestirim yntemleri genellikle vektr kontrol iin gerekli veriler makine
terminallerinden dorudan llebilen stator akmlarndan ve voltajlarnn analizi ile
elde edilir. Ancak stator voltaj kontrolr tarafndan belirlendiinden stator voltajnn
llmesi yerine inverter DC bus voltajnn llmesi yeterlidir. Stator voltaj
bylece inverter anahtarlama sinyalleri ve DC bus voltajnn bilinmesiyle
hesaplanabilir. Bu durumda vektr kontrol iin DC bus voltajnn ve stator
akmlarnn llmesi yeterli olacaktr.
Spektral analiz tabanl yntemlerde veri olarak stator akmlar kullanlr. Bu
yntemlerde genellikle Fourier Dnm ile zaman domeninden frekans domenine
dntrlr. evrim-ii tekniklerde hesaplama sresi nemli olduundan genellikle
Fast Fourier Transformation (FFT) yntemi ile dnm yaplr. Bylece elde edilen
frekans domeni verisinden rotor oluklarnn stator akmnda oluturduu parazitler
aranmaya allr. Yntemin yalnzca rotor hz ve aksnn kestirimi iin
kullanlabilecei aktr. Parametre kestirimi iin uygun deildir. Bu yntemi
dierlerinden ayran taraf makine modeline ihtiya duymamasdr. Spektral analiz
tabanl yntemler parametre deiimlerden etkilenmez (Toliyat, Levi ve Raina 2003).
Gzetleyici tabanl yntemlerde makine parametrelerinin ve dinamik
modelinin tam olarak bilinmesi gereklidir. Bu yntem makine modeli kullanarak
llebilen makine giri ve klar yardmyla llemeyen durum deikenlerinin
hesaplanmasna dayanr. Her kontrol evriminde makine giri ve klar llerek
durum deikenleri gncellenir. Bu yntem ile makine terminallerinden dorudan
9
llemeyen parametrelerin kestirimi de yaplabilir. Yntemin performans makine
modelinin ve parametrelerinin doruluuna baldr.
Gzetleyici algoritma olarak en sk kullanlan yntem Kalman Filtresinin (KF)
dorusal olmayan sistemler iin deitirilmi biimi olan Geniletilmi Kalman
Filtresi (Extended Kalman Filter EKF) kullanlr. KF ilk olarak 1960 ylnda R. E.
Kalman tarafndan ayrk verilerin filtrelenmesine tekrarlamal bir zm olarak
ortaya atlmtr ve bir ok uygulama alan bulmutur (Welch ve Bishop 2002).
Meybecke (1979) gre ise KF bir optimal tekrarlamal veri ileme algoritmas olup
sistem ve lm eleman grltleri ile birlikte lm elemanndan alnan verilerden
llemeyen verileri elde etmek amacyla kullanlr, yani KF kestirim amacyla
kullanlabilir. KF ile parametre ve lm grltleri filtre edilebilir. Filtrenin ayrk
veriler iin nerilmesinden de anlalaca gibi saysal iaret ilemeye yneliktir. Bu
nedenle, DSPlerin de gelimesiyle birlikte, filtre pratikte uygulanabilir hale gelmi,
ve vektr kontroll asenkron makine srclerinde de parametre dzeltilmesi ve
rotor hz kestirimi amacyla kullanlmtr.
Model Reference Adaptive System (MRAS) tabanl kestirim yntemi
gzetleyici tabanl ynteme benzer. Ancak MRAS tabanl yntem iin iki model
kullanlr. Modellerden biri referans model olarak adlandrlr. Bu model giri olarak
llebilen durum deikenleri ve makine girileri kullanlr. Dier model adaptif
model olarak adlandrlr. Bu model ise giri olarak llebilen ve llemeyen
durum deikenleri veya parametreleri giri olarak kullanlr. Her iki modelin k
ayn durum deikeni olmaldr. Ayn durum deikeni iin her iki modelden elde
edilen deerler arasndaki fark bir adaptasyon mekanizmas yoluyla adaptif modele
giri olarak verilen, llemeyen durum deikeni veya parametrenin gncellenmesi
amacyla kullanlr.
MRAS kestirim yntemi parametre deiimlerine kar olduka hassastr.
zellikle dk ve sfra yakn rotor hzlarnda sistemi kararszla gtrr (Bose ve
Patel 1998). Ayrca referans model ak-evrim integrasyonlar ierir. Ak-evrim
integrasyonlar ise srklenme eilimindedirler. Srklenme genellikle llen
deerlerdeki DC bileenler ve dier lm grltlerinden kaynaklanr. Bunun
anlam, srklenme ile simlasyon almalarnda deil, pratik uygulamalarda
karlalabilir, ve dzeltilmez ise kontrol sistemini karaszla gtrr.
10
Yukardaki yntemlerin dnda Yapay Sinir A (YSA) ve bulank mantk
(Fuzzy Logic FL) gibi yapay zeka (Artificial Inteligence AI) yntemleri ve
Genetik Algoritmalar (GA) kestirim amacyla kullanlmaktadr. Ancak bu yntemler
genellikle yukarda bahsedilen dier yntemlerin performansn artrmak amacyla
kullanlmaktadrlar. Aada bahsedilen kestirim yntemleri ile ilgili literatrde yer
alan kaynaklar zetlenmeye alacaktr.
Bose ve Patele (1998) gre yksek rotor hzlarnda parametre deiimleri
sonuca ihmal edilebilir bir etki yaparken, ok dk rotor hzlarnda zt emknn
stator sarg direncinde den gerilime gre kk olmasndan dolay bu etki ihmal
edilemez dzeyde olur. Bu nedenle zellikle, stator sarg direncinin evrim-ii olarak
dzeltilmesi gerekli olur. Dier makine parametrelerindeki deiimlerin etkileri ise
ihmal edilebilecek dzeydedir. Bu soruna zm olarak stator sarg direncinin
evrim-ii olarak kestirimini salayan yar-bulank bir yntem nermiledir. nerilen
yntemde dorudan diren deeri kestirimi yaplmayp, stator akm ve frekansna
dayanlarak bulank bir yntemle nce stator scakl kestirilerek, elde edilen
scaklk deeri yardmyla stator direncinin yeni deeri hesaplanmaktadr. Statoruna
scaklk alglayclar balanm 5 hp gcndeki bir asenkron makine zerinde
yaplan simlasyon ve deney almalarnda olduka iyi sonular elde edilmitir.
Faiz ve ark. (1999) tarafndan elektrikli ulam sistemleri iin nerilen stator
akm ve gerilimlerinden yararlanan baka bir yntemde stator ve rotor direnleri
dorudan hesaplanabilmektedir. Ancak, Bose ve Patel (1998) tarafndan nerilen
yar-bulank ynteme gre daha fazla hesap gerektirmektedir. Kubota ve ark. (1994)
tarafndan nerilen baka bir yntemde yine stator direnci dorudan
hesaplanabilmektedir (Holtz 2001). Ancak bu yntemle stator direncinin belirlenmesi
1.4 s gibi bir gecikmeyle olmaktadr.
Chao ve Liaw (2000) tarafndan Model Reference Adaptive System (MRAS)
rotor hz kestirme yntemine makine parametrelerinin etkisi geni bir ekilde
incelenmitir. Bu incelemede hz kestirme ileminin doruluuna en ok etki eden
makine parametresinin stator etkin direnci olduu grlm ve MRAS hz
kestirmenin doruluunu artrmak iin stator etkin direncini dzelterek makine
modelini gncelleyen ek bir sistem nerilmitir. Variable Structure System (VSS) ad
verilen bu sistem PI reglatr kndan alm olduu kestirilen hz sinyalini giri
11
olarak alp, buna gre, stator direncini dzelterek referans sisteme vermektedir.
eitli rotor hzlarnda yaplan simlasyon almalarndan olduka iyi sonular
alnmtr.
Bharadwaj ve ark. (1999) tarafndan asenkron makinenin hz kestirimi iin
Yapay Sinir A (YSA) ieren bir yntem nerilmitir. Bu yntem rotor oluklarnn
stator akm zerinde oluturduu harmoniklerin aranmasna dayanmaktadr. Stator
akm iareti YSA tabanl bir adaptif durum filtresiyle ilenerek istenilen rotor hz
elde edilmeye allmaktadr. Durum filtresi Kalman Filtresi prensiplerine
dayanmaktadr. Filtrenin ayarlanmas, yani YSAnn eitilmesi iin durgun durumda
12-13 veri evrimi gerekmektedir. 3 hp gcndeki asenkron makine zerinde,
dengeli ve dengesiz g kayna, normal ve krk rotor ubuklar, ve deiik yk
durumlar iin denemeler yaplmtr. Bu deiik durumlar iin yaklak %0-10
arasnda deien hatalarla hz kestirimi yaplabildii grlmektedir.
Zidan ve ark. (2000) tarafndan nerilen bir yntem ile rotor hz dorudan
hesaplanabilmektedir. Yntem zellikle, DSP uygulamalarna ynelik olup, makine
modelini oluturan durum denklemleri ayrk biimde dzenlenmitir. 0.75 kW
gcndeki bir asenkron makine zerinde yaplan denemeler ve simlasyon
almalar, hem 1.0 ms hem de 0.25 ms rnekleme periyotlar iin yaplmtr. Bu
rnekleme periyotlarnda rotor aks ve dnme hznn deimedii kabul edilerek
eitlikler dzenlenmitir. ok kk rotor hzlarnda, rotor alan asnn dorudan
hesaplanmas srasnda sfra blme olumaktadr ve nerilen yntem ile bu durum
almaktadr. Hem yksek rotor hzlarnda, hem de kk rotor hzlarnda yaplan
denemeler ve simlasyon almalar sonucunda, nerilen yntemin pratik
uygulamalar iin uygun olduunu bildirmilerdir.
Rotor hznn MRAS yntemi ile kestiriminde genellikle model klar olarak
rotor aks kullanlmaktadr. Mohan (2001) tarafndan rotor aksnn kk
deerlerde olmas ve kestirme ileminin doruluunun az nedeniyle, rotor aks
yerine daha yksek deerlerde olan zt emknn kullanlmas nerilmitir. 3 hp
gcndeki bir asenkron makine zerinde, yol alma, yk momentinin deimesi ve
rotor bir ynde dnerken dier yne doru verilen hz komutuna olan cevab iin
simlasyonlar yaplm ve pratikte uygulanabilir olduu grlmtr. Ancak pratik
12
uygulama verilmemitir. Gerekte dk hzlarda zt emk sfra yaklar. Bu
yntemin anma hzna yakn hzlarda alabilecei aktr.
Ouhrouce (2002) tarafndan EKF tabanl bir kestirim yntemi nerilmitir.
Makinenin temel frekansta fazl sinsoidal bir kaynak ile beslenmesi durumunda
rotor hznn ve direncinin e zamanl olarak kestirilmesi mmkn deildir. Ancak,
nerilen yntem ile 5. dereceden bir makine modeli yardmyla, her iki deiken e
zamanl kestirilebilmektedir. Bu yntemde asenkron makinenin modeli ayrk
biimdedir ve grlty temsil eden rasgele vektrler ierir. Yaplan simlasyon
almalarndan, yol alma sreci dnda olduka iyi sonular alnmtr. Ayrca,
dk hzlarda da alabildii grlmtr. Uygulama verilmemitir.
EKF tabanl kestirim ynteminde kullanlan makine modelinde durum
deikeni olarak genellikle stator akmlar ve rotor aks kullanlr. Her bir durum
deikeni reel ve imajiner bileenlerden oluur. Bylece her durum deikeni iin iki
durum denklemi gerekli olur. Rotor hznn kestirimi amacyla bir durum denklemine
daha ihtiya duyulur. Bu nedenle 5. dereceden makine modeli kullanlmaldr. Bunun
anlam EKF algoritmalar iin 5x5 boyutunda matrisler arasnda ilemlerin yerine
getirilmesi gerektiidir. Bu ise kontrolrn olduka fazla hesaplama kapasitesine
sahip olmas gerektiini gsterir.
Ge ve Fenge (2000) gre EKF iin kullanlan makine modelinin derecesi
drlebilir. Gerekte makine modelini oluturan durum denklemlerinde bulunan
stator akm llebilir durumdadr. Bu nedenle kestirilmesine gerek yoktur. Bylece
durum denklemleri modelden karlabilir. Ancak bunun sonucunda stator akm
lm grltleri EKF tarafndan filtre edilmemi olacaktr. Sistemin uygulanabilir
olduu simlasyon ve deneysel olarak ispatlanmtr. Uygulama tasarmnda EKF
algoritmas iin bir DSP ve vektr kontrolr iin bir mikroilemci kullanld
grlmektedir. ki ilemci kullanlmas durumunda vektr kontroll srcnn
maliyetinin artaca aktr.
Hilairet ve ark. (2000) tarafndan nerilen baka bir EKF tabanl kestirim
ynteminde EKF iin kullanlan makine modelinin derecesini drmeden
hesaplama sresini ksaltacak bir yol nerilmitir. Yntem makine modelini
oluturan matrisin simetrik olmasna dayanr. Bu durumda matris ilemlerinde
simetriden dolay tekrarlanmaktadr. nerilen yntemde tekrarlanan ilemler tespit
13
edilerek tekrar hesaplanmas nlenmektedir. Bylece ilemci hesaplama
kapasitesinin verimli olarak kullanlmaktadr. Bu ekilde 503 arpma ve 428 toplama
ileminden oluan bir EKF algoritmas 205 arpma ve 137 toplama ilemi ile yerine
getirilebilmektedir.
EKF algoritmasnn performans grlt matrislerinin uygun olarak
seilmesine baldr. Grlt matrisleri lmlere ve kestirimlere ne kadar
gvenileceini belirler. Sistem grlt seviyesi ile bilgiler mevcut ise matrislerin
belirlenmesi kolaydr. Ancak deneme yntemiyle uygun matrisler seilebilir.
Shi ve ark. (2002) tarafndan rotor hznn kestirilmesi amacyla kullanlacak
bir EKF kestirim algoritmasnn GA ile optimize salayan bir yntem nerilmitir.
GA algoritmas evrim d olarak kullanlmaktadr. nce makine test iin
altrlarak stator akm, stator voltaj ve rotor hz saklanmaktadr. Daha sonra bu
veriler yardmyla EKF grlt matrisleri oluturulmaktadr. Elde edilen grlt
matrisleri vektr kontrolrde kullanlmakta ve EKFnin performans incelenmektedir.
Bu ekilde V/Hz ve vektr kontrol iin yaplan testlerden uygun sonular elde
edilmitir.
MRAS rotor hz kestirim ynteminde genellikle referans model girileri stator
akm ve voltaj, adaptif modelin girileri ise stator akm ve rotor hz kullanlr.
Model klar ise rotor aksdr. Adaptasyon mekanizmas ile gerekleen ak ile
kestirilen ak arasndaki fark sfr olacak ekilde adaptif model girii olan rotor hzn
gnceller. Bylece rotor hz kestirilmi olur.
Kojabadi ve Chang (2002) tarafndan rotor hz ve aks ile stator direncinin
kestirilmesi iin farkl bir MRAS kestirim yntemi nerilmitir. Yntem MRAS
Adaptive Pseudo-reduced Flux Observer (APFO) olarak adlandrlmaktadr. APFO
ile ak dorudan kestirilmemektedir. Bunun yerine stator akm kestirilmektedir.
Stator akm dorudan llebildiinden referans modele ihtiya duyulmamaktadr.
Daha sonra kestirilen stator akm kullanlarak rotor aks hesaplanmaktadr.
Hesaplanmada kestirilen stator akm kullanldndan hesaplanan deerde rotor
aksnn kestirilmi deeri olacaktr. Ancak bu kestirimler iin rotor hznn bilinmesi
gerekmektedir. Rotor hznn kestirimi iin ayr bir MRAS kullanlmaktadr. Bu
MRAS iin APFO ile kestirilmi rotor aks ve kestirilen stator akm ile gerekleen
stator akm arasndaki hata kullanlmaktadr. Ayrca reaktif g tabanl baka bir
14
sistem stator direncinin kestirimi amacyla kullanlmaktadr. Sistemin kararlln
salamak iin Popov ve Lyapunov kriterleri kullanlmtr. nerilen sistem
simlasyon ortamnda ve deneysel olarak test edilmi, sfra hzdan anma hzna
kadar tm hzlarda alabilir olduu kantlanmtr.
Bharadwaj ve ark. (2003) tarafndan nerilen spektral analiz ynteminde EKF
tabanl bir hz filtresi YSA ile oluturulmaya allmtr. Yntem rotor akmlarnn
stator sarglarnda oluturduu harmonik akmlarn filtrelenmesine dayanmaktadr.
YSA ile oluturulmak istenen filtre Parlos ve ark. (1999) tarafndan EKF prensipleri
kullanlarak gelitirilen adaptif durum filtresidir. YSAnn eitilmesi iin gerekli veri
motor akmnn 10 evrimi kaydedilmektedir. Bu veriler daha sonra 0.5 aralnda
leklenmektedir. Filtre adet YSAdan olumaktadr. lk YSA kestirilen hz ile
stator voltajn kullanarak akm kestirimi yapar. kinci YSA da gerekleen akm,
kestirilen hz ve stator voltaj yardmyla hz kestirimi yapar. nc YSA ise
gerekleen akm ile kestirilen akm arasnda oluan hataya gre kestirilen hz
dzeltip gncellemektedir. nerilen sistem salam ve krk rotorlu motor ile test
edilmi ve %1.1 2.9 hata ile rotor hznn kestirilebildii rapor edilmitir.
Toqeer ve Bayndr (2003) tarafndan nerilen baka bir YSA tabanl sistemde
Jordan-Elman Neural Network (ENN) kullanlmtr. Sistem makine modeline
dayanmaktadr. ENN hem gerekleen ve istenen akmlar ile birlikte stator voltajlar
da veri olarak kullanmaktadr. Sistemin geerlilii yalnzca simlasyon ile test
edilmitir. Gerekleen hz ile kestirilen hz iin verilen grafikten kestirimde yaplan
hatann kk olduu anlalmaktadr.
Guzinski ve ark. (2003) alglaycsz vektr kontrol iin olduka farkl ve
dk maliyetli bir yntem nermilerdir. Makinenin retmi olduu tork stator
akm ve rotor aks arasndaki ayla orantldr. Bu ann kontrol iin bir faz
kilitlrme evrimi kullanlmaktadr. Genellikle makine modelini oluturan durum
denklemlerindeki durum deikenleri stator akm ve rotor aks olurken, burada fakl
durum denklemleri kullanmladr. Bu yntem de ise srasyla rotor asal hz, stator
akm ile rotor aksnn skaler ve vektrel arpmlar ve rotor aksnn karesidir. Rotor
hz kestirimi gzetleyici tabanldr. Referans olarak hz deil tork ile orantl olan
stator akm ile rotor aks arasndaki a kullanlmaktadr. Uygulanabilirlii
simlasyon ortamnda ve deneysel olarak kantlanmtr.
15
Koubaa (2004) tarafndan makine parametrelerinin kestirimi amacyla
kullanlacak bir yntemde MRAS ve tekrarlamal en az kareler (Recursive Least
Square RLS) yntemi birlikte kullanlmaktadr. Geleneksel MRAS yntemde
adaptasyon mekanizmas olarak oransal-integral (Proportional-Integral PI)
reglatr kullanlrken burada RLS kullanlmaktadr. Tekrarlamal olmas asndan
EKFye benzer. Adaptif makine modeli ile referans makine modelinin klarnn
karlatrlmasndan elde edilen hata yardmyla RLS tabanl sistem kullanlarak
parametreler kestirilmekte ve adaptif model gncellenmektedir. nerilen yntemin
uygulanabilirlii simlasyon ortamnda ve deneysel olarak kantlanmtr.
Beguenane ve ark. (2006) tarafndan nerilen dorudan vektr kontrol
sisteminde ak kestirimi iin EKF ve hz kestirimi iin MRAS kullanlmaktadr.
nerilen sistem dk rotor hzlarnda src performansn artrmay amalar.
Bunun iin kestirimin doruluunda en byk etkiye sahip makine parametresi olan
stator sarg direnci de MRAS ile kestirilmeye allmaktadr. nerilen sistem
simlasyon ortamnda test edilmitir. Ar yk artlar altnda 0-150 d/dk. arasndaki
hzlarda yaplan simlasyonlarda maksimum hata %10 olmaktadr. 30 d/dk. gibi
dk hzlar civarnda kestirim hatas %5i amamaktadr.
Vaclavec ve Blaha (2006) tarafndan alglaycsz vektr kontrolnde hz
kestirimi amacyla kullanlmak zere Lyapunov-Fonksiyonu tabanl EKF durum
gzetleyicisi kullanlan bir yntem nerilmitir. Ayrca ayn gzetleyici ile makine
parametrelerinin kestirimi amacyla da kullanlmaktadr. Lyapunov-Fonksiyonu
yardmyla EKF kazanlar gncellenmektedir. DSP tabanl src zerinde yaplan
deneysel almalar sonucunda 20 d/dk gibi kk hzlarda sistemin kararlln
koruduu rapor edilmitir.
Li ve ark. (2006) tarafndan asenkron makine hz kestirimi iin diferansiyel-
aritmetik yaklam kullanlmaktadr. Makine modelini oluturan durum
denklemlerinin tekrar trevi alnarak durum deikenlerinin ikinci dereceden
trevleri de kullanlmaktadr. Kararlln salanmas amacyla durum gzetleyici
nerilmitir. Yntemin olduka karmak hesaplamalar gerektirdii anlalmaktadr.
Yalnzca simlasyon ortamnda testler yaplmtr. 3 rad/s civarndaki rotor
hzlarnda sistemin alabildii rapor edilmitir. Gerek ortamda uygulama
yaplmamtr.
16
3. ASENKRON MAKNE VE KONTROL ELEMANLARI
3.1. Genel Asenkron Makine Kontrol Sistemi
Bu ksmda kontrol sistemi ilevsel bloklar eklinde genel olarak anlatlmaya
allacaktr. ekil 3.1de grld gibi kontrol sistemi DSP denetleyici, g
elektronii, lmlerin yapld blok ve asenkron makineden olumaktadr. Rotor
hz ve konumu veya alan konumu kestirim yntemleri ile bulunmaya
allacandan makineden herhangi bir mekaniksel alglayc yardmyla
denetleyiciye geri besleme bulunmamaktadr. Bu nedenle bu dng kesikli izgi ile
gsterilmitir. Asenkron makinenin referans alma hz sisteme komut olarak
girilmektedir.
Denetleyici blou DSP denetleyici iermektedir. Bu ksmda geri besleme
sinyalleri ve referans hz sinyali deerlendirilerek, g elektronii blou iin gerekli
sinyaller retilmektedir. Hz alglaycs bulunmas durumunda alglaycdan gelen
sinyaller yardmyla, bulunmamas durumunda ise, llen akm ve gerilimler
yardmyla makinenin belirli bir anda hz bulunmaya allmaktadr. Ayrca, akm
ve gerilim deerlerinin makineye zarar verecek ekilde almamas iin gerekli
kontroller de bu blok ierisinde yaplmaktadr. Bu bloun k PWM sinyalleri
eklindedir.


DENETLEYC
G
ELEKTRON
VE
LMLER
ASENKRON
MAKNE
AKIM VE GERLM LMLER
HIZ GER BESLEMES
ekil 3.1 Genel asenkron makine kontrol sistemi

REFERANS
HIZ
17
G elektronii ve lmlerin yapld blok g anahtarlar ve lm
ykselteleri iermektedir. Makine akm ve gerilim sinyalleri, ierdii bilgilere zarar
vermeyecek ekilde filtreleme ilemine ve denetleyici bloundaki analog dijital
dntrclere uygun voltaj deerlerine koullama ilemine tabi tutulur. Bu ilem
lm ykselteleri tarafndan yaplmaktadr. G elektronii, IGBT ieren -fazl
tam-kpr PWM inverter devresinden olumaktadr. IGBTler yksek anahtarlama
frekansna uygun olarak seilmilerdir. Ayrca, gerekli DC voltaj, bu blok ierisinde
basit bir ekilde kpr dorultucu devresi yardmyla elde edilir. Yine AC kaynakta
oluabilecek pik eklindeki ani ykselmelerden sistemi koruyacak bir filtre de
mevcuttur. Bu bloun k asenkron makine iin gerekli deerlerdeki -fazl voltaj
sinyalidir.
Hz alglaycsnn bulunmad durumda, asenkron makinenin yalnzca nceki
blokla balants vardr. Bu durumda kontrol iin hem voltaj, hem de akmlar gerekli
olmaktadr. Dier durumda ise kontrol iin hz sinyali ve makinenin ektii akmlar
yeterli olmaktadr.
3.2. Asenkron Makine
Bir asenkron makine alternatif akm makinesidir. Sincap-kafesli rotorlu ve
sargl rotorlu olmak zere iki asenkron makine tipi vardr. En ucuz ve en yaygn
kullanlan tr sincap-kafesli asenkron makinedir. Bu tez almasnda kullanlan
makine de -fazl bir sincap-kafes asenkron makinedir. ekil 3.2de sincap-kafes
asenkron makinenin yaps basitletirilmi biimde gsterilmitir. Makine ekilde
grld gibi, durgun ksm olan stator ve hareketli ksm olan rotor olmak zere iki
temel paradan oluur. Stator, silindirik makine gvdesi ierisindeki oluklara
birbirlerine gre 120 aralklarla yerletirilmi adet sargdan oluur. Rotor ise
ular birer iletken halka ile birletirilmi sincap kafesine benzeyen bakr
ubuklardan oluur.
Stator sarglarna -fazl sinzoidal voltaj uygulandnda makine ierisinde
dner bir manyetik alan meydana gelir. Dner alann hz statora uygulanan kaynan
frekansna baldr ve senkron hz veya elektriksel hz olarak adlandrlr. Bu dner
manyetik alan rotor ubuklarnda bir gerilim indklenmesine sebep olur. Bu durumda
18
rotor da yine dnen bir manyetik alan meydana getirir. Meydana gelen iki manyetik
alan birbirleriyle etkileerek rotoru dndrecek ekilde bir moment meydana
getirirler. Rotor hz senkron hza yaklatka, stator manyetik alannn rotor
ubuklarn kesme hz azalacandan, ubuklarda indklenen gerilim de azalacaktr.
Bu durumda dndrme momenti de azalr. Pratikte hibir zaman rotor hz senkron
hza ulaamaz. Makine, asenkron ismini de buradan alr. Rotor, yk ve dier rotor
kayplarn karlayacak bir kayma ile dnmelidir. Burada kayma senkron hz ile
rotor mekanik hz arasndaki fark anlamndadr.
Asenkron makine hem elektriksel, hem de mekanik bir cihazdr. Analiz ve
tasarm iin pratikte, ekil 3.3te verilen bir-faz edeer devreleri kullanlr. Bu
devreler, makinenin durgun durumdaki zelliklerini ierirler. Ancak vektr
kontrolne uygun deillerdir. Vektr kontrol iin uygun bir makine modeli sonraki
ksmlarda incelenecektir. Ayrca bu tez almasnda kullanlan makinenin deerleri
Tablo 3.1de verilmitir.



d
A1
C1
C2
B1
B2
A2
q
ekil 3.2 Sincap-kafes asenkron makinenin ematik gsterimi
R
s
Ll
s
R
r
/s Ll
r

L
m

V
s

I
s


ekil 3.3 Sincap-kafes asenkron makine durgun-durum bir-faz
edeer devresi
I
r

19
Tablo 3.1 Tez projesinde kullanlan asenkron makinenin deerleri

Makine Anma Deerleri
Anma gc P
n
= 750 W
Anma voltaj V
n
= 220 Vrms (faz)
Anma Akm I
n
= 1.9 Arms
Anma frekans fn = 50 Hz
Anma hz n = 1395 d/dak.
Kutup says p = 4
Kayma s = 0.07
Anma Momenti T
n
= 5.134 Nm
Edeer Devre Parametreleri
Stator direnci r
s
= 9.9
Rotor direnci r
r
= 12.345
Ortak indktans l
m
= 0.590 H
Stator indktans l
s
= 0.661 H
Rotor indktans l
r
= 0.661 H

3.2.1 Dinamik Makine Modeli
Daha nce vektr kontrol iin asenkron makinenin dinamik modelinin gerekli
olduundan bahsedilmiti. Bu blmde asenkron makine dinamik modeli
oluturulmaya allacaktr.
ekil 3.4te asenkron makinenin transformatre benzeyen edeer devresi
verilmitir. st indisler elemann hangi referans yapya gre deerlendirildiini
gstermektedir. ekil 3.4e gre stator sarglarndan geen toplam ak stator referans
yapya gre,

v
s
s

i
s
s

ekil 3.4 Sincap-kafes asenkron makine bir-faz dinamik edeer
devresi
v
r
r

i
r
r

r
s
s

r
r
r

l
s
s
l
r
r

N
s
N
r

s
s

r
r

m

20


s
m
s
ls
s
s
+ = (3.1)
eklinde yazlabilir. Burada st indis s stator referans yapy, eitliin sol
tarafndaki terim stator aksn, eitliin sa tarafndaki birinci terim stator kaak
aksn, ikinci terim ortak aky temsil etmektedir. Benzer ekilde rotor sarglarndan
geen toplam ak da,
s
m
s
lr
s
r
+ = (3.2)
eklinde yazlabilir. Burada eitliin sol tarafndaki terim rotor aksn, eitliin sa
tarafndaki birinci terim ise rotor kaak aksn temsil eder. Karlkl indktansn l
m
s

olmas halinde ortak ak,
s
r
s
m
s
s
s
m
s
m
i l i l + = (3.3)
burada i
s
s
ve ve i
r
s
srasyla stator referans yapya gre stator ve rotor sarglarndan
geen akmlardr. Kaak aklar ise srasyla,
)
`

=
=
s
r
s
lr
s
ir
s
s
s
ls
s
ls
i l
i l

(3.4)
burada l
ls
ve l
lr
srasyla stator referans yapya gre stator ve rotor kaak
indktanslardr. Denklem 3.3 ve denklem 3.4 denklem 3.1 ve denklem 3.2de
yerlerine yazlrsa stator aks,
s
r
s
m
s
s
s
s
s
s
s
r
s
m
s
s
s
m
s
s
s
ls
s
s
i l i l
i l i l i l
+ =
+ + =

(3.5)
benzer ekilde rotor aks
s
r
s
r
s
s
s
m
s
r
i l i l + = (3.6)
biiminde elde edilir. Burada l
s
s
= l
ls
s
+ l
m
s
ve l
r
s
= l
lr
s
+ l
m
s
olduu aktr. Basitlik
asndan tm elemanlar statora gre ifade edildiinden devre parametrelerindeki st
indis s denklemlerde gsterilmezse son iki eitlik,
)
`

+ =
+ =
s
r r
s
s m
s
r
s
r m
s
s s
s
s
i l i l
i l i l

(3.7)
eklinde gsterilebilir. Bylece kendi referans yaplarna gre ekil 3.4deki
devrenin voltaj denklemleri,
21

+ =
+ =
r
r
r
r
r
r
r
r
s
s
s
s s
s
s
dt
d
i r v
dt
d
i r v

(3.8)
eklinde yazlabilir. Burada st indis r rotor referans yapy temsil eder. ncelikle
stator referans yap denklemleri oluturulursa denklem 3.8deki birinci eitlikle
uramaya gerek kalmaz. Ancak ikinci denklemin stator referans yapya aktarlmas
gerekir. ekil 3.4te stator ve rotor sarm saylar srasyla N
s
ve N
r
iin sarm oran,

r
s
N
N
= (3.9)
olsun. Transformatrlerde bir empedansn iki farkl referans yapdaki deerlerinin
oran dnm orannn karesi ile ayndr. Buna gre rotor direnci iin,

r
r
r
r r
2
1

= (3.10)
yazlabilir. Rotorun belirli bir anda statordan
r
kadar ileride olduunu kabul edelim.
Ayrca,

r
r
dt
d

= (3.11)
olsun. Burada
r
rotor asal hzdr. Statordan
r
kadar ileride olan bir referans
yapdaki vektrleri statora aktarmak iin bu vektrlerin e
jr
ile arplmas yeterlidir.
Buna gre sarm oran ilikisi de kullanlarak akm, voltaj ve ak vektrleri rotor
referans yapdan stator referans yapya,

=
=
=
r
r
j s
r
r
r
j s
r
r
r
j
s
r
r
r
r
e
v e v
i
e
i

(3.12)
biiminde aktarlabilir. Denklem 3.10 ve denklem 3.12, denklem 3.8de yerine
yazlrsa,

s
r r
s
r
s
r r
s
r
j
dt
d
i r v + = (3.13)
elde edilir. Bylece voltaj eitlikleri,
22

+ =
+ =
s
r r
s
r
s
r r
r
r
s
s
s
s s
s
s
j
dt
d
i r v
dt
d
i r v

(3.14)
biiminde tm deerler stator referans yapda olmak zere yeniden yazlabilir. imdi
ilemleri bir adm daha ileriye gtrp eitlikleri herhangi bir referans yapda ifade
etmeye alalm. Herhangi bir referans yapnn herhangi bir anda durgun stator ile
yapt a
k
olsun, ve asal hz,

dt
d
k
k

= (3.15)
olsun. Daha nce rotor referans yapdan stator referans yapya yaplan vektr
dnmlerine benzer ekilde statordaki bir A
s
vektr iin,

k
j k s
e A A

= (3.16)
yazlabilir. Bylece stator referans yapdaki stator ve rotor voltaj eitlikleri statordan

k
kadar ileride olan herhangi bir referans yapda,

( )
)

+ + =
+ + =
k
r r k
k
r
k
r r
k
r
k
s k
k
s
k
s s
k
s
j
dt
d
i r v
j
dt
d
i r v


(3.17)
biiminde ifade edilebilir. Ayrca denklem 3.7 ile verilen ak eitlikleri de benzer
ekilde statordan
k
kadar ileride olan herhangi bir referans yapda,
)
`

+ =
+ =
k
r r
k
s m
k
r
k
r m
k
s s
k
s
i l i l
i l i l

(3.18)
eklinde ifade edilebilir. Denklem 3.18den i
s
k
ve i
r
k
zlrse,
( ) ( )
( ) ( )
)

=
=

k
r s
k
s m r s m
k
r
k
r m
k
s r m r s
k
s
l l l l l i
l l l l l i


1
2
1
2
(3.19)
eitlikleri elde edilir. Denklem 3.17, 3.18 ve 3.19 makinenin elektriksel modelini
oluturur. Ayrca sincap kafes durumunda rotor ksa devre olduundan v
r
k
= 0
alnmaldr.
imdi tam makine modelini elde etmek iin tork denkleminden
r
nin
bulunmas gereklidir. Genel olarak makinenin retmi olduu tork,
( )
*
Im
2 2
3
k
r
k
s
r
m
e
i
l
l p
T = (3.20)
23
ile verilir. Burada p kutup says, ve st indis * vektrn kompleks eleniini
temsil eder. Rotor mekaniksel hz ise,
L e rm
T T
dt
d
J = (3.21)
eitliinden bulunabilir. Burada J atalet momentini, T
L
yk torkunu,
rm
rotor
mekaniksel asal hzn temsil eder.
rm
= (2/p)
r
yazlrsa,
( )
L e
p
J r
T T
dt
d
=
2
1
(3.22)
eklinde rotor elektriksel asal hz bulunabilir. Denklem 3.20,21,22 makinenin
mekaniksel modelini oluturur.
Bu denklemler makinenin herhangi bir referans yapda modellenebilmesi iin
yeterlidir. Stator referans yap iin
k
= 0, rotor referans yap iin
k
=
r
konulmas
yeterli olacaktr. Ayrca dnm srasnda stator referans yap iin sk ve rotor
referans yap iin rk yazlmaldr. Akm, gerilim ve aklarn dnm iin gerekli
eitlikler denklem 3.12de verilmitir.
3.2.2 Birim Srekli-Zaman Dinamik Makine Modeli
Bu ksmda makinenin birim dinamik modeli oluturulmaya allacaktr.
nceki ksmda elde edilen makine modeli eitlikleri simlasyon yazlm iin uygun
olsalar bile, DSP yazlmnda kullanlmalar mmkn deildir. DSP ierisinde
ondalk saylar dorudan gsterilememektedir. Bu projede kullanlan DSP sabit-
noktal olarak isimlendirilmektedir. Saylar basite 4.12 formatnda gsterilmekte
olup, en soldaki ilk bit saynn iaretini, sonraki 3 bit saynn tam ksmn, ve kalan
12 bit ondalk ksmn gstermek amacyla kullanlmaktadr. Bu durumda
yazlabilecek saylar (8 -8] aralnda kalmaktadr. Bylece bu aralk dnda deer
alan makine deikenlerini bu sistemde ifade edilmeleri mmkn olmayacaktr. Bu
durumu aabilmek iin birim makine modelinden yararlanlacaktr. Birim makine
modelin basite her bir makine deikeni kendi anma deerine blnerek
leklendirilmektedir, ve bylece deikenin alaca deerler 1.0 civarnda
olacaktr.
24
ncelikle her bir makine deikenini uzay vektr olarak kabul edelim, ve her
bir deikeni ekil 3.5te gsterildii gibi d ve q bileenlerine ayralm. Burada
d reel eksen q imajiner ekseni temsil etmektedir. Bu durumda bir A vektr dik
koordinatlar sisteminde,
k
q
k
d
k
A j A A + = (3.23)
biiminde gsterilebilir. Verilen eitlikte alt indis d ve q srasyla vektrn reel
ve imajiner bileenini, st indis k referans yapy temsil eder.
Bu aklamalara gre denklem 3.17-3.18-3.20-3.22de verilen eitliklerden
stator akm, rotor aks, ve rotor elektriksel asal hz zlecek olursa stator
referans yap iin,
( )

|
|

\
|
=
+ =
+
|
|

\
|
=
L
s
r
s
s
r
m
r
s
r r r
r
s
s
r
s
r
s
r r
r r s
m s
r
r r s
m s
s
r r s
m
s
s s
s
T i
l
l p
j
p
dt
d
j i
lm
dt
d
l l
l
j
l l
l
i
l l
l
l
r
i
dt
d
*
2
Im
2 2
3 1
2
1



(3.24)
biiminde srekli-zaman dinamik denklemleri elde edilir. Burada = 1 - l
m
2
/(l
s
l
r
), ve

r
= l
r
/r
r
rotor zaman sabitidir. Bu denklemler simlasyon yazlm iin yeterlidir.
Ancak denetleyici iin birim eitlikler bulunmaldr. Tasarlanan sistemin hem
simlasyon hem de gerekletirme aamalarnda birim sistem kullanlacaktr.
imdi birim sistemi oluturacak olan temel deerler belirlenecektir. Temel
deerler,


A
k

d

q

A
d
k


A
q
k

ekil 3.5 k referans yapsndaki bir vektrn bu referans yapya gre
bileenleri
25

=
=
=
n b
n b
n b
f
I I
V V
2
2
2
(3.25)
biiminde tanmlanr. Bu temel deerlerden,

=
=
=
b
b b
b
b
b
b
b
b
b
I V
T
I
V
Z
V

2
3
(3.26)
biiminde tretilmi temel deerler elde edilir. Buna gre deikenler birim olarak,

=
=
=
=
=
b
b
b
b
b
T
T
T
V
V
v
I
I
i

(3.27)
biiminde birim olarak ifade edilebilir. Ayrca denklemlerde bulunan sabitlerin de
birim sisteme gre,

=
=
=
=
=
=
b
s b
sig
b
m b
m
b
r b
r
b
s b
s
b
r
r
b
s
s
Z
l
x
Z
l
x
Z
l
x
Z
l
x
Z
r
r
Z
r
r

(3.28)
biiminde gncellenmelidir. Bylece, denklem 3.24 birim sistemde stator referans
yapda d ve q bileenlerine ayrldnda,
26

( )

=
+ =
=
+ + + =
+ + + =
m
L
rq sd rd sq
r m
m
r
rq
rd b sq
r
m
rq
rq b
r
rd
sd
r
m rd
sq
sig
b
r
rq
r sig
m
rd b
r sig
m
S
sq sq
sd
sig
b
rq b
r sig
m
r
rd
r sig
m
S
sd sd
T
T
i i
x T
x
p
dt
d
T
i
T
x
dt
d
T
i
T
x
dt
d
v
x T x x
x
x x
x
T
i
dt
di
v
x x x
x
T x x
x
T
i
dt
di

2
2
2
(3.29)
biiminde elde edilir. Burada, basitlik asndan, btn deikenlerin stator referans
yapda olmas nedeniyle st indisler yazlmamtr. Ayrca, burada gsterimi
basitletirmek amacyla,

=
=
|
|

\
|
+ =

b
b
m
b r
r
r
r r sig
m
sig
b s
S
T
p
J
T
r
x
T
T x x
x
x
r
T
2
1
2
2

(3.30)
eklinde ksaltmalar yaplmtr.
3.2.3 Srekli ve Ayrk Zaman Birim Durum Uzay Makine Modeli
Bilindii gibi sistem teorisinde, sistemin karakteristiklerinin belirlenebilmesi
iin sistem durum denklemleri gerekli olur. Bunun iin, sistemdeki baz deikenler
durum deikeni olarak kabul edilir ve sistem bir matris eitlii eklinde ifade edilir.
Bu ksmda makine iin birim srekli-zaman, denetleyici iin birim ayrk zaman
durum uzay oluturulmaya allacaktr.
Denklem 3.29daki asenkron makine modelini oluturan eitlikler
incelendiinde sistem deikenlerinin arpm eklinde terimler ierdii grlr. Bu
durumda sisteme non-lineer sistem denir. Deikenlerin arpm eklinde terimler
yok ise lineer sistem olur. Bir non-lineer durum uzay,
27

[ ]

=
=
) ( ) (
), ( ), (
t Cx t y
t t u t x g
dt
dx
(3.31)
biiminde ifade edilebilir. Burada, x durum matrisi, y k matrisi ve u giritir. C ise
katsay matrisidir. Asenkron makine iin bu matrisler,

( )
( )
( )

=
=
=
2 1
x x y
i i x
v v u
T
rq rd sq sd
T
sq sd
(3.32)
eklinde seilebilir. Bylece, makine srekli-zaman birim durum uzay eitlikleri,

( )

=
=
=
+ =
=
+ + + =
+ + + =
2 2
1 1
4 1 3 2
5
4
5 3 2
4
5 4
3
1
3
2
4
5 3
2
2 2
1 5 4
3
2
1 1
2
x y
x y
T
T
x x x x
x T
x
p
dt
dx
T
x
x x x
T
x
dt
dx
x x
T
x
x
T
x
dt
dx
u
x T
x
x x
x
x x
x x
x
T
x
dt
dx
u
x
x x
x x
x
T
x
x x
x
T
x
dt
dx
m
L
r m
m
r
b
r
m
b
r r
m
sig
b
r r sig
m
b
r sig
m
S
sig
b
b
r sig
m
r r sig
m
S

(3.33)
eklinde yazlabilir.
Ayrk-zaman birim durum uzayn elde etmek iin trevli terimlerin belirli bir
rnekleme zamannda integrasyona tabi tutulmalar gerekir. Buna gre, trapezoidal
integrasyon metodu iin,

T
kT x T k x
dt
t dx ] [ ] ) 1 [( ) ( +
= (3.34)
eitlii kullanlabilir. Burada, T rnekleme zamann, (k+1) imdiki rnekleme
zamann ve k ise bir nceki rnekleme zamann temsil eder. Bylece ayrk-zaman
durum uzay,

[ ]
)
`

=
= +
) ( ) (
), ( ), ( ) 1 (
k Cx k y
k k u k x f k x
(3.34)
eklinde yazlabilir. Asenkron makine iin ayrk-zaman birim durum uzay
deikenleri,
28

[ ]
[ ]
[ ]
[ ]
[ ]

=
=
= +
= +
= +
= +
= +
) ( ) (
) ( ) (
), ( ), ( ) 1 (
), ( ), ( ) 1 (
), ( ), ( ) 1 (
), ( ), ( ) 1 (
), ( ), ( ) 1 (
5
4
3
2
1
k i k i
k i k i
k k u k x f k
k k u k x f k
k k u k x f k
k k u k x f k i
k k u k x f k i
sq sq
sd sd
rq
rd
sq
sd

(3.35)
eklinde seilebilir. Bylece, ayrk-zaman birim durum uzay eitlikleri,

=
=
=
+ + =
+ =
+ + =
+ + + =
) ( ) (
) ( ) (
) (
) ( ) 1 ( ) ( ) ( ) (
) ( ) ( ) ( ) 1 ( ) (
) ( ) ( ) ( ) ( ) ( ) 1 (
) ( ) ( ) ( ) ( ) ( ) 1 (
2 2
1 1
5 5
4 5 3 2 3
5 4 3 1 3
2 4 5 3 2
2
2
1 5 4 3 1
2
1
k x k y
k x k y
k x f
k x
T
T
k x k Tx k x
T
T x
f
k x k Tx k x
T
T
k x
T
T x
f
k u
x
T
k x
T
T
x x
x
k x k x
x x
T x
k x
T
T
f
k u
x
T
k x k x
x x
T x
k x
T
T
x x
x
k x
T
T
f
r
b
r
m
b
r r
m
sig
b
r r sig
m
r sig
b m
S
sig
b
r sig
b m
r r sig
m
S



(3.36)
eklinde yazlr.
Bu ksmda oluturulan denklem 3.33 simlasyon aamasnda makine
modellenmesinde ve denklem 3.36 hem simlasyon aamasnda, hem de DSP
yazlmnda kontrolrn modellenmesi ve gereklenmesi amacyla kullanlacaktr.
3.3. Alan Ynlendirme Kontrol
Alan ynlendirme kontrol asenkron makine iin yabanc uyartml DC makine
yaklamdr. Bu ksmda ncelikle ksaca yabanc uyartml DC makinenin
kontrolnden bahsedilecek ve ayn tr bir kontroln asenkron makineye nasl
uygulanaca aklanmaya allacaktr.
Bilindii gibi yabanc uyartml DC makinenin hz ve tork kontrol asenkron
makineye gre olduka basittir. Makinenin retmi olduu tork,

f a t e
i K T = (3.37)
29
eklinde bulunur. Burada K
t
tork sabiti, i
a
armatr akm, ve
f
alan aksdr. ekil
3.6dan anlalabilecei gibi armatr akm armatre bal kaynak ile ve alan aks
da alan kayna ile dorudan ve birbirinden bamsz olarak deitirilebilir. Bylece,
yabanc uyartml DC makine istenilen herhangi bir hzda istenilen bir yk srebilir.
Bunun anlam, istenilen herhangi bir torkun her hzda retilmesinin mmkn
olacadr.
Asenkron makinede retilen tork ise Denklem 3.20den de anlalabilecei gibi
DC makineye benzer ekilde rotor aks ve stator akmnn arpm ile orantldr.
Ancak asenkron makine durumunda bu iki deikeni birbirinden bamsz olarak
kontrol edebilecek iki ayr sarg mevcut deildir. Bu durumda, ekil 3.7de olduu
gibi, stator akm, bir tanesi rotor aks dorultusunda ve dieri rotor aksna dik
dorultuda olmak zere iki bileene ayrlr. Tarif edilen bu dorultular senkron
referans yapy oluturur ve bu referans yap srekli olarak rotor aks ile birlikte
dner. Stator akmnn rotor aks dorultusundaki bileenine alan oluturan bileen
denir ve DC makinede alan sargs akmna karlk gelir. Stator akmnn dier
bileenine tork oluturan bileen denir ve DC makinede armatr sargs akmna
karlk gelir.
Alan ynlendirme kontrol veya vektr kontrol bu iki bileenin kontrolne
dayanr. Tabii ki, bunlarn kontrol iin byklklerinin ve ynlerinin kesin olarak
bilinmesi gereklidir. Bu deikenlerden stator akmnn llmesi, rotor aksnn
llmesine gre olduka basittir. Stator akm makine terminallerinden llebilir.
Ancak, rotor aksn lmek iin makine ierisine alan sensrleri yerletirmek gerekli
olur. Bu da standart makinelerde mevcut deildir ve src maliyetini artrr.


V
t
E
a
R
a
R
f
V
f

f

i
a i
f
ekil 3.6 Yabanc uyartml DC makine edeer devresi
30


Rotor aksnn bykl ve yn nceki ksmda geni bir ekilde aklanan
dinamik makine modelinden hesaplanabilir. Ancak, bu durumda rotor hznn
bilinmesi gerekli olur. Rotor hz iki yntemle belirlenebilir. Birinci yntem, rotor
hznn dorudan makine milinden llmesidir. Bu yntemde hz alglayan ek bir
eleman gerektiinden src maliyeti artacaktr. kinci yntem, rotor hznn
llebilen dier deikenler yardmyla hesaplanmas veya kestirilmesidir. Bu
durumda ek bir eleman gerekli olmadndan src maliyetinde bu nedenle bir art
olmayacaktr. Ancak birinci ynteme gre, gvenilirlii daha az olacaktr. Bu tez
almasnda ikinci yntem kullanlacak ve ileyii ksm 3.5de aklanmaya
allacaktr. Bu blmn sonraki ksmlarnda alan ynlendirme kontrolnn
ileyiinden bahsedilecektir.
ncelikle, alan ynlendirme kontrolnde daha nce elde edilmi olan
eitliklerden yararlanabilmek iin, -faz iin llen akm ve gerilimin tek bir
vektr ile temsil edilmeleri gereklidir. ekil 3.8 dikkate alndnda birbirlerinden
120lik alarla ayrlm a, b ve c dorultularnda ynlenmi olan adet
stator akm vektr stator referans yapda,

3
2
3
2
+ + =
j s
sc
j s
sb
s
sa
s
s
e i e i i i (3.38)
biiminde gsterilebilir. Elde edilen bu stator akm vektr ekil 3.8deki gibi,

s
sq
s
sd
s
s
i j i i + = (3.39)
q
Stator
ekseni
Rotor aks
d ekseni
d = a

s

i
s

r
=
r
e

i
sd
e

r

ekil 3.7 Alan ynlendirme kontrol iin koordinat sistemleri
ve vektrler

i
sq
e

Rotor aks
q ekseni
31


d ve q bileenlerine ayrlabilir. Bu bileenler denklem 3.38, ve 3.39
eitliklerinden elde edilen,

( )

+
=
=
3
2
s
sb
s
sa
s
sq
s
sa
s
sd
i i
i
i i
(3.40)
eitlikleri ile basite hesaplanabilir. Sonraki aamada, elde edilen akm vektrnn
rotor alan ynndeki ve bu alana dik bileenlerinin bulunmasdr. Bunu yapmak iin
stator referans yapdaki vektr senkron referans yapya aktarlmaldr. Senkron
referans yap rotor alan dorultusunu yatay eksen kabul eden referans yap
anlamnda kullanlmtr. Belirli bir anda rotor alan durgun stator referans yapdan

e
kadar ilerde ise stator referans yapdaki akm vektr senkron referans yapya,

e
j s
s
e
s
e i i

= (3.41)
eitlii yardmyla aktarlabilir. Denklem 3.41 eitliine Euler formlnn
uygulanmas ile stator referans yapdaki akm vektrnn senkron referans yapdaki
d ve q bileenleri,

+ =
+ =
e
s
sq e
s
sd
e
sq
e
s
sq e
s
sd
e
sd
i i i
i i i


cos sin
sin cos
(3.42)
eitlikleri ile bulunabilir. Denklem 3.41deki birinci eitlik alan reten bileeni, ikinci
eitlik tork reten bileeni temsil eder. Denklem 3.40 ve denklem 3.42 ile verilen
dnmlerin tersleri de mevcuttur. Ayrca, burada yalnzca akm vektr iin
verilen bu eitlikler gerilim ve ak vektrleri iinde uygulababilir.
Buraya kadar stator akm vektrnn senkron referans yapdaki bileenleri
bulunmu oldu. Bundan sonra, imdiye kadar yaplanlarn tersine bir yol izlenecektir.
i
s

a = d

q

b

c

i
sd
s


i
sq
s

ekil 3.8 Stator akmnn stator referans yapya gre bileenleri

32
Senkron referans yap zerinde, referans bir akya gre seilmi bir stator akm d
bileeni ve referans bir torka gre seilmi bir stator akm q bileeni var ise,
ncelikle bu referans tork ve ak iin seilen stator akm bileenlerinin stator referans
yapya aktarlmalar gereklidir. Bu seimlerin yapl bu ksmn ierisinde daha
sonra aklanacaktr. Denklem 3.41 eitliklerinden bu akmlar,

+ =
=
e
e
sq e
e
sd
s
sq
e
e
sq e
e
sd
s
sd
i i i
i i i


cos sin
sin cos
* * *
* * *
(3.43)
biiminde hesaplanabilir. Burada, st indis * referans bykl temsil eder. Elde
edilen bu referans akmlar, denklem 3.40 eitlikleri yardmyla -fazl sisteme,
( )

=
+
=
=
* * *
* *
*
* *
2
3
s
sb
s
sa
s
sc
s
sq
s
sd s
sb
s
sd
s
sa
i i i
i i
i
i i
(3.44)
biiminde aktarlabilir. Bylece, -faz iin belirlenen referans akmlar, gerek
akmlarla karlatrlarak, makineye uygulanmas gereken voltaj belirlenebilir. Bu
tez almasnda, voltajlar histerisiz band akm reglatr ile belirlenmektedir.
Buraya kadar, alan ynlendirme kontrol konusunda yaplan aklamalar ekil
3.9 ile zetlenebilir. ekilde grlen koordinat sistemi dnmleri yukarda
aklanmtr. Dier bloklardan PIR ve IQCC blounun ileyiinden bu ksm
ierisinde HBCR ve INVERTER bloklarnn ileyiinden ksm 3.4te EKF
ESTIMATOR blounun ileyiinden ksm 3.5te bahsedilecektir.
PIR blou oransal-integral reglatr ierir. Bu blok referans torkun
belirlenmesi amacyla kullanlmaktadr. Sistemin almas,

+ =
=

dt e k e k T
n n e
n i n p e
n
*
*
(3.45)
eitlikleri ile aklanabilir. Denklem 3.45deki birinci eitlik referans hz ile
gerekleen hz arasndaki farktr. Bu hz hatasnn dzeltilmesi iin makinenin
retmesi gereken referans tork ikinci eitlik ile belirlenir. Hatann oransal sabit ile
arpmndan elde edilen deer ile hatann integralinin integral sabit ile arpmndan
elde edilen deerin toplam referans torku verir. Ancak baz durumlarda makinenin
ve kontrol sisteminin ar yklenmesini nlemek amacyla referans tork belli snrlar
33


arasnda tutulabilir. Ayrca, denklem 3.45te grld gibi integral srekli-zaman
integralidir. Bu integrasyon kontrolrde,
[ ] [ ] [ ] 1 1 + + = + k e T k I k I
n e e
n n
(3.46)
eitlii ile ayrk-zamanda gerekletirilebilir. Burada T rnekleme zamandr. Bu
eitlikler yardmyla elde edilen referans torktan IQCC blounda referans stator
aksnn d bileeni hesaplanr. nceki ksmda verilen denklem 3.20 ile verilen tork
eitlii senkron referans yap iin tekrar dzenlenirse,

e
r
e
sq
r
m
e
i
l
l p
T =
2 2
3
(3.47)
eitlii elde edilebilir. Buradan stator akm ekilirse,

* *
1 2
3
2
e e
r m
r e
sq
T
l
l
p
i

= (3.48)
elde edilebilir. Bylece, senkron referans yapda, referans stator akmnn q
bileeni elde edilmi olur. Ayn akmn d bileeni ise dorudan sisteme
uygulanmtr. Akmn d bileeni rotor aksn retmektedir. Rotor aks sabit
olduundan, akmn bu bileeni de sabit olacaktr. Denklem 3.24teki rotor aksn
veren eitlik senkron referans yapda, durgun-durum iin zlrse,

*
*
e
r
m e
sd
l
i

= (3.49)
eitlii bulunur. Burada,
r
e*
referans rotor aksdr. Aknn referans deeri
simlasyon ortamnda makine nominal artlarda alrken elde edilmitir. Durgun-
ASM
-
+
i
sd
e
*
n*
INV
HBCR
i
sabc
s

S
abc

EKF
EST.

e

PIR
T
e
*

r

n
IQCC
dq
e

dq
s

i
sabc
s
*
abc
s

dq
s

i
sdq
s
*
i
sq
e
*
abc
s

ab
s

ab
s

dq
s

dq
s

Sabc, Vdc
i
sab
s

i
sdq
s

v
sdq
s

i
sb
s

hb V
dc

ekil 3.9 nerilen alan ynlendirme kontrol blok emas

34
durum iin zlmesinin sebebi, bu akmn rnekleme periyodu ierisinde sabit
olarak kabul edilebilir olmasndan kaynaklanmaktadr. Rotor aksnn zamana gre
deiimi rnekleme periyoduna gre yeterince yavatr.
3.4 nverter Modeli ve Anahtarlanmas
nceki ksmda ekil 3.9 ile ilgili olarak HBCR, ve INVERTER bloklarndan
bahsedilmiti. Bunlardan birincisi histerisiz band akm reglatrn, ikincisi
inverteri iermektedir. Bu ksmda bu bloklar yardmyla makinenin srlmesi
aklanmaya allacaktr.
Histerisiz band akm reglatrnn almas basite, referans akm ile
gerekleen akm arasndaki hatann belirli bir band ierisinde tutulmas ilkesine
dayanr. Makinenin -fazndan her biri birbirlerinden bamsz olarak kontrol edilir.
Referans akm ile gerekleen akm arasndaki farkn belirlenen band pozitif ynde
amas gerekleen akmn yetersiz olduu anlamna gelir ve ilgili faza ait anahtar
kapatlarak akmn artmas salanr. Dier taraftan, referans akm ile gerekleen
akm arasndaki farkn belirlenen band negatif ynde amas gerekleen akmn
gereinden fazla olduu anlamna gelir ve ilgili faza ait anahtar alarak akmn
azalmas salanr. Histerisiz band gereksiz anahtarlamalarn ve bylece, meydana
gelecek anahtarlama kayplarnn nlenmesini salar. Bloun almas ayrntl
olarak simlasyon tasarmnda aklanmaya allacaktr.
ekil 3.9daki inverter blou iin ekil 3.10u dikkate alalm. ekle gre
sistemde alt adet anahtar mevcuttur. Ancak, bu anahtarlardan ayn kola bal olanlar
birlikte alrlar. Bunlardan biri dierinin mantksal deili ile ifade edilir ve hibir
zaman iki anahtar ayn anda ak veya kapal durumda olmazlar. ki anahtarn ayn
anda kapal olmas durumunda DC kaynak ksa-devre olur. Bylece, sistem adet
anahtar olduu kabul edilebilir. Uygulamada veya simlasyon almasnda,
makinenin her bir faznn voltajlar llmek yerine, yalnzca DC kaynak voltaj
llmekte ve anahtarlama durumlar yardmyla faz voltajlar hesaplanabilmektedir.
Anahtarlama durumlarna gre elde edilen fazlar aras voltajlar ve faz-ntr voltajlar
Tablo 3.2de verilmitir. Ancak fazlar aras voltajlar;

35

( )
( )
( )

=
=
=
a c dc ca
c b dc bc
b a dc ab
S S V V
S S V V
S S V V
(3.50)
eitlikleri ile de hesaplanabilir. Ayrca faz-ntr voltajlar da,
( )
( )
( )

=
3
3
3
bc ca
cn
ab bc
bn
ca ab
an
V V
V
V V
V
V V
V
(3.51)
eitlikleri ile hesaplanabilir. Ancak, sistem ierisinde bu voltajlar deil d, q
bileenleri gereklidir. nceki ksmda denklem 3.40 ile akm iin verilen koordinat
dnm eitlii burada voltaj iin uygulanp dzenlenirse statora uygulanan voltajn
d, q bileenleri dorudan,
( )
( )

=
=
3
2
c b dc
s
sq
c b a dc
s
sd
S S V
V
S S S V V
(3.52)
eitlikleri ile hesaplanabilir.


Tablo 3.2 nverter anahtar konumlarna makine terminal voltajlar
S
c
S
b
S
a
V
an
V
bn
V
cn
V
ab
V
bc
V
ca

0 0 0 0 0 0 0 0 0
0 0 1 2V
dc
/3 -V
dc
/3 -V
dc
/3 V
dc
0 -V
dc

0 1 0 -V
dc
/3 2V
dc
/3 -V
dc
/3 -V
dc
V
dc
0
0 1 1 V
dc
/3 V
dc
/3 -2V
dc
/3 0 V
dc
-V
dc

1 0 0 -V
dc
/3 -V
dc
/3 2V
dc
/3 0 -V
dc
V
dc

1 0 1 V
dc
/3 -2V
dc
/3 V
dc
/3 V
dc
-V
dc
0
1 1 0 -2V
dc
/3 V
dc
/3 V
dc
/3 -V
dc
0 V
dc

1 1 1 0 0 0 0 0 0
a
b c
_
c
_
b
_
a
b
c
V
dc

ASM
a
n
ekil 3.10 -faz kpr inverter

36
nverterin modellenmesi iin denklem 3.52 ile verilen eitlikler yeterlidir.
Ancak, uygulama aamasnda; ayn kola balanm anahtarlardan birinin alp
dierinin kapatlmas srasnda, anahtarlarn kesime gitmesindeki gecikmeler
nedeniyle, ksa-devre durumlarnn olumamas iin bir anahtar kapatlmadan nce
dierinin almas iin birka mikro saniye civarnda beklenebilir. Bu durumda, k
voltaj, burada hesaplanandan bir miktar kk olabilir. Bu durum uygulama
aamasnda deerlendirilerek hesaplanan voltajn yeniden dzeltilmesi gereklidir.
Bundan baka; uygulama aamasnda, akm rneklemesi, inverterin alt
ksmndaki anahtarlara seri bal direnler zerinde yaplmaktadr. Bu durumda,
akm rneklemesinin yaplabilmesi iin bu anahtarlarn mutlaka kapal olmas gerekli
olur. Her rnekleme periyodu balangcnda, akm rneklemesi iin yeterli bir sre
bu anahtarlarn de ayn anda kapatlmakta ve makine sarglarna sfr voltaj
uygulanmaktadr. Uygulamada statora uygulanan voltaj hesaplanrken bu durumda
dikkate alnmaldr.
3.5 Geniletilmi Kalman Filtresi
Bu ksmda Blm 3.3te bahsedilen EKF ESTIMATOR bloundan
bahsedilecektir. ekil 3.9da gsterilen bu blok kontrol sisteminin temelini
oluturmaktadr ve hesaplamalarn tamam neredeyse bu blok ierisinde
gereklemektedir.
Kalman filtresi lineer sistemler iin kullanlan stokastik gzlemcidir. Bu
algoritmann amac model ve lm belirsizliklerinde durum vektr bileenlerini
kestirmektir. Dier gzlemci-denetleyici yaplarda durum kestirimi model tarafndan
salanan tahmin terimi ile llen k ve tahmin edilen durumun
karlatrlmasyla elde edilen bir dzeltme terimine baldr. Dzeltme terimi
genellikle bir kazan ile arlklandrlr. Kalman filtresi durumunda, kazan
deikendir ve her rnekleme periyodunda sistem grltsne bal olarak yeniden
hesap edilir.
EKF (Extented Kalman Filter - Geniletilmi Kalman Filtresi) yukarda
bahsedilen Kalman filtresinin non-lineer sistemler iin dzeltilmi halidir. Non-lineer
bir sistemin modelini oluturan matematiksel eitlikleri durum deikenlerinin
37
arpm olan terimler ierir. Bu durumda sistemin karakteristik matrisi lineer
sistemlerde olduu gibi kolaylkla oluturulamaz.
ekil 3.11de asenkron makine iin bir EKF sistemi gsterilmitir. Bir
gzlemci sisteminin amac llebilen deikenler yardmyla llemeyen
deikenlerin tahminidir. Bir EKF gzlemci sistemde kestirim yaplrken sistemdeki
parametre deiimleri ile lm elemanlarndan kaynaklanan grltler de dikkate
alnmaktadr. Kalman filtresi istatistik bir sistem olup, sistemden elde edilen veriler
istatistik olarak deerlendirilip llemeyen deikenlerin tahmin edilmesine
allr.
EKF algoritmas asenkron makine modeli zerinde aklanabilir. ncelikle,
denklem 3.36 ile verilen birim asenkron makine ayrk-zaman eitliklerini dikkate
alalm. Burada ayrk-zaman eitliklerinin kullanlma nedeni, bu algoritmann DSP
zerinde altrlacak olmasdr. Ayrca simlasyon aamas da ayrk-zaman iin
tasarlanmtr. lk olarak, sistem durum deikenlerinin tm parametrelere gre
trevi alnarak parametre deiimlerinden nasl etkilendikleri belirlenir. Bu ise
denklem 3.36 ile verilen f
n
fonksiyonlarnn her bir deikene gre,
(
(
(
(
(
(
(
(
(
(
(
(

=
5
5
4
5
3
5
2
5
1
5
5
4
4
4
3
4
2
4
1
4
5
3
4
3
3
3
2
3
1
3
5
2
4
2
3
2
2
2
1
2
5
1
4
1
3
1
2
1
1
1
) (
x
f
x
f
x
f
x
f
x
f
x
f
x
f
x
f
x
f
x
f
x
f
x
f
x
f
x
f
x
f
x
f
x
f
x
f
x
f
x
f
x
f
x
f
x
f
x
f
x
f
k A (3.53)
biiminde diferansiyeli alnrsa,
(
(
(
(
(
(
(
(
(
(
(

=
1 0 0 0 0
) | ( 1 ) | ( 0
) | ( ) | ( 1 0
) | ( ) | ( 1 0
) | ( ) | ( 0 1
) (
3 5
4 5
3 5
2
4 5
2
k k Tx
T
T
k k Tx
T
T x
k k Tx k k Tx
T
T
T
T x
k k x
x x
T x
T
T
x x
x
k k x
x x
T x
T
T
k k x
x x
T x
k k x
x x
T x
T
T
x x
x
T
T
k A
b
r
b
r
m
b b
r r
m
r sig
b m
r r sig
m
r sig
b m
S
r sig
b m
r sig
b m
r r sig
m
S




(3.54)
biiminde EKF iin kullanlacak yeni sistem matrisi belirlenir.
38

EKF algoritmas aada akland gibi be aamada tamamlanr. imdi
srasyla bu be aama aklanmaya allacaktr.
1. A(k) matrisindeki x
3
, x
4
, x
5
terimlerini ieren terimler gncellenerek,
[ ]
[ ]
[ ]
[ ]
[ ]
[ ] [ ] [ ] [ ]
[ ] [ ] [ ] [ ]
[ ] [ ] [ ] [ ]
[ ] [ ] [ ] [ ]
[ ]
[ ]
[ ]
[ ]
[ ]
[ ]
[ ]
(
(
(
(
(
(
(
(

+
(
(
(
(
(
(
(
(
(
(

(
(
(
(
(
(

=
(
(
(
(
(
(
(
(
(
(

+
+
+
+
+
0
0
0
) | (
) | (
) | (
) | (
) | (
1 0 0 0 0
0 ) ( ) ( ) ( ) (
0 ) ( ) ( ) ( ) (
0 ) ( ) ( ) ( ) (
0 ) ( ) ( ) ( ) (
) | 1 (
) | 1 (
) | 1 (
) | 1 (
) | 1 (
2
1
5
^
4
^
3
^
2
^
1
^
4 , 4 3 , 4 2 , 4 1 , 4
4 , 3 3 , 3 2 , 3 1 , 3
4 , 2 3 , 2 2 , 2 1 , 2
4 , 1 3 , 1 2 , 1 1 , 1
5
^
4
^
3
^
2
^
1
^
u
x
T
u
x
T
k k x
k k x
k k x
k k x
k k x
k A k A k A k A
k A k A k A k A
k A k A k A k A
k A k A k A k A
k k x
k k x
k k x
k k x
k k x
sig
b
sig
b

(3.55)
bir sonraki durum vektr tahmini yaplr. Denklem 3.55te grlen st indis ^
kestirilen durum deikenini temsil eder. Ayrca k imdiki rnek k+1 sonraki rnek
anlamndadr.
2. Tahmin hatas kovaryans matrisi hesaplanr.
Q k A k k P k A k k P
T
+ = + ) ( ) | ( ) ( ) | 1 ( (3.56)
Burada Q matrisi yaplan tahmine ne kadar gvenileceini gsterir. Q matrisi ne
kadar byk olursa, nceki tahmin ile yeni tahmin arasndaki fark o kadar byk
olabilir. Bylece, Q matrisi yeni tahminin eski tahminden en fazla ne kadar
sapabileceini gsterir. Bu durumda, Q matrisi sistemdeki grlt seviyesi ile ters
orantl olarak seilmelidir.
3. Kalman kazan matrisi hesaplanr.
{ }
1
) | 1 ( ) | 1 ( ) 1 (

+ + + = + R C k k P C C k k P k K
T T
(3.57)
Burada R matrisi sistemden alnan lmlere ne kadar gvenileceini gsterir.
Denklem 3.57den grlebilecei gibi R matrisi ile K matrisi ters orantldr. K
Parametre
Grlts
lm
Grlts
Asenkron Makine
KESTRM
(Model)
DZELTME
W(k) V(k)
U(k) Y(k+1)
X(k+1|k+1)
EKF
ekil 3.11 Asenkron makine iin EKF algoritmas

39
matrisinin bykl ise yeni tahminin eski tahminden ne kadar sapabileceinin bir
lsdr. Bunun anlam, R matrisi byk seilmesi lmlere az gvenildiini, ve
bunun sonucunda lm grltsnn yksek seviyede olduu, kk seilmesi
lmlerin gvenilir olduu, ve bunun sonucunda lm grltsnn dk
seviyede olduudur.
4. Yeni durum vektr kestirimi yaplr.
)
`

+ + + + + = + + ) | 1 ( ) 1 ( ) 1 ( ) | 1 ( ) 1 | 1 (
^ ^ ^
k k x C k y k K k k x k k x (3.58)
nceki aamada bahsedildii gibi K matrisinin bykl yeni tahminin eski
tahminden ne kadar sapabileceinin bir lsdr. Burada basite, llen sistem
k ile tahmin edilen sistem k arasndaki fark K matrisi ile arlklandrlarak
bir sonraki tahmin dzeltilmektedir.
5. Filtre kovaryans matrisi hesaplanr.
) | 1 ( ) 1 ( ) | 1 ( ) 1 | 1 ( k k P C k K k k P k k P + + + = + + (3.59)
Son aamada bir sonraki rnekleme zamannda kullanlacak olan P kovaryans matrisi
hesaplanmaktadr. Bundan sonra, bu rnekleme sonunda tahmin edilen durum
deikenlerine gre A(k) matrisi gncellenerek 1. aamaya dnlr. Tabii ki, 1.
aamadan itibaren tm algoritma sonraki rnekleme periyodu boyunca iletilecektir.
Tm algoritma ekil 3.12deki gibi zetlenebilir. Bu projede kullanlacak olan
EKF kestirimci sistemin klar,

=
=
=
+ =
5
2 2
sin
cos
x
s
r
s
rq
e
s
r
s
rd
e
s
rq
s
rd
s
r


(3.60)
eitliinde verilmitir. Denklem 3.60 ile verilen ilk eitlikte karekk ilemi
grlmektedir. Simlasyon yazlmnda karekk ilemi iin kullanlacak bir komutun
bulunmasn karn, DSP yazlmnda byle bir komut yoktur. Bu ilemin DSP
ortamnda yaplabilmesi iin Newton iterasyon yntemi kullanlmtr. Bu yntem,
|
|

\
|
+ =
+
n
n n
x
c
x x
2
1
1
(3.61)
40
eitlii ile tanmlanr. Burada c karekk alnacak say, x
n+1
karekk iin (n+1).
iterasyon sonucu x
n
karekk iin n. iterasyon sonucudur. Rotor aks birim sistem
durumunda yaklak 1.0 birim civarnda olduundan x
0
= 1 alnabilir. Bu durumda, 4.
iterasyon sonucunda yaklak 1/1000 civarnda bir hata ile karekk
hesaplanabilmektedir.
Buraya kadar verilen eitlikler yardmyla alan ynlendirme kontrol iin
gerekli olan, denklem 3.61 ile verilen klar elde edilebilir.















KESTRM DZELTME
EKF
sig
b
x
T
) (k u
)) | ( (
^
k k x A
C K
1
Z

+
) | 1 (
^
k k x +
) | (
^
k k x
) | ( k k y
) 1 | 1 (
^
+ + k k x
ekil 3.12 EKF ak emas

41
4. DSP TABANLI VEKTR KONTROLR VE ASENKRON MOTOR
SMLASYON TASARIMI


Bu blmde nceki blmlerde aklanan alan ynlendirme kontrolnn
pratikte uygulanabilir olup olmad, eer uygun ise uygulama aamasna yardmc
olabilecek verilerin elde edilmesine allacaktr. Simlasyon ortam olarak
MATLAB/SIMULINK V7.0.1 yazlm paketi zerinde allmtr. Balangta ayn
paketin eski srmleri zerinde de almalar yaplmtr. Ayrca, The AEgis
Technologies Group, Inc. tarafndan gelitirilen ticari bir yazlm olan acslXtreme
srekli simlasyon dili ve INRIA Scilab Consortium tarafndan gelitirilen ve serbest
olarak datlan MATLAB/SIMULINK (M/S) benzeri SCILAB/SCICOS 4.0
zerinde de almalar yaplmtr. Yaplan almalar sonucunda M/S paketinin
performans, yazlm, dokman, simlasyon hz gibi alardan en uygun simlasyon
ortam olduuna karar verilmitir.
Balangta, simlasyon almalar yaplrken yalnzca M/S paketinde hazr
olarak bulunan Simulink bloklar yardmyla tasarmlar yaplm, ancak, simlasyon
hz ok dk olmaktadr. Matlab m-file ile simlasyondan kanlmtr. Bunun
nedeni srekli-simlasyonu desteklememesidir. Simulink ise potansiyel olarak
srekli-simlasyonu desteklemektedir. Ancak, yukarda bahsedildii gibi, tasarmda
yalnzca paket ierisinde nceden hazr olan Simulink bloklarnn kullanlmas
simlasyon hzn drmektedir. Daha sonra, simlasyon hzn artrmak amac ile,
Simulink bloklar yerine yine Simulinke ait C S-Functiondan yararlanlmtr.
Bylece, hem dorudan C programlar kullanldndan simlasyon hz artrlm,
hem de srekli-simlasyon ortamndan vazgeilmemitir.
M/S C S-Function kullanm ve ilemesi basite yledir. ncelikle, program
normal C ortamnda olduu gibi yazlmaktadr. Tabii ki, bu fonksiyon iinde
nceden hazr baz fonksiyonlar mevcuttur. Bunlar, girilerin tanmlanmas, srekli
ve ayrk-zaman deikenlerinin tanmlanmas, klarn tanmlanmas, balang
deerlerinin atanmas, klarn atanmas gibi fonksiyonlardr. Bu tez projesi iin
yazlan C S-Function dosyalar EK-Ada verilmitir.

42

Simulink C S-Function blou ekil 4.1de gsterildii gibi oluturulur.
ncelikle EK-Ada verilen yazlma benzer bir C-kaynak dosyas oluturulmaldr.
Daha sonra C-kaynak dosyas MATLAB komut satrnda mex komutu ile
derlenerek alabilir ktphane dosyas elde edilir. Elde edilen alabilir dosya
Matlab-Executable olarak adlandrlr. Bu dosyann Simulink model dosyas ile ayn
klasrde olmas gereklidir. Bu dosyay kullanabilmek iin Simulink dosyasna bir C
S-Function blou eklenir ve dosyann ismi bu blok iin alan diyalogda parametre
olarak tanmlanr. Blokta tek giri ve tek k bulunur. Bu giri ve klar vektr
deiken olup fonksiyon ierisinde tanmlanan tm giri ve klar ierirler. Bu
bloa giri yapmak iin, giri vektrnn boyutuyla ayn boyutta bir mux blou, ve
bloktan istenen klar elde etmek iin, k vektr ile ayn boyutta bir demux
blou kullanlr. Bunun dnda, C S-Function blounun kullanm normal Simulink
bloklarnn kullanmndan farkl deildir.
C S-Function kullanm simlasyon hzn neredeyse gerek hza yakn hzlara
karmaktadr. Ancak, yinede EKF algoritmas olduka zaman almaktadr. Simulink
jenerik bloklar ile EKFnin tasarlanmas mmkn olsa bile, hz ve model dosyas
bykl asndan olduka zordur.
4.1. Simlasyon Dosyalar ve Fonksiyonlar
Bu ksm ierisinde Blm 3te ayrntlar aklanan alan ynlendirme kontrol
sistemin simlasyon yazlm ortamna aktarlmas aklanmaya allacaktr.
ncelikle, ekil 4.2de gsterilen M/S model dosyas oluturulmaldr. ekilde
grlen EKF_FOC blou denetleyici sistemi IM blou ise asenkron makineyi temsil
etmektedir. Her iki bloun ierisinde ekil 4.3 ve ekil 4.4te gsterildii gibi birer
adet C S-Function blou ve yukarda bahsedilen ekilde giri ve klarn
dzenlenmesi amacyla kullanlan mux ve demux bloklar mevcuttur.
C Kaynak
Dosyas
(*.c)
MEX
Derleyici
alabilir
Ktphane
Dosyas
(*.dll)
SIMULINK
S-Function
Blou
ekil 4.1 SIMULINK S-Function oluturulmas
43






ekil 4.4 IM Blou ierii

5
wr
4
l mbrq
3
l mbrd
2
i sq
1
i sd
i mpu
S-Functi on2
3
TL
2
vqs
1
vsd
ekil 4.3 EKF_FOC Blou ierii

7
vsq
6
vsd
5
wr_hat
4
l mbrq_hat
3
l mbrd_hat
2
i sq_hat
1
i sd_hat
ekfpu
S-Functi on
3
wr_com
2
i sq
1
i sd
ekil 4.2 DSP tabanl vektr kontrolr ve asenkron motor Simulink modeli

wr*
l oad
Scope1 Scope
v sd
v qs
TL
isd
isq
lmbrd
lmbrq
wr
IM
isd
isq
wr_com
isd_hat
isq_hat
lmbrd_hat
lmbrq_hat
wr_hat
v sd
v sq
EKF_FOC
44
Bunun dnda model dosyasnda herhangi bir blok yoktur. Yalnzca, yine ayn
ekilde grlen klarn gzlenebilmesi iin osiloskop bloklar ve sistem girilerini
temsil eden sabit atama bloklar vardr.
Asenkron makine blouna ait C S-Function impu.c olarak, Denetleyici bloa
ait C S-Function ekfpu.c olarak, EK-Ada verilmitir. Bunun dnda her iki C S-
Function tarafndan da kullanlan dosyalar da vardr. Bunlardan birincisi, asenkron
makine parametrelerini ieren C balk dosyasdr ve EK-Ada im_par.h olarak
verilmitir. kinci dosya ise matris operasyonlarn yerine getirmek iin kullanlan
EK-Ada matopt.c olarak verilen dosyadr. Her iki dosya C diline ait #include
anahtar ile ana dosyalara dahil edilmilerdir.
Asenkron makine srekli-zaman sistem olarak simle edilmitir. Bunun iin
Blm 3te denklem 3.32-3.33 ile verilen birim srekli-zaman eitlikleri
kullanlmtr. Makine parametrelerini ieren im_par.h dosyas,
#include "im_par.h"
biiminde C S-Function dosyas impu.c dosyasna dahil edilmitir. rnekleme
zaman ve srekli-zaman ayrk-zaman seimi,
mdlInitializeSampleTimes(SimStruct *S)
fonksiyonu ile seilmektedir. Durum deikenlerinin ilk deerleri,
mdlInitializeConditions(SimStruct *S)
fonksiyonu ile atanmaktadr. Makine parametrelerine gre birim parametrelerin
hesaplanmas, ve bunlara gre sistem matrislerinin belirlenmesi,
mdlStart(SimStruct *S)
fonksiyonu ierisinde yaplmaktadr. Hesaplanan deerlerin ka aktarlmas,
mdlOutputs(SimStruct *S, int_T tid)
fonksiyonu tarafndan salanmaktadr. Son olarak, diferansiyel denklemlerin
tanmlanmas,
mdlDerivatives(SimStruct *S)
fonksiyonu ierisinde yaplmaktadr. Son fonksiyon ierisinde tanmlanan
diferansiyel denklemler her evrimde bir kere integre edilerek durum deikenlerinin
deeri gncellenmektedir.
Asenkron makine simlasyonu iin kullanlan C S-Function ierisinde matris
operasyonlar olmadndan bu dosya ierisine bu fonksiyon dahil edilmemitir.
45
Denetleyici simlasyonu iin kullanlan C S-Function ekfpu.c olarak EK-
Ada verilmitir. Bu dosyann impu.c dosyasndan fark yalnzca ayrk-zaman
simlasyonu olarak tasarlanm olmasdr. Bunun sebebi, bu dosya ierisinde verilen
algoritmalarn DSP zerinde altrlacak olmasdr. Bu dosyada rnekleme zaman,
200 s olarak seilmitir. Bu sre, DSP yazlmnda da ayndr, ve uygulamada btn
algoritma bu srenin biraz altnda tamamlanabilmektedir. Bu nedenle minimum
rnekleme zaman bu deerin altnda olamaz. Gerekte srekli-zamana yaklamak
iin bu deer mmkn olduunca kk tutulmaldr. Ayrk-zaman sistem
tasarlandndan, denetleyici C S-Function ierisinde diferansiyel eitlikler iin
kullanlan fonksiyon yoktur. Bunun yerine,
mdlUpdate(SimStruct *S, int_T tid)
fonksiyonu kullanlmaktadr. Kullanlan dier fonksiyonlar makine iin verilen
dosyadaki fonksiyonlar ile ayndr.
Model gncelleme fonksiyonu ierisinde ncelikle EKF algoritmas
altrlmakta ve alan ynlendirme kontrol iin gerekli veriler elde edilmektedir.
EKF algoritmas denklem 3.53-3.61de verilen eitliklerden oluur. Ancak, denklem
3.53-3.54 yalnzca balangta im_par.h dosyasnda verilen parametreler
yardmyla bir sefer hesaplanrken, dierleri her evrimde gncellenir. Matris
ilemleri, EK-Ada matopt.c olarak verilen dosyadaki fonksiyonlar ile yaplr. Bu
dosya da, ana dosyaya dahil edilmitir.
EKF algoritmas tamamlandktan sonra, bu algoritmaya gre olduka ksa
sren, denklem 3.40-3.52 eitlikleri yardmyla alan ynlendirme kontrol
algoritmas yerine getirilir. Sonuta, referans hzn elde edilebilmesi iin inverter
anahtar konumlar ve buradan makineye uygulanacak voltajlar belirlenir. Bylece bir
kontrol evrimi tamamlanm olur.
Buraya kadar, bahsi geen dosyalar, Matlab komut penceresinde mex komutu
ile derlenerek alabilir dosyalar elde edilir. Bunun dnda, S C-Function iin
ayrntlara M/S dokmantasyonlarndan, C-dili ayrntlar iin Blm 8de verilen
kitaplara veya baka C dili referans kitaplarna baklabilir.



46
5. TMS320F243 TABANLI ASENKRON MOTOR SRSC TASARIMI
Tez projesi iin kullanlan donanm iki ayr ksmdan olumaktadr. Bunlardan
birincisi, gerekli kontrol yazlmnn yklenebildii ve bir DSP kontrolr ieren
kontrolr kartdr. kincisi ise kontrolr kart ile dorudan balantl olarak alan,
g elektronii anahtarlar, srcler ve lm elemanlar da ieren motor kontrolr
kartdr. Ayrca, motor kontrolr kart, DSP kontrolrn evresel birimlerle
balantsn salamak iin gerekli donanmlar da zerinde bulundurur ve bylece
DSP kontrolr ile evresel birimler motor kontrolr kart yoluyla balanrlar.
5.1. DSP Kontrolr (F243 DSK DSP STARTER KIT)
Bilindii gibi vektr kontrol teknii karmak matematiksel hesaplamalar ierir
ve bu ilemlerin ok hzl bir ekilde yaplmas gereklidir. nk motor ierisinde
meydana gelen deiimlere gre, gerekli olan kontrol sinyallerinin hzl bir ekilde
retilip tekrar motora uygulanmas gereklidir. Bunun iin daha nce de bahsedilen
DSP kontrolrler uygun bir seimdir. Bu tez projesinde Texas Instruments firmas
tarafndan, zellikle motor kontrol uygulamalarna ynelik olarak gelitirilmi olan
TMS320F243 DSP kontrolr entegresi kullanlmtr.
Tez projesinde kullanlan kontrolr kart proje ierisinde gelitirilmemitir.
Bunun yerine yazlm gelitirme amacyla Spectrum Digital firmas tarafndan
gelitirilen TMS320F243 ieren hazr bir kart temin edilmitir. Bu kart zerinde DSP
kontrolr entegresine ek olarak yalnzca okunup-yazlabilen bir bellek ve bir PC
bilgisayar ile seri haberleme salayan arabirim mevcuttur. Dier giri-k portlar
konnektrler araclyla dorudan kart dna alnabilmektedir. ekil 5.1de bu
kartn yaps bloklar halinde grlmektedir. Kart ierisinde kalc bellee
yerletirilmi bir monitr sistem mevcuttur. Bu nedenle kendi kendine
alabilmektedir. Ayrca, RS-232 seri haberleme arabirimi araclyla PC ile
haberleme yeteneine sahiptir. Kart ile birlikte gelen PC yazlm yardmyla kart
iindeki bellekler okunabilmekte, deitirilebilmekte ve ayrca alabilen yazlm
geici bellee yklenebilmektedir. G kayna ise kart zerinde olmayp ayr bir
kaynaktan karta g salanmaktadr.
47

ekil 5.1de grld gibi kontrolr entegresi ierisindeki belleklere ek
olarak, program yklemek iin 8 KB byklnde bir RAM bellek eklenmitir.
Bellek dzenlemesi, program bellei ve veri bellei olarak iki ksma ayrlmtr. Yine
seri haberleme iin bir src de eklenmitir. Dier kontrolr portlar ise dorudan
konnektrlere baldrlar. Tez projesinde bu portlarn tm kullanlmamaktadr.
Kullanlan portlar, analog-digital dntrclerin bal olduu P1 analog
geniletme portu, evre birimleri iin gerekli olan giri-klarn bal olduu P2
giri-k geniletme portu ve PC haberlemesi iin kullanlan P5 seri portudur. P1
ve P2 portlar zerinde herhangi bir arabirim olmayp yine dorudan DSP kontrolr
entegresine baldrlar. Gerekli src devreler motor kontrolr kartnda mevcuttur.
Bunun dnda kalan portlar bo braklmlardr. P1 ve P2 portu ayn biimde motor
kontrolr kartnda da mevcuttur. ki kart birbirlerine dorudan balanmaktadr.
F243 DSK kart hakknda daha geni bilgi iin Spectrum Digital firmas web
sitesine ve TMS320F243 DSP kontrolr hakknda daha geni bilgi iin Texas
Instruments firmas web sitesine baklabilir. Bu kartn Orcad yazlm ile izilmi tam
devre emas F243 DSK Technical Reference isimli kaynakta verilmitir.
ekil 5.1 F243 DSK (DSP STARTER KIT) kart blok emas
A
N
A
L
O
G

G
E
N

L
E
T
M
E

P
O
R
T
U


P
1

I
/
O

G
E
N

L
E
T
M
E

P
O
R
T
U


P
2

ANALOG/DIGITAL
DNTRC
DATA
BUS
ADRES
BUS
RS-232
JTAG
JTAG P5
SRC
S
E
R


P
O
R
T


P
4

G
E
N

L
E
T
M
E

P
O
R
T
U


P
6

SRAM 8 KB
PROGRAM
DATA
TMS320F243
48
5.2. Saysal Motor Kontrolr (DMC)
Motor kontrolr kart, g elektronii anahtarlar, lm elemanlar ve dier
evre birim haberleme srclerini ierir. Bu kart F243 DSK kartna uygun olarak,
Spectrum Digital firmas tarafndan gelitirilmi olan motor kontrolr kart esas
alnarak tasarlanmtr. Kart ilevsel bloklar halinde ekil 5.2deki gibi gsterilebilir.
Kesikli izgi ierisinde kalan ksm motor kontrolr kartn temsil eder. Kaln izgi
ile gsterilen hatlar g devresini belirtmektedir. Dier hatlar kontrol ve lm
sinyallerini gstermektedir. Giri ve klarn tm F243 DSK kartna dorudan
balanabilecek ekilde tasarlanmtr.
G kayna olarak tek faz 220 V AC besleme gereklidir. AC giri basit bir
filtreden geirilerek kpr dorultucuya verilir. Daha sonra elde edilen DC voltaj alt
adet IGBT yar-iletken anahtardan oluan inverter devresine uygulanr. Bylece,
asenkron makine PWM sinyallerine uygun olarak beslenir. IGBT anahtarlar motor
akm ve PWM frekansna uygun olarak seilmilerdir. ekil 5.2de olay alglama
olarak belirtilen blok ierisinde motor miline balanacak olan herhangi bir hz
alglaycsndan gelen sinyalleri alglanabilmesi gerekli sayc girileri vardr. Ayrca,
tez projesinde kullanlmayan, ancak daha ileri uygulamalarn desteklenmesi amacyla
seri evresel arabirim haberlemesi (SPI) ve harici cihazlarla haberleme (CAN) iin
kullanlacak olan giriler de vardr.


RS-232
SPI
CAN
220V
50 Hz AC
F243 DSK GR/IKI GENLETME KONNEKTR
PWM
FAZ V, I
LM
DC V, I
LM
DC HAT
OLAY
ALGILAMA
DER
EVRESEL
BRMLER
IGBT
NVERTER
ekil 5.2 Saysal motor kontrolr (DMC) blok emas
49
PC ile F243 DSK kart arasnda seri haberleme amacyla optik olarak
yaltlm RS-232 arabirim srcs kullanlmtr. Yine harici kullanm amacyla
optik olarak yaltlm iki adet giri ve k mevcuttur. Tm faz akm ve gerilimleri
ile DC hat akm ve gerilimi lm ykselteleri araclyla DSP kontrolrdeki
ADClere ulatrlmaktadr. Akm lmleri iin ykselteler 42 kHz, gerilim
lmleri iin ise 3.2 kHz alak geiren filtre grevi stlenmektedir. DMC kart iin
gerekli besleme voltajlar kart zerindeki voltaj reglatrleri tarafndan
retilmektedir. DMC kart AC giriten baka harici bir kaynaa ihtiya duymaz.
Motor kontrolr kartnn Orcad yazlm ile izilmi tam devre emas EK-Bde
verilmitir. Daha geni bilgi iin Spectrum Digital firmas web sitesine baklabilir.
5.3. TMS320F243 iin Yazlm Tasarm
Yazlm ortam iin eitli seenekler mevcuttur. Bunlardan birincisi, basit bir
metin editr ile dorudan assembly dilinde programn yazlmasdr. F243 DSK kiti
ile birlikte verilen SD24XASM isimli bu program makine diline evrilerek DSP
kontrolre yklenebilir. Ancak bu ekilde programn oluturulmas zaman alcdr, ve
daha karmaktr. Dier bir seenek ise, programn C-dilinde oluturulmasdr.
Bunun iin, kullanlan DSP kontrolre uygun bir C-derleyicisi gereklidir. C-dilinde
oluturulan program bu derleyici yardmyla evirici komutlarna dntrlebilecei
gibi dorudan makine diline de evrilebilir. Bu yntemle elde edilen programda
sonradan gerekebilecek deiiklikler kolaylkla yaplabilir ve anlalmas daha kolay
olacaktr.
Balangta C yazlm ortam seilmitir. Ancak C kaynak dosyasndan C-
derleyicisi ile elde edilen programn DSP tarafndan altrlma sresi seilen
rnekleme zamann amaktadr. Bu nedenle daha karmak olmasna ramen,
rettii programn DSP tarafndan altrlma sresi, belirlenen rnekleme sresini
karlayabilen dorudan assembly kodlar ile yazlm gelitirme yntemi tercih
edilmitir.
ekil 5.3te DSP iin yazlan alan ynlendirme kontrol program ak emas
grlmektedir. Kontrol evrimi senkronizasyonu inverter donanmndan gelen kesme
sinyali tarafndan salanmaktadr. Alan ynlendirme kontrol algoritmasnn tamam
50
bu ekilde PWM_ISR olarak belirtilen kesme hizmeti alt-program ierisinde
gereklemektedir. Bu algoritma iletilmeden nce yazlm ve donanm iin gerekli
olan ilk ayarlarn yaplmas gereklidir. Yazlm iin gerekli ilk ayarlar, deikenlerin
ilk deerlerinin atanmasndan ibarettir. Bu deerler makine parametrelerine gre
hesaplanrlar. Donanm ayarlar ise, birden fazla seimlik fonksiyona sahip DSP
giri/k portlarnn hangi fonksiyonu yerine getirecei, port yn, izin verilecek
kesmeler, kesmelerin gerekleecei zaman veya durum, k portlarnn ilk
deerleri, PWM temel frekans, l-band genilii, ADC iin akm rnekleme
zamannn senkronizasyonu gibi eitli ayarlardr.
Ana program ierisinde vektr kontrol algoritmas iin gerekli herhangi bir
yazlm yoktur. Ancak programn ileyip ilemediinin dardan bakldnda
anlalabilmesini salayan F243 DSK kart zerinde bulunan bir LED lambann
yaklp sndrlmesinden salayan basit bir yazlm konulmutur.

Balang parametrelerini, evre birimleri,
ve kesme durumlarn ayarla
BALA
Ana program, yalnzca DSK
bordundaki LEDi yakp sndr
(Bo Dng)
PWM_ISR
ADCleri oku ve gerekli koordinat
dnmlerini yap
EKF Algoritmas
State Estimation
KONTROLR
Komutlarn belirlenmesi
HBCR
Anahtar konumlarnn
belirlenmesi
ekil 5.3 DSP yazlm ak emas

51
Yukarda bahsedildii gibi btn kontrol algoritmas kesme hizmet alt-
program ierisinde gereklemektedir. Bu sayede, hesaplanan ayrk zaman
eitliklerindeki rnekleme zaman garanti altna alnmaktadr. Ak emasnda
grld gibi ilk olarak ADCler tarafndan okunup ADC kuyruuna saklanm olan
akm ve gerilim rnekleri okunup birim sisteme uygun biimde rneklenerek, stator
referans yapda temsil edilmektedirler. Bu ilemler iin denklem 3.40 ve denklem
3.52 ile verilen eitliklerden yararlanlmaktadr. Elde edilen bu deerler 4.12
formatnda saklanmaktadr. Burada en soldaki ilk bit saynn iaretini, sonraki 3 bit
saynn tam ksmn ve kalan 12 bit ondalk ksmn gstermektedir. Daha nce
bahsedildii gibi bu saylar (8 -8] aralnda kalmaktadr. Birim makine modeli
kullanldndan herhangi bir tama olumamaktadr.
4.12 formatndaki saylar dorudan toplanabilirler. Ancak, arpma ilemi biraz
farkldr. Bunun iin ekil 5.4 dikkate alalm. 4.12 formatnda iki 16 bit say
arpldnda 8.24 formatnda 32 bit bir say elde edilir. Sonu DSPde 32 bit arpm
registerine kaydedilmektedir. ekil 5.4de koyu renk ile gsterilen bitler arpm
sonucunu temsil eder. Elde edilen bu sonu sola doru 4 bit kaydrlrsa arpm st
16 bitte 4.12 formatnda tekrar elde edilir. Ayn ekilde saa doru 12 bit kaydrlrsa
arpm alt 16 bitte 4.12 formatnda tekrar elde edilir. Birinci yol kullanlrsa st 16
bit, ikinci yol kullanlrsa alt 16 bit arpm sonucu olarak kaydedilir.


*
LSB
1
2
ekil 5.4 TMS320F243 zerinde 4.12 formatndaki iki saynn arplmas

MSB
MSB LSB
LSB MSB
52
Daha sonra ak emasnda EKF algoritmas grlmektedir. EKF algoritmasn
yerine getirmek iin denklem 3.53-3.61de verilen eitliklerden yararlanlmaktadr.
Ayn eitlikler simlasyon aamasnda da EKF algoritmas iin kullanlmtr.
Simlasyon aamasnda matris ilemlerini yerine getiren fonksiyonlardan oluan bir
alt-program kullanlmtr. DSP zerinde byle bir alt-program kullanm, eitli
dngler ve dnglerin sona erip ermediini kontrol iin sayalar ve karar aamalar
ierdiinden, kontrol evrimi sresinin uzamasna neden olmaktadr. Bu da daha
nce belirtilen rnekleme zamann snrnn almasna neden olmaktadr. Bu
sebeple, EKF algoritmasndaki matris ilemleri iin hibir karar verme aamas
iermeyen dz bir mantk kullanlmtr. EK-Cde verilen DSP program
incelendiinde matris ilemleri iin baz dngler grlecektir. Derleme zaman
komutlar . ile balar. Bu dngler alma zaman dngleri olmayp derleme
zaman dngleridir ve derleyici programnn ksa tutulmas amacyla
kullanlmladr. Sonu olarak alma zamanna etkileri yoktur. Kullanlan tm
saylar yine 4.12 formatnda saklanmaktadrlar.
EKF algoritmasnda elde edilen klar, denklem 3.60ta toplu olarak
verilmilerdir. Bu sonular ile referans hz kullanlarak referans stator akm
belirlenir. Bu ilemler ekil 5.3de verilen ak emasnda kontrolr olarak gsterilen
blokta gerekleir. Elde edilen bu deerler yine 4.12 formatnda saklanr.
Referans stator akmnn hesaplanmasnda denklem 3.45-3.49 ile verilen
eitliklerden yararlanlmaktadr. Burada yalnzca PI reglatr k nominal tork ile
snrlandrlmtr. ekil 5.5de PI reglatr algoritmas iin ak emas verilmitir.
ekilde grld gibi ncelikle gerekleen hz referans hzdan kartlarak hz
k
p
e


ref


k
i
Z
-1
k
c
T
ref
snrlayc

ekil 5.5 Snrlayc ieren PI reglatr iin ak emas
53
hatas elde edilir. Daha sonra integral sabit ile arplp integre edilen hz hatas ile
oransal sabit ile arplan hz hatas toplanarak referans tork elde edilir. Asenkron
makinenin ar yklenmesini nlemek iin referans tork nominal tork ile
snrlandrlr. Bu durumda integrasyonun da snrlandrlmas gerekir. Bu amala
snrlama ileminden nceki referans tork ile snrlamadan sonraki referans tork
arasndaki fark bir dzeltme sabitiyle arplr. Bu arpm ile integral sabit ile arplan
hz hatas toplanarak integre edilir. Bylece integrasyon sonucu hi bir zaman snr
torku amaz. ntegasyon ilemindeki bu dzeltme yaplmaz ise PI reglatr k
snrlansa bile integrasyon ileminden elde edilen sonu artmaya devam edecektir.
Bu durumda reglatr knn giriteki hataya tepkisinde gecikme oluacaktr.
Referans stator akmlar belirlendikten sonra, denklem 3.43-3.44 ile verilen
eitlikler yardmyla, stator referans yapdaki -faz akmlara dntrlrler. Daha
sonra, ak emasnda HBCR olarak gsterilen blok ierisinde, referans akm ile
gerekleen akm karlatrlarak, inverter anahtar konumlar belirlenir. nverter
anahtar konumlar bir faz iin basite,
if (ia_com-ia)>hb){sa = 1;}
if (ia_com-ia)<hb){sa = 0;}
biiminde belirlenebilir. Burada ia_com referans akm, ia gerekleen akm hb
histerisiz band ve sa inverter S
a
anahtarnn konumudur. Ayrca, bu anahtar
konumlar, DSP inverter karlatrma registerlerine de yklenirler. nverter periyodu
4000 olarak seilmitir. Bir komut evrimi 50 nsdir. Sonu olarak inverter periyodu,
ve ayrca rnekleme periyodu 4000*50*10
-9
= 2000 s olmaktadr. DSPde bulunan
modlatrde karlatrma sayc vardr ve 4000e kadar sayp sfra dnmektedir. Bir
faza ait karlatrma registerindeki deer sayatan kk olursa anahtar ak, byk
olursa anahtar kapal olmaktadr. Bu durumda, bir rnekleme periyodunda anahtarn
tamamen kapal olmas iin karlatrma registerine sfr, tamamen ak olmas iin
4000den byk bir deer yklenmelidir. Sonu olarak, sa = 1 iin karlatrma
registerine sfr ve sa = 0 iin karlatrma registerine 4001 yklenecektir. Ancak,
burada akm rneklemesi iin rnekleme periyodunun balangc kullanlmaktadr.
Bu da rnekleme periyodunun balangcnda 5 s civarnda inverter alt anahtarlarnn
kapal yani sa = 0 olmasn gerektirmektedir. Bu ise sa = 0 iin karlatrma
registerine 4001 ve sa = 1 iin karlatrma registerine 100 konularak
54
salanmakta ve sann her durumu iin rnekleme periyodu balangcnda 5 slik
boluk elde edilmektedir.
TMS320F243 DSP donanm ve SD24XASM assembler program ayrntlar
iin Blm 8de verilen kaynaklara, Texas Instruments firmas web sitesine ve
Spectrum Digital web sitesine baklabilir.


























55
6. DENEYSEL SONULAR
Deneysel sonular iki ksmda incelenmitir. Bunlardan birincisi Blm 4de
verilen simlasyon tasarm esas olmak zere MATLAB/SIMULINK yazlm paketi
ile yaplan simlasyon almalarnn incelenmesidir. kinci ksmda ise Blm 5de
verilen donanm zerinde ve yine ayn blmde verilen, simlasyon almasna
uygun olarak tasarlanan yazlm yardmyla elde edilen deney sonularnn
incelenmesidir.
6.1. Asenkron Makinenin DSP Tabanl Vektr Kontrol Simlasyonu
Simlasyon ortamnda deiik yk ve rotor hzlarnda ksm 3.3te nerilen
vektr kontrol ynteminin dinamik performans incelenmeye allmtr.
Simlasyon sisteminin gerek bir sistemden tek fark, lm grltlerinin ve sistem
grltlerinin modele dahil edilmemi olmasdr. Bu grltlerin gerek sistemde
EKF tarafndan yok edilecei beklenmektedir. Sistem girileri denetleyici iin
referans rotor hz, ve makine iin yk torkudur. Bu alma ile makinenin verilen
referans hzlara uyup uymad, sistemin cevap zaman ve hz kestiriminin doruluu
incelenmeye allmtr. Bu ksm ierisinde yalnzca rotor hz ile ilgili veriler
sunulmu olup, kestirilen rotor aks ile gerekleen rotor aks, stator akm ve stator
faz voltaj ile ilgili grafikler iin EK-Dye baklabilir. Ayn deiken iin elde edilen
veriler birbirlerine ok yakn olduklarndan ayn grafik zerinde verildiinde st ste
akmalar olumutur. Bu nedenle ayn deikene ait veriler farkl grafikler zerinde
verilmek zorunda kalnmtr. rnein rotor hznn kestirilen ve gerekleen
deerleri iin farkl grafikler kullanlmtr.
6.1.1 Vektr Kontroll Asenkron Makinenin Bota alma Simlasyonu
ncelikle, makine bota altrlarak, 12 s boyunca sfr hz da dahil olmak
zere, sistemin deiik rotor hz referanslarna cevab incelenmitir. Bu almann
bota yaplmasnn nedeni, uygulama aamasnda yaplan deneyler de makinenin
bota altrlmasdr. Makineyi ykleyecek dzenek olmadndan, makine
56
uygulamada bota altrlmtr. ekil 6.1, ekil 6.2 ve ekil 6.3te srasyla
asenkron makine bota alrken referans rotor hz, gerekleen hz ve kestirilen
rotor hz verilmitir.




ekil 6.1 Bota alma simlasyonunda referans rotor hzlar

ekil 6.2 Bota alma simlasyonunda gerekleen rotor hzlar

57



Tablo 6.1 Bota alma iin elde edilen simlasyon sonular
Zaman
[s]
Referans
Rotor
Hz [br]
Makine
Yk
[br]
Gerekl.
Rotor
Hz [br]
Kestirilen
Rotor Hz
[br]
Referans
Hza
Uyma [br]
Kestirilen
Hzn
Dor. [br]
Cevap
Zaman
[s]
0-1 0.0 0.0 0.0 0.0 0.0000 0.0000 0.0
1-2 0.1 0.0 0.1 0.1 0.0000 0.0000 0.29
2-3 0.5 0.0 0.505 0.5 0.0100 0.0100 0.14
3-4 1.0 0.0 1.025 1.0 0.0250 0.0250 0.19
4-5 -1.0 0.0 -1.025 -1.0 0.0250 0.0250 0.38
5-6 -0.5 0.0 -0.505 -0.5 0.0100 0.0100 0.16
6-7 -0.1 0.0 -0.1 -0.1 0.0000 0.0000 0.29
7-8 0.1 0.0 0.1 0.1 0.0000 0.0000 0.10
8-9 -1.0 0.0 -1.025 -1.0 0.0250 0.0250 0.42
9-10 1.0 0.0 1.025 1.0 0.0250 0.0250 0.53
10-11 0.0 0.0 0.0 0.0 0.0000 0.0000 0.50
11-12 -1.0 0.0 -1.025 -1.0 0.0250 0.0250 0.40

ekil 6.3 Bota alma simlasyonunda kestirilen rotor hzlar

58
Bota yaplan simlasyon almalar gstermitir ki, sistem sfrdan anma
hzna kadar her hzda kararl olarak alabilir. Sistem tm hzlarda, verilen referans
hza en fazla 0.025 sapmayla uymaktadr. Kestirilen rotor hz ile gerekleen rotor
hz arasndaki farkn gerekleen rotor hznn 0.025i civarnda olduu
gzlenmitir. Tablo 6.1de bota alma simlasyonu iin elde edilen sonular
zetlenmitir.
Tablo 6.1 ile ekil 6.1, ekil 6.2 ve ekil 6.3te verilen grafiklerden de
grlecei gibi nerilen vektr kontrol yntemi rotor hz alglaycl asenkron
makine srclerinin yerini alabilecek kadar yksek dorulukta hz kestirimi
yapmakta ve ayn ekilde verilen referans hza uymaktadr.
nerilen vektr kontrol ynteminin cevap zaman ilk hz ile son hz arasndaki
farka bal olarak ortalama 0.20 s civarnda olmaktadr. Bu deer, referans hz ile
gerekleen hz arasndaki farkn, referans hzn 0.1ine ulat sre olarak
alnmtr. Elde edilen cevap zaman olduka iyidir.
6.1.2 Vektr Kontroll Asenkron Makinenin Ykte alma Simlasyonu
kinci olarak yaplan simlasyon almasnda asenkron makinenin DSP tabanl
vektr kontrol iin nerilen yntemin her iki ynde deiik yklerdeki dinamik
performans incelenmeye allmtr. Bu almada referans rotor hz 0.8 br. iken
ve -0.8 br. iken yk artlar deitiinde makine hznn korunup korunmad
gzlenmitir. Burada hzn 0.8 br. olarak seilmesinin nedeni birim sistem
oluturulurken temel olarak alnan hzn senkron hz olmasdr. Makinenin anma
ykndeki anma hz yaklak 0.90 br. senkron hzdr. Bu nedenle simlasyon iin
seilen referans hz 1.0 br. den daha kk bir deer olarak seilmitir. ekil 6.4,
ekil 6.5, ekil 6.6, ve ekil 6.7de srasyla makineye uygulanan yk torklar,
referans rotor hzlar, gerekleen rotor hzlar ve kestirilen rotor hzlar verilmitir.
ekil 6.6da verilen grafikten gerekleen rotor hznn her iki ynde de pozitif
ve negatif yk torklar iin korunduu anlalmaktadr. Ayrca makine referans hza
uymaya devam etmektedir. Tablo 6.2de nceki alma iin oluturulan tabloya
benzer bir tablo verilmitir. Tablo 6.2 incelendiinde nerilen DSP tabanl vektr
ynteminin deiik yk artlar altnda alma noktasndan ayrlmayp kararlln
59
koruduu grlmektedir. Referans rotor hz ile gerekleen rotor hz arasndaki fark
ortalama olarak referans hzn 0.025 civarnda olmaktadr.
nerilen sistemin yk deiimlerine kar cevabnn ok hzl olduu Tablo
6.2den aka grlmektedir. rnek olarak yk torku 1.0 br. iken -1.0 br.
yapldnda sadece 0.15 sde rotor hz kararl duruma ulamaktadr. Daha kk
deiimler iin sfr cevap zaman gzlenmitir. Hz referans deitiinde daha
byk cevap zamanlar gzlenmitir.
Dier taraftan, hem Tablo 6.1 hem de Tablo 6.2de kestirilen hz ile referans
hzn tamamen ayn olduu grlmektedir. Sonu olarak, referans rotor hznn
kestirilen hza uyumunda hata sfrdr. Bunun anlam, hz alglayc ile birlikte
sistemin srekli hz hatas sfr yaplabilir.
Tabii ki, sistemin uygulama aamasndaki performans gerek sistemle yaplan
deneyler ile anlalabilir. Buraya kadar yaplan simlasyon almalarndan, sistemin
uygulanabilir olduu anlalmaktadr. Uygulama aamasnda simlasyon
almasndan farkl olarak parametre ve lm grltleriyle karlalacaktr.
Ancak makine modelini oluturan durum denklemlerindeki durum deikenlerinin
kestirimi iin kullanlan EKF algoritmas grltleri filtre etme yeteneine sahiptir.


ekil 6.4 Ykl alma simlasyonunda makine ykleri
60






ekil 6.6 Ykl alma simlasyonunda gerekleen rotor hzlar
ekil 6.5 Ykl alma simlasyonunda referans rotor hzlar
61


Tablo 6.2 Ykl alma iin elde edilen simlasyon sonular
Zaman
[s]
Referans
Rotor
Hz [br]
Makine
Yk
[br]
Gerekl.
Rotor
Hz [br]
Kestirilen
Rotor Hz
[br]
Referans
Hza
Uyma [br]
Kestirilen
Hzn
Dor. [br]
Cevap
Zaman
[s]
0-1 0.8 0.0 0.81 0.8 0.0125 0.0125 0.28
1-2 0.8 0.5 0.82 0.8 0.0250 0.0250 0.00
2-3 0.8 1.0 0.83 0.8 0.0375 0.0375 0.00
3-4 0.8 -1.0 0.80 0.8 0.0000 0.0000 0.15
4-5 0.8 -0.5 0.81 0.8 0.0125 0.0125 0.00
5-6 0.8 0.0 0.81 0.8 0.0125 0.0125 0.00
6-7 -0.8 0.0 -0.81 -0.8 0.0125 0.0125 0.29
7-8 -0.8 0.5 -0.81 -0.8 0.0125 0.0125 0.00
8-9 -0.8 1.0 -0.83 -0.8 0.0375 0.0375 0.00
9-10 -0.8 -1.0 -0.83 -0.8 0.0375 0.0375 0.11
10-11 -0.8 -0.5 -0.82 -0.8 0.0250 0.0250 0.00
11-12 -0.8 0.0 -0.81 -0.8 0.0250 0.0250 0.00

ekil 6.7 Ykl alma simlasyonunda kestirilen rotor hzlar
62
6.2. TMS320F243 Tabanl Asenkron Motor Srcs ile Yaplan Uygulama
Sonular


Denemeler blm 5de verilen donanm zerinde ve yine ayn blmde
verilmi olan simlasyon tasarmna uygun olarak dzenlenmi nerilen yazlm ile
yaplmtr. TMS320F243 Tabanl motor kontrolr kart devre emas EK-Bde ve bu
motor kontrolr kartna uygun olarak dzenlenmi asenkron motorun EKF tabanl
vektr kontrol yazlm EK-Cde verilmitir. F243 DSK kart devre emas iin ise
Blm 8de verilen F243 DSK Technical Reference isimli kaynaa baklmaldr.
ekil 6.8de denemelerin yapld dzenek grlmektedir. Grld gibi
dzenek kiisel bilgisayar (PC), asenkron makine, saysal motor kontrolr kart
(DMC) ve F243 DSK kartndan olumaktadr. ekilde kuvvetli akm geen hatlar
dierlerinden daha kaln izilmitir. Sistemde PC haricinde kalan tm kartlarn
beslemesi tek-faz 220 V, 50 Hz ebekeden salanmaktadr. Gerekli dier beslemeler
motor kontrolr zerinde 220 V AC giriten retilmektedir. Yine F243 DSK kart
iin gerekli 5 V DC voltaj da motor kontrolr kartndan salanmaktadr.
ekilde grlen PC lmlerin ve F243 DSKnn izlenmesi ile kontrol
yazlmnn F243 DSKya yklenmesi amacyla kullanlmaktadr. PC ile F243 DSK
kart arasndaki haberlemeler seri port zerinden salanmaktadr. Bu amala F243
DSK kart ile birlikte gelen Code Explorer yazlm kullanlmaktadr. Sisteme
enerji verildiinde F243 DSK ierisinde bulunan monitr yazlm almaya
balamakta ve PCden bir balant isteini beklemektedir. PC tarafnda Code
Explorer yazlm altrldnda PC ile F243 DSK arasnda bir seri balant
oluturmaktadr. Bylece kullanc F243 DSK zerindeki verileri izleyebilmekte ve
denemek istedii kontrol yazlmn F243 DSK kartna ykleyebilmektedir. Code
Explorer yazlmnn bunun dnda herhangi bir zellii yoktur. F243 DSK
ierisindeki monitr yazlm ise kalc bellee imalat aamasnda yklenmitir.
Kullancnn bu yazlm zerinde herhangi bir dzenleme yapma imkan yoktur.
Saysal motor kontrolr (DMC) kart ve F243 DSK kart zerinde tamamen
birbirlerinin ayn olan portlar mevcuttur. Bunlar genel giri/k ular ve 5 V, DC
beslemenin bulunduu I/O geniletme portu ve ADC terminallerinin bulunduu
63
analog geniletme portudur. Bu portlar ve u balantlar iin EK-Bde verilen DMC
kart devre emasna baklabilir. Balant iin DMCde ve F243 DSKda dii
konnektrler vardr. ki kart bu konnektrler araclyla birbirlerine dorudan
balanmlardr. I/O geniletme portu PWM sinyallerinin aktarlmas ve analog
geniletme portu voltaj ve akm lmleri iin kullanlrlar.
Denemeler srasnda kullanlan asenkron motor ksm 3.2de deerleri verilen
0.75 kW gcndeki sincap-kafes rotorlu asenkron makinedir. ekil 6.8de grld
gibi motor ile kontrolr arasnda g ileten hattan baka herhangi bir balant yoktur.
Bu hatlar zerindeki gerekli tm lmler motora gelmeden nce kontrolrde
yaplmaktadr. Bunun dnda motor zerinden herhangi bir lm alnmamaktadr.
Yine motor miline bal herhangi bir yk de yoktur. Yaplan denemeler motor bota
alrken yaplmaktadr.
ekil 6.9, ekil 6.10 ve ekil 6.11de srasyla ADC ile dorudan llm
olan gerekleen stator faz-A akm, EKF ile kestirilen rotor alan aks d bileeni
ve EKF ile kestirilen rotor hz verilmitir. ekillerde verilen grafikler deney sistemi
alrken evrim-ii olarak izlenememektedir. Verilen grafikleri elde etmek iin,
ncelikle, her kontrol evrimindeki ADCler tarafndan llp birim sistemde 4.12
SAYISAL MOTOR
KONTROLR
(DMC)
G GR
220 V, 50 Hz
TEK FAZ
EBEKE
SER PORT
BALANTISI
-FAZ MOTOR
BALANTISI
ekil 13 TMS320F243 Tabanl asenkron motor src dzenei
F243 DSK
64
formatnda saklanan deerler, srayla F243 DSK RAM belleinin bo bir alanna
yazdrlmaktadr. F243 DSK RAM zerinde bo 12 KB bellek bulunmaktadr. Bu
bellek 0x9000-0xbfff arasndaki blgeden olumaktadr. Bu blge her deneme
sonunda adet veriyi saklayacak ekilde 0x9000-0x9fff, 0xa000-0xafff
ve 0xb000-0xbfff olarak alt blgeye ayrlmtr. Bylece, her bir blgede, her
biri bir rnekleme anndan elde edilen 4096 adet veri srayla saklanabilmektedir.
Daha sonra, RAM bellekte saklanan veriler Code Explorer program yardmyla,
PCde data-file olarak saklanmaktadr. Elde edilen bu data-file ise M/S ortamnda
matris veriler olarak okunmakta ve yine M/S figure olarak izdirilmektedir. ekil
6.9, ekil 6.10 ve ekil 6.11de verilen grafikler bu yolla elde edilmilerdir. Tabii ki,
bu verilerin, EKF kestiriminden elde edildii aktr. ekil 6.8de verilen deney
dzeneinden de grlecei gibi asenkron makine zerinden lm almak iin
herhangi bir l cihaz yoktur.
ekil 6.9, ekil 6.10 ve ekil 6.11de verilen grafikleri elde etmek iin birim
referans rotor hz komutu uygulanmtr. Grld gibi makine bu referans rotor
hzna uymaktadr. Birim deerler TMS320F243 DSP zerinde 4096 saysna karlk
gelir. Bunun nedeni 4.12 sabit noktal gsterim formatdr. Bu formatta 1.0 deeri
0x1000 olarak temsil edilmektedir. Bilindii gibi, 0x1000 onalt tabannda bir
saydr ve onluk sistemde 4096 saysna karlk gelir. F243 DSKdan okunan deerler
4096ya blnerek grafikler izdirilmitir.
ki rnek arasndaki sre rnekleme sresi olup 200 s dir. Grafiklerde yatay
eksen de 4096 rnek alnd grlmektedir. Bylece bu rneklerin alnd toplam
sre 4096*200*10
-6
= 819.2 ms dir. Buna gre, sistemin adm cevab 0.36 ms
civarndadr. Ayrca, referans rotor hz ile kestirilen rotor hz arasndaki birim hata,
simlasyon almasnda olduu gibi sfr civarnda gereklemektedir. Cevap
zaman da simlasyon almas ile uyumludur.
Bunun dnda, alan ynlendirme kontrol yerine makine bota iken alt-adm
inverter ile frekans kontrol yaplmtr. Bunun amac hz kestiriminin doruluunu
test etmektir. Bilindii gibi makine bota alrken yaklak senkron devirde
dnmektedir. Bu almada, makineye alt-adm inverter ile anma voltajnda ve
frekansnda altrlarak senkron devirde dnmesi salanmtr. Bununla birlikte
EKF algoritmas da ayn anda iletilerek rotor hz kestirimi de yaplmtr. Bu
65
alma sonucunda da, senkron devirde dnen asenkron makinenin rotor hznn sfr
hata ile EKF tarafndan kestirildii gzlenmitir. Bu ekilde hz kestiriminin
doruluu test edildikten sonra makineye alan ynlendirme kontrol uygulanarak
yukarda aklanan sonular elde edilmitir.




ekil 6.10 TMS320F243 Tabanl src ile yaplan bota alma
deneyinde kestirilen rotor alan aks d bileeni
ekil 6.9 TMS320F243 Tabanl src ile yaplan bota alma
deneyinde gerekleen stator Faz-A akm
66




















ekil 6.11 TMS320F243 Tabanl src ile yaplan bota alma
deneyinde kestirilen rotor hz
67
7. SONULAR VE NERLER
7.1. Sonular

Bu tez almas srasnda, alan ynlendirme kontrol, hz ve parametre
kestirim yntemleri, inverter modlasyon trleri, simlasyon ortamlar, assembly
veya C ortamnda program gelitirme gibi, bir ok konuda olduka fazla yntem
zerinde incelemeler yaplm, mevcut olan imkanlar erevesinde en uygun olan
yntemlerin seilmesine dikkat edilmitir. Bu almalar sonucunda, en uygun
yntemlerin, nceki blmlerde aklanmaya allan ve bu tez almasnda
gerekletirilen yntemler olduu sonucuna varlmtr.
Burada verilen kaynaklardaki yntemler ncelikle simlasyon ortamnda test
edilerek, uygulanabilirlii aratrlmtr. Literatrde bahsi geen bir ok yntemin
simlasyon ortamnda iyi sonular vermesine ramen, gerek bir sistem zerinde test
edildiinde almasnn rotor hz gibi bir ok snrlar dahilinde olabilecei
grlmtr.
En fazla zerinde durulan konu hz kestirimi olmutur. zellikle, MRAS
yntemi zerinde durulmutur. Yntem klar ayn durum deikeni olan iki
makine modelinin karlatrlmasna dayanr. Kestirilmeye allan deiken adaptif
modelinin giriidir. ki modelin k kestirilmeye allan deiken ayarlanarak
eitlenir. Bylece llemeyen deiken kestirilmi olur. Bu yntem simlasyon
ortamnda olduka iyi sonular vermektedir. Ancak, gerek sistem zerinde
kullanldnda hibir zaman anlaml sonular elde edilememitir. Sistemin
kararszla neden olan taraf ak evrim integrasyon iermesidir. Ak evrim
integrasyon simlasyon ortamnda olduka rahat altrlabilmektedir. Ancak,
gerek sistemdeki grltler, DSPde saylarn yeterince hassas ifade edilememesi,
lm devrelerinde meydana gelen DC bileenler gibi nedenlerle, integrasyon off-set
noktasnda kayma meydana gelmekte ve srklenme olarak adlandrlan durum
olumamaktadr. Srklenme sonucunda saylar DSPnin gsterebilecei snrlar
amakta ve tamalar meydana gelmektedir. Bu durumun giderilebilmesi iin de
yntemler mevcuttur, ancak bu yntemlerle elde edilen sonularda asl veri
68
bozulmakta ve kontrol kararsz hale getirecek yanl veriler elde edilmektedir.
Sonu olarak, bu yntemin iletilebilmesi iin harcanan olduka fazla emee ramen,
bu yntemden vazgeilmi ve baka yntemler zerinde durulmutur.
Hz kestirimi iin yaplan aratrmalar sonucunda EKF algoritmasnn bu i iin
uygun olduuna karar verilmitir. Bu algoritma sayesinde, nceki blmde de
akland gibi, hz alglaycl veya hz alglaycsz olarak altrlan dier pek ok
yntem ile elde edilemeyen, sfr hzda almann gerekletirilebilecei
grlmtr. EKF algoritmasnn tek kt taraf olduka fazla matris ilemidir ve bu
ilemler tm alan ynlendirme algoritmasnn yaklak 15 kat sre almaktadr. Bu
durum ise rnekleme zamann uzatmaktadr. rnekleme zamannn uzamas, kontrol
iin tehlikeli bir durum olup, burada da yaplan, rnekleme zaman ierisinde bir
deikenin yaklak olarak sabit kald gibi baz kabulleri, geersiz klabilir. Ancak
bu almadaki rnekleme zaman yaplan bu tr kabuller asndan sorun
oluturmamtr.
Bunlardan baka, inverter modlasyon teknikleri zerinde durulmutur.
Balangta, uzay vektr darbe genilik modlasyonu (SVPWM) kullanlarak
almalar yaplmtr. Bu yntem stator akmnn veya voltajnn uzay vektr
olarak dnlmesine ve bu vektrn alt-adm inverterde de kullanlan alt adet
vektr kullanlarak elde edilmesine dayanr. Ancak, bu yntem iin olduka fazla
hesaplama gerektiinde EKF ile birlikte kullanlmamasna karar verilmitir. Aksi
halde, rnekleme zamannda biraz daha uzama olacaktr. Ayrca, bu yntemde akm
rneklemesi, histerisiz band akm reglatr modlasyonuna gre daha zordur.
Histerisiz band akm reglatr iin kullanlan algoritma ksm 3.4 ve ksm 5.3te
akland gibi olduka basittir ve ksa zaman alr. Bu nedenle SVPWM
modlasyon ynteminden vazgeilip HBCR modlasyon yntemi tercih edilmitir.
Dier bir inceleme konusu da simlasyon ortamdr. ncelikle, asenkron
makineyi ve denetleyici sistemi simle etmek iin srekli-simlasyon ortam
gereklidir. ncelenen simlasyon paketleri MATLAB/SIMULINK, acslXtreme, ve
SCILAB/SICOS paketleridir. Balangta, ilk paket kullanlm ve Simulinkte hazr
bulunan bloklar yardmyla tasarm yaplmtr, ancak bu yntemle simlasyon
olduka uzun srmektedir. kinci olarak acslXtreme paketi zerinde durulmutur. Bu
pakette grafik ortam olmayp, metin tabanldr. Bu paketle yaplan denemelerde yine
69
olduka uzun simlasyon zamanlar meydana gelmitir. nc paket olan
SCILAB/SCICOS paketi grafik ortama sahiptir, ve serbest datlmaktadr. Ancak bu
paket srekli gelitirilmekte olup, almas ok kararszdr ve anlaml sonular elde
edilememektedir. Son olarak, simlasyonun C ortamnda yaplmasna karar
verilmitir, ancak, bu durumda her yaplacak i iin yazlmn tek tek oluturulmas
gereklidir. Ayrca, standart sonularn elde edilemeyecei sonucuna varlmtr. Tm
bunlar dikkate alndnda, standart simlasyon ortam, hazr fonksiyonlar, grafik ve
metin ortamnn ayn anda kullanlabilmesi, simlasyon iin kullanlacak modelin
sadelii, simlasyon hz gibi bir ok fayday bir arada salayan
MATLAB/SIMULINK paketinde C S-Functionn kullanlmasna karar verilmitir.
Bu ekilde elde edilen simlasyon hz gerek hz dahi aabilmektedir.
Son olarak, DSP yazlm ortamlar zerinde durulmutur. Bu konudan daha
nce bahsedilmitir. Balangta, yazlmn kolay ve anlalr olaca dncesiyle C
ortam kullanlmtr. Ancak bu ekilde edilen DSP program, her ilem iin bir ok
alt-program ve dallanma ierdiinden, bir evrimin alma sresi rnekleme sresini
amaktadr. Bu nedenle, DSP yazlm ortam olarak metin editr assebmly dili
derleyicisi kullanlmasna karar verilmitir. Bu ekilde elde edilen DSP programnn
bir evriminin almas rnekleme zamanndan daha ksa srmektedir.
Bunun dnda nerilen alan ynlendirme kontrol sistemin beklentileri
fazlasyla karlad simlasyon ve deney sonularndan aka grlebilir.

7.2. neriler
Simlasyon asndan bu almann yeterli olaca dnlmektedir. Ancak,
uygulama asndan sistemi daha da gelitirmek mmkn olabilir. Bu almada
sistem maliyeti minimum dzeyde tutulmaya allmtr. Maliyetin azaltlmas ve
verimin artrlmas iin eitli yntemler kullanlmtr. rnein, akm lmleri
basit bir diren zerinde yaplmaktadr. Sistemin zellikle hz sensrsz almas
salanmaya allmtr. Hz alglaycsnn srcye eklenmesinin maliyeti imdiki
maliyeti iki katna karabilecek dzeydedir.
70
Btn bunlara ramen, tez almasnda makine parametre deiimlerin etkileri
ihmal edilmitir. Buda, ayrca incelenmesi gereken bir konudur. Ancak EKF
algoritmasnn parametre deiimlerinin sistem kararllna ve doruluuna etkisini
azaltaca beklenmektedir. Literatrde bu konuyla ilgili bir ok yntem
bulunmaktadr. Ayrca, bu almada, makine parametrelerinin kullanc tarafndan
elde edilerek sisteme verilmesi gereklidir. leride bu konuda yaplacak olan
almalarda, makine parametre deiimlerinin kontrol ilemine etkileri incelenebilir.
Ayrca, bu parametrelerin, makine akm ve gerilim lmlerinden otomatik olarak
elde edildii yntemler, nerilen kontrol yntemine eklenebilir.
Bunlarn dnda donanm kullanc ile daha uyumlu olacak biimde, kontrol
girileri ve gstergeler eklenerek gelitirilebilir. Bu almada herhangi bir kullanc
ara yz olmayp, giri ve k basit bir biimde bilgisayar yardmyla
salanmaktadr. Bilgisayar sistemi olmadan sistem kendi kendine ileyecektir.
Ayrca yine, uygulama aamasnda, makinenin deiik yk artlarnda almas
incelenmemitir. Simlasyon almasndan elde edilen sonular yeterli olduu
dnlmtr. Bu da ayrca incelenebilir. Makine yk dorudan miline balanacak
bir DC motor yardmyla ayarlanabilir.
Sonu olarak, uygulama aamasnda makinenin deiik yk artlar altnda
incelenmesi ve kullanc ara yz ek almalar yaplabilir.













71
8. KAYNAKLAR
BAYBURAN, Bahattin; Microsoft Standart C; Beta, stanbul, 1999

Beguenane, Rachid; Ouhrouche, Mohand A.; Trzynadlowski, Andrzej M.; A new
scheme for sensorless induction motor control drives operating in low speed region;
Mathematics and Computers in Simulation 71 (2006); Elsevier

Bharadwaj, R, A.; G. Parlos, and H. A. Toliyat, "Adaptive Neural Networks-Based
State Filter for Induction Motor Speed Estimation," to be presented in the 1999 IEEE
Industrial Electronics Society Annual Meeting, San Jose, CA, December 1999

Bharadwaj, Raj M.; Parlos, Alexander G.; Toliyat, Hamid A.; Neural speed filtering
for sensorless induction motor drives; Control Engineering Practice 12 (2004);
Elsevier

BOSE, Bimal K.; High Performance Control of Induction Motor Drives; On-line at
http://sant.bradley.edu/ienews/98_3/Bose2.pdf

BOSE, Bimal K.; PATEL, Nitin R.; Quasi-Fuzzy Estimation of Stator Resistance of
Induction Motor; IEEE Transaction on Power Electronics, Vol. 13, No. 3, May
1998.

BROWN, Robert Grover; HWANG, Patrick Y. C.; Introduction to Random Signals
and Applied Kalman Filtering; Wiley, USA, 1997

CHAO, K. H.; LIAW, C. M.; Speed Sensorless Control Performance Improvement
of Induction Motor Drive Using Uncertainty Cancellation; IEEE Proc.-Electr. Power
Apll., Vol. 147, No. 4, July 2000

CHAPRA, Steven C.; CANALE, Raymond P.; Mhendisler iin Saysal Yntemler;
Literatr, stanbul, 2003

F243 DSK Technical Reference; Spectrum Digital, Inc.; 1999

FAIZ, J.; HOSSIENI, S. H.; GHANEEI, M.; KEYHANI, A.; PROCA, A.; Direct
Torque Control of Induction Motors for Electric Propulsion Systems; On-line at
http://eewww.eng.ohio-state.edu/~procaa/pdf/direct_torque.pdf

FINN, David; General Three Phase Motor Controllers; The University of
Queensland; October 2000

Fitzgerald, A.E.; Kingsley, Charles, Jr.; Umans , Stephen D.; Electric Machinery;
McGraw-Hill, USA, 1990


72
Ge, Qiongxuan; Feng, Zhiyue; Speed Estimated for Vector Control of Induction
Motor Using Reduced-order Extended Kalman Filter; PIMC2000 Conference;
IEEE, 2000

Guzinski, Jaroslaw; Abu-Rub, Haithem; Toliyat, Hamid A.; An Advanced Low-
Cost Sensorless Induction Motor Drive; IEEE Transactions on Industry
Applications, Vol. 39, No. 6, November/December 2003

H. de la Valle Poussin, D. Grenier, F. Labrique, J.-D. Legat, Looking into the
implementation of AC motor control on a fixed point processor, IEMDC'99, Seattle
(USA)

Hilairet, M.; Auger, F.; Darengosse, C.; Two efficient Kalman filters for flux and
velocity estimation of induction motor; IEEE; 2000

HOLTZ, Joachim; Sensorless Speed and Position Control of Induction Motors;
27
th
Annual Conference of the IEEE Industrial Electronics Society, IECON,
Denver/CO, Nov. 29 - Dec. 2, 2001

Kojabadi, H. Madadi; Chang, L.; Model Reference Adaptive System
Pseudoreduced-Order Flux Observer for Very Low Speed and Zero Speed
Estimation in Sensorless Induction Motor Drives; IEEE; 2002

Koubaa, Yassine; Recursive identification of induction motor parameters;
Simulation Modelling Practice and Theory 12 (2004); Elsevier

KREYSZIG, Erwin; Advanced Engineering Mathematics; Wiley, Singapore, 2006

KUO, Benjamin C.; Automatic Control Systems Fift Edition; Prentice-Hall Inc.,
New Jersey, 1987

Li, Mengwei; Chiasson, John; Bodson, Marc; Tolbert, Leon M.; A Differential-
Algebraic Approach to Speed Estimation in an Induction Motor; IEEE Transactions
on Automatic Control, Vol. 51, No. 7, July 2006

MOHAN. M; TMS320F243 Based Sensorless Rotor Field Oriented Control of
Induction Motor Using MRAS; On-line at www.cranessoftware.com/
events/conference/ab11.html

MOHAN, Ned; UNDELAND, Tore M.; ROBBINS, William P.; Power Electronics;
Wiley; USA, 2003

Motor Drive and Inverter Designers Manual; International Rectifier; 2002

MURPHY, J. M. D.; TURNBULL, F. G.; Power Electronic Control of AC Motors;
Pergamon Press, GB, 1989

73
NOVOTNY, D. W.; LIPO, T. A.; Vector Control and Dynamics of AC Drives;
Clarendon Pres, GB, 1998

NOVOTNY, D. W.; LIPO, T. A.; ECE 411 Electromechanical Systems Course
Notes; University of Wisconsin WEMPEC, USA, 1986

OUHROUCE, Mohand A.; VOLAT C.; Simulation of a Direct Field-Oriented
Controller for an Induction Motor Using MATLAB/SIMULINK Software Package;
Proceeding of the IASTED International Conference Modelling and Simulation
(MS'2000); May 15-17, 2000 - Pittsburgh, Pennsylvania, USA.

Power System Blockset User Guide for Use with Simulink; Mathwork Inc; 2000

RASHID, Muhammad H.; Power Electronics; Prentice Hall, USA, 1993

ROBERTS, G. Stephen; Design and implementation of a Three-Phase Induction
Motor Control Scheme; The University of Queensland; October 2001

SAVITCH, Walter; ProblemSolving with C++; Addison Wesley, USA, 2001

Shi, K. L.; Chan, T. F.; Wong, Y. K.; Ho, S. L.; Speed Estimation of an Induction
Motor Drive Using an Optimized Extended Kalman Filter; IEEE Transactions on
Industrial Electronics, Vol. 49, No. 1, February 2002

Simulink Model Based and System Based Design User Guide; Mathwork Inc; 2004

TMS320F243/F241/F242 DSP Controller Reference Guide System and Peripherals;
On-line at http://ti.com; January 2000

TMS320C2x/2xx/5x Optimizing C Compiler Users Guide; On-line at http://ti.com;
August 1999

Toqeer, Raja S.; Bayindir, N. Suha; Speed estimation of an induction motor using
Elman neural network; Neurocomputing 55 (2003); Esevier

Toliyat, Hamid A.; Levi, Emil; Raina, Mona; A Review of RFO Induction Motor
Parameter Estimation Techniques; IEEE Transactions on Energy Conversion, Vol.
18, No. 2, June 2003

TRZYNADLOWSKI, Andrzej M.; The Field Orientation Priciple in Control of
Induction Motors; Kluwer Academic Publishers, USA, 1994

Vaclavec, Pavel; Blaha, Petr; Lyapunov-Function-Based Flux and Speed Observer
for AC Induction Motor Sensorless Control and Parameters Estimation; IEEE
Transactions on Industrial Electronics, Vol. 53, No. 1, February 2006

WILDIE, Theodore; Electrical Machines, Driver and Power Systems; Prentice Hall,
New Jersey, 2000
74
Zidan, H.; Fujii, S.; Hanamoto, T.; Tsuji, T.; Simple Sensor-less Vector Control
System for Variable Speed Induction Motor; T.IEE Japan, Vol. 120-D, No. 10,
2000













































75









EKLER
EK-A SMLASYON DOSYALARI

EK-B SAYISAL MOTOR KONTROLR KARTI ORCAD EMALARI

EK-C DSP YAZILIMI

EK-D SMLASYON ALIMASINDAN ELDE EDLEN GRAFKLER

















76
EK-A SMLASYON DOSYALARI
Bu ekte simlasyon aamasnda kullanlan C S-Function ve birlikte kullanlan
dosyalar verilmitir. Aada srasyla bu dosyalar bulunmaktadr.

im_par.h dosyas (asenkron makine parametrelerini ierir )
#define Rs 9.9
#define Rr 12.345
#define Ls 0.661
#define Lr 0.661
#define Lm 0.590
#define Pn 4.
#define J 0.008
#define In 1.9
#define Vn 127.
#define fn 28.8636
#define dt 200.e-6
#define pi 3.14
#define iDn 0.55982
#define id_lim 1.8
#define hb 0.05
#define G0 (80*dt)
#define G1 (10.)
#define G2 (2./Pn*Lr/Lm)

matopt.c dosyas (matris operasyonlarn iin kullanlan fonksiyonlar ierir)
void matT(real_T *in, real_T *out, int_T r, int_T c)
{
int_T i,j;
real_T temp[25], *t, *ptr;
ptr = in;
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
t = temp + i + r*j;
*t = *ptr++;
}
}
t = temp; ptr = out;
for(i=0;i<(r*c);i++){*ptr++ = *t++;}
}

void matMul(real_T *in1, real_T *in2, real_T *out, int_T r, int_T
rc, int_T c)
{
int_T i,j,k;
real_T temp[25], *ptr1, *ptr2, *ptr3, tmp;
ptr1 = temp;
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
tmp = 0.; ptr2 = in1 + i*rc;
77
for(k=0;k<rc;k++)
{
ptr3 = in2 + j + c*k;
tmp += (*ptr2++)*(*ptr3);
}
*ptr1++ = tmp;
}
}
ptr1 = temp;
for(i=0;i<(r*c);i++){*out++ = *ptr1++;}
}

void matInv(real_T *in, real_T *out)
{
int_T i;
real_T temp[4], tmp;
tmp = in[0]*in[3] - in[1]*in[2];
temp[0] = in[3]/tmp; temp[1] = -in[1]/tmp;
temp[2] = -in[2]/tmp; temp[3] = in[0]/tmp;
for(i=0;i<4;i++){out[i] = temp[i];}
}

impu.c dosyas (asenkron makine iin kullanlan C S-Function, makine srekli-
zaman birim modelini ierir)

#define S_FUNCTION_NAME impu
#define S_FUNCTION_LEVEL 2
#include "simstruc.h"
#include "im_par.h"
#include <math.h>
static void mdlInitializeSizes(SimStruct *S)
{
ssSetNumSFcnParams(S, 0); /* Number of expected parameters */
if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)) {
return;
}
ssSetNumContStates(S, 5);
ssSetNumDiscStates(S, 0);

if (!ssSetNumInputPorts(S, 1)) return;
ssSetInputPortWidth(S, 0, 3);
ssSetInputPortRequiredContiguous(S, 0, true);
ssSetInputPortDirectFeedThrough(S, 0, 1);
if (!ssSetNumOutputPorts(S, 1)) return;
ssSetOutputPortWidth(S, 0, 5);
ssSetNumSampleTimes(S, 1);
ssSetNumRWork(S, 26);
ssSetNumIWork(S, 0);
ssSetNumPWork(S, 0);
ssSetNumModes(S, 0);
ssSetNumNonsampledZCs(S, 0);
ssSetOptions(S, 0);
}
static void mdlInitializeSampleTimes(SimStruct *S)
{
ssSetSampleTime(S, 0, CONTINUOUS_SAMPLE_TIME);
78
ssSetOffsetTime(S, 0, 0.0);
}
#define MDL_INITIALIZE_CONDITIONS
#if defined(MDL_INITIALIZE_CONDITIONS)
static void mdlInitializeConditions(SimStruct *S)
{
real_T *x0 = ssGetContStates(S);
int_T ncs = ssGetNumContStates(S);
int_T lp;
for (lp=0;lp<ncs;lp++) {
*x0++=0.0;
}
}
#endif /* MDL_INITIALIZE_CONDITIONS */
#define MDL_START /* Change to #undef to remove function */
#if defined(MDL_START)
static void mdlStart(SimStruct *S)
{
int_T i, j;
real_T *A = ssGetRWork(S);
real_T *a = ssGetRWork(S);
real_T Ib = In*sqrt(2.);
real_T Vb = Vn*sqrt(2.);
real_T Wb = 2.*pi*fn;
real_T Phib = Vb/Wb;
real_T Zb = Vb/Ib;
real_T Tb = 3./2.*Vb*Ib/Wb;
real_T rs = Rs/Zb;
real_T rr = Rr/Zb;
real_T xs = Wb*Ls/Zb;
real_T xr = Wb*Lr/Zb;
real_T xsig = (Ls - Lm*Lm/Lr)*Wb/Zb;
real_T xm = Wb*Lm/Zb;
real_T Tr = xr/rr/Wb;
real_T Tm = J*Wb/Tb/(Pn/2.);
real_T Ts2 = 1./(rs*Wb/xsig + xm*xm/xsig/xr/Tr);
a[0] = -1./Ts2; a[1] = 0; a[2] = xm/xsig/xr/Tr;
a[3] = xm/xsig/xr*Wb;
a[4] = 0; a[5] = -1./Ts2; a[6] = -xm/xsig/xr*Wb;
a[7] = xm/xsig/xr/Tr;
a[8] = xm/Tr; a[9] = 0; a[10] = -1./Tr; a[11] = -Wb;
a[12] = 0; a[13] = xm/Tr; a[14] = Wb; a[15] = -1./Tr;
a = a + 16;
a[0] = Wb/xsig; a[1] = 0;
a[2] = 0; a[3] = Wb/xsig;
a[4] = 0; a[5] = 0;
a[6] = 0; a[7] = 0;
a = a + 8;
a[0] = xm/Tm/xr*(Pn/2); a[1] = 1./Tm;
}
#endif /* MDL_START */
static void mdlOutputs(SimStruct *S, int_T tid)
{
int_T i;
real_T *y = ssGetOutputPortRealSignal(S,0);
int_T ny = ssGetOutputPortWidth(S,0);
real_T *x = ssGetContStates(S);
for (i = 0; i < ny; i++) {*y++ = *x++;}
}
79
#define MDL_DERIVATIVES /* Change to #undef to remove function */
#if defined(MDL_DERIVATIVES)
static void mdlDerivatives(SimStruct *S)
{
const real_T *u = (const real_T*) ssGetInputPortSignal(S,0);
real_T *dx = ssGetdX(S);
real_T *x = ssGetContStates(S);
real_T *A = ssGetRWork(S);
real_T *B, *G;
B = A + 16; G = B + 8;
dx[0] = A[0]*x[0] + A[2]*x[2] + A[3]*x[3]*x[4] + B[0]*u[0];
dx[1] = A[5]*x[1] + A[6]*x[2]*x[4] + A[7]*x[3] + B[3]*u[1];
dx[2] = A[8]*x[0] + A[10]*x[2] + A[11]*x[3]*x[4];
dx[3] = A[13]*x[1] + A[14]*x[2]*x[4] + A[15]*x[3];
dx[4] = G[0]*(x[2]*x[1] - x[3]*x[0]) - G[1]*u[2];
}
#ifdef MATLAB_MEX_FILE
#include "simulink.c"
#else
#include "cg_sfun.h"
#endif

ekfpu.c dosyas (alan ynlendirme ve EKF iin kullanlan C S-Funtion,
denetleyici ayrk-zaman birim modelini ierir)

#define S_FUNCTION_NAME ekfpu
#define S_FUNCTION_LEVEL 2
#include "simstruc.h"
#include "im_par.h"
#include <math.h>
#include "matopt.c"
static void mdlInitializeSizes(SimStruct *S)
{
ssSetNumSFcnParams(S, 0); /* Number of expected parameters */
if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)) {
return;
}
ssSetNumContStates(S, 0);
ssSetNumDiscStates(S, 8);
if (!ssSetNumInputPorts(S, 1)) return;
ssSetInputPortWidth(S, 0, 3);
ssSetInputPortRequiredContiguous(S, 0, true);
ssSetInputPortDirectFeedThrough(S, 0, 0);
if (!ssSetNumOutputPorts(S, 1)) return;
ssSetOutputPortWidth(S, 0, 7);
ssSetNumSampleTimes(S, 1);
ssSetNumRWork(S, 89);
ssSetNumIWork(S, 0);
ssSetNumPWork(S, 0);
ssSetNumModes(S, 0);
ssSetNumNonsampledZCs(S, 0);
ssSetOptions(S, 0);
}
static void mdlInitializeSampleTimes(SimStruct *S)
{
ssSetSampleTime(S, 0, dt);
80
ssSetOffsetTime(S, 0, 0.0);
}
#define MDL_INITIALIZE_CONDITIONS
#if defined(MDL_INITIALIZE_CONDITIONS)
static void mdlInitializeConditions(SimStruct *S)
{
real_T *x0 = ssGetDiscStates(S);
int_T nds = ssGetNumDiscStates(S);
int_T lp;
for (lp=0;lp<nds;lp++) {
*x0++=0.0;
}
}
#endif /* MDL_INITIALIZE_CONDITIONS */
#define MDL_START /* Change to #undef to remove function */
#if defined(MDL_START)
static void mdlStart(SimStruct *S)
{
int_T i,j;
real_T *a = ssGetRWork(S);
real_T Ib = In*sqrt(2.);
real_T Vb = Vn*sqrt(2.);
real_T Wb = 2.*pi*fn;
real_T Phib = Vb/Wb;
real_T Zb = Vb/Ib;
real_T Tb = 3./2.*Vb*Ib/Wb;
real_T rs = Rs/Zb;
real_T rr = Rr/Zb;
real_T xs = Wb*Ls/Zb;
real_T xr = Wb*Lr/Zb;
real_T xsig = (Ls - Lm*Lm/Lr)*Wb/Zb;
real_T xm = Wb*Lm/Zb;
real_T Tr = xr/rr/Wb;
real_T Tm = J*Wb/(Pn/2.)/Tb;
real_T Ts2 = 1./(rs*Wb/xsig + xm*xm/xsig/xr/Tr);
a[0] = 1. -dt/Ts2; a[1] = 0.; a[2] = xm*dt/xsig/xr/Tr;
a[3] = 0.; a[4] = 0.; a[5] = 0.; a[6] = 1. -dt/Ts2; a[7] = 0.;
a[8] = xm*dt/xsig/xr/Tr; a[9] = 0.; a[10] = xm*dt/Tr;
a[11] = 0.; a[12] = 1. - dt/Tr; a[13] = 0.; a[14] = 0.;
a[15] = 0.; a[16] = xm*dt/Tr; a[17] = 0.;
a[18] = 1. - dt/Tr; a[19] = 0.;
a[20] = 0.; a[21] = 0.; a[22] = 0.; a[23] = 0.; a[24] = 1.;
a[25] = xm*Wb*dt/xsig/xr; a[26] = Wb*dt;
a = a + 27;
a[0] = Wb*dt/xsig; a[1] = 0;
a[2] = 0; a[3] = Wb*dt/xsig;
a[4] = 0; a[5] = 0;
a[6] = 0; a[7] = 0;
a[8] = 0; a[9] = 0;
a = a + 10;
a[0] = 1.; a[1] = 0.; a[2] = 0.; a[3] = 0.; a[4] = 0.;
a[5] = 0.; a[6] = 1.; a[7] = 0.; a[8] = 0.; a[9] = 0.;
a = a + 10;
a[0] = 0.003; a[1] = 0.003; a[2] = 0.00091;
a[3] = 0.00091; a[4] = 0.00003;
a = a + 5;
a[0] = 0.61; a[1] = 0.61;
a = a + 2;
for(i=0;i<5;i++){
81
for(j=0;j<5;j++)
{
*a = 0.;
if (i == j)
{
*a = 0.001;
}
*a++;
}
}
for(i=0;i<10;i++){*a++ = 0.;}
}
#endif /* MDL_START */
static void mdlOutputs(SimStruct *S, int_T tid)
{
real_T *y = ssGetOutputPortRealSignal(S,0);
int_T ny = ssGetOutputPortWidth(S,0);
real_T *x = ssGetDiscStates(S);

y[0] = x[0];
y[1] = x[1];
y[2] = x[2];
y[3] = x[3];
y[4] = x[4];
y[5] = x[6];
y[6] = x[7];
}
#define MDL_UPDATE /* Change to #undef to remove function */
#if defined(MDL_UPDATE)
static void mdlUpdate(SimStruct *S, int_T tid)
{
const real_T *u = (const real_T*) ssGetInputPortSignal(S,0);
real_T *x = ssGetDiscStates(S);
real_T *F = ssGetRWork(S);
real_T A[16], *B, *C, *Q, *R, *P, *K, *f, *a, *tmp;
int_T i,j;
real_T x_1[5], rs0[25], rs1[25];
static int_T l;

real_T werrorc = 0;
real_T torq_com = 0.;
real_T phir = 0;
real_T sin_th = 0;
real_T cos_th = 0.;
real_T iD_com = 0;
real_T iQ_com = 0;
real_T id_com = 0;
real_T iq_com = 0;
real_T ia = 0.;
real_T ib = 0.;
real_T ic = 0.;
real_T ia_com = 0.;
real_T ib_com = 0.;
real_T ic_com = 0.;
real_T sa = 1.;
real_T sb = 0.;
real_T sc = 0.;

82
B = F + 27; C = B + 10; Q = C + 10; R = Q + 5; P = R + 2;
K = P + 25;
//******** EKF routine starting ********
// update diff_f and A matrix
F[3] = F[25]*x[4]; F[4] = F[25]*x[3];
F[7] = -F[25]*x[4]; F[9] = -F[25]*x[2];
F[13] = -F[26]*x[4]; F[14] = -F[26]*x[3];
F[17] = F[26]*x[4]; F[19] = F[26]*x[2];

a = A, f = F;
for(i=0;i<19;i++)
{
*a++ = *f++;
if(i==4||i==9||i==14){*a--;}
}
// state prediction
x_1[4] = x[4];
matMul(A, x, rs0, 4,4,1); tmp = x + 6;
matMul(B, tmp, rs1, 4,2,1);
for(i=0;i<4;i++){x_1[i] = rs0[i] + rs1[i];}
//for(i=0;i<5;i++){x[i]=x_1[i];}
//state prediction is OK!

// update prediction error covariance matrix
matMul(F,P,rs0, 5,5,5);
matT(F,rs1, 5,5);
matMul(rs0,rs1,P, 5,5,5);

for(i=0;i<5;i++){for(j=0;j<5;j++){if(i==j){P[6*j]=P[6*j]+Q[j];
}}}
// update prediction error covariance matrix is OK!

// update Kalman gain
matT(C,rs0, 2,5);
matMul(P,rs0,rs0, 5,5,2);
matMul(C,rs0,rs1, 2,5,2);
rs1[0] = rs1[0] + R[0]; rs1[3] = rs1[3] + R[1];
matInv(rs1,rs1);
matMul(rs0,rs1,K, 5,2,2);
// update Kalman gain is OK!

//state estimation
matMul(C,x_1,rs0, 2,5,1);
rs0[0] = u[0] - rs0[0]; rs0[1] = u[1] - rs0[1];
matMul(K,rs0,rs0, 5,2,1);
for(i=0;i<5;i++){x[i] = x_1[i] + rs0[i];}
//state estimation is OK!

// state estimation covariance matrix
matMul(K,C,rs0, 5,2,5);
matMul(rs0,P,rs0, 5,5,5);
for(i=0;i<24;i++){P[i]= P[i] - rs0[i];}
//****** end of EKF routine *******

//****start of controller routine ****
werrorc = u[2] - x[4];
x[5] = x[5] + G0*werrorc;
if (x[5] > id_lim) {x[5] = id_lim;}
83
if (x[5] < -id_lim) {x[5] = -id_lim;}
torq_com = x[5] + G1*werrorc;
if (torq_com > id_lim) {torq_com = id_lim;}
if (torq_com < -id_lim) {torq_com = -id_lim;}

phir = sqrt(x[2]*x[2] + x[3]*x[3]) + 1e-6;
cos_th = x[2]/phir; sin_th = x[3]/phir;

iQ_com = G2*torq_com/phir;
if (iQ_com > id_lim) {iQ_com = id_lim;}
if (iQ_com < -id_lim) {iQ_com = -id_lim;}

if(u[2] > 0.93){iD_com = iDn/(0.93/u[2])/(0.93/u[2]);}
else{iD_com = iDn;}

id_com = iD_com*cos_th - iQ_com*sin_th;
iq_com = iD_com*sin_th + iQ_com*cos_th;

ia_com = id_com; ib_com = -1./2.*id_com + sqrt(3.)/2.*iq_com;
ic_com = -(ia_com + ib_com);

ia = x[0]; ib = -1./2.*x[0] + sqrt(3.)/2.*x[1];
ic = -(ia + ib);

if ((ia_com - ia) > hb) {sa = 1;}
if ((ia_com - ia) < -hb) {sa = 0;}

if ((ib_com - ib) > hb) {sb = 1;}
if ((ib_com - ib) < -hb) {sb = 0;}

if ((ic_com - ic) > hb) {sc = 1;}
if ((ic_com - ic) < -hb) {sc = 0;}

x[6] = 1./sqrt(3.)*(2.*sa - sb - sc);
x[7] = (sb - sc);

// for sinusoidal suply
//l++; x[6] = cos(2.*pi*50.*l*dt);
//x[7] = sin(2.*pi*50.*l*dt);
}
#ifdef MATLAB_MEX_FILE
#include "simulink.c"
#else
#include "cg_sfun.h"
#endif











84
EK-B SAYISAL MOTOR KONTROLR KARTI ORCAD EMALARI





85






86






87






88






89






90






91






92






93






94






95






96






97
EK-C DSP YAZILIMI

Bu ksmda DSP iin TMS320F243 asembly dilende yazlan dfo_ekf.asm
dosyasnn listesi verilmitir.

dfo_ekf.asm dosyas (assebmler kaynak dosyas)

******************************************
* motor equivalent circuit parameters *
* rs = 9.9 ohm, rr = 12.345 ohm *
* lm = .590 H, ls = .661 H, lr = .661 H *
* dt = 200e-6 *
******************************************

STACK .set 0x03f0 ; software stack adress
sqrt3_2 .set 0x0ddb ; sqrt(3)/2 @4.12f
inv_sqrt3 .set 0x093c ; 1/sqrt(3) @4.12f
inv3 .set 0x0555 ; 1/3 @4.12f

period .set 4000 ; pwm period
adc_delay .set 20 ; for current measurement by EVSOC (T1CMP)
sw_on .set 100 ; time of switch on
.eval (period+1), sw_off ; switch off
.setsect ".data", 0x0300, 1
.setsect ".vect", 0x8000, 0
.setsect ".text", 0x8044, 0
.include "app_243.h"
.sect ".vect"
RESET b SETUP
INT0 b PDP_ISR
INT1 b PER_ISR
.data
*** data page EKF algorithm ***
u .int 0x0000, 0x0000 ; measured input vector
y .int 0x0000, 0x0000 ; measured output vector
dF .int 0x0f88, 0x0000, 0x0025, 0x0000, 0x0000 ; dF/dt matrix
.int 0x0000, 0x0f88, 0x0000, 0x0025, 0x0000
.int 0x0018, 0x0000, 0x0ff1, 0x0000, 0x0000
.int 0x0000, 0x0018, 0x0000, 0x0ff1, 0x0000
.int 0x0000, 0x0000, 0x0000, 0x0000, 0x1000

;correction and B matrix coefficient
dF1 .int 0x016c, 0x0095, 0x0197
;estimated state vector
x .int 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
;predicted state vector
x_1 .int 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
;output matrix
C .int 0x1000, 0x0000, 0x0000, 0x0000, 0x0000
.int 0x0000, 0x1000, 0x0000, 0x0000, 0x0000
;prediction error covariance matrix
P .int 0x0028, 0x0000, 0x0000, 0x0000, 0x0000
.int 0x0000, 0x0028, 0x0000, 0x0000, 0x0000
.int 0x0000, 0x0000, 0x0028, 0x0000, 0x0000
.int 0x0000, 0x0000, 0x0000, 0x0028, 0x0000
.int 0x0000, 0x0000, 0x0000, 0x0000, 0x0028
;filter error covariance matrix
98
P_1 .int 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
.int 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
.int 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
.int 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
.int 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
;state noise covariance matrix
Q .int 0x000c, 0x000c, 0x0004, 0x0004, 0x0001
; measure noise covariance matrix
R .int 0x0800, 0x0800
K .int 0x0000, 0x0000 ; kalman gain matrix
.int 0x0000, 0x0000
.int 0x0000, 0x0000
.int 0x0000, 0x0000
.int 0x0000, 0x0000

RSLT .space 25*16

iDn .set 0x08f5 ; if iD < iDn then iQ_cm = 0
ksqrt .set 0x00aa ; for square root table
ST_UP .int 0x0000 ; in start-up period
phir .int 0x0000 ; estimated rotor flux in sync. ref. frame
sin .int 0x0000 ; sin(theta) @4.12
cos .int 0x1000 ; cos(theta) @4.12

i_off .set 0x0200 ; current off-set
adc_rd1 .int 0x0000 ; for read current
adc_k1 .int 0x5952 ; 0.75*10/2.687/512 @0.22f
adc_rd2 .int 0x0000 ; for read current
adc_rd3 .int 0x0000 ; for read voltage
adc_k2 .int 0x8ac0 ; 400/1023/179.60512*(1-5.5/200)
include spare time @0.20f
vdc .int 0x0000 ; dc bus voltage

ia .int 0x0000 ; stator phase A current
ib .int 0x0000 ; stator phase B current
ic .int 0x0000 ; stator phase C current
ia_cm .int 0x0000 ; stator phase A current command
ib_cm .int 0x0000 ; stator phase B current command
ic_cm .int 0x0000 ; stator phase C current command
id_cm .int 0x0000 ; stator d-axis current command
iq_cm .int 0x0000 ; stator q-axis current command
iD_cm .int 0x0000 ; stator D-axis current command
iQ_cm .int 0x0000 ; stator Q-axis current command

hb .set 0x00cc ; hist. band upper limit 0.05pu
wr_cm .int 0x1000 ; rotor electrical speed command
wr_ind .int 0x0000 ; for rotor speed command change
trq_cm .int 0x0000 ; torque command
trq_int .int 0x0000 ; torque controller integration part
trq_Ki .set 0x0041 ; torq. int. const.
Ki*wbase*Ts/trqbase 80*dt @4.12f
trq_Kp .int 0x7fff ; torque command prop. const. Kp = 8
@4.12f
trq_Kc .set 0x0008 ; torque command integ. corr. const.
@4.12f
trq_lim .set 0x1000 ; torque command limit
G_iQ .set 0x08f6 ; iQ command gain

SS .set 1
99
DIR .set 1
inv_step .set 60
inv_pw .set 2050
sx_step .int (inv_step) ; for step count
sector .int (DIR+1) ; for six-step sector
sa .int 0x0001 ; inverter A switch status
sb .int 0x0000 ; inverter B switch status
sc .int 0x0000 ; inverter C switch status

l .int 0x0000 ; for flashing XF led
t1cnt .int 0x0000 ; for period sufficient control
gr_ind .int 0x9000 ; for visualization
gr_ind1 .int 0x0000 ; for visualization

*** program is begin here!! ***
.text
b SETUP ; hardware and software initialization
*** T1 period inrrupt ***
PER_ISR
*** context save ***
mar *, AR7
mar *-
sst #01h, *-
sst #00h, *-
sach *-
sacl *-
******* inverter STROBE *******
***
mar *, AR0
lar AR0, #PBDATDIR
lacc *
and #0xffef
sacl *

*** IOPB4 is low
*******************************

***********************************
*** EKF algoritm ***
***********************************
*** update dF/dt matrix ***
UPDF
setc sxm
spm 0x02
setc ovm

lar AR2, #(x+4)
lar AR3, #(dF+3)
lar AR6, #(dF1)
mar *, AR2
lt *-, AR6
mpy *+, AR3
pac
sach *
neg
adrk #0x04
sach *, 0, AR6
mpy *-, AR3
pac
100
adrk #0x0a
sach *
neg
sbrk #0x04
sach *, 0, AR6

lt *, AR2
mpy *-, AR3
pac
lar AR3, #(dF+4)
sach *, 0, AR2
mpy *+, AR3
adrk #0x05
pac
neg
sach *, 0, AR6
adrk #0x01
lt *, AR2
mpy *-, AR3
adrk #0x05
pac
neg
sach *, 0, AR2
mpy *, AR3
adrk #0x05
pac
sach *

*** now dF/dt matrix was updated ***

*** update state vector prediction ***
SVP
spm 0x02
setc ovm
setc sxm
lar AR3, #dF
lar AR4, #x_1
lar AR5, #u
lar AR6, #(dF1+2)
.eval 0, i
.loop
mpy #0x00
pac
mar *, AR2
lar AR2, #x
.eval 0, j
.loop
lta *+, AR3
mpy *+, AR2
.eval j+1,j
.break j==4
.endloop
.if ((i==0)|(i==1))
mar *, AR5
lta *+, AR6
mpy *, AR2
.endif
apac
mar *, AR4
101
sach *+, 0, AR3
adrk #0x01
.eval i+1, i
.break i==4
.endloop
mar *, AR2
lacc *, 0, AR4
sacl *

*** now state vector prediction was updated ***
*** update prediction error covariance matrix ***
ECM
spm 0x02
setc ovm
setc sxm
lar AR4, #RSLT
.eval 0, i
.loop
.eval 0, j
.loop
lar AR3, #(dF+5*i)
mpy #0x00
pac
mar *, AR2
lar AR2, #(P+j)
.eval 0, k
.loop
lta *, AR3
mpy *+, AR2
adrk #0x05
.eval k+1, k
.break k==5
.endloop
apac
mar *, AR4
sach *+
.eval j+1, j
.break j==5
.endloop
.eval i+1, i
.break i==5
.endloop

ECM1
lar AR4, #P_1
.eval 0, i
.loop
.eval 0, j
.loop
lar AR3, #(RSLT+5*i)
mpy #0x00
pac
mar *, AR2
lar AR2, #(dF+5*j)
.eval 0, k
.loop
lta *+, AR3
mpy *+, AR2
.eval k+1, k
102
.break k==5
.endloop
apac
mar *, AR4
sach *+
.eval j+1, j
.break j==5
.endloop
.eval i+1, i
.break i==5
.endloop

lar AR2, #P_1
lar AR3, #Q
mar *, AR2
.eval 0, i
.loop
lacc *, 0, AR3
add *+, 0, AR2
sacl *
adrk #0x06
.eval i+1, i
.break i==5
.endloop
ECM_END

*** now prediction error covariance matrix was updated ***
*** update Kalman gain matrix ***
KGM
spm 0x02
setc ovm
setc sxm
lar AR4, #RSLT
.eval 0, i
.loop
.eval 0, j
.loop
lar AR3, #(P_1 + 5*i)
mpy #0x00
pac
mar *, AR2
lar AR2, #(C + 5*j)
.eval 0, k
.loop
lta *+, AR3
mpy *+, AR2
.eval k+1, k
.break k==5
.endloop
apac
mar *, AR4
sach *+
.eval j+1, j
.break j==2
.endloop
.eval i+1, i
.break i==5
.endloop
KGM1
103
spm 0x02
setc ovm
setc sxm
lar AR4, #K
.eval 0, i
.loop
.eval 0, j
.loop
lar AR3, #(C+5*i)
mpy #0x00
pac
mar *, AR2
lar AR2, #(RSLT+j)
.eval 0, k
.loop
lta *, AR3
mpy *+, AR2
adrk #0x02
.eval k+1, k
.break k==5
.endloop
apac
mar *, AR4
sach *+
.eval j+1, j
.break j==2
.endloop
.eval i+1, i
.break i==2
.endloop
KGM2
spm 0x02
setc ovm
setc sxm
lar AR2, #K
lar AR3, #R
lar AR4, #(P+3)
mar *, AR2
lacc *, 0, AR3
add *+, 0, AR4
sacl *, 0, AR2
lar AR2, #(K+3)
lar AR4, #P
lacc *, 0, AR3
add *+, 0, AR4
sacl *+, 0, AR2
sbrk #0x02
lacc *+, 0, AR4
neg
sacl *+, 0, AR2
lacc *+, 0, AR4
neg
sacl *+, 0, AR2

lar AR2, #P
lar AR3, #(P+3)
lar AR4, #(P+4)
lt *+, AR3
mpy *-, AR2
104
ltp *, AR3
mpy *, AR4
spac
sach *

spm 0x02
setc ovm
setc sxm
lacc *+
bcnd KGM_INVDET1,EQ
abs
sacl *
lacc #0x1000, 12
rpt #0x0f
subc *
sacl *-
lacc *+
bcnd KGM_INVDET2,GEQ
neg
sacl *
b KGM_INVDET2
KGM_INVDET1
lacc #0x00
sacl *
KGM_INVDET2

spm 0x02
setc ovm
setc sxm
lar AR2, #P
lt *, AR2
.eval 0, i
.loop
mpy *
pac
sach *+
.eval i+1,i
.break i==4
.endloop
KGM3
spm 0x02
setc ovm
setc sxm
lar AR4, #K
.eval 0, i
.loop
.eval 0, j
.loop
lar AR3, #(RSLT + 2*i)
mpy #0x00
pac
mar *, AR2
lar AR2, #(P + j)
.eval 0, k
.loop
lta *, AR3
mpy *+, AR2
adrk #0x02
.eval k+1, k
105
.break k==2
.endloop
apac
mar *, AR4
sach *+
.eval j+1, j
.break j==2
.endloop
.eval i+1, i
.break i==5
.endloop
KGM_END
*** now Kalman gain matrix was updated ***
*** update state estimation ***
SEST
spm 0x02
setc ovm
setc sxm

lar AR2, #y
lar AR3, #x_1
lar AR4, #P
mar *, AR2
lacc *+, 0, AR3
sub *+, 0, AR4
sacl *+, 0, AR2
lacc *+, 0, AR3
sub *+, 0, AR4
sacl *+, 0, AR2

lar AR4, #RSLT
.eval 0, i
.loop
.eval 0, j
.loop
lar AR3, #(K+2*i)
mpy #0x00
pac
mar *, AR2
lar AR2, #(P+j)
.eval 0, k
.loop
lta *+, AR3
mpy *+, AR2
.eval k+1, k
.break k==2
.endloop
apac
mar *, AR4
sach *+
.eval j+1, j
.break j==1
.endloop
.eval i+1, i
.break i==5
.endloop
lar AR2, #x_1
lar AR3, #RSLT
lar AR4, #x
106
mar *, AR2
.eval 0, i
.loop
lacc *+, 0, AR3
add *+, 0, AR4
sacl *+, 0, AR2
.eval i+1, i
.break i==5
.endloop
SEST_END
*** now state estimation was updated ***
*** update state estimation covariance matrix ***
SECM
spm 0x02
setc ovm
setc sxm
lar AR4, #RSLT
.eval 0, i
.loop
.eval 0, j
.loop
lar AR3, #(K+2*i)
mpy #0x00
pac
mar *, AR2
lar AR2, #(C+j)
.eval 0, k
.loop
lta *, AR3
mpy *+, AR2
adrk #0x05
.eval k+1, k
.break k==2
.endloop
apac
mar *, AR4
sach *+, 0, AR3
.eval j+1, j
.break j==5
.endloop
.eval i+1, i
.break i==5
.endloop

SECM1
spm 0x02
setc ovm
setc sxm
lar AR4, #P
.eval 0, i
.loop
.eval 0, j
.loop
lar AR3, #(RSLT + 5*i)
mpy #0x00
pac
mar *, AR2
lar AR2, #(P_1 + j)
.eval 0, k
107
.loop
lta *, AR3
mpy *+, AR2
adrk #0x05
.eval k+1, k
.break k==5
.endloop
apac
mar *, AR4
sach *+
.eval j+1, j
.break j==5
.endloop
.eval i+1, i
.break i==5
.endloop

lar AR2, #P_1
lar AR3, #P
mar *, AR2
.eval 0, i
.loop
lacc *+, 0, AR3
sub *
sacl *+, 0, AR2
.eval i+1, i
.break i==25
.endloop
SECM_END

*** now state estimation covariance matrix was updated ***

***********************************
*** end of EKF algoritm ***
***********************************

*** calculation theta, sin, cos, and rotor flux value ***

SIN_COS
setc sxm
spm 0x02
setc ovm
mar *, AR2
lar AR2, #(x+2)
lar AR3, #RSLT
lt *
mpy *+
pac
lt *
mpy *, AR3
apac
sach *
lacc *+
add #0x1000
sfr
sacl *

.eval 0, i
.loop
108
mar *, AR2
lar AR2, #RSLT
lacc *+, 12
rpt #0x0f
subc *
mar *+
sacl *
lacc *-
add *
sfr
sacl *
.eval i+1, i
.break i==4
.endloop
lar AR2, #(RSLT+1)
lar AR4, #phir
mar *, AR2
lacc *, 0, AR4
sacl *

COS
setc sxm
spm 0x02
setc ovm
mar *, AR2
lar AR2, #(x+2)
lar AR3, #phir
lar AR4, #cos

lacc *, 0, AR4
bcnd SC_C1, EQ
abs
sacl *, 0, AR3
lacc *, 0, AR4
bcnd SC_C1,EQ
lacc *, 12, AR3
rpt #0x0f
subc *
mar *, AR4
sacl *, 0, AR2
lacc *, 0, AR4
bcnd SC_C2,GEQ
lacc *
neg
sacl *
b SC_C2
SC_C1
lacc #0x1000
sacl *
SC_C2
******
SIN
setc sxm
spm 0x02
setc ovm
mar *, AR2
lar AR2, #(x+3)
lar AR3, #phir
lar AR4, #sin
109

lacc *, 0, AR4
bcnd SC_S1, EQ
abs
sacl *, 0, AR3
lacc *, 0, AR4
bcnd SC_S1,EQ
lacc *, 12, AR3
rpt #0x0f
subc *
mar *, AR4
sacl *, 0, AR2
lacc *, 0, AR4
bcnd SC_S2,GEQ
lacc *
neg
sacl *
b SC_S2
SC_S1
lacc #0x0000
sacl *
SC_S2

*******
*** calculation theta, sin, cos, and rotor flux value is OK!!***

*********************************************************
* end of state estimation *
*********************************************************

******* inverter STROBE *******
***
mar *, AR0
lar AR0, #PBDATDIR
lacc *
or #0x0010
sacl *

*** IOPB4 is high
*******************************

*********************************************************
* FOC Controller *
*********************************************************

*** calculation iD command ***
IDCC
setc sxm
spm 0x02
lacc #iDn
mar *, AR0
lar AR0, #iD_cm
sacl *
***

*** calculation torque commnad ***
TRQCC
setc sxm
spm 0x02
110
setc ovm

lar AR0, #ST_UP
lacc *
bcnd ROT_SPEED, NEQ
lar AR0, #phir
lacc *
sub #0x0600
bcnd IQCC_L1, LT
lacc #0x01
lar AR0, #ST_UP
sacl *

ROT_SPEED
;b TRQ_L0
lar AR0, #wr_cm
lar AR1, #wr_ind
mar *, AR1
lacc *
add #0x01
sacl *
sub #0x8fff
bcnd TRQ_L0, NEQ
sacl *, 0, AR0
lacc *
sub #0x1000
bcnd ROT_SPEED1, EQ
lacc #0x1000
sacl *
b ROT_SPEED2
ROT_SPEED1
lacc #0xf000
sacl *

ROT_SPEED2
TRQ_L0
spm 0x02
setc sxm
setc ovm
mar *, AR3
lar AR2, #(x+4)
lar AR3, #wr_cm
lar AR4, #(trq_cm + 1)
lar AR5, #trq_Kp
lar AR6, #RSLT

lacc *, 0, AR2
sub *, 0, AR6
sacl *

lt *+, AR5
mpy *, AR4
pac
add *-, 16
sach *
lacc *, 0, AR6
sacl *, 0, AR4

.eval 0xffff - trq_lim + 1, trq_lim_neg
111
lacc *
sub #trq_lim
bcnd TRQ_L1, GT
lacc *
sub #trq_lim_neg
bcnd TRQ_L2, LT
b TRQ_L3
TRQ_L1
lacc #trq_lim
sacl *
b TRQ_L3
TRQ_L2
lacc #trq_lim_neg
sacl *
TRQ_L3
lacc *+, 0, AR6
sub *
sacl *
lt *-
mpy #trq_Kc
ltp *, AR4
mpy #trq_Ki
apac
add *, 16
sach *
***

*** calculation iQ command ***

IQCC
setc sxm
spm 0x02
setc ovm
mar *, AR2
lar AR2, #trq_cm
lar AR3, #phir
lar AR4, #iQ_cm

lacc *, 0, AR4
bcnd IQCC_L1, EQ
abs
sacl *, 0, AR3
lacc *, 0, AR4
bcnd IQCC_L1,EQ
lacc *, 12, AR3
rpt #0x0f
subc *
mar *, AR4
sacl *, 0, AR2
lacc *, 0, AR4
bcnd IQCC_L2,GEQ
lacc *
neg
sacl *
b IQCC_L2
IQCC_L1
lacc #0x0000
sacl *
IQCC_L2
112
lt *
mpy #G_iQ
pac
sach *

***
***
*** inverse park projection (DQ=>dq) ***
IPPC
setc sxm
spm 0x02
setc ovm

lar AR2, #cos
lar AR3, #iD_cm
lar AR4, #id_cm
mar *, AR3

lt *+, AR2
mpy *-, AR3
ltp *-, AR2
mpy *, AR4
spac
sach *+, 0, AR3

lt *+, AR2
mpy *+, AR3
ltp *, AR2
mpy *, AR4
apac
sach *
***

*** inverse clark projection (dq=>abc conversion) for command***
ICPC
setc sxm
spm 0x02
setc ovm

mar *, AR2
lar AR2, #id_cm
lar AR4, #ia_cm

lacc *+, 0, AR4
sacl *+, 0, AR2
lt *-
mpy #sqrt3_2
pac
sub *, 15, AR4
sach *-
lacc *+
add *+
neg
sacl *
***


*** histerezis band current controller ***
HBCR
113
.if (SS==1)
b SX_STEP
.endif

setc sxm
spm 0x02
setc ovm
.eval 0xffff - hb +1, hb_neg
HBA
lar AR2, #ia_cm
lar AR3, #ia
lar AR4, #sa
lar AR5, #CMPR1
lar AR6, #RSLT
mar *, AR2
lacc *, 0, AR3
sub *, 0, AR6
sacl *
lacc *
sub #hb
bcnd HBA_L1, GT
lacc *
sub #hb_neg
bcnd HBA_L2, LT
b HBA_L3
HBA_L1
mar *, AR4
lacc #0x01
sacl *, 0, AR5
lacc #sw_on
sacl *
b HBA_L3
HBA_L2
mar *, AR4
lacc #0x00
sacl *, 0, AR5
lacc #sw_off
sacl *
HBA_L3
***
HBB
mar *, AR2
mar *+, AR3
mar *+, AR4
mar *+, AR5
mar *+, AR2

lacc *, 0, AR3
sub *, 0, AR6
sacl *
lacc *
sub #hb
bcnd HBB_L1, GT
lacc *
sub #hb_neg
bcnd HBB_L2, LT
b HBB_L3
HBB_L1
mar *, AR4
114
lacc #0x01
sacl *, 0, AR5
lacc #sw_on
sacl *
b HBB_L3
HBB_L2
mar *, AR4
lacc #0x00
sacl *, 0, AR5
lacc #sw_off
sacl *
HBB_L3
***
HBC
mar *, AR2
mar *+, AR3
mar *+, AR4
mar *+, AR5
mar *+, AR2

lacc *, 0, AR3
sub *, 0, AR6
sacl *
lacc *
sub #hb
bcnd HBC_L1, GT
lacc *
sub #hb_neg
bcnd HBC_L2, LT
b HBC_L3
HBC_L1
mar *, AR4
lacc #0x01
sacl *, 0, AR5
lacc #sw_on
sacl *
b HBC_L3
HBC_L2
mar *, AR4
lacc #0x00
sacl *, 0, AR5
lacc #sw_off
sacl *
HBC_L3

*********************************************************
* end of FOC Controller *
*********************************************************


******************************************************
* six-step control for v/f control *
* this routine used for speed estimation test *
* if SS = 1 then six-step control *
* else vector control *
******************************************************

.if (SS!=1)
b SX_STEP_END
115
.endif

SX_STEP
setc sxm
spm 0x00
mar *, AR2
lar AR2, #sx_step
lacc *
sub #0x01
sacl *
bcnd SX_STEP_END, GEQ
lacc #inv_step
sacl *

lar AR2, #sector
lar AR3, #RSLT
mar *, AR2

.if (DIR!=1)
SX_STEP1
lacc *
add #0x01
sacl *
sub #0x02
bcnd SX_STEP2, LEQ
lacc #0x00
sacl *
.endif

.if (DIR==1)
SX_STEP1
lacc *
sub #0x01
sacl *
bcnd SX_STEP2, GEQ
lacc #0x02
sacl *
.endif

SX_STEP2
lacc *
mar *, AR3
add #(sector+1)
sacl *
lar AR4, *, AR2
lacc *, 0, AR3
add #CMPR1
sacl *
lar AR5, *, AR4
lacc *
bcnd SX_STEP_SW_ON, EQ

SX_STEP_SW_OFF
lacc #0x00
sacl *, 0, AR5
lacc #sw_off
sacl *, 0, AR2
b SX_STEP_END

116
SX_STEP_SW_ON
lacc #0x01
sacl *, 0, AR5
lacc #inv_pw
sacl *, 0, AR2

SX_STEP_END

*****************************************
* end of six-step control *
*****************************************

*********************************************************
* ADC read routine *
*********************************************************

*** get ADC ***
GET_ADC
clrc sxm
mar *, AR2
lar AR2, #ADCTRL1
lacc *
or #0x000e
sacl *
nop
nop
nop
lacc *
or #0x0001
sacl *
nop
nop
nop
GET_ADC0
bit *, (15-7)
bcnd GET_ADC0, TC

mar *, AR2
lar AR2, #ADCFIFO1
lar AR4, #adc_rd1
lacc *, 10, AR4
sach *, 0, AR2
lacc *, 10, AR4
adrk #0x03
sach *-, 0, AR2

adrk #0x02
lacc *, 10, AR4
sach *, 0, AR2
lacc *, 10

GET_ADC_END
*******************************************
*** next period current select for read ***
*******************************************

mar *, AR2
lar AR2, #ADCTRL1
lacc *
117
and #0xff81
or #0x0010 ; for read ia, ib
sacl *

*********************************
*** rd1,2,3 => ia,b,c and vdc ***
*********************************

setc sxm
spm 0x02

lar AR2, #adc_rd3
mar *, AR2
lt *+
mpyu *+
pac
sach *

.if (SS == 1)
lacc *
sfr
sacl *
.endif

spm 0x00
lar AR2, #adc_rd1
lar AR4, #ia
mar *, AR2
lacc #i_off
sub *+, 0, AR4
sacl *
lt *, AR2
mpy *+, AR4
pac
sach *+, 6, AR2

lacc #i_off
sub *-, 0, AR4
sacl *
lt *, AR2
mpy *, AR4
pac
sach *-, 6

lacc *+
add *+
neg
sacl *

*********************************************
*** clark projection (abc=>dq conversion) ***
*********************************************

setc sxm
spm 0x02

mar *, AR2
lar AR2, #ia
lar AR4, #y
118

lacc *+, 0, AR4
sacl *+, 0, AR2
add *, 1, AR4
sacl *
lt *
mpy #inv_sqrt3
pac
sach *

lar AR2, #vdc
lar AR4, #u
mar *, AR2
lt *, AR4
mpy #inv3
pac
sach *+
mpy #inv_sqrt3
pac
sach *


spm 0x00
lar AR2, #sa
lar AR3, #RSLT
lar AR4, #u
mar *, AR2
lacc *+, 1
sub *+
sub *-, 0, AR3
sacl *
lt *, AR4
mpy *
pac
sacl *+, 0, AR2

lacc *+
sub *, 0, AR3
sacl *
lt *, AR4
mpy *
pac
sacl *

*********************************************************
* end of ADC read routine *
*********************************************************

***************************
**** graphic routine ******
***************************

b gr1
clrc sxm
lar AR2, #gr_ind1
mar *, AR2
lacc *
add #0x01
sacl *
119
sub #0x10
bcnd graph_end, NEQ
sacl *
gr1
lar AR0, #0x1000
lar AR1, #gr_ind
mar *, AR1
lar AR2, *, AR3
lar AR3, #y
lar AR4, #x+2
lar AR5, #x+4
graph_l1
lacc *, 0, AR2
sacl *0+, 0, AR4
lacc *, 0, AR2
sacl *0+, 0, AR5
lacc *, 0, AR2
sacl *, 0, AR1
graph_l2
lacc *
add #0x01
sacl *
sub #0xa000
bcnd graph_end, LT
lacc #0xa000
sacl *
******************************
graph_end
******************************
******************************
* period suffient control ****
lar AR5, #T1CNT
mar *, AR5
bldd *, #t1cnt
********************************

*** flashing XF led counter ****
lar AR5, #l
mar *, AR5
lacc *
add #0x40
sacl *
*******************************

***
lar AR5, #EVIFRA
mar *, AR5
lacc #0x0200
sacl *
***
*** context restore ***
mar *,AR7
mar *+
lacl *+
add *+,16
lst #00h,*+
lst #01h,*+
clrc intm
***
120
ret



*** setup hardware and software

SETUP
setc intm

lacc #0x0000
mar *, AR0
sacl *
out *, WSGR
lar AR7,#STACK

*** hardware init ***
lacc #0x00
mar *, AR0
lar AR0, #GPTCON
sacl *+ ; GPTCON
sacl *+ ; T1CNT
sacl *+ ; T1CMPR
sacl *+ ; T1PER
sacl *+ ; T1CON
sacl *+ ; T2CNT
sacl *+ ; T2CMPR
sacl *+ ; T2PER
sacl *+ ; T2CON
lar AR0, #COMCON
sacl * ; COMCON
adrk #0x02
sacl * ; ACTR
adrk #0x02
sacl * ; DBTCON
adrk #0x02
sacl *+ ; CMPR1
sacl *+ ; CMPR2
sacl *+ ; CMPR3
lar AR0, #CAPCON
sacl *+ ; CAPCON
mar *+
sacl *+ ; CAPFIFO
sacl *+ ; CAP1FIFO
sacl *+ ; CAP2FIFO
sacl *+ ; CAP3FIFO

lar AR0, #T1PER
lacc #period
sacl *
.eval (sw_on-adc_delay), adc_start_now
lacc #adc_start_now
lar AR0, #T1CMPR
sacl *-
lacc #0x0000
sacl * ; T1CNT
lacc #0x8000
lar AR0, #COMCON
sacl *
lacc #0xd002
121
lar AR0, #T1CON
sacl *
lacc #0x0666
lar AR0, #ACTR
sacl *
lacc #0x05e0
lar AR0, #DBTCON
sacl *
lacc #sw_off
lar AR0, #CMPR1
sacl *+
sacl *+
sacl *+
lacc #0x8200
lar AR0, #COMCON
sacl *

lar AR0, #T1CON
lacc *
or #0x0040
sacl *

lacc #0x0180
lar AR0, #GPTCON
sacl *

lacc #0xd810
lar AR0, #ADCTRL1
sacl *+

lacc #0x0400
mar *+
sacl * ; ADCTRL2

lar AR0, #OCRA
lacc *
or #0x0fc0
sacl *+

lacc #0x0000
mar *+
sacl *

lacc #0xffc0
lar AR0, #PBDATDIR
sacl *

*** interrupt init ***

lacc #0x0000
lar AR0, #EVIMRA
sacl *+ ; EVIMRA
sacl *+ ; EVIMRB
sacl *+ ; EVIMRC
lacc #0x0201
lar AR0, #EVIMRA
sacl *
lacc #0xffff
lar AR0, #EVIFRA
122
sacl *+
sacl *+
sacl *+

lar AR0, #IMR
lacc *
or #0x0003
sacl *

clrc intm
MAIN
mar *, AR0
lar AR0, #l
lacc *
sub #0x8000
bcnd M1, LT
clrc XF
b MAIN
M1
setc XF
b MAIN

*** power drive protection interrupt ***
PDP_ISR
*** context save ***
mar *, AR7
mar *-
sst #01h,*-
sst #00h,*-
sach *-
sacl *-
***
lar AR0, #PBDATDIR
lacc *
and #0x0ff7f
sacl *
lar AR0, #IMR
lacc *
and #0xfffd
sacl *
***
lar AR0, #EVIFRA
lacc #0x0001
sacl *
*** context restore ***
mar *, AR7
mar *+
lacl *+
add *+, 16
lst #00h,*+
lst #01h,*+
***
ret





123
EK-D SMLASYON ALIMASINDAN ELDE EDLEN GRAFKLER

a. Bota alma iin Yaplan Simlasyondan Elde Edilen Grafikler
124
125
126



























127
b. Ykl alma iin Yaplan Simlasyondan Elde Edilen Grafikler

128
129
130

You might also like