基于555多諧振蕩器及STM32的簡(jiǎn)易智能阻值測(cè)量?jī)x
0 引言
在電子世界中小到電阻,大到功率器件每一個(gè)元器件都有自己的阻值和阻抗,且大部分元器件是以阻值來衡量該元器件是否正常。在元件檢驗(yàn)工作中經(jīng)常使用萬用表對(duì)元件進(jìn)行檢測(cè),有時(shí)為了滿足生產(chǎn)而對(duì)一批元器件進(jìn)行全檢,涉及的數(shù)量比較大,使用萬用表進(jìn)行檢測(cè)需要重復(fù)進(jìn)行,降低了檢驗(yàn)效率。
制作一款簡(jiǎn)易智能阻值測(cè)量?jī)x能在一定程度上提高檢測(cè)效率,由于全檢檢測(cè)時(shí)的阻值在一個(gè)范圍內(nèi)波動(dòng),使用555 多諧振蕩器作為阻值檢測(cè)電路無需頻繁轉(zhuǎn)換電容,價(jià)格低廉,結(jié)構(gòu)及原理簡(jiǎn)單。阻值異常的元件會(huì)讓此檢測(cè)電路出現(xiàn)異常,以此篩選出異常的元件。
圖1 測(cè)量?jī)x系統(tǒng)
1 測(cè)量?jī)x方案設(shè)計(jì)
該測(cè)量?jī)x的硬件測(cè)量系統(tǒng)由STM32、555 多諧振蕩器、按鍵、顯示模塊等組成。如圖1 所示。
1.1 555多諧振蕩器模塊
555 多諧振蕩器不需要外加起始觸發(fā)信號(hào),即可產(chǎn)生一定頻率和一定幅度的矩形波信號(hào),其頻率與外接的阻值和容值有關(guān)。
在給555 多諧振蕩器模塊加電時(shí),由于外接的電容電壓不能突變,則555 集成芯片處在置位狀態(tài),輸出電平U=1,集成芯片內(nèi)部的放電管Td 截止,Vcc 通過外接R1 和待測(cè)元件R2 對(duì)電容C 進(jìn)行充電;當(dāng)Uc 上升到2/3Vcc 時(shí),輸出電平U0=0,放電管Td 導(dǎo)通,電容電壓通過待測(cè)元件R2、放電管Td 對(duì)地放電;當(dāng)Uc 下降到1/3Vcc 時(shí),輸出電平U0 由0 變成1,放電管Td 截止,Vcc 再開始對(duì)電容充電,此過程循環(huán)往復(fù),在輸出端U0形成連續(xù)的矩形脈沖[1]。其555 多諧振蕩器模塊工作波形圖如圖2 所示。
圖2 555多諧振蕩器工作波形
其中:T1 ≈ 0.7(R1 + R2)C,T2 ≈ 0.7R2C。
1.2 STM32控制模塊
該儀器使用STM32F 系列單片機(jī)作為主控芯片,相比51 單片機(jī),該芯片有51 個(gè)I/O 口,集成了8 個(gè)TIM定時(shí)器,除了TIM6、7 外都具有輸入捕獲功能[2],可以用來測(cè)量脈沖寬度,滿足進(jìn)行多個(gè)元件測(cè)量的需求,如圖3 所示。該芯片集成了多個(gè)定時(shí)器且有多個(gè)通道可對(duì)外部信號(hào)源進(jìn)行測(cè)量,可以實(shí)現(xiàn)對(duì)555 多諧振蕩器的頻率測(cè)量,并且通過軟件計(jì)算求得測(cè)量阻值,接收通過按鍵電路輸入的阻值閾值,與測(cè)量的阻值進(jìn)行比較,若超過設(shè)定范圍則報(bào)警。
圖3 STM32及AT51單片機(jī)
1.3 USB模塊
該系統(tǒng)使用通用串行總線方式下載程序,該總線采用RS-232 標(biāo)準(zhǔn),因此需要將通信電平USB 和TTL 電平相互轉(zhuǎn)換。采用CH640G 集成芯片設(shè)計(jì)USART 串口模塊,且在此模塊中已將數(shù)據(jù)的接收發(fā)送引腳相互交叉連接,給程序下載提供了一個(gè)可靠的路徑,如圖4 所示。
圖4 USB模塊
1.4 電源模塊
系統(tǒng)中STM32 需要3.3 V 電壓工作,而555 多諧振蕩器的工作電壓為5 V,需要一個(gè)電源模塊分別供電;在該儀器中集成了燈光報(bào)警和多個(gè)555 多諧振蕩器,需要用負(fù)載能力強(qiáng)的電源模塊。采用LM7805 電源芯片實(shí)現(xiàn)12 V 外部供電電壓,外接μF 濾波電容和防止大電壓輸出的保護(hù)二極管將12 V 電壓降到5 V[3],給多個(gè)555多諧振蕩器和LCD1602 顯示屏供電,如圖5 所示。
圖5 12 V轉(zhuǎn)5 V
采用ASM1117 集成電源芯片的固定輸出版本能高效地將電壓線性地從5 V 轉(zhuǎn)為3.3 V。外接穩(wěn)壓二極管使電路輸入端電壓穩(wěn)定在5 V 左右,避免浪涌電壓將損壞芯片;為了達(dá)到輸出比較穩(wěn)定的目的,輸出端接上一個(gè)220 μF 電容,組成典型的降壓電路,將5 V 電壓降到3.3 V,給STM32 控制器和燈光報(bào)警電路供電,如圖6 所示。
圖6 5 V轉(zhuǎn)3.3 V
1.5 按鍵模塊
該系統(tǒng)中的按鍵模塊采用矩陣形式,4 行4 列16 個(gè)鍵,其中有代表0~9 數(shù)字的按鍵,1 個(gè)輸入確認(rèn)按鍵,3 個(gè)為阻值單位(Ω,kΩ,MΩ),1 個(gè)為輸入清除按鍵。按鍵電路通過8 根線連接到單片機(jī)I/O 口,讓單片機(jī)對(duì)這些I/O 口輪流檢測(cè),以確定行數(shù)和列數(shù),最后通過軟件求得輸入值,如圖7 所示。
圖7 按鍵模塊
1.6 顯示模塊
該系統(tǒng)用LCD1602 作為顯示屏,顯示屏為ASCII碼字符,只能顯示字符,一行可以顯示16 個(gè)字符,總共有2 行[4],用來顯示按鍵電路輸入的值、測(cè)量值。其工作溫度符合儀器要求且價(jià)格低廉,適合在該系統(tǒng)內(nèi)使用。由于STM32 的I/O 口可以配置上拉電阻,在使用時(shí)無需外接上拉電阻。
在第3 引腳接上可調(diào)電阻器,以調(diào)節(jié)LCD1602 顯示屏的對(duì)比度,通過配置LCD1602 的4、5、6 引腳的電平狀態(tài)可以讀取和寫入LCD1602 顯示屏的狀態(tài)、數(shù)據(jù)和指令。第15、16 引腳為L(zhǎng)CD1602 顯示屏的背光電源正負(fù)極,而剩余的第7 至第14 引腳為數(shù)據(jù)口,如圖8 所示。
圖8 顯示模塊
2 測(cè)量?jī)x的軟件設(shè)計(jì)
上電開始時(shí),該系統(tǒng)首先最STM32 初始化,接著進(jìn)入鍵盤輸入子函數(shù),等待輸入閾值;然后通過STM32 控制給555 多諧振蕩器測(cè)試電路上電開始測(cè)試,通過輸入捕獲測(cè)量測(cè)試電路的頻率,再通過軟件計(jì)算得出測(cè)量阻值(如圖9)。
圖9 軟件流程圖
2.1 STM32初始化
該系統(tǒng)的初始化主要為系統(tǒng)時(shí)鐘初始化、串口初始化和輸入捕獲初始化等。
2.1.1 系統(tǒng)時(shí)鐘初始化
該系統(tǒng)中555 多諧振蕩器的頻率較高,且需要進(jìn)行多個(gè)快速測(cè)試,則需要STM32 進(jìn)行快速反應(yīng),故STM32 選取外部高速時(shí)鐘源,可進(jìn)行PLL 鎖相環(huán)倍頻,讓工作頻率達(dá)到72 MHz[2]。其流程圖如圖10 所示。
圖10 時(shí)鐘初始化
2.1.2 串口初始化
初始化主要是對(duì)傳輸數(shù)據(jù)速率等進(jìn)行設(shè)置,需要設(shè)置相關(guān)的時(shí)鐘、引腳的輸入輸出模式和傳輸數(shù)據(jù)格式,另外還需設(shè)置中斷服務(wù)函數(shù)來讀取數(shù)據(jù),如圖11 所示。
圖11 USART串口初始化
2.1.3 輸入捕獲初始化
當(dāng)輸入捕捉到跳變電平時(shí),將當(dāng)前定時(shí)器的值存放到對(duì)應(yīng)的寄存器中,完成一次對(duì)脈沖寬度的計(jì)算。因此需要開始定時(shí)器和I/O 口的時(shí)鐘,初始化定時(shí)器,配置定時(shí)器的計(jì)時(shí)頻率和計(jì)算周期;初始化輸入捕獲,定義其觸發(fā)捕獲的對(duì)象及其上升或下降沿;最后還要編寫一個(gè)中斷服務(wù)函數(shù),用來計(jì)算脈沖寬度和開啟其他通道的輸入捕獲。
圖12 輸入捕獲初始化
2.2 鍵盤輸入
先讓1 個(gè)連接鍵盤行的I/O 口為低電平,剩下的3個(gè)行I/O口均為高電平,接著對(duì)4 個(gè)列I/O口各檢測(cè)一次,查看其列I/O 口是否有低電平,若檢測(cè)到某一列為低電平,則可以確定哪一行、哪一列的按鍵被按下。以同樣的方法依次將行I/O 口設(shè)為低電平,再各自檢測(cè)一次列I/O 口是否為低電平。將最終值作為閾值與測(cè)試的值比較,顯示在LCD1602 顯示屏上。其流程如圖13 所示。
圖13 鍵盤輸入
2.3 LCD1602顯示屏
上電使能LCD1602 顯示屏,選擇寫命令形式,設(shè)置顯示模式為16×2,5×7 點(diǎn)陣和8 位數(shù)據(jù)指令接口,接著將顯示屏設(shè)置為開顯示和不顯示光標(biāo)狀態(tài),每寫1 個(gè)字符地址指針自動(dòng)加1,清屏后將屏幕設(shè)置為寫數(shù)據(jù)形式。顯示鍵盤輸入的值后重新把數(shù)據(jù)指針定位到屏幕的第2行,用來顯示測(cè)試的值和測(cè)試結(jié)果。在使能、對(duì)屏幕設(shè)置和數(shù)據(jù)寫入后要進(jìn)行延遲操作,保證屏幕的穩(wěn)定性。
3 結(jié)束語
阻值測(cè)量在電子元器件的檢驗(yàn)中使用的次數(shù)及其頻繁,若要對(duì)成千上萬的元器件進(jìn)行檢測(cè),需要花費(fèi)相當(dāng)長(zhǎng)一段時(shí)間,非常耗時(shí)費(fèi)力,使用該儀器進(jìn)行測(cè)量節(jié)省了時(shí)間和人力。該儀器電路簡(jiǎn)單,測(cè)量誤差不大,適合實(shí)際使用。智能化儀器是現(xiàn)代工業(yè)的迫切需求,本文提供了一個(gè)設(shè)計(jì)實(shí)現(xiàn)大量檢測(cè)阻值的儀器思路,可以在較短時(shí)間、較少人力條件下實(shí)現(xiàn)元器件全檢目的,未來可以考慮使用ABB 機(jī)器人和該系統(tǒng)聯(lián)動(dòng),達(dá)到全自動(dòng)高效檢驗(yàn)的目的。
參考文獻(xiàn):
[1] 任駿原.555單穩(wěn)態(tài)觸發(fā)器的觸發(fā)特性分析[J].吉林大學(xué)學(xué)報(bào)(信息科學(xué)版),2013(2):170-172.
[2] 丁力,宋志平,徐萌萌,等.基于STM32的嵌入式測(cè)控系統(tǒng)設(shè)計(jì)[J].中南大學(xué)學(xué)報(bào):自然科學(xué)版,2013(S1):260-265.
[3] 張永瑞,楊林耀,張雅蘭.電路分析基礎(chǔ)[M].西安:西安電子科技大學(xué)出版社,2000.
[4] 于志贛,劉國平,等.液顯LCD1602模塊的運(yùn)用[J].機(jī)電技術(shù),2009(3):21-23.
(本文來源于《電子產(chǎn)品世界》雜志2021年7月期)
評(píng)論