MODBUS協(xié)議在光伏并網(wǎng)系統中的應用

發(fā)布時(shí)間:2010-3-31 20:58    發(fā)布者:我芯依舊
關(guān)鍵詞: MODBUS , 系統 , 協(xié)議 , 應用
引言

光伏并網(wǎng)發(fā)電系統是將太陽(yáng)電池發(fā)出的直流電饋送給交流電網(wǎng)的DCAC逆變系統。傳統的光伏并網(wǎng)系統常常被設計成只有單個(gè)DSP嵌入式系統,即在一塊電路板上,DSP除了要完成數字信號處理和逆變器控制的功能外,還要完成顯示、輸入等功能。由于并網(wǎng)逆變系統復雜,采用單個(gè)DSP的設計方案時(shí),適時(shí)性往往難以達糾要求。為此,在原來(lái)設計的基礎上外加一塊單片機,構成艤核的主從式結構。DSP只負責逆變器的控制和信號的處理,而由單片機來(lái)完成剩余的功能。同時(shí)利用MODBUS協(xié)議來(lái)實(shí)現單片機和DSP問(wèn)的通信,單片機作為通信方的主機.DSP作為從機,主從雙方各自獨立的T作,僅在串口通信的時(shí)候才占用系統資源。采用這種設計方案,極大的節省了DSF的開(kāi)銷(xiāo),保證了并網(wǎng)系統高效穩定的運行。

1 光伏并網(wǎng)系統的硬件結構

在項目中,使用的DSP足TI的TMS320F2812,而單片機為AVR系列的Mega64。光伏并網(wǎng)系統的硬件結構如圖1所示。在圖中,將由172812DSP控制的部分稱(chēng)為并網(wǎng)逆變模塊,而將由Mega64單片機控制的部分稱(chēng)為人機接口模塊,兩個(gè)模塊構成一個(gè)完整的光伏并網(wǎng)系統。通信接口電路負責連接F2812和Mega64的串行口。


圖1光伏并網(wǎng)系統硬件結構

1.1并網(wǎng)逆變模塊硬件結構及原理

并網(wǎng)逆變模塊的功能足將太陽(yáng)能電池產(chǎn)生的直流電逆變成與電網(wǎng)電壓同頻同相的交流電。在項目中采用的并網(wǎng)逆變模塊硬件結構如圖2所示。


圖2并網(wǎng)逆變模塊硬件結構圖

太陽(yáng)能電池發(fā)出的直流電首先由高頻逆變器轉換為高頻脈動(dòng)電壓,通過(guò)高頻變壓器隔離升壓后,再經(jīng)整流、低頻逆變,轉換成與電網(wǎng)電壓同頻同相的交流電送到電網(wǎng)中。整個(gè)模塊為DC一高頻AC—DC一工頻AC 三級功率變換電路,TMS320F2812為其主控芯片。采樣的太陽(yáng)能電池輸出電壓、電流送入F2812后,按照MPPT(太陽(yáng)能電池最大功率點(diǎn)跟蹤)的要求,產(chǎn)生出PWM信號,驅動(dòng)高頻逆變部分的功率管,以實(shí)現MPPT功能。工頻逆變部分采用電流內環(huán)、電壓外環(huán)的控制策略,采樣劍的電壓電流信號按照控制策略處理后,產(chǎn)生出PWM驅動(dòng)信號驅動(dòng)工頻逆變部分功率管,保證高壓側電壓穩定,同時(shí)保證并網(wǎng)電流與電網(wǎng)電壓?jiǎn)?wèn)頻同相,并網(wǎng)的功率因素為1。

1.2人機接口模塊硬件結構及原理

人機接口模塊的功能是實(shí)現對并網(wǎng)系統的監控和設置,大致可概括為以下幾點(diǎn):

(1)能實(shí)現DSP和單片機的正確通信;

(2)能實(shí)現對并網(wǎng)逆變系統運行參數的實(shí)時(shí)顯示,如太陽(yáng)電池當前輸出的直流電壓、系統當前發(fā)出的電量等等,同時(shí)還能對并網(wǎng)系統的一些系要參數進(jìn)行設置,如最高輸入電壓、最低輸出頻率等等。

