賈曉亮,賴震,蘇亮
(1.中信機(jī)電制造公司監(jiān)管臨汾室,山西侯馬,043000;2.中信機(jī)電制造公司科研設(shè)計(jì)院,山西侯馬,043000)
傳感器是一種能夠檢測(cè)被測(cè)信息并通過(guò)人工配置將其轉(zhuǎn)換為電信號(hào)或其他形式的信號(hào)以適應(yīng)信息傳輸和處理操作的部件。本文介紹了一種緊湊型程控可調(diào)電阻單元,用于模擬電阻型傳感器,可以快速輸出電阻值并同步調(diào)節(jié)電阻值,具有調(diào)節(jié)范圍大、操作簡(jiǎn)單、可靠性高、執(zhí)行效率高等優(yōu)點(diǎn)。
硬件電路以MCU 為核心,以CAN 總線作為通訊介質(zhì),與外部控制單元進(jìn)行協(xié)同控制。硬件系統(tǒng)主要由四部分構(gòu)成:供電單元電路、CAN 通信單元電路、繼電器陣列單元、MCU 控制單元。系統(tǒng)原理圖如圖1 所示。
圖1 系統(tǒng)原理圖
供電單元電路采用DC4.5~40V 寬輸入范圍DC-DC 變換器,實(shí)際外部供電電源可選擇12V 或24V 標(biāo)準(zhǔn)供電電源。DC-DC 變換器將外部供電變換為5.0V 電源,供給MCU 系統(tǒng)和其他電路使用。供電單元電路原理如圖2 所示。
圖2 供電單元電路原理圖
CAN 通信單元使用TJA1050 高速CAN 總線物理層接口芯片,該芯片可以工作在5V 電源系統(tǒng)內(nèi),具備全速1Mbps的通信速率,支持 ISO11898 CAN 總線通信協(xié)議,兼容各型車輛、交通系統(tǒng)的CAN 總線網(wǎng)絡(luò),是一款可靠性較高的CAN 總線物理層接口芯片。本設(shè)計(jì)中使用TJA1050 作為CAN 總線物理層接口,采用1Mbps 通信速率。CAN 通信電路原理如圖3 所示。
圖3 CAN 總線通信電路
繼電器陣列單元是控制電阻阻值的核心部分。該單元主要包含3 部分電路:繼電器驅(qū)動(dòng)、繼電器陣列、精密電阻。
繼電器驅(qū)動(dòng)電路使用了專用繼電器驅(qū)動(dòng)集成電路芯片MAX4820EUP+T。MAX4820EUP+T 芯片供電兼容3.3V 和5.0V 系統(tǒng),配備8 通道繼電器驅(qū)動(dòng)電路,單路驅(qū)動(dòng)輸出電流70mA,內(nèi)部集成續(xù)流二極管,支持三線SPI(串行外設(shè)接口Serial Peripheral Interface)通信,可以極大減少PCB布線走線問(wèn)題。MAX4820EUP+T 邏輯框圖如圖4 所示。
圖4 MAX4820EUP+T邏輯框圖
由于驅(qū)動(dòng)繼電器較多,本設(shè)計(jì)充分利用MAX4820EUP+T的SPI 通信,采用多個(gè)芯片級(jí)聯(lián)方式控制多個(gè)繼電器,進(jìn)而達(dá)到控制繼電器陣列的目的。本系統(tǒng)設(shè)計(jì)了3 通道電阻,繼電器驅(qū)動(dòng)控制電路如圖5 所示,MAX4820EUP+T 與繼電器可以直接連接,電路如圖6 所示。
圖5 MAX4820EUP+T級(jí)聯(lián)電路
圖6 MAX4820EUP+T與繼電器連接
繼電器陣列部分可以實(shí)現(xiàn)繼電器導(dǎo)通與斷開控制,從而使得不同繼電阻組合,最終得到需要的電阻值。雙通道繼電器陣列電路原理如圖7 所示。
圖7 三通道繼電器陣列
精密電阻控制原理如圖6 所示。以繼電器K1 為例,繼同時(shí)繼電器具備3000V 的絕緣隔離,可以使控制部分與電阻通道形成有效的電氣隔離,提高安全性。
精密電阻選用了精度為1%的金屬薄膜電阻,如圖7 所示電阻從左至右,在精度允許范圍內(nèi),電阻值遵循2 的多次冪規(guī)律。電阻輸出可以實(shí)現(xiàn)步進(jìn)分辨率1Ω,0~8.32MΩ連續(xù)可調(diào)輸出。匹配電阻列表如表1 所示。
表1 精密電阻列表
本設(shè)計(jì)配備了3 通道電阻,每通道由23 個(gè)電阻組合、25 個(gè)繼電器、1 個(gè)保險(xiǎn)絲構(gòu)成。其中23 個(gè)繼電器用于對(duì)精密電阻的切換,另外兩個(gè)用于電阻通道總線BUSA 和BUSB的切換,即總線BUSA 和BUSB 可以模擬一些特定情況下的故障,輸入至電阻通道中。
MCU 控制單元使用意法半導(dǎo)體STM8S208C8 作為電器K1默認(rèn)狀態(tài)為銜鐵釋放,繼電器不接通,電阻R15(1Ω)接入電路。當(dāng)繼電器K1 收到RSA1 信號(hào)后,繼電器線圈通電,繼電器內(nèi)部銜鐵吸合,將R15 短路,該單元在電路中體現(xiàn)電阻值為0Ω。從而實(shí)現(xiàn)了電阻接入主電路或從主電阻電路中脫離。通過(guò)繼電器陣列不同的組合,形成不同的電阻組合。主控芯片,MCU 采用5V 供電。MCU 最小系統(tǒng)中還配備了24MHz 晶體振蕩器,程序燒錄接口,8421 地址識(shí)別電路等。MCU 通過(guò)CAN 總線接收通訊指令,將指令計(jì)算成MAX4820EUP+T 控制信號(hào),然后通過(guò)板載SPI 通信將指令傳遞給MAX4820EUP+T,MAX4820EUP+T 將開關(guān)量傳遞給繼電器陣列進(jìn)行執(zhí)行。MCU 控制單元電路原理如圖8 所示。
圖8 MCU 控制單元
此外MCU 控制單元還配備了8421 地址識(shí)別電路,用于設(shè)定本地板卡地址。設(shè)定完成板卡地址后,CAN 總線上可以掛載多個(gè)不同類別板卡設(shè)備,本地板卡只識(shí)別其他控制器發(fā)給本地址的指令,而不執(zhí)行其他地址板卡的指令。這樣可以更好地與其他設(shè)備系統(tǒng)兼容,也可以實(shí)現(xiàn)多種類板卡、多通道共同受控。地址識(shí)別原理如圖9 所示。
圖9 地址識(shí)別電路
程控可調(diào)電阻單元系統(tǒng)以單片機(jī)STM8 為控制核心,使嵌入系統(tǒng)中的控制單片機(jī)向相應(yīng)的硬件芯片發(fā)送控制指令,控制繼電器的動(dòng)作,控制多個(gè)通道輸出需要的阻值;可以控制相關(guān)繼電器的閉合和斷開,模擬開路、短路等故障。
采用CAN 通信協(xié)議??刂茊纹瑱C(jī)都有一個(gè)一個(gè)字節(jié)的專有地址標(biāo)志碼,用于上位機(jī)識(shí)別單片機(jī)的身份。該地址標(biāo)志碼由硬件電路確定,并且可根據(jù)需要設(shè)置為0~9 中任意一個(gè)數(shù)字。
模擬電池接入12V 直流電壓,單片機(jī)進(jìn)入工作狀態(tài),電源指示燈常亮,系統(tǒng)開始初始化。系統(tǒng)初始化程序主要包括:系統(tǒng)時(shí)鐘初始化、看門狗初始化、IO 口初始化、SPI模塊初始化、定時(shí)器初始化、CAN 模塊初始化6 個(gè)模塊。
系統(tǒng)初始化后,讀取板卡ID 值。每個(gè)電池模擬器都有唯一身份標(biāo)志,單片機(jī)通過(guò)檢測(cè)相連的端口電平,確認(rèn)每個(gè)電池模擬器的板卡號(hào),這樣可以區(qū)分上位機(jī)發(fā)送的指令,同時(shí)上位機(jī)也能獲取特定電池模擬器的信息,有了板卡號(hào),在建立含有多個(gè)板卡的系統(tǒng)中,不會(huì)出現(xiàn)通信混亂問(wèn)題。讀取板卡ID 值后,輸出電阻阻值初始化。
總線BUSA 和BUSB 的連接狀態(tài)默認(rèn)為斷開,通過(guò)控制繼電器的開或斷進(jìn)行控制。同時(shí)為了提高驅(qū)動(dòng)能力,采用反向達(dá)林陣芯片ULN2803 增加輸出的驅(qū)動(dòng)能力。當(dāng)BUSA 和BUSB 連接狀態(tài)開始初始化,程序中調(diào)用enableInterrupts使能總中斷,當(dāng)發(fā)生定時(shí)器中斷或者CAN 接收中斷后能進(jìn)入中斷服務(wù)程序,處理中斷。
當(dāng)接收到CAN 口發(fā)送的數(shù)據(jù),便開始命令處理,CAN接收中斷命令處理流程圖如圖10 所示。
圖10 CAN 接收中斷命令處理流程圖
到定時(shí)時(shí)間后,發(fā)送心跳命令,CAN 口接收16 進(jìn)制命令后,可獲取版本信息、設(shè)置輸出阻值和狀態(tài)、測(cè)試命令,定時(shí)器中斷流程圖如圖11 所示。
圖11 定時(shí)器中斷流程圖
程控可調(diào)電阻單元系統(tǒng)將數(shù)據(jù)發(fā)送至上位機(jī),在上位機(jī)中進(jìn)行顯示與記錄。
程控可調(diào)電阻單元數(shù)據(jù)的顯示采用了圖表的方式,測(cè)試結(jié)果如表2 所示。
表2 程控可調(diào)電阻單元測(cè)試結(jié)果
程控可調(diào)電阻單元,快速輸出電阻值的同時(shí),可以同步調(diào)節(jié)電阻值的大小,誤差小、精度高。作為模擬電阻型傳感器,在交通設(shè)備制造業(yè),測(cè)試測(cè)量裝備方面,效果直觀,為裝備生產(chǎn)或監(jiān)測(cè)數(shù)據(jù)提供了具有重要價(jià)值的可靠數(shù)據(jù)。
本文設(shè)計(jì)了一種緊湊型程控可調(diào)電阻單元,用于模擬電阻型傳感器,在調(diào)節(jié)電阻值大小的同時(shí),可以快速輸出電阻值,同時(shí)搭建了滿足測(cè)試要求的測(cè)試程序。得益于程序的模塊化設(shè)計(jì),系統(tǒng)易于開發(fā),可以滿足各種升級(jí)需求。通過(guò)實(shí)際測(cè)試,系統(tǒng)設(shè)計(jì)滿足要求,精度高。它可以簡(jiǎn)化測(cè)試步驟,縮短測(cè)試時(shí)間,具有重要的實(shí)際意義。