PIC-ile-DC-motor-kontrol

PIC ile Fırçalı DC Motor Kontrol

DC MOTOR

Dc motorlar manyetik alanı mekanik enerjiye çeviren basit iki uçlu yapılardır. Stator ve rotor olmak üzere temel iki parçadan oluşurlar.Bu iki parçanın üzerinde oluşan manyetik alan motorun rotorunun dönmesini sağlar.Fırçalı ve fırçasız olmak üzere temel 2 türü bulunur. Bu kısa giriş bilgisinden sonra daha detaylı bilgi vikipedia sayfasından edilnilebilir.

Biz burada sabit mıknatıslı , fırçalı , geri döndürülebilir bir motorla testlerimizi yapacağız. Geri döndürülebilirler kastımız motorun kutuplarına gelen elektriktik akımının yönü değiştirilerek motorun dönme yönünün ters çevrilebileceğidir.

Buradaki çalışmamız sonucu dc motoru bir pic kullanarak(başka bir lojik devre de kullanılabilir) kontrol etmeyi amaçlıyoruz. Pic ile yapılabilecek en heyecanlı uygulamalardan biride hareketli sistemlerdir.Bu sistemler bir çok amaca hizmet edebilir ve yerine göre bu hareket doğru akım motorları, step motorlar, servo motorlar aracılığı ile sağlanır. Pic’lerin çalışma gerilimleri ile motorların çalışma gerilimleri arasında çok büyük farklar vardır. Bu yüzden bir motoru bu şekilde doğrudan kontrol edemediğimiz için özel yöntemler geliştirmek zorundayız. Bu konuya girmeden önce dc motor hakkında biraz daha teknik bilgiye ihtiyacımız var.

FIRÇALI DC MOTOR MODLARI

  Fırçalı bir dc motoru 4 temel mod kullanarak kontrol edebiliriz. Bu modlar; Saat yönü modu (cw) saat yönünün tersi modu(ccw) , sahil modu, Fren modu (brake). Saat yönü modu motorun saat yönünde dönmesidir. Tersi ise bunun tam tersini sağlar. Bu kontrol çok kolaydır çünkü yapılması gereken sadece motora uygulanan gerilimin yönünü değiştirmektir.Sahil modu ise motorun serbest olarak dönmesini ifade eder. Yani, motorun şaftını parmaklarınızla tutup çevirdiğinizde uyguladığınız kinetik enerji motor içindeki sürtünme kuvveti nedeniyle tamamen yok olana dek dönmeye devam eder.Sahil modunda motor serbest haldedir ve motor dururken aniden değil yavaş yavaş durur.Fren modu ise motoru hızlı bir şekilde durdurmak için kullanılır. Motorun uçları kısa devre edilerek bu mod sağlanabilir. Motor uçları kısa devre edilince enerji sadece sürtünmeyle değil bobinlercede emilerek daha hızlı bir şekilde tüketilir. Sahil ve fren modlarını kolayca test edebilirsiniz bunun için yapmanız gereken; önce motoru parmağınızla çevirin ve bırakın, motorun serbestce dönüp yavaşlayacağını göreceksiniz. Birde iki ucu kısa devre yapın , bu şekilde yaptığınızda ise motorun dönerken daha çok halsizleştiğini göreceksiniz.

Motor serbestce döner.

 

Motor direnç gösterir.

MOTOR SÜRÜCÜSÜ

Motorlar fazla güç tüketirler. Bu yüzden motorların mikrodenetleyiciyle doğrudan kontrolü zorlaşır. Bir mikrodenetleyici aracılığı ile motoru kontrol etmek istersek mutlaka bir kontrol devresi kullanmalıyız. Kontrol devresi tek bir transistör gerektircek kadar basit veya bir çok transistör ve ekbileşenin birleşimiyle oluşturulmuş karmaşık bir devre olabilir. Amaca göre kullanılan devreler çeşitlilik göstermektedir.

Tek Transistörlü Kontrol Devresi

En basit motor sürücü devresidir. Bu kontrol yöntemi motorun sadece bir yönde kontrol edilmesini sağlar bu yüzden frenleme modu kullanılamaz, dönme yönü değiştirilemez. Transistörün anahtarlama özelliği kullanılarak motora gerekli enerjinin akması kontrol edilir.

