顯示具有 LabVIEW 標籤的文章。 顯示所有文章
顯示具有 LabVIEW 標籤的文章。 顯示所有文章

2014年9月7日 星期日

量測原理與機械工程實驗 (as a laboratory assistant)

Measurement and Mechanical Engineering Laboratory is a required course for junior students in the department of mechanical engineering at National Taiwan University. This course consists of miscellaneous topics of different fields such as material science, solid mechanics, thermal science, control, and fluid mechanics (see Fig. 1). Students can access equipment (or even build one on their own) which measures/demonstrates displacement, velocity, acceleration, force, torque, pressure, temperature, vibration, and other meaningful physical quantities.

2013年11月13日 星期三

利用LabVIEW做人機介面,再透過Arduino來控制機器手臂

相關閱讀

(1) Project:利用3D printer製作6軸機械手臂 (1)

(2) Project:利用3D printer製作6軸機械手臂 (2)

(3) Project:利用3D printer製作6軸機械手臂 (3) 最終回的測試

(4) 利用LabVIEW做人機介面,再透過Arduino來控制機器手臂

(5) 利用Matlab做逆向運動學以控制6軸Robotic Arm

-----------------------------------------------------------------------------------

7月的時候,曾經用3D印表機印出一隻塑膠的機器手臂,
那時是單純用Arduino+可變電阻來控制。

但這種方法不甚方便,有時想要從PC端控制,想要做演算,想要與其它裝置結合等等。
所以我一直想要用LabVIEW來控制機器手臂,這樣未來在LabVIEW上想做什麼就做什麼。

以下是我在LabVIEW裡拉的線,以及人機介面的部分:

2013年10月6日 星期日

在LabVIEW之中連結Arduino (二) by VISA

有了第一篇「在LabVIEW之中連結Arduino」,我就更進一步想了解LabVIEW底下的程式怎麼寫的。一看原來是把Arduino當作VISA來撰寫程式,所以我就上網找看別人如何更直接用LabVIEW裡的VISA功能連結Arduino。參考的影片如下:
https://www.youtube.com/watch?v=giubFyJeZ-8

說明一下他的觀念:
(1) Arduino本來的運作就是出現在裝置管理員裡的 COM 通訊埠,用這通訊埠跟PC做溝通。
(2) 所以可以在語法裡靠著 Serial.begin 系列來達成與PC溝通的工作。
(3) 然後LabVIEW就是把這溝通的內容抓進來,用VISA的子功能來執行。
(4) VISA Read得到的就是字串的內容,再到LabVIEW裡自行轉換。

做法如下:
(1) 連結上Arduino,先接一個按鈕來測試。

2013年10月3日 星期四

Arduino範例17:用Arduino+LabVIEW 測試紅外線收發 (TSOP-1738)

這一陣子想嘗試一些露天拍賣賣的一些模組
包括紅外線、超音波、霍爾元件、溫度感測、陀螺儀等等
真的覺得這個時代太方便了,以前這些感測器都還要自己配適合的電路
現在都有人直接做好一個模組在販賣了,而且品質比自己兜的穩定多了,價格也十分便宜!

參考網站:
http://coopermaa2nd.blogspot.tw/2011/03/1.html
http://coopermaa2nd.blogspot.tw/2011/03/irremote.html

一開始我也先去光華買了:
(1) 38k Hz的紅外線接收器 TSOP-1738
(2) 紅外線二極體發射器,波長940nm

如下接圖:
 

2013年9月23日 星期一

在LabVIEW之中連結Arduino

在單獨使用Arduino的板子一陣子之後,
想說來練習一下用LabVIEW來連接Arduino,把Arduino當作低階的DAQ卡來使用。
所以就上網找了一些參考資料:

題外話:
玩了一陣子之後,發覺網路上的神人實在是太多了
我這種機械底子的人跟本看不到這些寫程式神人的車尾燈……

言歸正傳,參考資料裡其實寫得很清楚了,該如何弄了:

第一,你本來就要有LabVIEW的程式(2009以上) + VISA模組 (這非預設的)
第二,你要有Arduino 的 IDE程式與板子
第三,安裝JKI VI Package Manager (VIPM),這是要給LabVIEW下載Arduino的模組
第四,用VIPM下載LabVIEW Interface for Arduino
第五,Arduino上需要另外安裝一個檔案才能與LabVIEW做序列溝通。
    在<您的LabIVEW安裝資料夾>\vi.lib\LabVIEW Interface for Arduino\Firmware\LVIFA_Base中,
    找LVIFA_Base.ino這個檔案,透過Arduino IDE load到你的Arduino板子上。
第六,最後打開LabVIIW看到下圖,就代表成功了。

不過在開始使用前,要先去裝置管理員或LabVIEW的Max裡看看設備是否都連上線了。
還有LVIFA_Base.ino是否已經load進去了。

首先先來寫一個範例,架構主要分成三個部分:
(1) Initial:定義port、Serial begin、Board type等等初使條件
(2) While Loop:原本程式中void setup ()與void loop ()都在這裡寫
(3) Close:結束loop時,還要再關掉通訊

心得:
1. 有這個東西真的很方便,就可以直接寫LabVIEW做Arduino的及時通訊
    而我也打算用LabVIEW對上次的製作的機械手臂做控制。
2. 基本這個套件的底層還是用VISA在寫的,把Arduino當作通訊序列的裝置在溝通。
    但這樣底層的溝通就容易發生未知的情況,尤其是Data Flow與Command Flow之間的轉換。
3. LabVIEW能夠支授的子程式不多,例如超音波Arduino就有現成有人寫好的Ultrosonic.h
    但LabVIEW只有少少的幾樣,如Servo motor、Stepper motor幾樣常用的。
    對於快速開發將會耗太多時間在自己寫子VI上。
           
以上供各位參考