TheDRV8825 is a complete microstepping motor driver IC with built-in translator driving any stepper motor very easily . DRV8825 stepper motor driver is developed by Texas Instruments to help any one who wants to drive various stepper motor in their project. Stepper motor is widely used for CNC and other automatic machinery projects. HCSR04 Ultrasonik Mesafe Sensörü ve Buzzer Kullanımı-Mblock İle Arduino Nisan 14, 2019 1-Arduino Uno 2-BreadBoard 3-2 adet dc motor 4-Jumper Kablolar 5-1 adet L298N motor sürücü modülü 6-2 adet 9v pil 7-2 adet dc motorun ucuna bağlayacağımız teker 8- 1 adet HC-05 veya HC-06 bluetooth modül kartı Malzemelerine ihtiyacımız Buprojede, Arduino Uno ve L298N Motor Sürücü Kullanımı yaparak bir DC Motorun nasıl kontrol edileceğini göreceğiz. Bir DC Motorunu kontrol etmenin farklı yolları vardır, fakat L298N Motor Sürücüsünü kullanan Arduino DC Motor ArduinoL298N Motor Sürücü Kartı Devre Dünyası || Tüm Devre ve Malzemelerin Tek Adresi Arduinonunpin çıkışlarını doğrudan motora bağlamamız motor için gerekli akımı sağlamamaktadır. Arduinonun pin çıkışları ancak bir ledi yakacak kadar akım vermektedir. Fakat biz bu akımı tetikleme işlevinde kullanıp DC motorları ileri veya geri yönde çalıştırabiliriz. Bunun için hazır devre kartları vardır. 8LTN. Arduino Sürücüyü KurmaŞimdi, UNO R3 geliştirme kartının sürücü kurulumunu tanıtacağız. Sürücü kurulumunda, farklı bilgisayar sistemlerinde küçük farklılıklar olabilir. Örnek olarak, WIN 7 sistemindeki sürücü kurulumuna geçelim. Arduino klasörü, hem Arduino programının kendisini, hem de Arduino'nun bilgisayarınıza bir USB kablosu ile bağlanmasını sağlayan sürücüleri içerir. Arduino yazılımını açmadan önce, USB sürücülerini yükleyeceksiniz. USB kablonuzun bir ucunu Arduino'ya, diğer ucunu bilgisayarınızdaki bir USB soketine takın. UNO panosunu bilgisayarınıza ilk kez bağladığınızda, "Bilgisayar" simgesine sağ tıklayın -> "Özellikler" -> "Aygıt yöneticisi" -> "Diğer Aygıtlar" altında Bilinmeyen aygıt olarak,yanında küçük, sarı renkli uyarı üçgeni olan için bir simge görmelisiniz" bu sizin Arduino' cihaza sağ tıklayın ve aşağıdaki şekilde gösterildiği gibi en üstteki menü seçeneğini Sürücü Yazılımını Güncelle ... "Güncellenmiş sürücü yazılımı için otomatik olarak ara" veya "Sürücü yazılımı için bilgisayarıma gözat" seçenekleri sorulur. Aşağıda gösterildiği gibi. Burada "Sürücü yazılımı için bilgisayarıma gözat" ı seçin. Sonrasında, Göz at... browse düğmesine basarak Arduino kurulum klasöründe bulunan sürücülere yönlendirin. "İleri" yi tıkladığınızda, bir güvenlik uyarısı alabilirsiniz; bu durumda yazılımın yüklenmesine izin verin. Yazılım yüklendikten sonra 'Kurulum tamamlandı' şeklinde bir onay mesajı alacaksınız. "Kapat"ı tıklayın. Şimdiye kadar, sürücü kurulumu tamamlandı. Şimdi "Bilgisayar" sağ tıkla -> "Özellikler" -> "Aygıt yöneticisi", aygıtınızı aşağıda gösterildiği gibi görmeniz gerekir. Arduino IDE'nin Bölüm 1 Arduinoyu Açın Daha önce, UNO R3 geliştirme kartının sürücü kurulumunu anlattık. Şimdi öncelikle ARDUINO'nun geliştirme ortamını temel olarak anlayalım. Ardından, programı Arduino kartına yükleyebileceğiz. Her şeyden önce, ARDUINO geliştirme yazılımını açmak için ARDUINO ikonuna tıklayın, aşağıda gösterildiği gibi. Bölüm 2 Projeler yapın Arduino yazılımını açtığınızda, aşağıdaki gibi iki seçeneğiniz olacaktır Yeni bir proje oluşturun Mevcut bir proje örneğini açın Yeni bir proje oluşturmak istiyorsanız, lütfen "Dosya" → ardından "Yeni" yi seçin, yazılım arayüzünü aşağıdaki gibi göreceksiniz. Örnek bir proje açmak istiyorsanız, lütfen Dosya → Örnek → Temel → Yanıp Sönme blink seçebilirsiniz. Aşağıda gösterildiği gibi. Bölüm 3 Arduino Kart Seçimi Kodu karta yükleme işlemi sırasında oluşabilecek herhangi bir hatayı önlemek için, önce yazılımda, bilgisayarınıza bağlı olan kartla eşleşen doğru Arduino kartını seçmelisiniz. Doğrudan bilgisayarınızın Denetim Masası'nı açabilir, daha sonra Aygıt Yöneticisi'ni açmak için tıklayıp, kartınızı ve bağlantı noktanızı COM buradan kontrol edebilirsiniz. Aşağıda gösterildiği gibi. Ardından Arduino yazılımına geri dönün, Araçlar → Kart üzerine tıklamanız, doğru kartı seçmeniz gerekir. Bu örnekte Arduino Uno'yu seçiyoruz. Aşağıda gösterildiği gibi. Bölüm 4Seri Portu Seçme Şimdi Arduino kartının seri cihazını seçmeliyiz. Araçlar → Port Seri Bağlantı Noktası seçeneğine tıklayabilirsiniz. Arduino kartınızı bulmak istiyorsanız, Arduino kartınızın bağlantısını kesebilir, ardından menüyü yeniden açabilirsiniz, Arduino kartının kaybolduğunu göreceksiniz. Bundan sonra kartı yeniden bağlayın ve seri portu seçin. Bilgisayarınızın Aygıt Yöneticisi'nde gösterilen bağlantı noktasına COM uygun doğru Seri bağlantı noktasını seçmelisiniz. Aşağıda gösterilen görsel sadece referans içindir. Arduino kartınızı bilgisayarınıza USB kablosuyla bağlayın ve "Kart Tipi" ve "Seri Port" un doğru ayarlandığından emin olun. Bölüm 5 Kodu Kartınıza Yükleyin Kodu tahtanıza nasıl yükleyeceğinizi göstermeden önce, her bir simgenin işlevini Arduino IDE'nin Araç çubuğunda göstermeme izin verin. Aşağıda gösterilen resme bakın. Derleme hatası olup olmadığını doğrulamak için kullanılır. Çizimi Arduino kartınıza yüklemek için kullanılır. Yeni bir taslak için pencere oluşturmak için kullanılır. Bir örnek çizimi doğrudan açmak için kullanılır. Taslağı kaydetmek için kullanılır. Karttan alınan seri verileri seri monitöre yollamak için kullanılır. ATmega328 işlemci kullanan Arduino çeşididir. 14 dijital giriş/çıkış pini bulunur, bunlardan 6’sı PWM çıkışı olarak kullanılabilir. 6 analog giriş pinine sahiptir. 16 MHz kristal osilatörü, USb bağlantısı, güç girişi, ICSP başlığı ve reset butonu vardır. Mikroişlemciyi destekleyecek herşeye sahiptir. Çalıştırmak için DC 7~12V güç kaynağına bağlamak yeterlidir. Mikro denetleyici ATmega328 Çalışma gerilimi 5V Tavsiye edilen besleme gerilimi 7-12V Besleme gerilimi için alt ve üst sınırlar 6-20V Dijital giriş/çıkış pinleri 14 pin 6’sı PWM Analog giriş pinleri 6 pin Giriş/çıkış pini başına akım 40mA pini için akım 50mA Flash 32KB bootloader için kullanılır SRAM 2KB EEPROM 1KB Saat frekansı 16MHz Etiketler Arduino Uno Arduino ile Fırçasız DC Motoru Kontrolü DC motor üzerinde tam kontrol sahibi olmak için hızını ve dönüş yönünü kontrol etmeliyiz. Bu, iki tekniği birleştirerek elde edilebilir. PWM - Hız kontrolü için H-Bridge - Dönüş yönünü kontrol etmek içinyön, ileri geri, pozisyon PWM - Arduino ile DC Motor Hız Kontrolü Bir DC motorun hızı, giriş voltajını değiştirerek kontrol edilebilir. Bunu yapmak için yaygın bir teknik olan PWM Darbe Genişliği Modülasyonu kullanmalıyız. PWM, bir dizi ON-OFF tetiklemesi göndererek giriş voltajının ortalama değerinin ayarlandığı bir tekniktir. Ortalama voltaj, Görev Döngüsü olarak bilinen darbelerin genişliği ile orantılıdır. Görev döngüsü ne kadar yüksek olursa, dc motora uygulanan yüksek voltaj Yüksek Hız ve görev döngüsü ne kadar düşük olursa, dc motora uygulanan ortalama voltaj o kadar düşük Düşük Hız olacaktır. Aşağıdaki resimde, çeşitli iş çevrimleri ve ortalama gerilimler ile PWM tekniği gösterilmektedir. H-Bridge - Arduino ile DC Motor Yön Kontrolü - İleri Geri Kontrol DC motorun dönüş yönü, giriş voltajının polaritesini değiştirerek kontrol edilebilir. Bunu yapmak için yaygın bir teknik olan H-Bridge kullanılmaktır. Bir H-Bridge devresi, motor merkezde H-benzeri bir düzenleme oluşturan dört anahtar içerir. İki özel anahtarın aynı anda kapatılması, motora uygulanan voltajın polaritesini tersine çevirir. Bu, motorun dönüş yönünde değişime neden olur. Aşağıdaki animasyon H-Bridge devresinin çalışmasını gösterir. Arduino ile L293D Motor Sürücüsü Kullanımı L293D motor sürücü, bir çift DC motor veya bir step motor kullanabilen çift kanallı H-Bridge motor sürücüsüdür. L293d ile iki tekerlekli robot platformları oluşturabilir, iki motoru ayrı ayrı kodlayarak sürebilirsiniz. L293D Motor Sürücü Enerji Pini L293D motor sürücüsü aslında iki güç giriş pinine sahiptir. Bunlar Vcc1 ve Vcc2. Vcc1 , 5V olması gereken dahili mantık devresini sürmek için kullanılır. Verici Vcc2 pini H-Köprü bağlantısı ile - 36V arası gereken motor gücünü iletir. Ve ikisi de GND pinine bağlıdır . L293D Motor Sürücü Veri İletim Pinleri L293D motor sürücüsünün A ve B motorlarına veri iletmesi için çıkış kanalları sırasıyla OUT1, OUT2 ve OUT3, OUT4 pinleridir. Bu pinler ile 36V arasında voltajı iki adet DC motora iletir. Motor Sürücü üzerindeki her pin DC motorlara 600mA'ya kadar elektriksel akım iletebilir. Ancak, motora verilen akım miktarı, sistemin güç kaynağınaadaptör, lipo pil vb. bağlıdır. Arduino ile DC Motor Hız, Yön, İleri Geri, Pozisyon Kontrolü L293D motor sürücü pinlerinin her biri için, DC motorların hızını ve dönüş yönünü aynı anda kontrol etmemizi sağlayan iki tür kontrol pini vardır. Yön kontrol pinleri Hız kontrol pimleri Arduino ile DC Motor Yön Kontrol, İleri Geri, Hareket, Pozisyon Pinleri Yön kontrol pimlerini kullanarak, motorun ileri mi yoksa geri mi hareket etmesini kontrol edebiliriz. Pozisyon pinleri aslında L293D motor sürücü içindeki H-Bridge devresinin anahtarlarını kontrol eder. L293d motor sürücü, her kanal için iki yön kontrol yani hareket pinine sahiptir. IN1, IN2 pinleri 1. dc motorun hareket ve hızını kontrol ederken IN3, IN4 2. dc motorun hız ve hareket yani yön faliyetini kontrol etmektedir. Bir dc motorun dönüş yönü bu pinlere verilen elektriksel akım 5 Volt veya Toprak Nötr uygulanarak kontrol edilebilir. Aşağıdaki grafik bunun nasıl yapıldığını göstermektedir. Arduino ile DC Motor Hız Kontrol Pinleri Hız kontrol pinleri ENA ve ENB 'dir. 2 dc motor kontrolünün hızları bu pinler ile yapılır. ENAA motorunu, ENBB motorunu kontrol eder. Bu pinlere uygulanan HIGH kodu hareket yani motorların dönmesini sağlar, LOW ise motorların durmalarını sağlar. Ancak, motor hız kontrolü Darbe Genişliği Modülasyonu PWM ile sağlanabilmektedir. Arduino ile L293D Motor Sürücü Kullanarak 2 DC Motor Kontrolü Artık l293d motor sürücü ile ilgili her şeyi öğrendiğimize göre, Arduino'muz ile bağlantısını sağlayabiliriz! Arduino ile 2 dc motor kontrolü için öncelikle motorlara güç kaynağıpil, adaptör vb. bağlayarak başlayalım. Projemizde, genellikle 2wd robot araba kiti gibi arduino dc motorları yani Sarı TT motor kullanıyoruz. 65mm tekerlek ve motor seti 3 ile 9V arasında çalışır. 9V güç kaynağını Vcc2 pinine bağlayalım. Daha sonra, L293D'nin mantık devresi için 5 Volt sağlamamız gerekir. Vcc1 pinini Arduino'daki 5V çıkışa bağlayın. Devredeki tüm toprakları ortak kullandığımızdan mutlaka emin olalım. Şimdi, L293D IC'nin giriş ve etkinleştirme pinlerini ENA, IN1, IN2, IN3, IN4 ve ENB, altı Arduino dijital çıkış pinine 9, 8, 7, 5, 4 ve 3 bağlayalım. Arduino çıkış pinlerinin 9 ve 3'ün her ikisinin de PWMmotor hız kontrolü için etkin olduğunu unutmayın. Son olarak, bir motoru OUT1, OUT2'ye ve diğer motoru ve OUT3, OUT4'e bağlayın. Motorunuzun bağlantılarını teknik olarak sağ veya sol olarak değiştirebilirsiniz herhangi bir sıkıntı teşkil etmeyecektir. İşiniz bittiğinde, aşağıdaki resme benzeyen bir bağlantıya sahip olmalısınız. Arduino ile DC Motor Kontrolü için Kod Aşağıdaki kodlar, L293D motor sürücü ile bir DC motorun hızını ve dönüş yönünü kontrol edebilmeniz için pratik temel teşkil edecektir. // Motor A connections int enA = 9; int in1 = 8; int in2 = 7; // Motor B connections int enB = 3; int in3 = 5; int in4 = 4; void setup { // Set all the motor control pins to outputs pinModeenA, OUTPUT; pinModeenB, OUTPUT; pinModein1, OUTPUT; pinModein2, OUTPUT; pinModein3, OUTPUT; pinModein4, OUTPUT; // Turn off motors - Initial state digitalWritein1, LOW; digitalWritein2, LOW; digitalWritein3, LOW; digitalWritein4, LOW; } void loop { directionControl; delay1000; speedControl; delay1000; } // This function lets you control spinning direction of motors void directionControl { // Set motors to maximum speed // For PWM maximum possible values are 0 to 255 analogWriteenA, 255; analogWriteenB, 255; // Turn on motor A & B digitalWritein1, HIGH; digitalWritein2, LOW; digitalWritein3, HIGH; digitalWritein4, LOW; delay2000; // Now change motor directions digitalWritein1, LOW; digitalWritein2, HIGH; digitalWritein3, LOW; digitalWritein4, HIGH; delay2000; // Turn off motors digitalWritein1, LOW; digitalWritein2, LOW; digitalWritein3, LOW; digitalWritein4, LOW; } // This function lets you control speed of the motors void speedControl { // Turn on motors digitalWritein1, LOW; digitalWritein2, HIGH; digitalWritein3, LOW; digitalWritein4, HIGH; // Accelerate from zero to maximum speed for int i = 0; i = 0; -i { analogWriteenA, i; analogWriteenB, i; delay20; } // Now turn off motors digitalWritein1, LOW; digitalWritein2, LOW; digitalWritein3, LOW; digitalWritein4, LOW; } Kod Açıklaması Arduino kodu oldukça basittir. Herhangi bir kütüphanenin çalışmasını gerektirmez. Kodlar, L293D'nin kontrol pinlerinin bağlı olduğu Arduino pinlerini bildirmekle başlar. Kodun kurulum bölümünde, tüm motor kontrol pinleri dijital OUTPUT olarak her iki motoru da LOW veya OFF olarak çekilir. Kodun döngü bölümünde, bir saniyelik aralıklarla iki kullanıcı tanımlı kod işlevi kullanılır. L298N motor sürücü kartı ile arduino kullanarak motor kontrolü gerçekleştirebilirsiniz. Motor sürücü kartına bağlayacağınız 2 motoru ileri veya geri tam güçte ya da istediğiniz hızda sürebilirsiniz. Motor sürücü kartları DC motor kullanılacak projelerde işinize oldukça yarayacak ve kullanımı ve kodlaması oldukça basit bir motor sürücü kartının arduino bağlantı şemasına geçmeden önce kartın harici bir güç kaynağına ihtiyacı olduğunu bilmeliyiz. Bunun için 9V pil + kutbunu motor sürücünün +12V , – kutbunu ise GND girişine bağlanmalıdır. Ayrıca motor sürücünün çalışabilmesi için motor sürücünün GND girişinden bir ek kablo ile arduino GND pinine bağlantı yapılmalıdır. L298N motor sürücü kartı arduino bağlantı şeması görseldeki gibi yapılmalıdır. Burada Sürücü kart üzerindeki IN1 ve IN2 soldaki motoru, IN3 ve IN4 ise sağdaki motoru kontrol etmek için kullanılmaktadır. Arduinoda sırasıyla 8,9,10 ve 11 numaralı pinlere bağlantı yapabilirsiniz. Motorları tam güçte sürmek için ENA ve ENB pinlerine bağlı kelepçeler çıkarılmamalıdır. ÖRNEK KOD; ////////////////////////////////////////////// // Arduino Projeleri İçin; // // // // // ///////////////////////////////////////////// const int in1 = 8; // Motor sürücümüze bağladığımız pinleri tanımlıyoruz pinModein1, OUTPUT; //Tüm pinlerden güç çıkışı olacağı için OUTPUT olarak ayarladık. Bu dersimizde servo motor kullanımıyla ilgili temel bir uygulama yapacağız. Servo motora bir hareket tanımlayıp sürekli aynı şekilde dönmesini sağlayacağız. 180 dereceye gidip 3 saniye beklesin, sonra 90 derecede 3 saniye beklesin ve en sonunda 0 derecede 3 saniye beklesin. Tabi bu hareketleri görmek için servo motorun içinden çıkan beyaz plastik parçaları servo motora bağlamamız gereklidir. Gerekli Malzemeler 1 adet Arduino Uno R3 1 adet Servo Motor sg90 3 adet Jumper Kablo EE Servo Motor nedir? Servo motorlar genellikle 180 derece açıyla hareket sağlayan motorlardır. Bir çok projede kullanılırken, servo motoru farklı bir çok sensörle birlikte de kullanmak mümkündür. Servo motorda 3 kablo bulunmaktadır. Kahverengi kablo GND'ye, kırmızı kablo 5V pinine, turuncu kablo ise sinyal almak istediğimiz herhangi bir PWM pinine bağlanır. Servo Motor Kullanımı Devresi Servo Motor Arduino Kodları Arduino'da bu uygulamada servo motor için bir kütüphane kullanmamız gerekmektedir. Servo kütüphanesi arduino içinde yüklü olduğundan sadece kütüphaneyi çağırmamız gerekmektedir. Bunun için kodun en başına include yazıyoruz. Kütüphane eklendikten hemen sonra bir servo motor tanımlamamız lazım bunu da Servo komutuyla yapıyoruz. motorumuz ismini verdik burada. Void kısmında servo motorumuzu hangi pine bağladıysak onu tanımlıyoruz. Loop kısmına yazarsak servo motorumuz o açıya dönecektir. include Servo motorumuz; // motorumuz isminde bir servo motor tanımladık void setup { } void loop { // 180 dereceye gel delay3000; // 3 saniye bekle delay3000; delay3000; } Servo Motor Mblock Kodları

arduino motor sürücü kartı kullanımı