Transistör kullanarak motor kontrolü

Yukarıdaki devrede Bc547 entegresiyle motorun üzerinden geçen akımı kontrol ettik. Bc547 100mA’a kadar maksimum sürme akımı sağlayabilir. Bunun üzerinde bir akım transistörün zarar görmesine sebep olur bu yüzden tercihimizi yaparken bunu dikkate almalıyız. Bizim burada kullanacağımız motor için bu akım yeterli. Çalışma mantığı çok basit, mikro denetleyicinin çıkışı transistörün base ucunu kontrol edecek şekilde bağlandığında base ucuna gerilim sağlanarak transistörün üzerinden geçen akım kontrol edilebilir. Bu şekilde motorun çalıştırılması kontrol edilmiş olur.

Motor terminallerine bağlı diyot, transistörün korunması içindir. Motor kapatıldığında , motor içindeki çökmekte olan elektromanyetik alan ters yönde motor terminalleri boyunca bir gerilim üretir.Bu gerilim transistöre kalıcı zarar verecek kadar büyük olabilir. Eklenen diyot üretilen bu gerilimin motor bobinlerinde hareket etmesini sağlar ve bu sayede transistör korunmuş olur. Eklenen diyor transistörün çalışmasını etkilemez. Sadece koruma amaçlıdır.

Bu devreyi test etmek için transistörün base ucuna mikrodenetleyici aracılığıyla veya doğrudan gerilim uygulanabilir. Dönme yönü bağlantının yapılış şekline göre değişecektir. Dönme yönünü değiştirmek için devredeki bağlantı şekillerinin değiştirilmesi gerekir.

H-Köprü Motor Sürücüsü (H-Bridge)

H-Köprü devresi

Klasik tek transistörlü sürücü devresinin bir çok kısıtlaması var. Bu devre motorun yalnızca tek bir modda kullanılmasına izin verir. H-Köprüsü ise dc motorumuzu 4 modda da kullanabilmemizi sağlar. Dc motoru tam olarak kontrol edebilmek için H-köprüsünden faydalanırız. Klasik H-köprü devresi “H” harfine benzediği için H-köprü olarak adlandırılır.

Standart bir H-Köprü devresi 4 transistörle yapılır. Transistörlerden ikisi pnp ikisi de npn transistörlerdir. Devrenin 4 girişi A,B,C,D olarak adlandırılır.

Transistörler farklı kombinasyonlarda anahtarlanarak motora giden akımın yönü değiştirilir. B transistörü topraklanır ve C transistörüne de gerilim uygulanırsa Q3 ve Q2 transistörleri iletime geçer. Bu motorun bir yönde hareket etmesini sağlar. A topraklanır D’ye gerilim uygulanırsa motor üzerinden yine akım geçer. Bu da motorun ters yönde hareket etmesini sağlar.Sahil modu Transistörlerin tümünün kapatıldığı duruma karşılık gelir. Frenleme modu içinse D ve C uçlarına gerilim uygulanır veya A ve B uçları topraklanır.Her iki durumda da frenleme moduna geçilmiş olunur. 

Q3 ve Q2 transistörleri üzerinden akım geçtiğinde akımın yönü
Q1 ve Q4 transistörleri üzerinden akım geçtiğinde akımın yönü

Transistöler tetiklenirken dikkatli olunmalıdır. Q1 ve Q2 ( veya Q3 ve Q4) aynı anda tetiklenirse kısa devreye neden olur ve transistörler yanar. Bu girişlerle elde edilebilecek 16 kombinasyondan 7si kısa devre ile sonuçlanır ve bu durumlardan kaçınılması gerekmektedir.

A ucu C ucuyla ve B ucu D ucuyla birleştirilebilinir. Bu durumda sadece 2 uçla devreyi kontrol edebiliriz. Bu yöntemle elde edebileceğimiz kombinasyonları bir tablo haline getirsek;

  •                            AC     BD     MOD
  •                              0          1      Saat yönü(CW)
  •                              1           0     Saat yönünün tersi (CCW)
  •                              1           1      fren
  •                               0         0     fren

