可區(qū)分粗細(xì)的自適應(yīng)旋轉(zhuǎn)編碼器設(shè)計
本文介紹了一種針對人們將旋轉(zhuǎn)編碼器用于控制時經(jīng)常遇到的“粗/細(xì)”問題的靈活解決方案。誰說必須使用微處理器才能增加智能?
與普通面板安裝式電位計的尺寸和形狀相仿,增量式旋轉(zhuǎn)編碼器提供了一種模擬電位計的“數(shù)字”廉價替代品。這種編碼器通常用在音視頻設(shè)備、環(huán)境控制、消費類電器、實驗室設(shè)備、科學(xué)儀器等設(shè)備中完成電平控制、調(diào)諧和定時器設(shè)置。
增量型編碼器的輸出一般由兩個相位上正交(即相移為四分之一周期)的信號組成,軸每旋轉(zhuǎn)一次會產(chǎn)生固定數(shù)量的脈沖,每個脈沖對應(yīng)旋轉(zhuǎn)的增量。編碼器內(nèi)部有兩個開關(guān)連接到公共端。這個公共端通常連接到地,如圖1所示,而兩個正交輸出連接到上拉電阻(R1和R2)。
圖1:自適應(yīng)接口電路響應(yīng)編碼器的快速旋轉(zhuǎn),并據(jù)此增加輸出脈沖速率。
圖1陰影部分電路是用于實現(xiàn)正交編碼的典型編碼器接口。其中R3-C1和R4-C2提供噪聲濾除和觸點去抖,同時由施密特NAND IC1a和IC1b在A點和B點產(chǎn)生“完整的”數(shù)字信號。與編碼器輸出一樣,這些信號的相位差也是90度:當(dāng)編碼器順時針旋轉(zhuǎn)時,信號A的上升沿領(lǐng)先信號B上升沿四分之一周期;當(dāng)編碼器逆時針旋轉(zhuǎn)時,信號B領(lǐng)先信號A四分之一個周期。
將信號A發(fā)送至觸發(fā)器IC2a的D輸入端,用信號B的上升沿作為觸發(fā)器的觸發(fā)時鐘,那么當(dāng)編碼器順時針旋轉(zhuǎn)時,Q端的輸出信號變高;當(dāng)編碼器逆時針方向旋轉(zhuǎn)時,Q端的輸出信號變低,從而指示旋轉(zhuǎn)的方向。信號A或B都可以用作增量脈沖。例如,如果編碼器是20增量類型,那么軸每轉(zhuǎn)360度A或B點的信號都會產(chǎn)生20個脈沖。
在任一時刻只有少量編碼器旋轉(zhuǎn)的應(yīng)用中簡單接口電路可以工作的很好。然而,在要求數(shù)百甚至上千的增量脈沖情況下這種接口電路是遠(yuǎn)遠(yuǎn)不夠的。例如,考慮1000個脈沖要通過時鐘進(jìn)入計數(shù)器的應(yīng)用。20增量型編碼器需要旋轉(zhuǎn)50次才能產(chǎn)生這么多脈沖,這是非常耗時和費力的任務(wù)!
然而,只需增加另外一個集成電路(IC3,一個雙路可重觸發(fā)單穩(wěn)態(tài)多諧振蕩器)和少量的低價元件,電路就能識別編碼器為了信號B處的每個增量脈沖產(chǎn)生多個輸出脈沖而正在快速旋轉(zhuǎn)。這個附加電路顯示在圖中的陰影區(qū)外,工作原理如下:
單穩(wěn)態(tài)多諧振蕩器IC3a和觸發(fā)器IC2b組成了一個簡單的速率檢測器,它能監(jiān)視B點信號的頻率。編碼器更快速度的旋轉(zhuǎn)將增加該信號頻率,縮短信號周期。速率檢測器能夠判斷什么時候信號周期小于由單穩(wěn)態(tài)電路的定時元件R5和C3設(shè)定的閾值。
第二個單穩(wěn)態(tài)器件IC3b與增加的R6、C4和Q1一起工作在非穩(wěn)態(tài)。定時元件R6-C4和R8-C5決定了從引腳12采集到的非穩(wěn)態(tài)輸出信號的頻率和占空比。
第一個單穩(wěn)態(tài)器件IC3a被配置為在B信號的下降沿觸發(fā),而觸發(fā)器IC2b的觸發(fā)時鐘是B信號的上升沿。當(dāng)編碼器旋轉(zhuǎn)速度較慢時,IC3a的Q輸出端(引腳13)信號由一系列正向脈沖組成。脈沖寬度等于:
t(w) = 0.45 × R5 × C3 (秒) (Vcc = 5V)
當(dāng)R5 = 560kΩ并且 C3 = 100nF時,t(w)標(biāo)稱值是25ms。當(dāng)編碼器旋轉(zhuǎn)很慢時,信號B的頻率很低,其周期相對較長,(在被信號B的下降沿作為時鐘觸發(fā)后)IC3a的Q輸出端信號在信號B再次變高之前已經(jīng)返回到低電平?,F(xiàn)在,由于Q驅(qū)動IC2b的/RESET輸入,信號B在觸發(fā)器時鐘輸入端(引腳11)的正跳變對輸出沒有影響,Q端(引腳9)保持低電平。繼而使IC3b的/RESET輸入端(引腳11)置低,IC3b周圍形成的非穩(wěn)態(tài)電路保持在復(fù)位狀態(tài),最終使/Q輸出端(引腳12)處于高電平。最終結(jié)果是IC3a的Q輸出端的25ms脈沖經(jīng)選通穿過IC1d,然后被IC1c反向,電路輸出包含一系列恒定寬度的正向脈沖,每個脈沖對應(yīng)編碼器的增量旋轉(zhuǎn)。因此,當(dāng)編碼器慢速旋轉(zhuǎn)時,電路每個增量只產(chǎn)生一個25ms的輸出脈沖。
如果編碼器相對較快的旋轉(zhuǎn),信號B的周期會相應(yīng)縮短,直到該信號下面部分(“空”)的寬度剛好小于t(w)(IC3a的輸出脈沖時長)。由于引腳13的Q端在信號B變高時是高電平,因此IC2b的觸發(fā)器由B的上升沿作時鐘觸發(fā),其引腳9的Q輸出變高。這種低到高的轉(zhuǎn)變將使IC3b從復(fù)位狀態(tài)釋放,同時觸發(fā)非穩(wěn)態(tài)電路,使之開始以R6-C4和R8-C5確定的頻率振蕩。結(jié)果除了IC3a的Q輸出端脈沖外,在IC3b的/Q輸出端產(chǎn)生的一個或多個脈沖也會經(jīng)選通經(jīng)過IC1d。詳見圖2a的底部軌跡。[!--empirenews.page--]
圖2a:電路從單個脈沖逐步過渡到多個脈沖。
最后,當(dāng)編碼器旋轉(zhuǎn)速度非??鞎r,B點信號的下降沿將在其Q輸出有可能變低之前重新觸發(fā)IC3a。在這些條件下,IC3a和IC2b的Q輸出端都保持在高電平,從而允許非穩(wěn)態(tài)電路自由運行。結(jié)果IC1c輸出端的信號是一連串非穩(wěn)態(tài)頻率的脈沖,如圖2b的底部軌跡所示。
圖2b:當(dāng)編碼器旋轉(zhuǎn)速度很快時,輸出以非穩(wěn)態(tài)頻率“自由運行”。
圖2細(xì)節(jié):頂部軌跡:信號A;中間軌跡:信號B;底部軌跡:IC1c的電路輸出。
電路從單脈沖變?yōu)槎嗝}沖的轉(zhuǎn)折點取決于IC3a的定時元件。用戶合理期待的編碼器最快轉(zhuǎn)速大約是每秒兩轉(zhuǎn)。對于每轉(zhuǎn)20個增量的編碼器來說,這相當(dāng)于每秒40個脈沖,或25ms的信號周期。因此,當(dāng)編碼器的轉(zhuǎn)速超過每秒兩轉(zhuǎn)時,電路將變?yōu)楫a(chǎn)生多個輸出脈沖。
非穩(wěn)態(tài)頻率應(yīng)選擇適合你的要求。當(dāng)采用圖1所示的R6、C4、R8和C5值時,非穩(wěn)態(tài)頻率約600Hz,脈沖寬度標(biāo)稱值為1ms。注意,為了使電路能夠正常工作,IC3a必須是可重觸發(fā)的單穩(wěn)態(tài)器件。正常情況下,通過將IC1c的未用輸入接到高可以使IC1c用作反相器。然而,通過將這個輸入端連接到IC2a的Q輸出端,電路將只在編碼器以順時針方向旋轉(zhuǎn)時才會產(chǎn)生輸出脈沖。相反,通過將NAND輸入端連接到IC2a的/Q輸出端,電路只在編碼器逆時針旋轉(zhuǎn)時產(chǎn)生輸出脈沖。當(dāng)你只需要編碼器以特定方向旋轉(zhuǎn)時產(chǎn)生輸出脈沖的情況下這種行為就非常有用。