• Sonuç bulunamadı

PIC MİKROKONTROLÖR TABANLI ADIM MOTORU KONTROLU

N/A
N/A
Protected

Academic year: 2022

Share "PIC MİKROKONTROLÖR TABANLI ADIM MOTORU KONTROLU"

Copied!
6
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

PIC MİKROKONTROLÖR TABANLI ADIM MOTORU KONTROLU

Prof. Dr. Doğan İbrahim

Yakın Doğu Üniversitesi, Bilgisayar Mühendisliği Bölümü, KKTC E-mail: dogan@neu.edu.tr Tel: (392) 2236464

ÖZET

Adım motorlarını (stepping motors) günümüzde çok çeşitli endüstriyel ve robotik uygulamalarda görmemiz mümkündür. Çok hassas dönüş özellikleri olan bu motorlar mikroişlemci ve mikrokontrolör devrelerinde kullanılmaktadırlar. Bu makalede, adım motorlarının PIC mikrokontrolör tabanlı sistemlerde C dili altında kullanımlarından bahsedilmektedir.

1. GİRİŞ

Elektrik motorları elektrik enerjisini mekanik enerjiye dönüştürmektedirler. Genel olarak çok çeşitli elektrik motorları bulunmaktadır. Elektrik motorlarını, çalışma prensiplerini göz önünde bulundurarak doğru akımla çalışan (DC) ve alternatif akımla çalışan (AC) olmak üzere iki gruba ayırabiliriz.

Her iki sınıfta da şu tip motorları görmemiz mümkündür:

DC Motorlar:

Mıknatıs kullanan motorlar Seri sarımlı motorlar Şönt sarımlı motorlar Karışık sarımlı motorlar Adım motorları

AC Motorlar:

Tek fazlı indüktans motorlar Senkron motorlar

Çok fazlı indüktans motorlar Seri sarımlı universal motorlar

Mıknatıs kullanan DC motorlarını1 küçük uygulamalarda görebiliriz. Örneğin, bilgisayarlarda soğutma amacıyle kullanılan küçük serinlikler mıknatıs motorlardır. Bu tip motorlarda manyetik alan bir mıknatıs ile elde edilmektedir. Mıknatıs kullanan motorların en önemli desavantajları zamanla mıknatıs gücünün kaybolmasıdır. Bu motorların gerilim-hız eğrileri oldukça lineerdir. Elde edilmiş olan tork ise motor akımı ile doğru orantılıdır. Mıknatıs kullanan motorların bir diğer özellikleri de gerilim değişince motor

hızının çok hızlı bir şekilde değişmesidir. Bu motorların fiyatları genellikle oldukça düşük olmaktadır.

Seri sarımlı DC motorların hızları motora takılan yüke bağlı olarak değişmekte ve yük azaldıkça hız artmaktadır. Bu tip motorlarda gerekli olan manyetik alan motorla seri olarak bağlanmış olan bir sarıma (bobin) verilen akım sayesinde elde edilmektedir. Seri sarımlı motorlar daha çok başlangıçta büyük güçleri belirli bir hıza getirmek amacıyla kullanılmaktadırlar. Bu tip motorlar mıknatıs kullanan motorlardan daha güçlü olup daha fazla akımla çalışmaktadırlar.

Şönt sarımlı DC motorlarda gerekli olan manyetik alan motor ile bağlanmış olan bir sarıma (bobin) verilen gerilimle elde edilmektedir. Bu tip motorlar daha çok hassas hız control uygulamalarında ve ayni zamanda yüksek tork gerektiren uygulamalarda kullanılmaktadırlar.

Karışık sarımlı DC motorlar, seri sarımlı ve şönt sarımlı motorların karışımı olarak düşünülebilir. Bu motorlarda gerekli olan manyetik alan hem seri sarımdan ve hem de şönt (parallel) sarımdan elde edilmektedir.

Bu tip motorlar yüksek tork ve hassas hız kontrolu uygulamalarında kullanılabilirler.

