基于CS5460A的智能電力控制系統(tǒng)
2.2 CS5460A的程序設(shè)計(jì)
2.2.1 CS5460A的校準(zhǔn)
為了能使提高CS5460A的實(shí)際測(cè)量準(zhǔn)確度,在開始測(cè)量前要對(duì)其進(jìn)行校準(zhǔn)。CS5460A提供AC和DC校準(zhǔn)。用戶通過設(shè)置校準(zhǔn)命令字中的相應(yīng)位來決定執(zhí)行那種校準(zhǔn),不管是那種校準(zhǔn)都有兩種模式:系統(tǒng)偏移校準(zhǔn)和系統(tǒng)增益校準(zhǔn)。無論是AC還是DC校準(zhǔn),用戶部必須提供正的滿量程信號(hào)以完成系統(tǒng)增益校準(zhǔn)以及參考地電平以完成系統(tǒng)偏移校準(zhǔn),用戶提供的校準(zhǔn)信號(hào)的差分電壓必須限定在差分電壓輸入范圍內(nèi)。因?yàn)楸疚氖褂玫氖鞘须娂唇涣餍盘?hào)(220 V,50 Hz),所以校準(zhǔn)均采用AC校準(zhǔn)。AC偏移校準(zhǔn)時(shí)需提供零電壓和零電流信號(hào),最后得到的實(shí)際測(cè)量值=線性值+偏移值;AC增益校準(zhǔn)實(shí)質(zhì)是對(duì)CS5460A的電壓電流有效值寄存器、電能寄存器進(jìn)行系統(tǒng)刻度校準(zhǔn),需提供滿量程電壓電流信號(hào)。最后使得對(duì)應(yīng)輸入端校準(zhǔn)參考信號(hào)電平的電壓有效值寄存器(RMS)的值為0.6。然而,每次復(fù)位會(huì)將偏移寄存器清O和增益寄存器置1,因此,將第一次校準(zhǔn)得到的偏移寄存器值、增益寄存器值保存在E2PROM,每次復(fù)位后,CS5460A初始化時(shí)將這些值重新裝入對(duì)應(yīng)的寄存器中。校準(zhǔn)的一般流程如圖8所示。本文引用地址:http://www.ex-cimer.com/article/163192.htm
2.2.2 CS5460A的初始化
在該系統(tǒng)中,CS5460A的工作時(shí)鐘MCLK選定為4.096 MHz,分頻系數(shù)K設(shè)為1,循環(huán)計(jì)數(shù)寄存器的N值設(shè)為4 000,則一個(gè)基本的計(jì)算周期為(1 024×N)/(MCLK/K)=1 s。
CS5460A與單片機(jī)的接口非常簡(jiǎn)單,但它的初始化命令較多,使用上有一定的技巧,如使用不當(dāng)有時(shí)可能初始化不成功,引起芯片的轉(zhuǎn)換出錯(cuò),使系統(tǒng)不能正常工作。所以在使用過程中將初始化過程反復(fù)調(diào)試,編成通用子程序,使用時(shí)調(diào)用,可確保每次運(yùn)行的準(zhǔn)確、可靠。CS5460A初始化子程序框圖如圖9所示。
CS5460A初始化程序如下:
CS5460A WriteReg(0x40); //寫配置寄存器
CS5460A_WriteReg(0x78); //寫控制寄存器
CS5460A WriteReg(0x74); //寫屏蔽寄存器
read byte(); //從E2PROM中讀取校準(zhǔn)值
CS5460A_WriteReg(Ox60); //寫交流電流偏移寄存器
CS5460A_WriteReg(Ox62); //寫交流電壓偏移寄存器
CS5460A_WriteReg(0x44); //寫交流電流增益寄存器
CS5460A_WriteReg(0x48); //寫交流電壓增益寄存器
CS5460A_WriteCommand(0xe8); //寫入開始轉(zhuǎn)換命令
2.3 ZLG500C的程序設(shè)計(jì)
ZLG500C模塊通過對(duì)上位機(jī)電能數(shù)據(jù)的存取,和對(duì)非接觸IC卡的值操作,可以實(shí)現(xiàn)對(duì)電表的遠(yuǎn)程付費(fèi)。
評(píng)論