基于Modbus-RTU協(xié)議的交流電壓峰值表設(shè)計
0 前 言
交流電壓峰值是指交流電壓的最大值(正峰值)或最小值(負(fù)峰值),是工業(yè)生產(chǎn)過程中一個非常重要的參數(shù)。為保證用電設(shè)備的安全,對供電電壓的峰值進(jìn)行檢測具有重要意義。測量峰值的方法主要有示波器法、間接計算法、專用峰值表法。利用示波器雖然可直觀地顯示電壓的波形和峰值,但在成本和便攜性上示波器均不能作為現(xiàn)場監(jiān)視設(shè)備;間接計算法只適用于標(biāo)準(zhǔn)正弦波,實用性不大;專用峰值表大都存在體積較大,攜帶不便,且與電腦或控制設(shè)備相連不便的缺點。針對以上缺點,采用MSP430系列單片機、MAX1270模/數(shù)轉(zhuǎn)換器,并利用Modbus-RTU 協(xié)議,成功地開發(fā)出了低成本、便攜、智能的峰值表設(shè)備。
1 測量原理
由于供電電網(wǎng)的波動及電網(wǎng)的電壓波形是一種非標(biāo)準(zhǔn)正弦波,其峰值不能通過平均值或有效值間接計算。該系統(tǒng)采用對非標(biāo)準(zhǔn)正弦波在一個周期內(nèi)多次采樣,并通過冒泡法比較采樣值,得到電壓的最大值或最小值作為其正峰值和負(fù)峰值。顯然只要采樣密度適當(dāng),完全可以得到真實的電壓峰值。我國交流電的頻率為50 Hz,設(shè)計中采樣頻率設(shè)置為10 kHz,即每個交流波形周期中采樣200次,足以正確地反映出電壓的變化情況,從而確定電壓的峰值。
2 硬件設(shè)計
設(shè)計中,以MSP430F449單片機、MAX1270模/數(shù)轉(zhuǎn)換器為主要器件。前端A/D輸入采用電阻分壓方式將交流電進(jìn)行降壓;采用RS 485芯片作為通信接口芯片,硬件框圖如圖1所示。
2.1 A/D輸入調(diào)理保護(hù)電路設(shè)計
以220 V交流電為例,其理論峰值電壓為311 V,但考慮到電網(wǎng)波動、正弦波失真等,電壓峰值很可能超過311 V,這時可根據(jù)工作經(jīng)驗和實測情況,選定一個電壓值作為電壓可能達(dá)到的最大值,假定為500 V。如果MAX1270的輸入范圍設(shè)置為±5 V,則分壓電阻的分壓比應(yīng)設(shè)置為100:1。分壓后的電壓經(jīng)過運放緩沖后作為A/D芯片的輸入,為保護(hù)后級A/D轉(zhuǎn)換芯片,設(shè)置兩個穩(wěn)壓二極管組成限幅電路。輸入調(diào)理電路如圖2所示。
2.2 A/D轉(zhuǎn)換電路
A/D轉(zhuǎn)換電路采用MAX1270芯片,MAX1270是8通道、多量程雙極性輸入、串行輸出、逐次逼近型12位A/D轉(zhuǎn)換器,最高采樣率為110 kS/s。在單+5 V電源供電下,可通過編程實現(xiàn)±5 V,±1O V,5 V,10 V量程。其中,雙極性輸入十分適合作為交流電壓測量。
MAX1270轉(zhuǎn)換電路如圖2所示,由MSP430F449的I/O口線控制MAX1270的串行接口。由于MAX1270在5 V電壓供電下,輸出4.5 V以上高電平,而MSP430F449的I/O口電平為3.3 V,因此必須附加一個接口芯片,以實現(xiàn)5~3.3 V的電平轉(zhuǎn)換,這里采用MAX3001雙向電平轉(zhuǎn)換芯片。A/D轉(zhuǎn)換電路如圖3所示。
2.3 RS 485接口電路
該設(shè)計采用RS 485總線,可通過電纜或光纖將信號有效地遠(yuǎn)傳上千米,配合Modbus-RTU協(xié)議,可方便地與符合Modbus-RTU協(xié)議的控制設(shè)備連接。設(shè)計中采用MAX3485芯片作為RS 485接口芯片,電路如圖4所示。
3 軟件設(shè)計
設(shè)計中,主要的軟件模塊包括A/D轉(zhuǎn)換,Modbus-RTU協(xié)議和串口編程。對于串口編程不再贅述,主要對MAX1270和Modbus-RTU協(xié)議進(jìn)行說明。
3.1 MAX1270編程
MAX1270的控制字格式如表1所示,最高START為起始位,保持為“1”;SEL2~SEL0為輸入通道選擇位;RNG,BIP分別為量程和極性選擇位;PD1和PD0為掉電和時鐘模式選擇位。各位的具體意義請參考MAX1270數(shù)據(jù)手冊。該設(shè)計中,MAX1270設(shè)置為:量程10 V,雙極性輸入(即實現(xiàn)土5 V測量)、外部時鐘25 CLK/s正常操作模式,使用通道CH0作為輸入通道,控制字的格式為10000101。