Adım motorları2,3 çok hassas hız ve pozisyon kontrolunda kullanılırlar. Bu motorların düşük hızlarda yüksek torkları bulunmaktadır. Adım motorları puls ile çalışmaktadır ve her puls verildiğinde motor belirli bir miktar dönmektedir. Örneğin, 12 derecelik bir adım motoruna her puls verildiğinde motor 12 derece dönmektedir.

Böylece, tam bir dönüş yapmak için motora 30 puls verilmesi gerekmektedir (30x12 = 360).

Adım motorları genel olarak hız ve pozisyon kontrolu devrelerinde geri besleme yapılmadan kullanılmaktadırlar. Bundan dolayı motor hızını ölçmek için takojeneratör veya optik enkodere gerek olmamaktadır. Adım motorları otomatik kontrol alanında son derece önem taşımakta olup bu motorların şu avantajları bulunmaktadır:

• Geri besleme olmadan kontrol

devrelerinde rahatlıkla

kullanılabilirler

• Mevcut hata bir adımdan diğer adıma geçmez

(2)

• Motor dönüşü pulslarla kontrol edildiği için bu tip motorlar mikrokontrolör devrelerinde kolaylıkla kullanılabilirler

• Adım motorların yapıları basit ve oldukça güvenilirdirler

• Düşük hızlarda yüksek tork vermektedirler

• Çok düşük hızlarda (örneğin dakikada birkaç yüz defa dönüş gerektiren uygulamalarda) kullanımları mümkündür

• Mikro adım kontrolu kullanılarak dönüş hassasiyeti artırılabilir

Bu avantajları yanında adım motorların şu desavantajları bulunmaktadır:

• Motorun dönüşü adım adım olduğu için bazı uygulamalarda bu motorların kullanımı mümkün değildir.

• Sürtünmeden dolayı pozisyon kontrolunda hatalar elde edilebilir.

• Çıkış güçleri sınırlıdır

• Geri beslemeli hız ve pozisyon kontrolu uygulamalarında kullanımları zordur.

• Adım motorları genellikle diğer motorlardan daha pahalıdırlar.

Adım motorlarını unipolar (çok kutuplu) ve bipolar (iki kutuplu) olmak üzere iki sınıfa ayırabiliriz. Her iki tip adım motorunun da özellikleri ve kontrolu daha sonraki bölümlerde verilmiştir.

Tek fazlı AC indüktans motorlar çok fazlı akımın bulunmadığı küçük uygulamalarda kullanılırlar.

Senkron AC motorlar kullanılan alternatif akım frekansına bağlı olarak sabit bir hızda dönmektedirler. Bu tip motorlar endüstriyel uygulamalarda çok yaygın olarak kullanılmaktadırlar.

Bu yazımızda, endüstride çok yaygın olarak kullanılan adım motorlarının (stepping motors) PIC mikrokontrolör kullanılarak nasıl kontrol edilebildiklerini göreceğiz.

2. ADIM MOTORLARI

Adım motorları hassas hareket gerektiren birçok robotik ve endüstriyel uygulamalarda kullanılmaktadırlar. Puls ile çalışan bu motorlarda, her puls uygulandığında motor belirli bir miktar dönmektedir. Bu dönüş miktarına adım da denilmektedir. Bazı motorların adımları 90 derece, daha hassas motorların ise 1.8 ve hatta 1.72 derece olabilmektedir. Uygun kontrolörler sayesinde

adım motorlarını yarı-adım veya daha küçük ve mikro-adım diye bilinen oldukça küçük adımlar şeklinde döndürmek mümkündür.

Adım motorları otomatik kontrol devrelerinde genellikle geri besleme olmadan kullanılmaktadırlar. Bu motorların hassasiyetleri bir adımın %3ü ve %5i arasında değişmektedir. Fakat en önemlisi hatanın bir adımdan diğer adıma geçmemesidir. Böylece, geri besleme olmadan çok hassas motor pozisyon kontrol uygulamaları yapılabilmektedir. Adım motorların birçok çeşitleri bulunmakatdır, fakat en yaygın olarak kullanılanları sabit mıknatıs içeren çeşitleridir.

