MATLAB ve Arduino kullanarak DC Motor Kontrolü

MATLAB ve Arduino Kullanarak DC Motor Kontrolü – Merhabalar, Bu eğitimde MATLAB ve Arduino kullanarak DC motor kontrolünü nasıl yapacağınızı göstereceğiz. Eğer MATLAB’ı ilk defa kullanıyorsanız daha basit projelerle başlamak sizin için daha iyi olacaktır.

Arduino Kullanarak DC Motor Kontrolü

DC Motorun Kontrol Edilmesi İçin MATLAB Grafik Kullanıcı Arayüzü Oluşturulması

MATLAB için Arduino ile kurulumu tamamladıktan sonra, DC motoru kontrol etmek için GUI (Grafik Kullanıcı Arayüzü) oluşturmamız gerekiyor.

Grafik Kullanıcı Arayüzünü başlatmak için komut penceresinde aşağıdaki komutu yazın.
 Guide
arduino ile dc motor kontrolü

Bu işlemden sonra bir pencere açılacak, ardından aşağıdaki resimde gösterildiği gibi yeni boş GUI’yi (Grafik Kullanıcı Arayüzünü) seçin.

Şimdi, aşağıda gösterildiği gibi, Saat yönünde dönme, Saat yönünün tersine dönme ve DURDURMA için üç buton seçin.arduino ile dc motor kontrolü

Butonun şeklini yeniden boyutlandırmak veya değiştirmek için üzerine tıklayın. Butonu köşelerinden sürükleyebilirsiniz.

İlgili butona çift tıklayarak, butonun rengini, ismini ve etiketini değiştirebilirsiniz. Aşağıdaki resimde gösterildiği gibi üç butonu özelleştirdik.

arduino ile dc motor kontrolü

arduino ile dc motor kontrolü
Butonları isteğiniz doğrultusunda düzenleyebilirsiniz. Bu işlemi kaydettiğinizde, MATLAB’un Editör penceresinde bir kod oluşturulur. Bu oluşturulan kodun arduino projenize uyumluluk sağlaması açısından düzenlemeniz gerekmektedir. Arduino ile DC Motor kontrol etmek için MATLAB Kodu MATLAB kodlarının tamamı dc motor kontrolü için düzenlendikten sonra en aşağıda verilecektir. Ayrıca, butonları gereksiniminize göre özelleştirebileceğiniz GUI dosyasını (.fig) ve kod dosyasını (.m) buradan indirebilirsiniz zip şifresi (“elektroniktasarimlar.com“). Aşağıda, DC Motoru oluşturduğumuz 3 buton yardımı ile saat yönünde, saat yönünün tersine döndürmek ve durdurmak için yaptığımız bazı ince ayarlamalar mevcuttur. Aşağıda ki kodu 74.Satır numarasına kopyalayınız.

clear all;

global a;

a = arduino();

MATLAB ve Arduino Kullanarak DC Motor Kontrolü

Scrolü Aşağı kaydırdığınızda, GUI’deki her buton için üç işlev olduğunu görürsünüz. Şimdi kodu, tıklama işleminden sonra gerçekleştirmek istediğiniz özelliklere göre yazın. Saat yönünde butonu için, aşağıdaki kodu kopyalayın ve motorun saat yönünde dönmesi için fonksiyonun bitiş parantezinden hemen öncesine yapıştırın. Burada, motoru saat yönünde döndürmek için PIN 6’ya 1 yani High , PIN 5’e ise 0 yani Low veriyoruz.

global a;

writeDigitalPin(a, ‘D5’, 0);

writeDigitalPin(a, ‘D6’, 1);

pause(0.5);

MATLAB ve Arduino Kullanarak DC Motor Kontrolü

Saat yönünün tersi butonu için, aşağıdaki kodu kopyalayın ve motorun saat yönünün tersi dönmesi için kodu ilgili yere yapıştırın. Burada, motoru saat yönünün tersi şeklinde döndürmek için PIN 5’e 1 yani High , PIN 6’ya ise 0 yani Low veriyoruz.

global a;

writeDigitalPin(a, ‘D5’, 1);

