RCTIME

 
語法

        RCTIME Pin, State, Variable

 

操作

        測量電阻/電容(RC)電路充電放電的時間。

  • Pin - 常數或變數值(0-23),用來指定要使用的I/O 引腳。這個引腳會被設成輸入模式。對一個24引腳 BASIC commander®,這個引腳值的範圍為 0~15
  • State - 常數或變數值(01),用來定義想要測量到的狀態。一旦Pin 不存在State中,命令結束並將結果儲存在Variable中。
  • Variable - 一個變數,通常是word,時間測量被儲存的地方變數的時間單位為5 ms

 

說明

        這將允許你去測量電阻或電容外接的RC型態感應器的值。像是電熱器,電位計或電容溼度感應器。RCTIME可以用來測量電阻/電容電路充電放電的時間。

 

        RCTIME執行時,會將Pin設為輸入,然後開始一個計數。當指定的引腳不再是State(01),計數會立刻停止。當命令執行時,如果引腳不是在狀態時,RCTIME會回傳1Variable。如果引腳維持在State超過65535時間週期,回傳值將為0

 

        下面兩個圖顯示RCTIME命令所需的電路。在RCTIME停止計時前你可以任選一個大約0.7VDD伏特電壓幅度的圖。

        一旦計時器停止,計數器值會存入變數中。我們要如何取得RC的值呢?

        RC時間常數,或短促的 tau (τ) RC的乘法運算,表示著給定的RC電路要充電或放電初始電壓的63%所需要的時間。

 

        一般的RC充電放電方程式:

 

        time = -τ * ( ln (Vfinal / Vinitial) )

 

        比如我們用一個10 k歐姆的電阻和 0.1 μF電容。 因為狀態 1 0 Vfinal / Vinitial都固定為 0.4,我們可以估計時間:

 

        time=9.163*10-4

 

        計時器的單位為5us,大約計數183次。

 

        因此,我們可以用姆指規則來計算問題中的RC值。

 

        RCTIME counts = 183 x R (in kohm) x C (in uF)

 

        RCTIME 執行前,電容必須被充電至5V成狀態1或放電至0V成狀態0。你可以用姆指方程式的規則:

 

        Charge time = 5 * τ

 

        去預估充電至少所需的時間。例如:假設電容為0.1uF電阻為200歐姆,如同圖中所描述的,充電時間至少為:

 

        Charge time = 5 * 220 * 0.1 x 10-6 = 0.11 ms.

 

範例

        下列程式示範如何使用RCTIME 指令去顯示經由引腳0所連接到上面的RC電路的電熱器的電阻值。

 

Sub Main()
   
Dim result As Word
   
Dim resultf As Float
   
   
Do
       
High 15
       
Pause 1
       
RCTIME 0, 1, result
        resultf =
Word2float(result)
        resultf = resultf /
183 * 10
       
Debug "The potentiometer value (Kohm) : ", resultf, CR
   
Loop
End Sub