復智能光電旋鈕的設計
智能光電旋鈕的軟件主要是設計 8031單片機系統的定時器中斷,判別遮光片的旋轉方向和旋轉速率。設計難點在于旋轉方向識別。
旋轉方向識別原理
將兩對光電收發器的接收部分近似為A、B兩個點,當遮光片旋轉時,如圖4所示。

圖中,設A、B兩點間距為“e”,遮光片的遮光區長度為“d”。旋鈕制作時使遮光片的遮光區長度和非遮光區長度相等,且“d”大于“e”。遮光片旋轉時,其運動圖像可近似為周期性占空比為1:1的矩形脈沖(凸部代表遮光區,凹部代表透光區)。這樣,當遮光片向箭頭方向移動時,必然循環處于:A、B被完全遮蔽;A 未遮蔽而B被遮蔽兩種狀態。當遮光片反向移動時,則循環處于:A、B被完全遮蔽;B未遮蔽而A被遮蔽兩種狀態。
光電收發器收端處于遮蔽狀態時,單穩態觸發器輸出高電平,反之,則輸出低電平。所以,單片機只需定時采集輸入的電平,將“檢測到A、B被完全遮蔽”作為判決起始點,然后根據是否緊接著出現“A 未遮蔽而B被遮蔽”或“B 未遮蔽而A被遮蔽”這兩種狀態來判斷其旋轉方向。
旋轉速率識別原理
旋轉速率的識別實質上是識別“A、B完全遮蔽”和“A、B之一未遮蔽”這兩種狀態轉換的頻率。同樣,如果將“A、B被完全遮蔽”作為判決起始點,然后根據是否緊接著出現“A 未遮蔽而B被遮蔽”或“B 未遮蔽而A被遮蔽”這兩種狀態之一,無論哪種狀態一出現,都在脈沖輸出端產生一脈沖信號。同時,對產生的脈沖信號記數,脈沖的總個數除以脈沖記數的時間,就能得到旋轉速率。








評論