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)”

ELEKTRONİK ONARIMLAR – TERSİNE MÜHENDİSLİK

Son zamanlarda bu sitedeki yayınlarımın seyrekleşmesine yol açan bir meşgalemden söz etmek istiyorum: Elektronik cihaz onarımları – emeklilik dönemimde profesyonel bir uğraş.

Bu yayında arıza aranırken sırasıyla neler yapılabileceğinden söz ediyorum, ama bunların nasıl yapılacağını anlatmıyorum. Amacım onarım eğitimi değil, sadece buradaki yayınlara ara verdiğimde nelerle meşgul olduğum hakkında bilgi vermek istedim. Uzun aralıklarla yeni yayın yapmadığımda bunu tembelliğime vermeyin diye. Onarımların dışında profesyonel amaçlı ürün geliştirme çalışmalarım da oluyor.

Bu işin kapsamında elektronik ev aletleri gibi tüketici tipi ürünler değil, profesyonel cihazlar var, şu an için ağırlık oyun makinalarının kontrol modüllerinde.

Onarım işleri aslında mühendislik değil, teknisyen arkadaşların alanına giriyor. Mühendisin asıl işi cihazların onarımı değil, onların tasarımı, problemlerinin çözülmesi ve geliştirilmesi. Teknisyen arkadaşlar bölgelerine girdiğim için kusura bakmasınlar.

Continue reading “ELEKTRONİK ONARIMLAR – TERSİNE MÜHENDİSLİK”

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)”

İVME VE GYRO SENSÖRLERİ İLE EĞİM AÇILARININ ÖLÇÜLMESİ

Hareket ve pozisyon kontrolu yaptığımız projelerimizde ADXL345 ve MPU6050 gibi ivme ölçer sensörleri kullanıyoruz.

Bu sensörler 3 eksen doğrultusundaki doğrusal ivmeleri ve bu eksenler etrafındaki dönüş hareketlerinin yarattığı açısal ivmeleri 10 ila 16 bitlik rakamlar halinde veriyor. Biz ise çoğu zaman ivme değerlerinden çok, sensörün bağlı olduğu platformun sağa sola, öne arkaya eğim açılarıyla ilgileniyoruz.

Eğer projelerinizde Arduino kullanmayı seviyorsanız, sizin için “şu kütüphaneyi yükle, şu fonksiyonu çağırınca sana istediğin eğim açılarını verecektir” tarzındaki bir yol tarifi yeterince tatminkar olacaktır. Bu yayın ise işin arka planındaki süreci anlamak isteyenler, yani benim gibi mazoşist teknisyenlere yönelik.

Bu yayında doğrusal ve açısal ivme değerlerinden hareketle bu açıların nasıl hesaplanacağını anlatacağım. Meraklısına …


Not: Kullandığım görsellerden başka yerlerden aldıklarımı mutlaka belirtiyorum. Bunların dışında kalanlar kendi hazırladıklarım ve epey uğraş gerektiren çizimler. Bunlar ticari kazanç amacı güdülmediği sürece, kaynak belirtilmek suretiyle başkaca bir izin gerektirmeden kullanılabilir.

Continue reading “İVME VE GYRO SENSÖRLERİ İLE EĞİM AÇILARININ ÖLÇÜLMESİ”

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 UART DMA İLE UZUNLUĞU BİLİNMEYEN VERİ PAKETLERİNİ ALMAK

STM32 ile USART üzerinden veri alış verişi yapmanın çeşitli yöntemleri var. En basitinden yoklama (polling) yöntemi, biraz daha geliştirilmiş bir yöntem tercih ediyorsak kesme (interrupt) yöntemi kullanılabiliyor. Daha önce bu yöntemleri ve ring buffer kullanarak veri alış verişini anlattığım yayınlarım olmuştu.


Bu sefer, HAL kütüphanesinden özel bir fonksiyonu kullanarak DMA modunda alış için uyarladığım ring buffer tekniğini anlatacağım. Bu yeni algoritma UART DMA kesmelerinden yararlanarak CPU yu neredeyse hiç meşgul etmeden çalışan basit ve verimli bir çözüm. Bundan sonraki projelerimde bu kütüphaneyi kullanmayı düşünüyorum.

Continue reading “STM32 UART DMA İLE UZUNLUĞU BİLİNMEYEN VERİ PAKETLERİNİ ALMAK”

ESP8266 WEB SERVER İLE ADXL345 İVME SENSÖRÜ GRAFİK ARAYÜZÜ

Blog sitesindeki ilk teknik yayınım ESP8266_01 ile bir WEB Server oluşturulması üzerineydi. O yayına bu link’i tıklayarak ulaşabilirsiniz. Bir aradan sonra yine ESP8266_01 tabanlı bir projemden söz edeceğim. WEB sunucumuz ADXL ivme ölçerden okunan verileri bir grafik halinde yayınlıyor.
Başlangıçta ESP programlarını Arduino IDE platformu üzerinde geliştirip yüklüyordum. Son zamanlarda Arduino IDE yi terkederek Visual Studio/Platform IO kullanmaya başladım. Bu yayında bu yeni platformun kullanılışını anlatmayacağım. VS Platform_IO kullanımının bilindiği varsayımı ile devam ediyorum.

WEB Grafikleri için Highcharts kütüphanesini kullanıyorum. NTP zaman bilgileri için de ezTime kütüphanesini kullandım.

Bu yayında ivme ve gyro okumalarını derece’ye çevirmiyorum. Açı hesaplamalarının yapılışını anlattığım bir başka yayınım var:

İvme ve gyro değerlerinden hareketle eğim açılarının hesaplanması.

ESP8266 belirlenen aralıklarla yeni bir okuma yaparak flash belleğe littleFS kütüphanesinden yararlanarak kaydediyor. Bir istemci ile bağlantı kurulduğunda kaydedilmiş olan verileri istemciye aktarıp, bağlantı kesilmediği sürece yeni okumalar ile Asenkron WEB protokolu ile güncelleme yapıyor.

Continue reading “ESP8266 WEB SERVER İLE ADXL345 İVME SENSÖRÜ GRAFİK ARAYÜZÜ”

STM8 VE MAX6675 İLE SICAKLIK ÖLÇÜMÜ

Fırınlar, lehimleme aparatları ve bunların benzerleri aletlerin sıcaklık kontrollarını yapmak için birkaç yüz dereceye hatta seramik işleri için 1000oC ye çıkabilen sıcaklıkların ölçülmesi gerekiyor. Bu işler için en uygun seçenek bir K tipi termokupl oluyor. Termokupl çıkışındaki gerilimin yükseltilmesi ve sayısallaştırılması için de popüler seçenek olan Maxim’in max6675 inden yararlanıyorum.

Bu basit iş için STM8 mikro denetleyici ve bir OLED ekran kullanıyorum ama burada anlatılanlar ve kodlar rahatlıkla STM32 ye uygulanabilir.

Continue reading “STM8 VE MAX6675 İLE SICAKLIK ÖLÇÜMÜ”