Elektronik / Mikrodenetleyici Projeleri/

PIC16F877 DC Motor Hız Kontrolü (PI kontrolörlü)

Sponsorlu Bağlantılar

Hazırlayanlar: Server Doğan ve Ümit Çelik Emeği geçen Kişilere Teşekkürler

DA Motorlarda analog kontrol

DA motorlarda hız ayarı 1891 yılında Ward Leonard tarafından gerilim kontrolü vasıtasıyla ilk olarak gerçekleştirilmiştir. Güç elektroniğinde anahtarlama elemanı olarak tristörün kullanılmaya başlamasıyla DA motorlarının hız ayarında ayarlı gerilim kaynakları ön plana çıkmıştır. Daha sonraki yıllarda anahtarlama elemanı olarak MOSFET, IGBT ve GTO gibi yarı iletken elemanlar kullanılmıştır

İlk önceleri bu elemanların anahtarlamaları analog devreler vasıtasıyla yapılmaktaydı ve frekansları düşüktü, ancak daha sonraları sayısal kontrol elemanlarının kullanılması ile anahtarlama frekansı yüksek değerlere çıkartılmıştır. Bu sayısal kontrolün sağlanması için gerekli olan anahtarlama algoritmaları darbe genişlik modülasyonu (PWM) kontrol tekniği ile sağlanmıştır.

Şekil.2 Degişken darbe üretici devresi.
Degişken darbe üretici devresi

Hız ayart yapabilen ve kontrolü kolay olan DA sürücü sistemleri geniş bir alanda yaygın olarak kullanılmaktadır. Geleneksel analog kontrol devrelerinin bir çok dezavantaj vardır. Karmaşık uygulama şeması nedeniyle analog devrelerin uygulanması zordur. Analog devreler esneklikten yoksun ve gürültüye karşı duyarlıdır. Ayrıca analog devrede kullanılan elektronik malzemelerin her biri farklı tolerans değerlerine sahiptirler. Şekil.2’de analog demişken darbe üretici devresi verilmiştir. Şekil.3’de ise analog darbe üreticisinde üretilen PWM sinyali gösterilmiştir. Bütün bu faktörler; güvenilir, esnek ve gürültüden etkilenmeyen mikro denetleyicili sistemlerin kullanılmasını gerektirmektedir

Şekil 3. Analog değişken darbe üreticisinden elde edilen PWM sinyal.
Analog değişken darbe üreticisinden elde edilen PWM sinyal

DA Motorlarda sayısal kontrol

Mikro denetleyicilerin motor sürücü devrelerinde kullanımı gün geç tikçe artmaktadır. Bu
sürücüler genellikle motorları çalıştırıp durdurmaya veya yarıiletken bir elemanın tetikleme açısını değiştirerek DA motorların kontrol unda kullanılmaktadır.DA kaynak gerilimi, mikro denetleyici tarafından üretilen PWM sinyali kullanılarak kontrol edilebilen kıyıcı devresi giriş gerilimi olarak kullanılır.Motordan referans gerilim alınır ve değişen yüke bağlı olarak PWM görev saykılı ayarlanır. DA motor kıyıcıları daha verimli olup frekansa bağlı olan alternatif akım bakır ve demir kayıpları yoktur .

PI Kontrollü Hız Denetimi

Açık döngülü sistemle motor hız kontrolünde devir sayısı ayarı endüvi veya uyartım sargısı üzerine düşen gerilimi değiştirmekle ayarlanabilir.Açık döngülü sistemde motor gerilimindeki ve motor devir sayısındaki değişiklikler dikkate alınmamaktadır.Bu yöntemde,yük durumuna göre devir artar veya azalır.Bu nedenle sabit hız uygulamalarında açık döngülü sistem kullanılamaz.

Kapalı döngü sistemle motor hız kontrolünde, çıkış büyüklüğü sistem değişkenlerinden bağımsız
hale getirilir.Şekil.4’de kurulan döngü sayesinde çıkış büyüklüğü olan motor devri sayısı(hızı)
sabit tutulmak istenmektedir

DA motoru PI ile hız kontrolü.
DA motoru PI ile hız kontrolü