(3)當并網(wǎng)系統運行出現故障時(shí),能判別故障類(lèi)型,并能產(chǎn)生報警信號通知用戶(hù)。在故障末解決前,能停止并網(wǎng)逆變系統的工作;

(4)能和PC機實(shí)現通信,將霞要參數傳遞給PC機用于存檔。

人機接口模塊的硬件結構如圖3所示。


圖3人機接口模塊硬件結構

整個(gè)接口模塊是以Mega64為核心的小型嵌入式系統。采用帶中文字庫的160*32液晶模塊作為整個(gè)系統的主顯示屏。其與Mega64采用并行總線(xiàn)的方式通信。時(shí)鐘芯片選用Dallas公司出品的DS1302,它采用三線(xiàn)接口和CPU進(jìn)行同步通信,控制簡(jiǎn)單易于實(shí)現。模塊與Pc機的通信有可選的RS232或RS485兩種方式,使用BL0505LS隔離電源模塊為該通信塊供電。

在硬件設計中,F2812和Mega64的通信接口電路是整個(gè)設計的關(guān)鍵之一。由于F2812是3.3V的CMOS電平,而Mega64是5V的TTL電平,兩者的串行口不能直接相連,中間必須進(jìn)行電平轉換。在本項目中,采用電阻分壓的方法來(lái)實(shí)現電平轉換,Mega64接收電路如圖4所示:


圖4 MEGA64串口接收電路

三極管T1及T2組成3.3V/5V電平轉換電路,通過(guò)R1與R2的分壓來(lái)保證輸入接口的電壓不超過(guò)3.3V,二極管D1防止電流反向。F2812發(fā)送高電平時(shí),T1導通T2截止,保證Mega64接收高電平信號;F2812發(fā)送低電平時(shí),T1截止T2導通,Mega64接收低電平信號。

2 MODBUS通信協(xié)議簡(jiǎn)介

MODBUS是一種工業(yè)通信和分布式控制系統協(xié)議,該協(xié)議是一個(gè)主從協(xié)議,允許一臺主機與多臺從機通信。若主機發(fā)送一個(gè)信息,則可從一臺從機設備返回一個(gè)響應,類(lèi)似,當一臺從機接受信息時(shí),它就組織一個(gè)相應的響應信息,并返回至原發(fā)送信息的主機。在物理層,標準的MODBUS端口是使用一個(gè)RS232兼容的串行接口。在MODBUS協(xié)議中有兩種有效的數據傳送方式,即ASCII碼和RTU方式。無(wú)論哪種傳送方式,MODBUS信息都是以幀的方式傳輸,每幀有確定的起始點(diǎn)和結束點(diǎn)。

在本項目中,采用了RTU的傳送方式。RTU信息幀格式如下表所示:


每個(gè)信息幀的發(fā)送至少要以3.5個(gè)字符時(shí)間的停頓間隔開(kāi)始,即表格中的T1-T4。每一幀以地址字符為起始點(diǎn),以CRC校驗碼為結束點(diǎn),每個(gè)字符包括1位起始位,8位數據位,1位偶校驗位,1位停止位。整個(gè)信息幀必須連續發(fā)送,如果在發(fā)送幀信息期間,相鄰字符問(wèn)有超過(guò)1.5個(gè)字符時(shí)間的停頓,則認為幀錯誤,停止接收。最后一個(gè)傳輸字符結束后,至少要停頓3.5個(gè)字符的時(shí)間才能開(kāi)始下一個(gè)信息幀的傳遞。字符的時(shí)間與具體的通信波特率有關(guān),如波特率設置為4800,則1.5個(gè)字符時(shí)間為:1/4800*11*1.5*1000=3.44ms。

3 MODBUS協(xié)議軟件實(shí)現

在并網(wǎng)逆變模塊和人機接口模塊的MODBUS通信中,Mega64作為主機,F2812作為從機。在通信中,主要使用了MODBUS協(xié)議的兩個(gè)公用功能碼:0x03讀多個(gè)保持寄存器,0x10預置多個(gè)寄存器。從上文可看出,在MODBUS通信中,信息幀的區分和同步完全依靠相鄰幀之問(wèn)的時(shí)間間隔來(lái)實(shí)現。要保證主從雙方通信的成功,必須對信息幀之間的間隔進(jìn)行準確判斷。

