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