AKIM SINIRLAMASI ALTINDA DC MOTOR SÜRMEK (L6506/L298)

Motor sürme konusu gün geçtikçe daha ilgi çeker hale geliyor. Bu konuda epeyce yayınım oldu. Yayınlardan bazılarında adım motoru sürmeyi ele almış da olsam, endüktif yüklerin sürülmesi, akım sınırlaması uygulanması açısından söylenenler tüm motor tipleri için geçerli.

Bu yayında daha önce “PID kontrol altında DC motor sürmek” başlıklı yayınımı/uygulamamı geliştirecek şekilde akım sınırlamasını işin içine nasıl sokacağımızı anlatacağım. Bunu ST Microelectronics’in L298 sürücüsünü L6506 akım sınırlayıcısı ile birlikte kullanarak yapıyorum.

Aşağıdaki yayına göz atılmasını da öneririm, bu yayınla ortak noktalar çok da olsa orada daha iyi anlattığım şeyler bulabilirsiniz.

Akım sınırlaması altında step motor sürmek

Continue reading “AKIM SINIRLAMASI ALTINDA DC MOTOR SÜRMEK (L6506/L298)”

AKIM SINIRLAMASI ALTINDA STEP MOTOR SÜRMEK

Adım motorlarını sürme konusunda bir yayın yapmıştım. Başlangıçta L298 tümleşik sürücüsünü (dual H bridge) kullanırken daha sonra A4988 kullanan bir modele geçişimi anlatmıştım.

Bu yeni yayında L298 H köprüsünü motoru daha yüksek akımlarla ve hızlı olarak sürmek için nasıl kullanabileceğimizi anlatacağım. Bunu yaparken motor, daha doğrusu endüktif yükleri sürme konusundaki temel mühendislik bilgilerimizi tazeleyeceğiz. Bu yayını, özellikle genç mühendis arkadaşların ve mühendis adaylarının buna gereksinimlerinin olduğunu gördüğüm için yapıyorum. Zira bu bilgiler sadece adım motoru sürmek için değil, her türlü endüktif yükü sürmek için çok önemli. Bunları bilmeden motorumuzu istediğimiz hız ve güç ile sürmemiz mümkün değil.

Umarım faydalı olur.

Continue reading “AKIM SINIRLAMASI ALTINDA STEP MOTOR SÜRMEK”

BİR ÇUBUĞU PID KONTROL ALTINDA DENGEDE TUTMAK – Bölüm 3 (MPU6050)

Önceki bölümlerde bu işi yapmak için üç eksenli ADXL345 ivme sensörü kullanmıştım. Projeyi bu defa da MPU6050 ivme sensörü ile gerçekleştirdim. MPU6050 sensörü gyro ölçümleri de yapabilen altı eksenli tipte olduğundan motor titreşimlerinden ve sarsıntılardan etkilenmeyen bir sistem oldu.

PID kontrol prensibi öncekiyle aynı da olsa, açı hesaplamaları, kontrol parametreleri oldukça farklı.

Bundan önce bu konudaki diğer yayınlarıma göz atmanızı öneririm :

Bu projede çok küçük drone motorlarını 3055 MOSFET lerle sürüyoruz. Daha büyük motorları L298 ile hem de akım sınırlaması altında sürmek için “Akım sınırlaması altında DC motor sürmek” başlıklı yayınıma bakmanızı öneririm. Böyle bir sistemi akım sınırlaması olmadan kullanmak işi eksik yapmak anlamına gelecektir.

Continue reading “BİR ÇUBUĞU PID KONTROL ALTINDA DENGEDE TUTMAK – Bölüm 3 (MPU6050)”

BİR ÇUBUĞU PID KONTROLU İLE İSTENEN AÇIDA TUTMAK-Bölüm 2 (2 motor)

İki ucunda birer adet pervaneli drone motoru bağlı olan bir çubuğumuz var. Bunu istediğimiz eğimde tutmak için STM32F103 mikrodenetleyici ile ADXL345 ivme sensörü kullanarak PID kontrolu altında çalışan bir sistem geliştiriyoruz.

Bu projenin ilk adımı çubuğun sadece tek tarafındaki bir motor ile dengede tutulması idi, o aşamayı anlattığım yayına ulaşmak için burayı tıklayabilirsiniz. İlk yayında anlattıklarımı burada tekrarlamayacağım için önce onu okumanızı öneririm.