Yukarıda verilen kapalı döngü sistemde motor devir sayısı referans değeri ile ayarlanır.Sistemde kullanılan takometre sayesinde motor devrindeki değişme algılanır.Motor yük durumuna göre endüvi sargısı veya uyartım sargısı gerilimi değiştirilerek devir sayısının referans değerinde kalması sağlanır

Motor gerilimi yarı iletkenler yardımı ile ayarlandığından,sistem verimli ve güvenilirdir. Şekil.5’de PI kontrolör şeması verilmektedir.Sistemde oluşacak hata sinyali kontrolörde değerlendirilerek çıkışa aktarılmaktadır.Hata sinyali e(t) sistem kazancı ile çarpılmakta ve hata sinyalinin entegrali alınmaktadır.Sistemde integratör kullanılarak çıkıştaki aşım önlenir.Hata sinyalinin değerine göre PI çıkışı artırır veya azaltır.

PI iç bağlantısı
PI iç bağlantısı

Sistem Tasarımı

Bu çalışmada PIC 16F877 kullanılarak anahtarlama elemanına gerekli olan PWM tetikleme sinyalleri üretilmiş ve bu elemanların iletim-kesim açısını ayarlayabilen mikro denetleyici tabanlı PWM modülatör geliştirilmiştir.Yazılım assembler dilinde hazırlanmıştır.Sistemin sadelik ve geliştirilmeye uygun olması gibi üstünlükleri vardır.Gerçekleştirilen bu uygulamada, kullanıcı tarafından istenilen çıkış değerleri için gerekli anahtarlama süreleri yazılım tarafından üretilerek kontrol ünitesine aktarılmaktadır.Windows tabanlı yazılım geliştirme ortamlarının zamanda belli bir geciktirme sağlaması bu gibi uygulamalar için pek fazla elverişli değildir.Ancak assembler yazılım geliştirme ortamının kullanılması vasıtasıyla sistemin diğer programlama dillerine göre daha hızlı şekilde tetikleme sinyallerini kontrol ünitesine aktarması gerçekleştirilmiştir.

PI Kontrol sistemi blok diyagramı.
PI Kontrol sistemi blok diyagramı

PWM kontrol değişik anahtarlama teknikleri kullanılarak yapılır.Bazı elektronik elemanlar açık veya kapalı durumlu bir anahtar olarak kullanılır.İdeal bir anahtar ile kayıpları önleyerek bir kontrol yapılabilir.

Gerçekte ise hiçbir eleman böyle bir ideal anahtar görevini yerine getiremez. Fakat ideal eleman sayılabilecek BJT, MOSFET, SIT, IGBT, SCR, TRIYAK, GTO gibi kullanışlı elemanlar mevcuttur.

Sürücü Devrenin Çalışması

Aşağıdaki şekilde uygulaması gerçekleştirilen transistorlü PI geri beslemeli sürücü devresi verilmiştir. Motora uygulanan akım BD 140 transistoru ile ayarlanmaktadır. Transistor ler, PIC’ de üretilen PWM sinyalleri ile kontrol edilmektedir.

Devredeki BC237 transistorü PIC’in yüklenmemesi için kullanılmıştır.Referans potansiyometresi ile PWM görev saykılı değiştirildiğinde,motor akımının büyüklüğü ve dolayısıyla eşitlik 2.3’e göre motor hızın ayarlanmaktadır.

PIC16F877 analog girişleri sayesinde geri beslemeli kontrol sistemleri için yeterli çözümü üretebilmektedir.Sistemde referans potu yardımı ile istenilen devir sayısı girilmekte, bu bilgi takometreden gelen referans bilgi ile PIC içerisinde karşılaştırılmaktadır.

Bu değer PIC’de üretilecek olan PWM sinyalinin görev saykılına atanmaktadır.Geri besleme sinyalini alabilmek için mekanik enerjiyi elektrik enerjisine çeviren takometre kullanılmıştır.Kontrol sistemlerinde doğru akım takometreleri kullanılmaktadır.Doğru akım takometreleri kontrol sistemlerinde millerin hızlarını belirlemek ve kaydetmek, yada hız kontrolünde hız geri beslemesi ile kararlılığı arttırmak için kullanılan bir elemandır.Çalışmada iki 12 volt DA motoru birbirine akuple edilerek biri motor diğeri tako generatör olarak kullanılmıştır.Giriş gerilim ve kullanılan elemanların değerleri motor gerilimine uygun olarak seçilmiştir.