Adım motorları ayni zamanda büyüklüklerine gore de sınıflandırılmaktadırlar. Bu sınıflandırmada motor gövdesinin çapı göz önüne alınmaktadır. Örneğin, size 11 bir adım motorunun gövde çapı yaklaşık olarak 1.1 inçtir. Ayni şekilde, size 45 bir adım motorunun gövde çapı 4.5 inç kadardır.

Adım motorlarını ve DC motorları şu şekilde karşılaştırabiliriz:

• Adım motorları kolaylıkla mikrokontrolörlerle kontrol edilebilirler. DC motorların kontrolu ise çok daha kompleksdir.

• Adım motorları geri beslemesiz olarak kullanılmaktadırlar. Bunun yanında, DC motorlar geri besleme kullanarak çalıştırılırlar.

• Adım motorları fırçasız oldukları için genel olarak DC motorlara kıyasla daha dayanıklıdırlar.

• Adım motorlarında kayma meydana gelebilir ve bundan dolayı hız ve pozisyon kontrolunda hata olabilir.

• DC motorlar geri besleme ile kontrol edildiklerinden dolayı genellikle daha hızlı bir responsa sahiptirler.

Genel olarak adım motorlarının iki fazı bulunmaktadır, fakat üç veya beş fazlı motorlar bulmak da mümkündür. Adım motorlarını bipolar (iki kutuplu) ve unipolar (çok kutuplu) olmak üzere iki sınıfa ayırabiliriz. Şekil 1 de unipolar ve bipolar adım motorların sarımları gösterilmiştir. Unipolar adım motorlarının 4, 5 veya 6 bacak bağlantıları bulunmaktadır.

Ortak bacak genellikle +V gerilimine bağlanmaktadır. Bu durumda, 6 bacaklı bir unipolar motoru kontrol etmek için sadece 4 bacağını kontrol etmemiz gerekmektedir.

Bipolar motorların ise sadece 4 bacak bağlantıları bulunmaktadır. Genel olarak unipolar motorları sürmek bipolar motorları sürmekten daha kolaydır.

(3)

2.1 Unipolar Adım Motoru Sürüşü

Unipolar adım motorlarını tam adımlı ve yarım adımlı olarak sürebiliriz. En yaygın olarak kullanılan unipolar sürüş şekilleri: 1 fazlı tam adımlı, 2 faz tam adımlı, ve 2 faz yarım adımlı olmak üzere üç değişik şekildedir.

Unipolar adım motoru

Şekil 1 Bipolar adım motoru 1 Fazlı tam adımlı sürüş

Tablo 1 de verildiği gibi, bu sürüş şeklinde motor sarımları a, b, c, ve d her adımda bir puls almaktadırlar. Adım 4 den sonra tekrar adım 1 e dönülmektedir. Kısacası bir saykıl 4 adımdan meydana gelmektedir.

Tablo 1 1 fazlı tam adım sürüş

Adım a c b d

1 1 0 0 0

2 0 1 0 0

3 0 0 1 0

4 0 0 0 1

2 Fazlı tam adımlı sürüş

Tablo 2 de verildiği gibi, bu sürüş şeklinde motor sarımlarından a, b, c, ve d nin her ikisi her adımda birer puls almaktadırlar. Bu sürüş şeklinde elde edilen tork daha fazla olmaktadır.

Adım sırasını ters yapmakla motor ters yönde dönmektedir.

Tablo 2 2 fazlı tam adım sürüş

Adım a c b d

1 1 0 0 1

2 1 1 0 0

3 0 1 1 0

4 0 0 1 1

2 Fazlı yarım adımlı sürüş

Tablo 3 de verildiği gibi, bu sürüş şeklinde motor sarımlarından a, b, c, ve d bazen ikişer, bazen ise sadece bir puls almaktadırlar. Fakat burada önemli olan nokta motor yarım adım sürüldüğü için bir saykılı tamamlamak için 8 adım gerekmektedir. 2 fazlı yarım adımlı sürüşlerde iki katı hassasiyet elde edilmektedir.

Fakat üretilen tork yaklaşık olarak yarıya düşmektedir.

Tablo 3 2 fazlı yarım adım sürüş

Adım a c b d

