李高峰
(青島艾諾智能儀器有限公司,山東 青島 266101)
在工業(yè)現(xiàn)場(chǎng)應(yīng)用中,控制系統(tǒng)往往需要多組開(kāi)關(guān)量輸出和輸入,既要求安全電氣隔離,又要求遠(yuǎn)距離控制,還要求抗干擾性能強(qiáng)。本文設(shè)計(jì)了一種基于STC8F單片機(jī)的開(kāi)關(guān)量控制系統(tǒng),可較好地解決上述問(wèn)題。
以STC8F單片機(jī)為核心,用16路IO口控制16路繼電器開(kāi)關(guān)量輸出,用另外16路IO口控制光耦開(kāi)關(guān)量輸入,通過(guò)RS485串口和外部通信。
STC8F系列單片機(jī)是STC公司的新一代產(chǎn)品,特點(diǎn)為:①超高速8051內(nèi)核,指令代碼完全兼容傳統(tǒng)8051,支持在線(xiàn)仿真。②最大64 K字節(jié)FLASH,可擦寫(xiě)100 000次以上,支持在系統(tǒng)編程(ISP),2 K字節(jié)內(nèi)部擴(kuò)展RAM。③多個(gè)定時(shí)器,多個(gè)串口,多組GPIO。集成可編程的時(shí)鐘、電壓監(jiān)控復(fù)位電路。④寬電壓,寬溫度,抗干擾,價(jià)格低。
控制模塊如圖1所示。
J1為電源輸入,可使用DC5V/1A適配器供電,有濾波電容C9和保護(hù)用TVS1。因適配器基本都是開(kāi)關(guān)電源,C9沒(méi)有使用太大的電容。U1為STC8F2K64S2-LQFP44單片機(jī),是系統(tǒng)的控制核心。因其內(nèi)部集成的晶振精度及溫漂不太理想,為減小串口波特率的誤差,使用了外部晶振Y1。使用了其內(nèi)部集成的可編程電壓監(jiān)控復(fù)位電路,沒(méi)有使用單獨(dú)的外部復(fù)位電路。P5.4控制指示燈,用來(lái)指示本機(jī)狀態(tài),比如正常、通信故障等。DO[0..15]為16路輸出IO,驅(qū)動(dòng)后級(jí)開(kāi)關(guān)量輸出繼電器陣列,單片機(jī)內(nèi)部可配置為推挽輸出模式。DI[0..15]為16路輸入IO,來(lái)自開(kāi)關(guān)量輸入光耦陣列,單片機(jī)內(nèi)部可配置為準(zhǔn)雙向弱上拉模式。J2為串口UART1(RXD1、TXD2),用于下載程序和仿真調(diào)試。串口UART2(RXD2、TXD2、REN/DE)接后級(jí)RS485模塊,作為從設(shè)備與外部主機(jī)通信。SW1為撥碼開(kāi)關(guān),用于設(shè)定本機(jī)的通信地址。電容C1、C8為單片機(jī)的濾波電容,應(yīng)盡量靠近單片機(jī)VCC/GND引腳,PCB走線(xiàn)盡量短而粗。
圖1 控制模塊
RS485串口模塊如圖2所示。
圖2 RS485串口模塊
SP485E為SIPEX公司產(chǎn)品,具有抗靜電、失效保護(hù)等特點(diǎn)。系統(tǒng)復(fù)位時(shí)REN/DE經(jīng)R3下拉,處于接收模式,免得影響外部總線(xiàn)。為增強(qiáng)抗干擾能力,比如雷擊,增加了多個(gè)電阻和TVS進(jìn)行保護(hù)。
開(kāi)關(guān)量模塊如圖3所示。
圖3 開(kāi)關(guān)量模塊
2.4.1 開(kāi)關(guān)量輸出陣列
圖3中為一路示例,實(shí)際為DO[0..15]共16路。DO0通過(guò)三級(jí)管T1驅(qū)動(dòng)繼電器RY1,二極管D2為繼電器線(xiàn)圈續(xù)流二極管。CR1為阻容模塊,可吸收觸點(diǎn)動(dòng)作時(shí)產(chǎn)生的電磁拉弧。繼電器為宏發(fā)HF46-5 V。線(xiàn)圈規(guī)格為5 V/125 Ω,線(xiàn)圈電流為40 mA,如果16路繼電器同時(shí)動(dòng)作,最大需要640 mA電流。觸點(diǎn)規(guī)格為5A/250 VAC/28 VDC,應(yīng)避免帶大功率負(fù)載,以免觸點(diǎn)燒壞粘連。線(xiàn)圈和觸點(diǎn)間耐壓為4 000 VAC,觸點(diǎn)間耐壓為1 000 VAC。在PCB步線(xiàn)時(shí),應(yīng)注意250 VAC的安全距離和電氣間隙的要求。
2.4.2 開(kāi)關(guān)量輸入陣列
圖3中為一路示例,實(shí)際為DI[0..15]共16路。SWI0經(jīng)濾波及二極管保護(hù),經(jīng)光耦到DI0。SWI0短接到GNDS為有效信號(hào)(低有效)。
U4為DCDC模塊,陣列共用,深圳順源公司的F0505S-1W,輸出5 V/200 mA,隔離電壓3 000 VAC。
軟件設(shè)計(jì)主要包括:①初始化。主要包括GPIO、定時(shí)器T0、串口2、看門(mén)狗等。②定時(shí)器T0中斷函數(shù)。對(duì)輸入信號(hào)進(jìn)行掃描,對(duì)輸出信號(hào)進(jìn)行更新。③串口2中斷函數(shù)。接收上位機(jī)下發(fā)的指令,上傳本機(jī)掃描結(jié)果。
本系統(tǒng)可控制多路開(kāi)關(guān)量,簡(jiǎn)單可靠,移植方便,價(jià)格便宜,具有一定的實(shí)用和推廣價(jià)值。