<rt id="m4md3"></rt>
  • <bdo id="m4md3"><meter id="m4md3"></meter></bdo>
  • <label id="m4md3"></label>
      <center id="m4md3"><optgroup id="m4md3"></optgroup></center>
      產品分類

      當前位置: 首頁 > 工業控制產品 > 自動化控制 > DCS系統

      類型分類:
      科普知識
      數據分類:
      DCS系統

      如何用Matlab連接控制Arduino:GUI界面制作與電機控制

      發布日期:2022-04-17 點擊率:71

        MATLAB是用于算法開發、數據可視化、數據分析以及數值計算的高級技術計算語言和交互式環境。而Arduino開發板是一種越來越受到歡迎的開源硬件。

        一個是什么都能算的軟件,一個是最火爆的開源硬件,兩者結合能碰撞出什么樣的火花呢?筆者以Matlab軟件研究如何控制Arduino,將從Matlab制作Arduino的GUI界面和simulink應用出發,探索如何使用Matlab連接和控制Arduino。

        Matlab與Arduino聯合應用——GUI界面

        首先介紹如何安裝配置一個基于Matlab的GUI界面,能夠實現對ArduinoIO口的操作。

        下圖所示為matlab中Arduino相關程序的下載界面

      如何用Matlab連接控制Arduino:GUI界面制作與電機控制

      如何用Matlab連接控制Arduino:GUI界面制作與電機控制

        下載后為壓縮文件,解壓縮為ArduinoIO的文件夾,打開Matlab(筆者為2012版本),將當前工作目錄至于ArduinoIO文件夾下。

      如何用Matlab連接控制Arduino:GUI界面制作與電機控制

        打開Matlab的GUIDE

      如何用Matlab連接控制Arduino:GUI界面制作與電機控制

        安裝下面方法,拖放兩個按鈕,按鈕的顯示文字可以通過雙擊后,在屬性頁下的“string”一欄下面修改,我們用兩只按鈕分別控制直流電機的轉動

      如何用Matlab連接控制Arduino:GUI界面制作與電機控制

        至此,我們已經完成必要的程序的燒寫和界面的初步編寫,下面將繼續介紹如何添加按鈕的響應函數,實現上位機的控制功能。

        我們利用Matlab已經初步設計了一個GUI界面,下面將添加必要的響應函數,演示時間的控制功能。

        下圖展示如何從GUIDE進入按鈕的編輯界面,在這里我們將添加對Arduino相應的IO口或者串口的操作。

      如何用Matlab連接控制Arduino:GUI界面制作與電機控制

        下面是基本的操作函數實例匯總

        a=arduino('COM9')

        設置引腳為輸入或者輸出

        a.pinMode(4,'input');

        a.pinMode(13,'output');

        讀寫引腳的狀態

        a.digitalRead(4)

        a.digitalWrite(13,0)

        模擬量輸入或者輸出操作

        a.analogRead(5)

        a.analogWrite(9,155)

        串口操作

        a.serial%getserialport

        a.flush;%flushesPC'sinputbuffer

        a.roundTrip(42)%sends42tothearduinoandback

        本例中若使用按鈕“Right-Motor”點擊實現IO口8置為高電平,驅動直流電機全速轉動,則添加

        globala;

        a=arduino('COM7');

        a.pinMode(8,'output');

        在按鈕“Right-Motor”的響應函數中添加代碼段

        globala;

        a.digitalWrite(8,(get(hObject,'Value')))

      如何用Matlab連接控制Arduino:GUI界面制作與電機控制

        Arduino端準備

        想要arduino端的控制,還需要向Arduino中燒寫已經下載的pde文件,其位置位于加壓縮后的ArduinoIO文件夾下的pde文件中。通過usb線纜將Arduinouno與電腦連接,點擊GUI中添加的按鈕,即可實現遠端控制功能。

        我們介紹了,在Matlab中建立一個ArduinoGUI的過程。下面將繼續介紹如何在Arduino端進行軟件準備。

        軟件調試可以在Arduino連接至電腦端就可以進行。

        下面將作者自己在其中遇到或者大家可能會遇到的問題一一總結如下:

       ?。?)已經編寫完成的Matlab程序已經綁定了通信口COM8,執行Matlab程序出現如下提示

        Errorusingarduino(line83)

        Couldnotopenport:COM8

        ErrorinArduinomatlab>Arduinomatlab_OpeningFcn(line60)

        a=arduino('COM8');

        首先保證你的開發板已經連接至PC機,而且通過設備管理器查看端口是否與程序中設置的相同。

        (2)在保證上述已經完成的情況下,依然提示出錯

        Errorusingarduino(line54)

        PortCOM8alreadyusedbyMATLAB

        這很可能是你中間斷開了Arduino的連線或者重新編譯了程序,你需要在Matlab中執行

        delete(instrfind({'Port'},{'COM8'}))

        然后重新連接即可。

       ?。?)Arduino連接至PC端,但是不能燒寫上期Blogger中的pde文件,這時候要排除IDE編譯環境中可能存在的問題

        1下載最新的IDE環境(http://arduino.cc/en/Main/Software#toc2)

        2安裝手動方式更新驅動

        3注意更改軟件中TOOLs下面的“Board”和“serialport”選項,按照自己所使用Arduino進行修改。

        下面將介紹如何配置硬件外圍電路,來為實驗做最后準備。

        為ArduinoUNO開發板連接外圍電路,包括直流電機、led燈等外圍器件。

        使用到的元器件

      如何用Matlab連接控制Arduino:GUI界面制作與電機控制

        下圖是Arduino與直流電機的接口電路。

      如何用Matlab連接控制Arduino:GUI界面制作與電機控制

        我們再分析各部分功能

        1開關

        2直流電機

        3二極管

        4MOSFE管

        5電機驅動電源(9V)

        由于Arduino的最大驅動電流是40mA,遠遠小于電機驅動所需的電流。這里我們使用一個MOSFET(當然可以使用三極管代替),來使Arduion的小電流來控制電機的通斷

        而電機屬于電感性負載,在啟停階段可能會由于電感存在產生一個很大反向電壓,可能會損害我們的MOSFET,這里使用一個二極管來使電流沿著一個方向流動,從而保證電機對其余電路的影響。

        9V電源為電機轉動供電,當我們直接將其連接至直流電機兩側時,會發現電機將會全速轉動。

      如何用Matlab連接控制Arduino:GUI界面制作與電機控制

        在實驗中,我們手上只有一個直流電機,所以另外一只的控制我們使用led燈來模擬,注意要接上一只220歐的電阻進行限流。

        在完成基本的軟件和硬件的準備工作后,我們現在進入最終的測試階段。

        操作順序:

        1將Arduino通過usb線纜連接至PC

        2打開Matab,將當前文件夾設為我們從matlab官網下載的并解壓縮的ArduinoIO

        3雙擊打開Arduinomatlab.fig,彈出控制界面

        4點擊按鈕觀察電機的轉動,如果在Matlab提示出錯信息,請嘗試下面解決方法

        5執行“clear”清除變量;執行“delete(instrfind({'Port'},{'COM8'}))”,并重新拔掉再插上線纜以創建新的通信連接,重復操作步驟1。

      下一篇: PLC、DCS、FCS三大控

      上一篇: 索爾維全系列Solef?PV

      推薦產品

      更多
      主站蜘蛛池模板: 一本久久a久久精品综合夜夜| 激情综合亚洲色婷婷五月| 久久精品亚洲综合专区| 青青草原综合久久大伊人| 亚洲熟女乱综合一区二区| 国产亚洲精品精品国产亚洲综合| 伊人婷婷色香五月综合缴激情| 亚洲国产天堂久久综合网站| 伊色综合久久之综合久久| 狠狠色丁香婷婷综合尤物| 亚洲综合一区二区国产精品| 色偷偷91久久综合噜噜噜噜| 狠狠色丁香婷婷综合精品视频| 99久久综合国产精品免费| 精品久久综合1区2区3区激情| 91精品婷婷国产综合久久| 色综合久久久无码中文字幕 | 亚洲AV日韩综合一区尤物 | 亚洲精品综合在线影院| 久久93精品国产91久久综合| 色九月亚洲综合网| 激情五月激情综合| 天天久久影视色香综合网 | 色综合久久98天天综合| 色狠狠成人综合色| 浪潮AV色综合久久天堂| 久久婷婷五月综合97色一本一本| 久久久久噜噜噜亚洲熟女综合| 婷婷六月久久综合丁香可观看| 亚洲国产综合专区电影在线| 婷婷五月综合色视频| 久久综合久久美利坚合众国| 伊人久久青草青青综合| 亚洲综合AV在线在线播放| 亚洲亚洲人成综合网络| 亚洲综合久久综合激情久久| 国产婷婷综合丁香亚洲欧洲| 天天影视色香欲综合免费| 婷婷久久香蕉五月综合| 国产精品 综合 第五页| 亚洲国产美国国产综合一区二区|