1 1 0 0 0

2 1 1 0 0

3 0 1 0 0

4 0 1 1 0

5 0 0 1 0

6 0 0 1 1

7 0 0 0 1

8 1 0 0 1

2.2 Unipolar Adım Motoru Sürüş Devreleri

Adım motorlarını sürmek için gerekli olan akıma bağlı olarak normal npn veya pnp transistör, MOSFET güç transistörü, veya entegre devre adım motoru sürücüleri kullanılabilir. Şekil 2 de npn transistörlü bir sürücü devresi verilmiştir. Burada npn transistörler sviç olarak kullanılmış ve bu transistörlerin modelleri gerekli olan akıma bağlıdır. 5 Amper kadar akımlar için TIP141 modeli, daha küçük akımlar için ise BC108 tipi transistörler kullanılabilir.

Şekil 2 npn transistörlü unipolar motor sürücü devresi

(4)

Şekilde diyotlar transistörleri motorun üretmiş olduğu geri emf den korumak için kullanılmıştırlar. Şekil 3 de MOSFET transistörleri kullanarak gerçekleştirilmiş olan bir sürücü devresi verilmiştir.

2.3 Bipolar Adım Motoru Sürüşü

Bipolar motorlarda ayrı bobinler olup bu bobinlere verilen gerilim yönünün değiştirilmesi gerekmektedir. Bipolar adım motorların sürüşü bundan dolayı daha karışıktır. Bu tip motorları sürmek için genellikle çift H-köprüsü devreleri kullanılmaktadır.

Şekil 3 MOSFET transistörlü sürücü devresi Şekil 1 de gösterilen bipolar adım motorunu sürmek için Tablo 4 de verilen adımlara gerek vardır (bipolar adım motorlarını 2 fazlı tam adım ve 2 fazlı yarım adım modunda sürmek de mümkündür).

Tablo 4 Bipolar adım motoru

Adım a c b d

1 + - - -

2 - + - -

3 - - + -

4 - - - +

Tabloda + ve – işaretleri bacaklara verilecek olan gerilimin yönünü belirtmektedir.

2.4 Bipolar Adım Motoru Sürüş Devreleri

Bipolar adım motoru sürüş devreleri daha karmaşık olup Şekil 4 de gösterildiği gibi transistör devrelerinde genellikle npn ve pnp transistörler kullanılır. Transistörler sayesinde motor sarımlarına giden akım yönü kolaylıkla değiştirilmektedir.

Şekil 4 Bipolar adım motoru sürüş devresi Bipolar adım motorlarını sürmek için çift H-köprüsü devreleri de kullanılmaktadır (örneğin, LMD18200-2D). Bu entegre devrede her H-köprüsü bir sarımı kontrol etmektedir.

3. PIC TABANLI ADIM MOTORU KONTROLU

Bu yazımızda PIC16F844 modeli bir mikrokontrolör kullanarak bir adım motorunun C dili ile nasıl kontrol edilebileceği açıklanmaktadır. Makalede adım motoru 500 devir dönecek şekilde programlanmış ve örnek olarak, UAG2 modeli ve adım sabiti 18 derece olan bir adım motoru kullanılmıştır.

3.1 Donanım

Makalede UCN5804B modeli adım motoru sürücü entegre devresi kullanılmıştır. Şekil 5 de sistemin blok şeması gösterilmiştir.

Mikrokontrolörün PORT B çıkışı UCN5804B modeli entegre devre adım motoru sürücüsüne bağlanmıştır. Motorun dönüş yönü entegre devreye bağlanan bir butonla seçilmektedir.

Şekil 5 Projenin blok şeması

Sistemin devresi Şekil 6 da verilmiştir.

UCN5804B entegre devresi küçük unipolar adım motorlarını sürmek için üretilmiştir. Bu entegre ile +35V gerilime kadar çalışan ve 1.25A akım çeken adım motorları kontrol edilebilir. Entegre devrenin çalışması Şekil 7 de gösterilmiştir. Entegre devre çıkışları adım motora direk olarak bağlanabilir. Buna ilaveten

PIC Mikro- kontrolör

