2013年10月13日 星期日

用3D印表機印卡扣 (Print snap by 3D printer)


這次要印的是溫度顯示計的固定卡扣,此物是要安裝在機台面板上的,而上面白色的東西就是要用來抵住面板一側的卡扣環。很不幸地,這個東西也是經常失連的朋友。

不過沒關係,這次要嘗試的,就是用3D印表機來印這個卡扣,來看這麼微小的東西,印表機的表現如何。 下面是所建的CAD圖,做出有彈性臂的卡勾。

接下來就是印出實體


2013年10月12日 星期六

用3D印表機印螺帽 (Print Nut)

在網路有看過有人用3D pinter印螺帽,但我一直懷疑其列印出來的可用性,包括其精度與強度。不知是否可符合使用者的目標。但這次因為工作上的需要,手上有一個氣壓調壓閥的固定螺帽不見了!

就在想要不要請加工廠車一個M17 pitch 1mm 的螺帽,不如就先用3D printer來試試看,剛好是驗證的好時機。這就不是3D Printer的真諦嗎!Maker的精神嗎!所以就自己量了一下,畫一個螺母,要注意不要旋錯方向喔!
 

實際印出來了,看起來還不錯。

2013年10月10日 星期四

Print Eiffel Tower


想要印艾菲爾鐵塔很久了,從一開始買3D印表機之後就想印了。第一次是從Thingiverse那下載圖檔來印的,不過發生幾個問題,就是中間的互相交叉的truss在被skeinforge切片之下,無法印出帶有結構強度的truss,都只是變成"牽絲"的細線,看起來就很醜。

後來那時候我用CAD再重新畫一個艾菲爾鐵鐵,把中間的truss加粗,並且拿掉太細的細節裝飾,反正也印不出來。然後就拿下去切片生G-Code出來了,但印出來的效果還是不甚滿意,因為我的3D 印表機目前最高也只能印120mm,換算高寬比(23:10),底座也只才52mm^2,再換算到中間相交的Truss寬度還不到 1 mm,這無法是一個有效的結構 (1 mm的壁厚也許還可能有用,但1mm的Truss效果真的不好)。
 
後來我就把一座切成四個部分,如下圖,邊長等比例放大0.8倍 ( 邊長乘1.8 )。印出來的效果

2013年10月8日 星期二

Arduino與PC的通訊 (Serial.begin)

上一篇「在LabVIEW之中連結Arduino (二) by VISA」中用到Arduino的Serial語法。
所以我就找了一下Arduino序列通訊的語法整理在這一篇之中。

最主要的有四個指令:

Serial.begin ( ) - 開啟 Serial Port 並設定通訊速率 (baud rate)

Serial.print ( ) - 傳送資料到外部電腦
Serial.read ( ) - 接收來自外部電腦的資料
Serial.available ( ) - 取得 Serial Port 可讀取的資料位元組數目 (number of bytes),如果 Serial port 有資料進來,Serial.available ( ) 會回傳大於 0 的數值。

而我們主要的目標就是希望可以從Arduino傳資料到PC去,也可以從PC傳資料到Arduino來。
以下有三個範例來試試。

1. 將Arduino的值傳到 PC (Arduino >> PC)
如下圖接一個可變電阻來進行測試,
然後在Serial Moniter (紅色箭頭指的地方)查看在量測到的數值。
更進一步就可以參考「在LabVIEW之中連結Arduino (二) by VISA」
把這個資料傳到LabVIEW去處理。



Code
       void setup ( ) {
         Serial.begin(9600);
       }
       void loop() {
         int val = analogRead( 3 );      // 把Pin 2讀到的值寫入val的參數裡
         Serial.println(val);                  // 把參數 val 的值傳出去
       }


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,先接一個按鈕來測試。

Arduino範例18:用Arduino測試紅外線模組

上一篇「IR Sensor Module:用Arduino測試紅外線模組 (一)」是用半成品的TSOP-1738來接收紅外線。這一篇更懶惰,要直接買整個包裝好的模組,方便到一個不行。其中的比較器是LM393,整個性能更穩定。這個售價約100 NTD的模組,號稱可用中間電阻調整檢測距離 2~60cm,檢測角度為35°。


接線就更簡單了,也不用特別要求輸出38k Hz的光波,
固定供與5V~3.5V的電源就可以直接從Vout收到訊號。

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

如下接圖: