關於Flexiforce pressure sensor
你好:我使用Flexiforce pressure sensor(Flexiforce Demo Kit #280017) 1磅 搭配
Board Of Education USB(#28850) 使用它的範例程式PBasic,以下為他的程式碼
' Flexiforce Simple.bs2
' Displays R/C Discharge Time in BASIC Stamp DEBUG Window
' {$STAMP BS2}
' {$PBASIC 2.5}
' -----[ Declarations ]----------------------------------------------------
rawForce VAR Word ' Stores raw output
sensorPin CON 15 ' Flexiforce sensor circuit
' -----[ Main Routine ]----------------------------------------------------
Measure:
HIGH sensorPin ' Discharge the capacitor
PAUSE 2
RCTIME sensorPin,1,rawForce ' Measure RC charge time
DEBUG HOME, "Flexiforce raw output = ", DEC rawForce,CR
GOTO Measure
問題為:
為何他顯示的值是並不線性,也就是在施較小的力時顯示卻是較大的值.
我使用示波器觀察Flexiforce pressure sensor的電壓輸出,發現它與電腦顯示的值並不一致.
即示波器顯示電壓在上昇,而範例程式的值卻沒有跟著上昇,呈現上下跳動沒有固定的值顯示.
請問可以改善嘛?或者是程式方面可以再重新撰寫?
還有...請問那裡可以下載PBasic的操作手冊? 我覺得你那個波型圖不太對,
上下震盪的太厲害,
除非做些平均的處理,
不然數值根本無法應用!
(看起來...就算處理後問題應該還是很大)
我認為改善這樣的問題,
可能需要藉由更穩定的AD轉換才可以達成,
在BS2的設計底下,或許是去讀取電容充放電時間來達成類似的效果,
(沒有仔細研究,不過看起來是這樣)
不過如果可以透過其他 AD 系列的 IC 直接把類比電壓轉成數位訊號,
可能性能會穩定很多。
手冊
http://www.parallax.com/html_pages/downloads/basicstamps/documentation_basic_stamp.asp範例
http://www.playrobot.com/menu05_c1_stamp_howto.htm Hi
經驗談 !
一般使用壓力感測器, 很大問題來自於表面接觸是否均勻 (surface), 若是不平均, 你每次不出的value不會一樣 !
試試看 補充 !
' {$STAMP BS2p}
' {$PBASIC 2.5}
' {$PORT COM3}
rawForce VAR Word
sensorPIN CON 0
Measure:
HIGH sensorPIN
PAUSE 2
RCTIME sensorPin, 1, rawforce
DEBUG HOME, "Flexiforce raw output = ",DEC rawForce, CR
GOTO Measure
以上程式, 當你移除 pin15 間的電阻 (220歐母),見附圖,你可以測得壓力釋放時, debug 讀出的數值為0, 若加上的話, 數值不會歸0
但是如此數值變化範圍較小..
相較於加上後, 數值可以5位數變動
頁:
[1]