Transistörlü sürücü devre
Transistörlü sürücü devre

Çevresel Arabirimli Denetleyici (Pic)

Yapılan çalışmada 40 pinli PIC16F877 mikro denetleyici kullanılmıştır.Bunlardan 33 pin giriş/çıkış, diğer 7 pin PIC’in çalıştırılması için kullanılmaktadır.

PIC16F877 üzerinde 368 byte’lık RAM vardır.3 adet zamanlayıcı/sayıcı,2 adet algılama/karşılaştırma/ PWM, 2 adet seri ve 8 adet 10 bitlik A/D konvektör modülüne sahiptir.PIC16F877 ailesi daha az dış eleman kullanımına imkan verecek özelliklere sahiptir ve böylece maliyet minimuma inmekte, sistemin güvenirliği artmakta, enerji sarfiyatı azalmaktadır. Bunun yanı sıra tüm PIC’lerde aşağıda verildiği gibi 4 adet osilatör seçeneği mevcuttur.

• RC Direnç kondansatör _ düşük maliyet (4 MHz)
• XT Kristal veya seramik _ genel amaç (4 MHz)
• HS Kristal veya seramik _ yüksek hız (20 MHz)
• ?LP Kristal veya seramik _ asgari akım (40 kHz)

Mikro denetleyicilerde çevresel arabirimler, bir tümleşik aygıt içinde birleştirildiğinden sistem hızı ve güvenilirliği artmış,maliyet azalmıştır.Kullanım kolaylığı sağlanmakla birlikte karmaşık yapı ortadan kaldırılmıştır

PIC 16F877 Denetleyici ile PWM Sinyalinin Üretilmesi

PWM çalışma maduna geçebilmek için aşağıdaki aşamalar takip edilerek Capture Compare PWM(CCP) modülü düzenlenmelidir;

Basitleştirilmiş PWM blok diyagramı.
Basitleştirilmiş PWM blok diyagramı

• PWM periyodu PR2 registerine yazarak başlanır.
• PWM görev saykılıCCPR1L register ve CCP1CON <5:4> bitlerine yazılır.
• CCP1 pini TRISC<2> biti temizlenerek çıkış yapılır.
• Timer2 (TMR2) prescale değeri girilir ve TMR2’nin T2CON biti set edilerek TMR2’ninçalışması sağlanır.
• PWM operasyonu için CCP1 modülü ayarlanır.

Darbe Genişlik Modülasyon (PWM) madunda,CCPx pini 10 bit kadar kararlı PWM çıkışı üretir. CCP1 pini PORTC data latch ile oğullanmıştır.CCP1 pinini çıkış yapmak için TRISC<2> biti mutlaka temizlenmelidir.

Bir PWM çıkışında, bir periyotluk süre dahilinde çıkışın yüksek seviyede bulunduğu zamana duty cycle (görev saykılı) denir.

PWM Periyodunun ve Görev Süresinin Hesaplanması

PWM periyodu,PR2 registerine yazılarak belirtilir ve eşitlik 7.2.1’deki formülle hesaplanabilir.
T=PWM period = [(PR2) + 1] . 4 . TOSC . (TMR2 prescale değeri) (7.2.1)

PWM frekansı periyodun tersi olup eşitlik 7.2.2 ile hesaplanır.
f=1/T (7.2.2)

TMR2 PR2’ye eşit olduktan sonraki artış üç durum ortaya çıkarır:

• TMR2 temizlenir.
• CCP1 pini set edilir. İstisna olarak PWM duty saykıl=0% ise, CCP1 pini set edilmez.
• PWM duty saykılı CCPR1’den CCPR1H’a latch’lenir

PWM çıkışı
PWM çıkışı

TMR2, görev saykılı’na (Ton) eşit oluncaya kadar CCPR1L’de lojik1 bilgisi görülür. TMR2 içeriği görev saykılına eşit olduğunda seviye lojik 0’a düşer TMR2 içeriği sıfırlanmadan PR2’ye eşit oluncaya kadar çalışmaya devam eder.Böylece, Şekil 9’da gösterildiği gibi bir periyotluk süre tamamlanmış olur. Burada;

f = PWM sinyalinin frekansını (Hz)
T = PWM sinyalinin bir saykılını (s) gösterir.
Bir saykıllık PWM süresi ise;
T=Ton+Toff

eşitliği ile bulunabilir. Burada;

Ton = Pozitif PWM sinyal süresini veya PWM görev saykılını (s)
Toff = Sıfır veya negatif PWM sinyal süresini (s) göstermektedir.

PWM görev süresi, CCPR1L register ve CCP1CON<5:4> bitlerine yazılarak belirlenir.10 bite kadar kararlılık elde edilebilir. PWM görev saykılı eşitlik 7.2.4’deki gibi hesaplanabilir.

Ton=PWM görev saykılı=(CCPR1L:CCP1CON<5:4>).Tosc.(TMR2 prescale değeri) (7.2.4)
CCPR1L ve CCP1CON<5:4> herhangi bir zamanda yazılabilirler,fakat görev saykılı değeri PR2 ve TMR2 arasındaki eşleşme olmadıkça CCPR1H içine latch’lenmez. PWM modunda CCPR1H
sadece okunabilir registerdir

Maksimum PWM kararlılığı aşağıdaki eşitlikle hesaplanabilir.
Maksimum PWM kararlılığı =log(fosc/fpwm)/log(2) bit
Burada;
fosc = Dış devrede kullanılan osilatörün frekansını (Hz)
fpwm = PWM frekansını (Hz) göstermektedir.

Örnek: PWM periyodu ve PWM kararlılığının hesaplanması;

İstenilen PWM frekansı f = 3,906 kHz
Kullanılan osilatörün frekansı Fosc = 4 MHz
TMR2 prescale=1 ise; 7.2.1 nolu eşitliği kullanarak PR2 registerine yazılacak değer hesap edilecek olursa;

pwm formul

PR2 registeri dahili frekansa göre, CCPR1L ise harici frekansa göre çalışır. Dolaysıyla CCPR1L’nin frekansı dış devredeki frekansa göre çalışırken,PR2 frekansı bunun ¼’üne eşittir.

Kullanılan osilatörün frekansı 4 MHz oldu için dahili frekans 1 MHz, dahili işlem hızı 1us olmaktadır.

Örnekte PR2 255 olduğuna göre 7.2.3 nolu eşitlikteki [(PR2)+1]’den istenilen 3,906 kHz için PR2 256 us olarak bulunur. Harici frekans dahili frekansın 4 katı olduğu için CCPR1L’nin işlem hızı 256 us x4= 1024 us ’dir.

Eşitlik 7.2.5’den maksimum PWM kararlılığı hesaplanır. Maksimum PWM kararlılığı=log(4000000/3906)/log(2)=log(1024)/log(2)=3/0.3= 10 bit Bu sonuca göre maksimum PWM kararlılığı 210=1024 us veya 10 bitlik kararlılıkta üretilmektedir ve PWM’in 0.-10. bitleri arasında herhangi bir bit değerinde kararlı çalışabileceği anlaşılmaktadır.

Deneysel Sonuçlar Ve Çalışmanın Değerlendirilmesi

PIC 16F877 kullanılarak üretilmiş olan PWM sinyali PI üzerinden DA motorunun sürme devresine uygulanmıştır.Şekil 4 ve Şekil 6’da verilen blok diyagramlardan da görüleceği gibi, DA motoruna akuple edilmiş olan takogeneratörden alınan hız değeri geri besleme sistemi ile denetleyiciye aktarılmıştır. Şekil 7’de ise, hem motorun sürme, hem de denetleyicinin açık devre şemaları verilmiştir. DA motorunun endüvi gerilimi BD140 transistörü ile kontrol edilmiştir.

Referans hız 387 rad/s iken ölçülen PWM ve tako generatör sinyalleri.
PWM ve tako generatör sinyalleri