Continue reading “BİR ÇUBUĞU PID KONTROLU İLE İSTENEN AÇIDA TUTMAK-Bölüm 2 (2 motor)”

BİR ÇUBUĞU PID KONTROLU İLE İSTENEN AÇIDA TUTMAK

Bir eksen etrafında hareket edebilecek şekilde bağlı bir çubuğu yatay durumda ya da istediğimiz herhangi bir eğimde sabit tutmak istiyoruz. Öyle ki bağlı olduğu platformu nasıl hareket ettirirsek ettirelim aynı eğimi korumaya devam etsin, çubuğu itip pozisyonunu bozsak da hemen kendini toparlayıp önceki eğimine geri dönsün.

Bu projede ortasındaki mafsal etrafında serbestçe hareket edebilen bir çubuktan oluşan “tahtırevalli” yi istediğimiz eğimde tutmaya çalışacağız. Bunun için kontrol işlemcimiz STM32F103, eğim/ivme sensörümüz ADXL345, aktivatörümüz de çubuğumuzun iki ucundaki pervaneli drone motorları olacak. Şimdilik iki motordan birisini kullanacağız, iki motorlu çalışma bir başka projeye…

Türevsel bileşeni bu projede de devreye sokmuyorum ama ne olduğunu, ne zaman kullanılması gerekeceğini matematiğe girmeden basitçe anlatıyorum.

ADXL345 ile eğim ölçme ve PID kontrolu altında DC motor kontrolu hakkında daha önce yayınlarım olmuştu, bu projeye girişmeden önce o yayınlara göz atmakta yarar var derim:

Bu proje çubuğun tek tarafındaki tek motor ile dengede tutmayı ele alıyor. Bunun devamı olan çalışmada aynı işi çubuğun iki ucundaki iki motor ile yapıyoruz. O yayına ulaşmak için aşağıdaki linki tıklayabilirsiniz. İkisi birbirinin tamamlayıcısı olduğundan önce bu ilk yayına göz atmalısınız):

Continue reading “BİR ÇUBUĞU PID KONTROLU İLE İSTENEN AÇIDA TUTMAK”

STM32 İLE AÇIK ÇEVRİMDE BLDC SERVO MOTOR SÜRMEK

Daha önce fırçasız servo motor -BLDC- kontrolu konusunda iki yayınım oldu. O yayınlarda temel bilgiler verdikten sonra ST Microelectronics firmasının Nucleo64 kitini, IHM07M1 motor sürücüsünü ve STSPN7 paket yazılımını kullandığım bir uygulamayı anlatmıştım.

Bu defa, kendi MOSFET sürücümü, IR2103 MOSFET sürücü tümleşik devresini kullanarak, ama kendi geliştirdiğim kodlarla BLDC sürmeye girişiyorum. Bunun da ilk adımı burada anlatacağım gibi, motoru “açık çevrim” kontrolu altında çalıştırmak olacak.

Continue reading “STM32 İLE AÇIK ÇEVRİMDE BLDC SERVO MOTOR SÜRMEK”

STM32 TABANLI MASAÜSTÜ CNC-2 (Yeni model)

İlk yayında anlattığım (STM32 Tabanlı Masaüstü CNC – 1) masa üstü CNC yi güncelliyorum. Mekanik yapıda bir değişiklik yok. Ana değişiklik elektronik donanımdaki motor sürücüler. Buna ilaveten yazılımda, motor sürüm algoritmasında epeyi değişiklik var. Bunlardan bazılarını daha CNC ye uygulamadan önce aşağıdaki yayınlarda anlatmıştım.

Aslında diğer yayınlarımın neredeyse hepsinde CNC de kullandığım yazılım tekniklerinden bir şeyler var. Daha önce de belirttiğim gibi, bu CNC, öğrendiğim şeyleri hayata geçirdiğim bir test platformu haline geldi.

Continue reading “STM32 TABANLI MASAÜSTÜ CNC-2 (Yeni model)”

STM32 TABANLI MASAÜSTÜ CNC-1

