51單片機(jī)(STC89C52RC)小綜合實(shí)驗(yàn)(續(xù))
掃描二維碼
隨時(shí)隨地手機(jī)看文章
上篇文章已經(jīng)把碰到的問題說了一下,后來去測試的時(shí)候發(fā)現(xiàn)又碰到問題了,主要的現(xiàn)象就是中斷次數(shù)不確定,有時(shí)候很多次,有時(shí)候一次也沒有,俗話說就是"中斷振蕩",首先想到的就是可能類似按鈕一樣出現(xiàn)的抖動(dòng),嘗試添加20ms的延時(shí)函數(shù)失敗.進(jìn)入的次數(shù)還不很不確定.google大神告訴我說,嘗試在lm393電壓比較器輸出端加上一個(gè)74hc14,這是一個(gè)反相器,內(nèi)置有施密特觸發(fā)器.對整形很在行.
一想沒有這個(gè)IC啊,可是我有555定時(shí)器,據(jù)說也是可以搭建一個(gè)電路實(shí)現(xiàn)施密特觸發(fā)器的.但是我沒有心急做,仔細(xì)分析原因可能有一下幾個(gè):
電源電壓的波動(dòng),因?yàn)槭菑淖儔浩髡鞒鰜淼?波動(dòng)在所難免.可能是濾波電容不夠大.
電源共用問題.
換用一個(gè)很精準(zhǔn)的穩(wěn)壓電源供電,問題依舊,排除電源共用問題.在考慮濾波電容的時(shí)候,發(fā)現(xiàn)自己沒有示波器,觀察不了波形唉,使用軟件仿真,發(fā)現(xiàn)哪怕電容在大,出來的波紋依舊還還是有的,并不能夠直接濾波成直線,注意我這里沒有加穩(wěn)壓二極管,因?yàn)槲倚枰木褪腔ジ衅鞲袘?yīng)出來的電壓變化,加了穩(wěn)壓就沒有意義了.以施密特觸發(fā)器做為切入點(diǎn),無意當(dāng)中發(fā)現(xiàn)lm393的應(yīng)用里面有描述到存在的問題,因?yàn)槲业氖腔締蜗薇容^器,輸入信號(hào)Uin,即待比較電壓,它加到同相輸入端,在反相輸入端接一個(gè)參考電壓(門限電平)Ur。當(dāng)輸入電壓Uin>Ur時(shí),輸出為高電平U,反之就是低電平,但是他的缺點(diǎn)就是如果輸入信號(hào)Uin在門限值附近有微小的干擾,則輸出電壓就會(huì)產(chǎn)生相應(yīng)的抖動(dòng)(起伏)。于是就不斷的觸發(fā)我的中斷,這個(gè)就是問題的癥結(jié)所在了,介紹說在電路中引入正反饋可以克服這一缺點(diǎn)。于是就發(fā)現(xiàn)了解決辦法--遲滯比較器或者是雙電壓比較器.
網(wǎng)上的電路,有些可能是錯(cuò)誤的圖~,搞了半天.最后還是發(fā)現(xiàn)了motorola的lm393N的Datasheet 有介紹到帶遲滯的電壓比較器-comparator with hysteresis.詳情請看motorola datasheet,里面提供了計(jì)算公式,VO(low)指示的是輸出的低電壓,軟件仿真后確認(rèn)得到了效果,仔細(xì)一看邏輯卻不對了,我設(shè)置的是下降沿觸發(fā),于是立刻想到反相器,不行啊,買東西不方便啊.仔細(xì)考慮接一級邏輯反了,那要是在接一級反反不就得正(負(fù)負(fù)得正的經(jīng)驗(yàn)),嘗試后得出可以,而且后一級可以不接入正反饋了,估計(jì)反相器也是同理吧.剛好我LM393我還有一個(gè)是空著的,利用上了.
測試發(fā)現(xiàn),采用帶遲滯比較器后, 效果明顯,而且波動(dòng)范圍可以設(shè)定.大大提高了可用性.
ps:這里有一個(gè)在線的計(jì)算工具
http://www.ec66.com/tools/chizhibijiaoqi.asp
注意有誤差.