Yön 5804B sürücü

M +V

(5)

entegre devrenin adım girişi, yarı-adım girişi, ve yön girişleri de bulunmaktadır. Motorun dönmesi için adım girişine puls (burada, sinyalin lojik 1 den lojik 0 a geçişi) verilmesi gerekmektedir. Yön girişi lojik 0 olunca motor bir yöne, lojik 1 olunca ise motor diğer yöne dönmektedir. UCN5804B entegre devresini kullanarak herhangibir adım motorunu mikrokontrolör ile kontrol etmek son derece kolaydır. Makalede UAG26 modeli unipolar bir adım motoru kullanılmıştır.

Mikrokontrolörün RB0 PORT B çıkışı entegre devrenin adım girişine bağlanmıştır.

UCN5804B nin yön girişi ise bir butona ve bu entegrenin çıkışları da Şekil 6 da gösterildiği gibi adım motorunun bobinlerine bağlanmıştırlar. Mikrokontrolörden gelen puls adım komutlarına göre motor istenilen yönde dönmektedir.

Şekil 6 PIC motor kontrol devresi

Şekil 7 UCN5804B devresinin çalışması UCN5804 entegre devre yarı-adım (bacak 10) ve 1-faz (bacak 9) bacaklarının lojik 0 veya lojik 1 e bağlanmalarına göre motoru aşağıdaki tablolara uygun olarak çalıştırmaktadır:

1 fazlı tam adım sürüş

(bacak10 = lojik 0, bacak 9 = lojik 1)

Adım a c b d

1 1 0 0 0

2 0 1 0 0

3 0 0 1 0

4 0 0 0 1

2 fazlı tam adım sürüş

(bacak10 = lojik 0, bacak 9 = lojik 0)

Adım a c b d

1 1 0 0 1

2 1 1 0 0

3 0 1 1 0

4 0 0 1 1

2 fazlı yarım adım sürüş

(bacak10 = lojik 1, bacak 9 = lojik 0)

Adım a c b d

1 1 0 0 0

2 1 1 0 0

3 0 1 0 0

4 0 1 1 0

5 0 0 1 0

6 0 0 1 1

7 0 0 0 1

8 1 0 0 1

Bu makalede bacak 9 ve bacak 10 lojik 0 a bağlanmıştırlar ve motor 2 fazlı tam adımlı modda çalışmaktadır. UCN5804B entegre devresini kullanırken devre bacaklarının motor sarımları arasındaki bağıntıdan dolayı negatif gerilime gitmelerini önlemek için motor ve entegre devre arasına seri diyotlar koymak, veya entegre devrenin çıkışlarını Şekil 6 da gösterildiği gibi diyotlar ile toprak hattına bağlamak gerekmektedir.

3.2 Yazılım

Adım motoru kontrol devresi yazılım listesi Şekil 8 de gösterilmiştir. Programın başında STEP değişkeni RB0 bacağı olarak tanımlanmıştır. Daha sonra devir_sayısı 500 e ve adim_sabiti ise 18 dereceye eşitlenmiştirler.

500 devir yapmak için gerekli olan adım sayısı hesaplandıktan sonra UCN5804B entegre devreye bu kadar puls gönderilmektedir.

Pulsun her lojik 1 den lojik 0 a geçişinde motor bir adım hareket etmektedir. Her adım arasına ise 3ms gibi bir gecikme konmuştur.

Entegre devrenin 14 nolu bacağı motorun yönünü tesbit etmektedir. Bu bacak lojik 0 olduğunda motor bir yönde, lojik 1 olduğunda ise motor aksi yönde dönmektedir.

adım yarı-adım

yön

UCN 5804B 1-faz

(6)

