2021-01-29|閱讀時間 ‧ 約 4 分鐘

LabVIEW的Arduino開發環境建構

    要進行和Arduino的連線,首先安裝LabVIEW(建議2012之後的版本)然後安裝NI-VISA,我的系統是VISTA,能使用的最新版本VISA15.5版  (btw2012VISTA SP2可以支援的最新版488.2 driver15.5)

    再來是讓電腦可以認得Arduino,如果是買便宜版Arduino,有可能插上去無法辨識。因為它用的是CH340系列晶片,要自己下載driver,檔名為CH341SER.EXE

    經由LabVIEW控制Arduino的三種途徑如下:

    1. LabVIEW Interface for Arduino (aka LIFA)
    2. Degilent LINX
    3. Serial port directly read/write

    前兩種都是把LabVIEW的控制韌體燒進Arduino再經由LabVIEW寫的程式和韌體溝通,也就是說必須把原本裡面的韌體洗掉。若是新的專案,可以不用一有程式變更就要重燒韌體,開發和debug比較方便。但考量到泛用性以及原本的韌體已經開發完成的狀況,經由serial port溝通會是較好的選擇。

    LIFALINX這兩個模組都是經由JKI VI package manager (aka VIPM)下載安裝,這個管理程式基本上在安裝LabVIEW時必須一併安裝,因為它不友善舊電腦,官網只有放最新版。安裝好後LIFA會放在Arduino分類,LINX會放在Makerhub分類。

    基本上LIFA目前NI官方已不再維護,並以LINX取代,但這邊還是紀錄一下如何建構開發環境及會遇到的問題解法。

    LIFA開發環境建立,首先開啟Arduino IDE,沒有的話去Arduino.cc下載。開啟草稿檔LIFA_Base.ino,位置在C:\Program Files\National Instruments\LabVIEW 20xx\vi.lib\LabVIEW Interface for Arduino\Firmware\LIFA_Base,然後編譯並上傳到Arduino

    編譯上傳時如果發生報錯(IDE橘字)的問題,原因是使用的IDE版本太新,要降版到1.8.9以下(VISTA可用的最新版本)

    LabVIEW執行程式時若發生了5003錯誤,那就是使用了版本比1.8.3新的IDELabVIEWArduino必須要計算checksum但是因為沒有設定初始值,所以LIFA這邊會出現逾時錯誤。要改LAbVIEWInterface頁第740(附近) unsigned char checksum; 手動改成unsigned char checksum = 0;

    另外還有5005錯誤,原因是初始化時用了自動偵測,必須要手動指定COM port,Baudrate=115200才能正確連線。

    LINX的開發環境建立比較友善,安裝好之後在menu barTools/Makerhub/LINX/LINX Firmware wizard開啟上傳精靈,如圖選好板子種類後按照視窗中的指示即可上傳韌體。完成後可以到Find Example找到範例。

     

    最後是serial port控制的方法,必須Arduino程式碼裡面加上連接指令及定義讀入及送出的變量,即可和電腦做溝通。

     

    分享至
    成為作者繼續創作的動力吧!
    © 2024 vocus All rights reserved.