Masaüstü CNC geliştirme projem yeni bir şey değil. Adım motorlarla oynamaya başladığım günlerden beri -10 yıldan daha fazla bir süredir- sürekli olarak gündemimde olan bir konu. İlk masaüstü CNC mi çalıştırdığımdan bu yana kaç defa değişiklik yaptığımı bilemiyorum. Ama yazılımının güncel sürüm numarasının 20 olduğunu, her bir sürümde de a,b,c,d,e … şeklinde ilerleyen ara sürümler olduğunu belirtirsem bir fikir verir sanırım.

Sonuçta son 2-3 yıldır çok işime yarayan bir alet olarak atölyemin baş köşesinde duruyor. Sürekli olarak gelişmeye de devam ediyor.

Bugünlerde kontrol biriminde önemli bir değişiklik yaparak L298 motor sürücülerinden A4988 sürücülere geçiyorum. Bununla birikte yazılımda da hatırı sayılır geliştirmeleri uygulamaya koyuyorum.

Bu aşamada, buraya CNC nin mevcut durumuna ve yukarıda sözünü ettiğim değişikliklerden sonraki haline yönelik bilgiler koymaya karar verdim. Aslında CNC konusundaki ilk yayınım değil, üç yıl önce de kapsamlı bir yayın yapmıştım. Ama Blog Press bir platform değişikliği yaptı, o geçiş esnasında yayının bütün görsel öğeleri silindi. O zaman yazıyı onarmaya üşendiğimden yayından kaldırdım. Şimdi yeni baştan …

Continue reading “STM32 TABANLI MASAÜSTÜ CNC-1”

STM32 İLE PID KONTROL ALTINDA DC MOTOR SÜRMEK

Bu yayın ile oldukça kapsamlı bir konuya el atıyoruz. Küçük bir DC motoru, sabit bir hızda çalıştırmak için bir kapalı çevrim süreç kontrol sistemi oluşturacağız.

Bunu yapabilmek için, mikro denetleyici sistemleri geliştirirken edindiğimiz neredeyse tüm birikimimize ihtiyacımız olacak. Öyle ki :

  • Motoru istediğimiz hızda sürebilmek için bir TIMER ile PWM kontrol sinyali üreteceğiz
  • Motoru sürmek için bir L298 Motor sürücüyü kontrol edeceğiz.
  • Motorun devir hızını bir Hall Effect sensör ile algılayıp bir TIMER’in “Input Capture” fonksiyonundan yararlanarak ölçeceğiz.
  • İstediğimiz çalışma hızını bir potansiyometre ile ayarlamak üzere bir ADC kullanacağız.
  • Geliştirdiğimiz kodun kontrolu ve hata ayıklaması için ARM Cortex M çekirdeğinin SWV/ITM araçlarını kullanacağız.

Bu tekniğin bir çubuğu dengede tutmak için geliştirilmiş başka bir uygulamasını görmek için daha yeni bir yayınım var. Ona ulaşmak için burayı tıklayabilirsiniz.

Bu yayındaki projede motora akım sınırlaması uygulamıyoruz. Akım sınırlaması ile daha gelişmiş bir motor sürücü için “Akım sınırlaması altında DC motor sürmek” yayınıma başvurabilirsiniz.

İşimiz çok yani, hadi başlayalım.

Continue reading “STM32 İLE PID KONTROL ALTINDA DC MOTOR SÜRMEK”

STM32-A4988 İLE STEP MOTOR SÜRÜLMESİ

Adım motoru sürmek için ST nin L298N tümleşik devresini kullanıyordum. Ancak, bipolar teknoloji kullanan bu tüm devre, daha modern MOSFET yapıdaki rakiplerine göre verimsiz kalıyor.

Ayrıca, kullanmakta olduğum yarım adım (half-step) sürüm yöntemini de L298 ile hakkını vererek uygulayamıyordum. Bu, başlangıçta işin kodlama tarafına ağırlık verdiğimden öncelik vermediğim bir konuydu.

Bir süre sonra, malzeme kutularımda beklemekte olan A4988 sürücü kitini cepheye sürerek daha gelişmiş motor sürüm tekniklerini kullanmaya karar verdim.

Bu yayının konusu bu; A4988 ile adım motoru sürülmesi – L298 ile karşılaştırmalı olarak.

Continue reading “STM32-A4988 İLE STEP MOTOR SÜRÜLMESİ”