/*--- ADIM MOTORU KONTROLU ========================

Bu makalede PIC16F84 mikrokontrolor kullanilmis ve mikrokontroller 4MHz bir kristal ile calistirilmistir.

Mikrokontrolorun RB0 bacagina UCN5804 modeli adim motoru surucusu entegre devresi baglanmistir.

Entegre devrenin cikisi ise UAG2 modeli 18 adim sabitli unipolar bir adim motoruna baglanmistir. Makalede adim motoru 500 devir yapmaktadir.

Projede adim motoru 2 fazli tam adim surus modunda calismaktadir. Entegre devrenin 9 ve 10 nolu bacaklari toprak hattina

baglanmistirlar. Her adim komutu arasinda 3ms bir gecikme konmustur. Bu durumda adim motoru 1000 RPM (dakikada devir sayisi) calismaktadir. Motor ise toplam 30 saniye calismaktadir

Yazan: Dogan Ibrahim Program: MOTOR.C Tarih: Haziran 2004

---

*/

#include <pic.h>

#include <delay.c>

#define STEP RB0

const unsigned int devir_sayisi = 500;

const unsigned int adim_sabiti = 18;

main(void) {

unsigned int

i,adim_sayisi,bir_devir_adimlari;

TRISB = 0;

bir_devir_adimlari = 360/adim_sabiti;

adim_sayisi =

devir_sayisi*bir_devir_adimlari;

STEP = 0;

for(i=0; i<adim_sayisi; i++) {

STEP = 1;

STEP = 0;

DelayMs(3);

} for(;;) { } }

Şekil 8 Projenin yazılım listesi

SONUÇ

Bu makalede bir adım motorunun PIC mikrokontrolör ile nasıl kullanılabileceği açıklanmıştır. Projede PIC16F84 mikrokontrolöe ve UCN5804B modeli adım motoru sürücü entegre devresi kullanılmıştır.

Makalede de açıklandığı gibi, adım motorunu sürmek oldukça kolay olup istenilen adım miktarı mikrokontrolör tarafından netegre devreye puls olarak verilmektedir. Tasarımı yapılmış olan sistemde mikrokontrolör Hi- Tech C programlama dili kullanılarak programlanmıştır. Makaleden de görüleceği gibi C gibi yüksek seviyeli bir dil kullanmak programı son derece kolaylaştırmıştır.

KAYNAKÇA

1. Baldor web sitesi: www

.

baldor.com 2. Necel web sitesi: www.necel.com 3. Oriental motor web sitesi:

www.orientalmotor.com 4. Microchip Inc web sitesi:

www.microchip.com 5. AllegroMicro web sitesi:

www.allegromicro.com/sf/5804 6. Saia-Burgess web sitesi:

www.saia- burgess.com

Referanslar

Benzer Belgeler

Anahtar Kelimeler: Veri, Veri Çeşitleri, Veri Güvenliği, Veri Yö- netişimi, Bilgi Güvenliği, Risk Yönetimi, Risk Değerlendirmesi, Risk Tabanlı Yaklaşım, Süreç

Faydalı enerji (Örneğin ampulde ışık enerjisi, veya bir rezistans ile ısı enerjisi, veya bir pompa ile suyun yükseğe çıkartılması (potansiyel enerji)..

Metne veya nesneye dönme efekti gibi slaytta görülebilen bir efekt eklemek için, imleci vurgu'ya doğrultun ve ardından bir efekti tıklatın. Metne veya nesneye, slaydı bir

Yolo V4-Tiny: Büyük nesnelerin tespiti konusunda oldukça başarılı ve hızlı olan Yolo V4- Tiny algoritması, iniş alanları için kullanılmıştır.. Kusursuza yakın başarı

Gantek veri merkezinde ESX üzerinde çalışan “terry” isimli Red Hat 7 VM sistemini Oracle Ravello sistemine aktaracak, ssh üzerinden “Oracle Ravello Cloud” üzerine

Produced with 3 and 4 Rolls Hydraulic Plate Bending Machines of AKYAPAK AKBEND, 2 mm to 200 mm in thickness and width of 1000 mm 12000 mm sheet metal is able to perform high

Böylece, verniyerin birinci çizgisi cetvelin birinci çizgisi ile çakışırsa, kumpas 0,05 mm, ikinci çizgisi çakışırsa 0,10mm vs.. 1/20

Bilimsel Yayınlarda Kaynak Gösterme, Tablo ve Şekil Oluşturma Rehberi: APA 6 Kuralları | İpek Şencan ve Güleda