edfrug 發表於 2007-5-7 18:12:35

關於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的操作手冊?

imas 發表於 2007-5-9 00:55:46

我覺得你那個波型圖不太對,
上下震盪的太厲害,
除非做些平均的處理,
不然數值根本無法應用!
(看起來...就算處理後問題應該還是很大)

我認為改善這樣的問題,
可能需要藉由更穩定的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

playrobot 發表於 2007-5-9 07:40:54

Hi
經驗談 !
一般使用壓力感測器, 很大問題來自於表面接觸是否均勻 (surface), 若是不平均, 你每次不出的value不會一樣 !
試試看

playrobot 發表於 2007-5-9 07:50:29

補充 !
' {$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]
查看完整版本: 關於Flexiforce pressure sensor