Arduino Matlab Arduino Matlab Simulink Gerçek Zamanlı Dc Motor Pwm Kontrolü By Ekrem Keleş Posted on 8 Mayıs 2018 13 min read 1 0 7,476 Paylaş ! Facebook Paylaş ! Twitter Paylaş ! Google+ Paylaş ! Reddit Paylaş ! Pinterest Paylaş ! Linkedin Paylaş ! Tumblr Herkese merhabalar. Bu uygulamada Arduino Mega ve MATLAB & Simulink üzerine bir proje hazırlanmıştır. İlk olarak MATLAB & Simulink’de Arduino kullanmak için gerekli kütüphaneyi yüklemeniz gerekmektedir. Ekleyeceğimiz videodaki adımları uygulayarak bu işlemi gerçekleştirebilirsiniz. Bu projede donanım olarak Arduino Mega 2560’ı kullanacağız. Yazılım olarak ise MATLAB R2015a sürümünü kullanacağız. Bir adet motor sürücü L293N, 12V güç kaynağı, bir adet potansiyometre, dc motor, yeteri kadar jumper kullanarak bu uygulamayı siz de kolaylıkla yapabilirsiniz. Arduino Mega2560 ATmega2560 mikrodenetleyici içeren bir Arduino kartıdır. Arduino Mega 2560 ‘ta 54 tane dijital giriş / çıkış pini vardır. Bunlardan 15 tanesi PWM çıkışı olarak kullanılabilir. Ayrıca 16 adet analog girişi, 4 UART (donanım seri port), bir adet 16 MHz kristal osilatörü, USB bağlantısı, power jakı (2.1mm), ICSP başlığı ve reset butonu bulunmaktadır. Arduino Mega 2560 bir mikrodenetleyiciyi desteklemek için gerekli bileşenlerin hepsini içerir. Arduino Mega 2560 bir bilgisayara bağlanarak, bir adaptör ile ya da pil ile çalıştırılabilir. Aşağıdaki resimde Arduino Mega 2560 pinleri gösterilmektedir. Arduino Mega 2560 Teknik Özellikleri Mikrodenetleyici : ATmega2560, Çalışma gerilimi : +5 V DC , Tavsiye edilen besleme gerilimi : 7 – 12 DC, Besleme gerilimi limitleri : 6 – 20 V, Dijital giriş / çıkış pinleri : 54 tane (15 tanesi PWM çıkışını destekler), Analog giriş pinleri : 16 tane, Giriş / çıkış pini başına düşen DC akım : 40 mA, 3,3 V pini için akım : 50 mA, Flash hafıza : 256 KB (8 KB bootloader için kullanılır), SRAM : 8 KB EEPROM : 4 KB, Saat frekansı : 16 MHz Güç Arduino Mega 2560 bir USB kablosu ile bilgisayar bağlanarak çalıştırılabilir ya da harici bir güç kaynağından beslenebilir. Harici güç kaynağı bir AC-DC adaptör ya da bir pil / batarya olabilir. Adaptörün 2.1 mm jaklı ucunun merkezi pozitif olmalıdır ve Arduino Mega 2560 ‘ın power girişine takılmalıdır. Pil veya bataryanın uçları ise power konnektörünün GND ve Vin pinlerine bağlanmalıdır. Arduino Mega 2560 6 V – 20 V aralığında bir harici güç kaynağı ile beslenebilir. Ancak 7 V altında bir besleme yapıldığında 5V pini 5 V tan daha düşük çıkış verebilir ve kart kararsız çalışabilir. 12 V üzerinde bir voltaj beslemesi yapılması durumunda ise regülatör fazla ısınabilir ve karta zarar verebilir. Bu nedenle tavsiye edilen besleme gerilimi 7 V – 12 V aralığındadır. VIN : Arduino Mega 2560 kartına harici bir güç kaynağı bağlandığında kullanılan voltaj girişidir. 5V : Bu pin Arduino kartındaki regülatörden 5 V çıkış sağlar. Kart DC power jakından (2 numaralı kısım) 7-12V adaptör ile, USB jakından (1 numaralı kısım) 5 V ile ya da VIN pininden 7-12 V ile beslenebilir. 5V ve 3.3V pininden voltaj beslemesi regülatörü bertaraf eder ve karta zarar verir. 3.3V : Arduino kart üzerindeki regülatörden sağlanan 3,3V çıkışıdır. Maksimum 50 mA dir. GND : Toprak pinidir. IOREF : Arduino kartlar üzerindeki bu pin, mikrodenetleyicinin çalıştığı voltaj referansını sağlar. Uygun yapılandırılmış bir shield IOREF pin voltajını okuyabilir ve uygun güç kaynaklarını seçebilir ya da 3.3 V ve 5 V ile çalışmak için çıkışlarında gerilim dönüştürücülerini etkinleştirebilir. Giriş ve Çıkışlar Arduino Mega 2560 ‘ta bulunan 54 tane dijital giriş / çıkış pininin tamamı, pinMode(), digitalWrite() ve digitalRead() fonksiyonları ile giriş ya da çıkış olarak kullanılabilir. Bu pinler 5 V ile çalışır. Her pin maksimum 40 mA çekebilir ya da sağlayabilir ve 20-50 KOhm dahili pull – up dirençleri vardır. Ayrıca bazı pinlerin özel fonksiyonları vardır: Serial: 0 (RX) ve 1 (TX); Serial 1: 19 (RX) ve 18 (TX); Serial 2: 17 (RX) ve 16 (TX); Serial 3: 15 (RX) ve 14 (TX) : Bu pinler TTL seri data almak (receive – RX) ve yaymak (transmit – TX) içindir. 0 ve 1 pinleri ayrıca ATmega16U2 USB-to-TTL Si çipinin ilgili pinlerine bağlıdır. Harici kesmeler 2 (kesme 0), 3 (kesme 1), 18 (kesme 5), 19 (kesme 4), 20 (kesme 3) ve 21 (kesme 2) : Bu pinler bir kesmeyi tetiklemek için kullanılabilir. PWM: 2 – 13 , 44 – 46 : Bu pinler analogWrite () fonksiyonu ile 8-bit PWM sinyali sağlar. SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS) : Bu pinler SPI kütüphanesi ile SPI haberleşmeyi sağlar. LED 13 : Digital pin 13 e bağlı bir leddir. Pinin değeri High olduğunda yanar, Low olduğunda söner. TWI : 20 SDA 21 SCL : Wire kütüphanesini kullanarak TWI haberleşmesini destekler. (Bu pinlerin yeri Arduino Duemilanove ve Diecimila kartlardaki ile aynı değildir.) Arduino Mega 2560 ‘ın 16 tane analog girişinden her biri 10 bit çözünürlüğü destekler. Varsayılan ayarlarda topraktan 5 V a kadar ölçerler. Ancak, AREF pini ve analogReference() fonksiyonu kullanılarak üst limit ayarlanabilir. AREF : Analog girişler için referans voltajıdır. analogReference() fonksiyonu ile kullanılır. RESET : Mikrodenetleyiciyi resetlemek içindir. Genellikle shield üzerine reset butonu eklemek için kullanılır. L298N H Bridge Çift Motor Sürücü L298N H Bridge Çift Motor Sürücü Kartı genellikle motorların hız ve yönlerini kontrol etmek amacıyla kullanılan bir çift H köprülü motor sürücü kartıdır. Motor kontrolü dışında ışıklandırma projelerinde LED gruplarının parlaklarının ayarlanması amacıyla da kullanılır. H-köprüleri düşük akımlar ile büyük akımların iletilmesini kontrol edebilmek amacıyla kullanılan devrelerdir. L298N H Bridge Çift Motor Sürücü Kartı pin açıklamaları: Out 1: Motor A çıkış 1 Out 2: Motor A çıkış 2 Out 3: Motor B çıkış 1 Out 4: Motor B çıkış 2 GND: Toprak 5V: 5V Lojik giriş EnA: Motor A için PWM sinyalini devreye alır In1: Motor A çıkış 1 için giriş sinyali In2: Input for Motor A çıkış 2 için giriş sinyali In3: Input for Motor B çıkış 1 için giriş sinyali In4: Input for Motor B çıkış 2 için giriş sinyali EnB: Motor B için PWM sinyalini devreye alır L298N H Bridge Çift Motor Sürücü Kartı – Genel Özellikler Çift H-köprülü motor sürücü L298N motor sürücü entegresi 2 DC motor çift yönlü kontrol edilebilir Dahili 5V voltaj regülatörü 5V-35V sürüş voltajı 2A maksimum akım L298N H Bridge Çift Motor Sürücü Kartı – Teknik Özellikler Çift H-Köprülü Sürüş Çipi: L298N Lojik Voltaj: 5V Sürüş Voltajı: 5V-35V Lojik Akım: 0-36mA Sürüş Akımı: 2A (MAX single bridge) Maksimum Güç: 25W Boyutlar: 43 x 43 x 26mm Ağırlık: 26g Devre ve Simulink Blok Şeması Biz bu uygulamada bir adet dc motor pwm kontrolü yaparak motorumuzu sürdük siz iki adet dc motorda sürebilirsiniz aynı işlemleri diğer motor için de yapmanız gerekmektedir. Matlab Simulink ve Uygulama Videoları; Kaynakça http://www.robotiksistem.com/arduino_mega_2560_ozellikleri.html http://www.robotpark.com.tr/L298N-H-Bridge-Cift-Motor-Surucu-Karti Başka bir yazıda görüşmek dileğiyle…