Burada denetleyicinin çıkışından alınan sinyal yeterince güçlü olamadığından, BC237 transistörü yükseltici olarak kullanılmıştır.Normal olarak sisteme enerji verildiğinde,DA motoru kalkınarak, motor hızı referans hız değerine kadar yükselip,bu değerde sabit kalmaktadır Referans hız değeri arttıkça,motora uygulanan PWM sinyalinin pozitifliği de artmaktadır.Tersine, motorun referans hız değeri azaldıkça, motora uygulanan PWM sinyalinin pozitifliği de azalmaktadır. Yukarıdaki şekilde referans hız 387 rad/s iken PWM sinyalinin pozitifliği hemen hemen tam iletimdeki değere yaklaşmış durumdadır. Şekil 11’de ise, motorun referans hız değeri 183 rad/s’ye düştüğünde, motora uygulanan PWM sinyalinin pozitifliği de tamamen azalarak, tam kesim durumuna yaklaşmıştır.

Referans hız 183 rad/s iken ölçülen PWM ve tako generatör sinyalleri
PWM ve takogeneratör sinyalleri

Motor hızının referans hızı izlemesi ve uygun PWM sinyalinin üretilmesi, geri beslemeli PI denetleyiciden dolayı otomatik olarak sistem tarafından yapılmaktadır.

Baskı Devre Alt Görünüm
Baskı Devre Alt Görünüm

Baskı devrenin hazırlanışı:
1-)Ares çizim programında devrenin alttan görünüşünün simetriği hazırlandı.

2-)Hazırlanan çizimin asetat kağıdına fotokopisi çektirildi..

3-)Bakırlı plaket üzerine asetat kağıdı yerleştirildikten sonra ütü ile ısıtılarak bakırlı palaketin üzerine alttan görünüşün çıkması sağlandı.

4-)Perhidrol ve tuz ruhu karışımına bakırlı plaket atılarak baskı devre çıkarıldı.

5-)Daha sonra delikler delinerek montaja hazır hale getirildi.

Baskı Devre Üst Görünüm
Baskı Devre Üst Görünüm

Devrenin Hazırlanışı:
1-)Birinci sayfadaki üstten görünüşe uygun olarak elemanlar plakete aktarılır

2-)Havya ve lehim teli yardımıyla devreni montajı gerçekleştrilir

3-)Devremizde pwm’in çıkışındaki motor ve geribesleme motoru için ayrı bir düzenek kuruldu ve bağlantı sağlandı.

4-)Kurduğumuz bu düzenekte devir sayıları farklı iki motor bir güç transistorü ve klemensler bulunmaktadır.

5-)Ayrıca üstten görünüşte görülen mosfet yerine pwm çıkışındaki motoru sürmek için güç transistorü kullanılmıştır.Bu transistör yukarıda bahsettiğimiz ek düzeneğe montajlanmıştır.

6-)gerekli kontroller yapıldıktan sonra devreye güç verilip çalıştırılmıştır.

Projenin Kaynak ve kod Dosyaları PIC16F877 DC Motor Hız Kontrolü (PI kontrolörlü)

Dosya indirme LINK listesi (TXT formatında) link-4039.zip şifre-pass: 320volt.com

  • yunus

    :) güzel ama az biraz fazla çeşit olsa mükemmel olurdu yani

  • EMRE BÖLME

    merhabalar ben bu programı pic18f2550 de nasıl kullanabılırım. led çıkıslarını portb den alabılırmıyım yada porta yı hem analog gırıs hem motor pwm cıkısını kullanabılırmıyız… yakın zamanda cevap alabılırsem proje ödevım ıcın cok yardımcı olmuş olursanız çok tesekkur ederım…

  • EMRE BÖLME

    20 mhz kristal kullanıyorum… ayrıca led cıkısı demişim motorun çıkısı demeliydim.
    18f2550 de sadece porta ve portb oldugu ıcın nasıl yapacagımı bılmıyorum.
    pwm cıkısı illa portc olmak zorundamı?

  • mustafa

    Bu devrede ayrıca kullanılan elemanlar yayınlanırsa iyi olur. birde devrenin fotolarıda olsaydı daha güzel olurdu