3.1 MODBUS協(xié)議主機程序設計

通信時(shí),主機Mega64首先發(fā)送信息幀,如果從機響應正確則進(jìn)行數據處理同時(shí)發(fā)送下一幀信息。如果從機響應錯誤或在0.5秒內無(wú)響應,則主機重復發(fā)送上一幀信息,直到響應正確。在程序中,利用串口接收中斷和定時(shí)器中斷來(lái)實(shí)現信息幀的區分和闊步。設定Mega64的定時(shí)器T1每隔1個(gè)字符時(shí)間中斷一次。定時(shí)器中斷服務(wù)程序如下,其中eom_flag為通信標志,num_stop為信息幀結束標志,fail_flag為通信失敗標志Send_Data為字符發(fā)送函數,SendDataProc為發(fā)送信息幀預處理函數,RevDataProc為接收數據處理函數。在發(fā)送狀態(tài)下.每次定時(shí)器中斷時(shí)發(fā)送一個(gè)字符。保證相鄰字符的時(shí)間間隔小于1.5個(gè)字符,一幀信息發(fā)送結束后,復位發(fā)送標志并等待從機響應。在接收狀態(tài)下,每次串口接收中斷都將置位接收標志同時(shí)將信息幀結束標志清0。一幀信息接收完時(shí),結束標志從0開(kāi)始累加,當結束標志增到4時(shí),表明一幀信息結束.主機進(jìn)行接收數據處理。由于使用了同一通信標志來(lái)判斷主機是接收還是發(fā)送狀態(tài),因此只能實(shí)現半雙工通信。

void TICISR(void)
{
unsigned char flag;
CLl();  //禁止中斷嵌套
if(com_flag==SEND)  //如果通信標志為發(fā)送,則發(fā)送數據SendData0;
num_stop++;
fail_flag++;
if(num_stop>3)  //判斷一幀信息是否結束
{
num_stop=0:
if(corn_flag==RECEIVE)  //如果主機已接收數據
{
flag=CrcCheck(revP):  //CRC校驗
if(flag)  //如果接收正確,則進(jìn)行處理,否則重復發(fā)送上一指令
RevDataProc();
SendDataProc();  //下一次發(fā)送數據預處理
}
}
if(fail_flag>200)    //如果在0.5秒內,從機無(wú)響應,則重復發(fā)送上一指令
SendDataProc();
SEl();
}

3.2 MODBUS協(xié)議從機程序設計

F2812作為通信方的從機,首先對接收列的信息幀進(jìn)行解釋。在網(wǎng)送應答報文給主機。其程序基本設計思想與主機類(lèi)似,仍利用定時(shí)器中斷和串口接收中斷來(lái)實(shí)現信息幀的區分和同步。但在從機中,定時(shí)器和串口接收中斷部必須允許中斷嵌套。即在通信過(guò)程中.若逆變部分發(fā)生了捕獲中斷、功牢保護中斷等,F2812應立即執行,否則會(huì )引起并網(wǎng)電流失真。若由此引起某一幀信息通信失敗,則需要主機重復發(fā)送該信息幀。

4 結論

本文的創(chuàng )新點(diǎn)在于:將原來(lái)單核的光伏并網(wǎng)系統設計為雙核的主從式系統,保證了實(shí)時(shí)性:同時(shí)利用MODBUS協(xié)議來(lái)實(shí)現F2812DSP與單片機的通信.并且利用MODBUS協(xié)議中保留的擴展功能碼,用戶(hù)可以方便的實(shí)現特定的功能。而不需要自己去制定串口通信協(xié)議。兩個(gè)模塊可獨立研發(fā),最后在聯(lián)機進(jìn)行通信調試.極大的節省了,研發(fā)時(shí)間。通過(guò)樣機實(shí)驗表明,此方案切實(shí)可行,整個(gè)樣機運行穩定。通信數據準確,適時(shí)性好。


作者:羅力,沈玉粱,何金偉,孫韻琳      來(lái)源:《微計算機信息》(嵌入式與SOC)2009年第4-2期
本文地址:http://selenalain.com/thread-10052-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)在線(xiàn)工具

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页