LabVIEW的Arduino開發環境建構

2021/01/29閱讀時間約 3 分鐘

要進行和Arduino的連線,首先安裝LabVIEW(建議2012之後的版本)然後安裝NI-VISA,我的系統是VISTA,能使用的最新版本VISA是15.5版  (btw,2012和VISTA SP2可以支援的最新版488.2 driver是15.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溝通會是較好的選擇。

LIFA和LINX這兩個模組都是經由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新的IDE,LabVIEW和Arduino必須要計算checksum但是因為沒有設定初始值,所以LIFA這邊會出現逾時錯誤。要改LAbVIEWInterface頁第740行(附近) unsigned char checksum; 手動改成unsigned char checksum = 0;

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

raw-image

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

 

raw-image

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

 

    5會員
    56內容數
    ktest
    留言0
    查看全部
    發表第一個留言支持創作者!