writeDigitalPin(a, ‘D6’, 0);

pause(0.5);

MATLAB ve Arduino Kullanarak DC Motor Kontrolü

Stop butonu için, aşağıdaki kodu kopyalayın ve motorun durması için kodu ilgili yere yapıştırın. Burada, motoru durdurmak için PIN 5 ve PIN 6’ya aynı anda 0 yani Low veriyoruz.

global a;

writeDigitalPin(a, ‘D5’, 0);

writeDigitalPin(a, ‘D6’, 0);

pause(0.5);

MATLAB ve Arduino Kullanarak DC Motor Kontrolü

MATLAB ve Arduino Kullanarak DC Motor Kontrolü Malzeme Listesi

# MATLAB yüklü bilgisayar

# Arduino UNO

# DC Motor

# 29L293D – motor sürücüsü

MATLAB ve Arduino Kullanarak DC Motor Kontrolü Devre Şeması

MATLAB ve Arduino Kullanarak DC Motor Kontrolü

Donanımı devre şemasına göre kurduktan sonra, düzenlenmiş kodu .m dosyasında çalıştırmak için çalıştırma “run” butonuna tıklayın.

MATLAB ve Arduino Kullanarak DC Motor Kontrolü

Bu işlem biraz zaman alabilir. Sol alt köşede BUSY yazısını görene kadar hiçbir butona tıklamayınız.

MATLAB ve Arduino Kullanarak DC Motor KontrolüHerşey hazır olduğunda motoru saat yönünde veya tersine döndürmek için hazırlamış olduğunuz butonlara basınız. DC motoru durdurmak için STOP düğmesine basınız. MATLAB kullanarak servo Motor kontrol etmek için aynı yöntem kullanılabilir, sadece buna göre bir kod düzenlemeye ihtiyacınız var. MATLAB ve Arduino kullanarak DC motor kontrolünün tam olarak anlamak için aşağıdaki videoyu kontrol edebilirsiniz.

MATLAB ve Arduino Kullanarak DC Motor Kontrolü Kodları

MATLAB ve Arduino Kullanarak DC Motor Kontrolü Kodları

function varargout = DCmotor(varargin)

gui_Singleton = 1;
gui_State = struct(‘gui_Name’,       mfilename, …
                   ‘gui_Singleton’,  gui_Singleton, …
                   ‘gui_OpeningFcn’, @DCmotor_OpeningFcn, …
                   ‘gui_OutputFcn’,  @DCmotor_OutputFcn, …
                   ‘gui_LayoutFcn’,  [] , …
                   ‘gui_Callback’,   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end
function DCmotor_OpeningFcn(hObject, eventdata, handles, varargin)

guidata(hObject, handles);

function varargout = DCmotor_OutputFcn(hObject, eventdata, handles) 

varargout{1} = handles.output;
clear all;
global a;
a = arduino();

function clockwise_Callback(hObject, eventdata, handles)

global a;
writeDigitalPin(a, ‘D5’, 0);
writeDigitalPin(a, ‘D6’, 1);
pause(0.5);

function anticlockwise_Callback(hObject, eventdata, handles)

global a;
writeDigitalPin(a, ‘D5’, 1);
writeDigitalPin(a, ‘D6’, 0);
pause(0.5);

function stop_Callback(hObject, eventdata, handles)

global a;
writeDigitalPin(a, ‘D5’, 0);
writeDigitalPin(a, ‘D6’, 0);
pause(0.5);

 MATLAB ve Arduino Kullanarak DC Motor Kontrolü Videolu Anlatım

Kaynak : Circuit Digest

Yazımızı beğendiyseniz hemen alttaki Sosyal medya butonlarından arkadaşlarınızla paylaşabilirsiniz. Öneri veya eleştirilerinizi alttaki yorumlar bölümünden yapabilirsiniz. Elektroniktasarımlar.com ailesi olarak bir çok yeni içerik eklemeye devam edeceğiz. Bizi takip etmeyi unutmayın. Okuduğunuz için teşekkür ederiz.

Paylaşın, Herkes Faydalansın!

Yorum Ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir