Analog PID ile Encoderlı Motorun Hız Kontrolu
Projenin Amacı
Proje amacı aktif devre elemanı olan opamp ile PID kontrolör
tasarlayarak encoderlı DC motoru kontrol edilmesi amaçlanmaktadır.
PID parametrelerin katsayıları ve referans voltajını
ayarlanabilir şeklide tasarlanılması istenilmektedir. Bu ayarlama şartının
sağlanması için potansiyometre kullanılacaktır.
Sistemin Kurulması ve Hazırlanması
Sistemde encoderli motor kullanıldığından PID kontrolörün
girişi olan hata da doğrudan bağlayamayacağız. Encoder pulselerini anlamlı bir
hale getirmek için counter ile sayarak uygun bit değerinde DAC ‘a yönlendirerek
sistemi anlamlı bir hale getirilecektir. DAC çıkışı artık motorumuzun sahip
olduğu veriyi bize yansıtacaktır. Opamp kullanarak referans değerinden DAC
çıkışımızı çıkartarak opamp ile tasarlanan PID kontrolöre girer ve sistem
çalışır.
Sistemi proteus üzerinde simülasyon olarak yapılmıştır. Sistem
3 ana bloktan oluşmaktadır; Counter , DAC, PID sistem. Bunları açıklanacak
olursa
PID Sistem
Şekil 1 : PID sistem
Şekil 1’de görüldüğü gibi
referans voltajı potansiyometre ile gerilimi ayarlatarak sisteme fark alıcı
devreye girer. Fark alıcı devrenin diğer sinyal girişine DAC ‘dan alınan sinyal
girilir böylelikle hata elde edilir. Elde edilen hata verisi negatif
değerindedir bunu düzeltmek için invers alan opamp devresi dizayn edilir.
Böylelikle PID sisteme giriş yapmış olur. PID katsayıları üzerine bulunan
potansiyometreler ile ayarlanır. PID çıkışı motora enerji olarak verilir ve
motor dönmeye başlar.
Counter Devresi:
Şekil 2 : Counter yukarı sayıcı
Şekil 2 deki görüldüğü gibi
counter clk girişi motorun encoder pulse çıkısı olarak ayarlanmıştır.
Böylelikle her pulse olduğunda counter sayacaktır. Reset işlemi her 1 saniye
sonun olmaktadır. Bu sistem için 10 bitlik sayıcı kullanılmasını uygun
görülmüştür. Daha hassas bir olçum sağlanabilecektir. Ufak bir işlem ile gösterecek olursak 12 V
max çıkış , 10 bit counter .
12V / (2^10) = 0.012 V yaklaşık
olarak bir değer olucaktır bu değer her bitimizin sahip olduğu voltaj
değeridir.
Minimum bit seçimi : Max RPM =
1000 devir/ dk , encoderın bir turda ürettiği pulse = 24
1000* 24 pulse / 60 sn = 400
pulse/sn
8 bit olsaydı 2^8 = 256 bu bizim
için yeterli olmayacaktır.
9 bit için 2^9 = 512 . en az 9 bitlik bir counter ve DAC kullanılsa idi
bizim için uygun olurdu.
Şekil 3 : DAC Devresi
Şekil 3 de görüldüğü gibi counterdan gelen bit değerleri DAC
‘a giriş olarak girmiştir. En büyük değerlikli bite ( MSB ) bağlı dirence R
denilirse aşağıya doğru 2^(10-n) * R olacak şekilde direnç değerliklerini bit
değerlerine almıştır. Yani MSB R iken onun
bir alt değerlikli bitinin giriş direnci 2R , bir altı 4R şeklinde olacaktır.
Burada önemli olan Rf direncinin hesaplanmasıdır. Rf , DAC çıkışının voltaj değerini
ayarlamaktadır . Ufak bir hesaplamada;
12V / (2^10) = 0.012 V
, LSB ‘nin değeridir.
MSB = 2^9 = 512 değerindedir. MSB voltaj değeri : 512 *
0.012 V = 6.144 V ‘dur.
Sadece MSB aktif olarak düşünürsek 5 V luk bit girişi için
Rf hesaplaması :
6.144 V = Rf * ( 5V/10K Ω )
è
Rf = 12288 Ω ‘dur buda yaklaşık olarak
12K Ω denk gelir.
Çalışma Diyagramı
Simülasyon
Simülasyon a ait görüntüler ektedir.
Yorumlar
Yorum Gönder