最近在做一個單片機小車,其中需要使用測速,於是在TT馬達上加了一個20格的光柵,另外購買了對射式光電傳感器。
光柵:;對射式光電傳感器:;
光電傳感器原理是在沒有遮擋物時燈亮、高電平;有遮擋物時等滅、低電平。
一、初步的設計思路是採用外部上升沿或者下降沿中斷來進行計數,從而達到測速目的
當把光電傳感器加到電路中時,發現在每次高低電平之間會產生幾百個中斷。檢查了程序沒問題,並用其他邊沿信號測試中斷無誤後使用示波器測量傳感器的信號。經查傳感器信號在一次沿線時脈衝如下:
實際波形就已經是有很多毛刺。
二、增加CD40106施密特觸發器來防止信號在臨界狀態時的抖動
CD40106原理圖如下:
將電源和地接好之後把信號接入1腳,2腳爲輸出。實測波形如下:以下黃色信號爲信號源,綠色信號爲信號源過了施密特觸發器後的信號(反向觸發)。
三、依然存在着抖動,並聯電容進行對信號源濾波
在信號源上並聯一0.1uF電容對地(電容白條爲負極,接地;電容另一條爲正極,接信號)。
經過電容濾波後的信號如下:(下圖爲2個輸入信號,一起測量了)
四、在未增加濾波電容之前和增加0.1uF電容後波形對比。
2個視頻我上傳至B站,可供參考查看
1.未增加電容濾波時輸入信號和輸出信號:
對射式光電傳感器增加電容過施密特觸發器消抖
2.增加電容濾波時輸入信號和輸出信號:
對射式光電傳感器增加電容過施密特觸發器消抖
這兩個視頻僅看通道1和通道2。通道3是把2出來的信號又過一次觸發器出來的3;4是把3又過一次觸發器出來的4。