Bütün bu açıklamalardan sonra birde konuyla ilgili örnek yapıp konuyu pekiştirelim. Örneğimizde bir tane dc motorun kontrolünü yapacağız. Pic’e 3 tane buton bağlayarak bu butonlar üzerinden motorun ileri ve geri hareket etmesini sağlayacağız ayrıca fren moduna geçişi sağlayacağız.

Pic ile Motor Kontrolü Devre Şeması

H köprüsünün A, B, C ve D çıkışlarını Pic’e bağladık. Transistörlerin kontrolünü bu pinler üzerinden yapacağız. H-köprüsünün çalışma mantığından daha önce bahsettik Bu kullanım mantığını pic üzerinden uygulayarak motorumuzu picle kontrol etme imkanına kavuşmuş olduk.Gerisi tamamen programcının isteğine kalmış.

Aşağıda uygulamamızın kodları bulunmakta.Kodlarla ilgili açıklamalar yorum satırı olarak kodların yanında verildi.

 

Devrenin BredBoard üzerine kurulu hali.

  Uygulamalarımızda H-Köprü devresini herzaman kurmak yerine bu iş için paketlenmiş bazı entegreleri kullanmak işimizi çözer. Çok özel olmayan uygulamalar için bu entegreler yeterlidir.Bu entegrelere örnek vermek gerekirse en çok kullanılanları l293 ve l298 entegreleridir.

L293D Motor Kontrol Entegresi

  L293 iki adet motorun kontrolü için kullanılan 16 bacaklı bir entegredir. Entegremizin bacakları hakkında bilgi verelim;

 

L293

L293 Bacak Yapısı

  Entegremizle 2 tane motorun kontrol edebiliyoruız. Enable1 ve Enable2 bacakları Hangi giriş ve çıkışların kullanılabileceğini belirleyen bacaklardır. Enable1 lojik 1 Enable2 Lojik0 yapıldığında 1 motor ikiside Lojik 1 yapıldığında 2 motor kullanacağımız anlamına gelir.Eğer motorun hızı kontrol edilmek isteniyorsa motora Pwm uygulanır. Bu uygulama Enable bacakları kullanılarak yapılır.İnput1 ve input2 bacakları 1. motorun yönünü belirlemede kullanılır. Input1 lojik1 input2 lojik0 olduğu durumda motor ileri tam tersi durumda ise ters yönde hareket eder. Input3 ve input4 bacakları 2. motorun kontrolünde aynen geçerlidir. Output bacakları motora bağlanır. Vcc2 bacağından entegrenin beslemesi yapılır.Bu bacak 5V bir kaynağa bağlanır. Vcc1 bacağı ise motorun besleme bacağıdır.Bu bacağa uygulanacak gerilim motora göre seçilir(5V -36V aralığı) .Gnd bacakları toprağa çekilir.

L298

  L293 entegresi 600mA’e kadar akımla motor sürebilmektedir. Bu değerin yeterli gelmediği durumlarda L293 entegresi işimizi görmez. L298 entegresi L293 entegresi ile aynı yapıdadır. Ancak L298 ile 2 ampere kadar motor sürülebilmektedir.

  Ek olarak L298 entegresi ile akım kontrolü de yapılabilmekte.L298 entegresinde fazladan bulunan Current sensing A ve Current sensing B bacaklarıyla toprak arasına bir pot bağlanarak akım kontrolü sağlanır.Sabit bir akımın kullanılması isteniyorsa bu bacaklar doğrudan toprağa çekilebilir.

Bu yazının ikinci bölümünde PWM konusuna değineceğiz..


Uygulamada kullanılan parçaların DataSheetlerine aşağıdaki bağlantılardan erişebilirsiniz.

Pic16f877A , Bc547, Bc557, 1N4148, L293, L298

Related Post

About esatnogayhan

Doğaya olan merakım herzaman çevremdeki insanlara oranla oldukca yüksekti. Doğadaki işleyişi merak ediyor , küçük deneyler yapıyor ve herşeyi sorguluyordum. Mesela elektrikle ilk tanıştığım zamanlar okula yeni başladığım zamanlardı. ....Devamını okumak için tıklayınız ;)