《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > CAN總線在風力發電控制系統中的應用
CAN總線在風力發電控制系統中的應用
來源:中國傳動網
摘要: 風力發電機組的控制系統是綜合性控制系統,控制系統不僅要監視機組運行參數,對機組進行并網與脫網控制,而且還要根據風速與風向的變化,對機組進行優化控制。CAN總線是一種支持分布式控制系統和實時性控制的串行通信網絡。其以多主機方式工作,通信速率可達1mbps。 can總線的上述特點正適用于風力發電機控制系統的獨特要求,因此,本文提出一種基于can總線架構的風力發電控制系統。控制系統中各模塊之間通過can總線實時交換數據,實現主控系統及各控制節點間的實時通信與數據交換。文章在分析了can協議及can獨立控制器sja1000工作原理和讀寫邏輯的基礎上,設計了can接口,給出了硬件原理圖,分析了can通訊程序流程及系統中信號和控制指令的通訊幀格式。另外,本文還給出了基于嵌入式qt的應用程序的設計方案。
Abstract:
Key words :

 

 1  引言
        風力發電機組的控制系統是綜合性控制系統,控制系統不僅要監視機組運行參數,對機組進行并網與脫網控制,而且還要根據風速與風向的變化,對機組進行優化控制。CAN總線是一種支持分布式控制系統和實時性控制的串行通信網絡。其以多主機方式工作,通信速率可達1mbps。
        can總線的上述特點正適用于風力發電機控制系統的獨特要求,因此,本文提出一種基于can總線架構的風力發電控制系統。控制系統中各模塊之間通過can總線實時交換數據,實現主控系統及各控制節點間的實時通信與數據交換。文章在分析了can協議及can獨立控制器sja1000工作原理和讀寫邏輯的基礎上,設計了can接口,給出了硬件原理圖,分析了can通訊程序流程及系統中信號和控制指令的通訊幀格式。另外,本文還給出了基于嵌入式qt的應用程序的設計方案。
  2  系統結構與功能
        本文基于分散控制系統理念,針對雙饋型變速恒頻風力發電機組設計控制系統。雙饋型風電機組控制系統基本結構如圖1所示。


                        圖1  雙饋型風電機組控制系統基本結構
                              
        主控制器選用32位嵌入式處理器at91rm9200,通過硬件設計擴展外圍can接口,實現與其它節點的通信。同時外接帶觸摸屏的lcd顯示器,監控界面利用嵌入式qt設計,對整個機組實時監控。主控制器通過以太網與風電場控制中心通信。變流器控制采用雙pwm控制方式,即由兩個dsp生成pwm信號,電機側部分負責電機勵磁控制,網側負責并網控制;兩模塊均基于tms320f2812設計,通過其自帶的ecan接口與主控制器及其它節點通信。變槳控制系統同樣基于arm(at91rm9200)設計,擴展can接口實現通信。變槳控制器和變頻控制器通過i/o通道采集接收各傳感器數據,并進行相關計算與判斷,輸出控制信號,實現智能分散控制,同時向主控制器發送機組參數并接收主控命令。整體結構框圖如圖2。

                        圖2  風力發電機組控制系統整體結構
                              
       主控制器位于地面控制柜,變槳控制器位于機艙控制柜,變頻控制器分電機側和網側兩部分,位于地面控制柜。模塊與模塊之間can總線信號經光電轉換后使用光纖連接。
   3  can接口硬件設計
        can是一種基于廣播的通訊機制,報文依靠報文標識符來進行識別。can協議支持兩種幀格式,不同之處在于標識符域的長度不同,一種被稱為can標準幀,支持11bit的標識符長度;另一種稱為can擴展幀,支持29bit的標識符。
        can接口芯片選用philips公司的can獨立控制器sja1000。arm處理器at91rm9200內部集成了外部總線接口ebi,通過此接口與sja1000連接。從sja1000輸出的can信號,通過光藕器件隔離后連接到收發器tja1050,收發器的輸出與總線連接。
         sja1000的地址線和數據線是分時復用的,而at91rm9200的外部數據總線接口ebi的地址線和數據線是相互獨立的,因此,需要通過軟件編程實現地址的鎖存,以達到數據和地址的分時傳輸。硬件原理圖如圖3[3]。
                        圖3  can接口硬件原理圖
                              
        sja1000的數據/地址復用總線直接與arm的ebi數據總線低8位連接,地址鎖存信號/ale由arm的a0產生,/cs與/we分別由ncs4和new與a0經或運算后產生。由硬件電路可確定sja1000的物理地址是0x50000000。
         風電場環境惡劣,為了保證控制系統準確傳輸數據,增強can總線節點的抗干擾性能,sja1000控制器經過高速光藕6n137隔離后與收發器tja1050相連,實現總線上各can節點之間的電氣隔離。采用dc-dc電源隔離模塊dcr010505,實現光耦兩端的電源隔離。canh接總線的高電平端,canl接總線的低電平端。由于風電機組垂直距離較高,容易受雷電的影響,在兩根can總線輸入端與地之間分別并聯一30pf的電容和一防雷擊管,以濾除高頻干擾和防止浪涌電壓。
   4  can接口通訊軟件設計
         對于can的通訊程序,采用分層處理的方法,包括驅動層和應用層。因此,can接口軟件通訊包括兩部分:can驅動程序和can應用程序。驅動程序負責完成linux內核與sja1000之間的數據通訊,即linux內核設置sja1000的控制寄存器,讀寫sja1000接收、發送緩沖器。應用程序部分負責完成用戶空間和內核空間的數據交換,以及分析從sja1000接收到的報文,封裝要發送報文。接收的報文主要包括來自變流模塊和變槳偏航控制模塊的機組狀態信息及風速風向、各類溫度和轉速信號等。發送的報文包括下發給變流模塊和變槳偏航控制模塊的控制指令及控制參數。
    4.1 can驅動程序設計
         (1)底層驅動程序總體設計。在linux中設備驅動程序是由一組數據結構和函數組成的,它包含設備服務子程序(如open、read、write、close、ioctl等)、初始化函數can_init()和中斷處理程序can_interrupt()。
         在linux加載can驅動時調用can_init(),向操作系統注冊設備,同時完成can總線波特率的設置,id過濾器的設置,清空接收和發送緩沖區,開啟中斷等工作,完成初始化后,退出復位模式,進入正常的工作模式。
         read從接收緩沖區讀取數據;write向發送緩沖區寫人數據;release關閉can控制器;ioctl向can 控制器發各種操作命令,包括設置sja1000總線波特率、id過濾器等;open打開can控制器,并使用函數request_irq()向系統申請中斷,并設置中斷處理程序為can_interrupt(),當sja1000內部中斷寄存器(ir)的任意位置為1時,int引腳低電平有效,調用其中斷處理函數can-interrupt(),在該函數中讀取中斷控制寄存器,判斷中斷原因(接收中斷、發送中斷、錯誤中斷、數據溢出中斷、喚醒中斷),從而調用相應的服務子程序。
       (2)sja1000讀寫邏輯分析及設計。由于sja1000的地址線和數據線是分時復用的,需要通過軟件編程模擬地址鎖存信號,以達到數據和地址的分時傳輸,因此,在程序設計中,要考慮sja1000的讀寫時序。圖4為sja1000的寫時序圖。
                        圖4  sja1000寫時序圖
   4.2 寫時序邏輯
       通過分析寫時序,可知,sja1000的寫數據/命令過程分為以下兩步[4]:
       (1)將sja1000的ale引腳信號拉高,然后往復用總線上送地址信號,待數據穩定后,拉低ale信號,在ale引腳產生下降沿,進行地址鎖存。
       (2)將cs引腳信號拉低,并拉低wr信號,打開寫允許;然后往復用總線上送數據信號,待數據穩定后,拉高wr信號,使wr引腳產生上升沿,進行寫操作,將數據寫入sja1000目標寄存器。
        linux系統中,不能直接訪問物理地址,而是先要映射到內核空間中,通過虛擬地址去訪問。由硬件電路可知,sja1000的物理地址是0x50000000,最大空間為為108個字節(pelican方式)。sja1000寫程序如下:
         addr = ioremap(0x50000000, 0x80);
         void write_sja1000 (unsigned int data, unsigned int 
     reg) {
         writeb (reg, addr+1);
         writeb (data, addr);
         }
         其中,ioremap()為物理地址到虛擬內存的映射,addr為地址映射后得到的內核空間虛擬地址;reg是sja1000內部寄存器地址;data是要寫的數據。writeb(reg, addr+1)模擬ale鎖存地址,發地址信號reg,addr+1將使地址線a0產生高電平,由硬件設計電路知道這將使地址鎖存信號ale拉高;然后,reg被送到了復用總線上。writeb (data,  addr)發送數據到地址reg,addr將使a0拉低,reg被鎖存;然后,data被送到復用總線上,也就寫到了被鎖存的地址reg所指空間。

    4.3 讀時序邏輯
         圖5為sja1000的讀時序圖。
                        圖5  sja1000的讀時序
       通過分析讀時序,可知,sja1000的讀數據/命令過程分為以下兩步[4]:
       (1) 將sja1000的ale引腳信號拉高,然后往復用總線上送地址信號,待數據穩定后,拉低ale信號,在ale引腳產生下降沿,進行地址鎖存。
       (2)將cs引腳信號拉低,并拉低rd信號,打開讀允許;然后往復用總線上送數據信號,待數據穩定后,拉高rd信號,使rd引腳產生上升沿,進行讀操作,將sja1000目標寄存器的數據讀回。
             sja1000讀程序如下:
              int read_sja1000 (unsigned int reg) {      
              writeb (reg , addr+1);             
              readb ( addr);
              }
                            
         readb(addr)從地址reg讀取數據。addr將使a0拉低,reg被鎖存;然后,通過復用總線讀取被鎖存的地址reg所指空間數據。
  4.4 can通訊應用程序設計
           (1) can數據報文格式。風電機組控制系統中,各控制模塊之間需要傳輸的信號很多,包括模擬量、數字量以及控制指令和控制參數等。模擬量包括風速風向,電壓電流,功率,電網頻率,各類轉速和溫度等,數字量包括機組的各類狀態信息,如并網狀態,電源狀態等及各類故障信息。這些信號均根據can協議封裝為報文,以數據包的形式發送。每個報文可由一個或一組信號組成。各個報文需要定義其幀格式,包括數據id,優先級,數據長度等。每個模擬量均定義為兩個字節長度,數字量則占1位。為了提高傳輸效率,多個數字量組合為一個報文來發送。
         系統中can通訊協議采用擴展幀格式,29位id定義見圖6。
                        圖6  can通訊協議擴展幀id
                              
         其中,命令碼是來自不同模塊的報文的代號,占id的高12位,范圍為0x000-0x0FFf,包含同一組信號的報文具有唯一的命令碼。源地址和目標地址取決于控制器地址,主控制器為0x01,網側變流控制器為0x02,電機側變流控制器為0x03,變槳偏航控制器為0x04。id的低9位分別為后續幀標志和后續幀幀數,若后續幀標志為1,則表示該報文還有后續幀需要傳輸。
         (2) 面應用程序主要功能有兩個:一是從can 總線接收風電機組運行狀態信息,并顯示給用戶,二是判斷并處理機組狀態信息,通過can接口向各子控制模塊發送控制信息。由于本系統中can以多主方式工作,接收來自多個節點的數據,并向多個節點發送數據,因此,在應用程序中要封裝不同的報文,還要分析收到數據的信息。
        為了提高系統的響應,應用程序采用多線程機制,本系統中設計三個獨立線程來處理不同的任務。主線程負責主界面實時數據顯示,歷史數據查詢以及機組狀態的邏輯判斷和流程控制等。由于數據庫的讀寫是對磁盤文件的直接操作,速度較慢,因此在一獨立線程中實現歷史數據的寫操作,以防止對主線程控制程序的影響,而對于歷史數據的查詢,現場只在特定情況下用到,仍在主線程中實現。can總線數據的交互比較頻繁,為了避免數據的丟失,在一獨立線程中完成數據的接收。
     5  結束語
       目前,風力發電控制技術主要掌握在國外大企業手中,國內機組的控制器主要依靠技術進口,因此,研究并設計有自主產權的機組控制系統有著深遠的意義。
參考文獻
         [1] 葉杭冶. 風力發電機組的控制技術[m]. 北京:機械工業出版社,2006.
         [2] 孫大鵬. 雙饋風力發電機組電控與安全保護系統設計研究[d]. 北京:華北電力大學研究生論文,2009.
         [3] 繞運濤等. 現場總線can原理與應用技術[m]. 北京:北京航空航天大學出版社,2007:242-243.
         [4] 儲忠,溫陽東. 基于s3c2410控制的can總線接口設計[j]. 合肥學院學報:自然科學版,2007,5,2:59-62.
此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
中国日韩欧美久久久久久久久| 亚洲精品国产视频| 激情婷婷久久| 国产日韩欧美精品| 国产精品国产三级国产专播精品人 | 91久久精品国产91久久性色| 红杏aⅴ成人免费视频| 国产视频自拍一区| 国产日产欧美精品| 国产一区二区三区不卡在线观看 | 午夜精品一区二区三区电影天堂| 亚洲综合日韩在线| 亚洲欧美一区二区在线观看| 亚洲欧美不卡| 欧美中文字幕| 亚洲国产一区二区三区高清 | 欧美日韩一区在线播放| 国产精品成人一区二区网站软件| 欧美午夜视频在线| 国产精品一区亚洲| 国产亚洲视频在线观看| 一区二区亚洲欧洲国产日韩| 亚洲国产精品久久精品怡红院| 亚洲激情啪啪| 日韩天天综合| 亚洲视频一区二区在线观看| 亚洲一区二区在线看| 午夜精品在线| 久久国产精品一区二区| 最近中文字幕mv在线一区二区三区四区| 亚洲精品久久久一区二区三区| 亚洲另类在线视频| 亚洲午夜在线视频| 久久精品99国产精品日本| 久久综合狠狠| 欧美日本在线视频| 国产精品久久久久久久久久免费| 国产日韩亚洲欧美综合| 亚洲二区视频| 一本久道久久综合狠狠爱| 午夜精品美女久久久久av福利| 亚洲高清资源| 一区二区日韩伦理片| 欧美一区二区三区四区在线观看地址| 久久久久成人精品| 欧美激情偷拍| 国产精品永久入口久久久| 在线观看国产日韩| 国产精品99久久久久久人| 久久国产精品久久国产精品| 一区二区三区国产盗摄| 欧美中文字幕不卡| 欧美成人精品h版在线观看| 国产精品家教| 激情综合激情| 亚洲视频一区二区| 亚洲欧洲一区二区天堂久久| 亚洲欧美乱综合| 老司机67194精品线观看| 欧美性猛片xxxx免费看久爱| 激情综合自拍| 亚洲视频免费看| 91久久精品www人人做人人爽 | 亚洲精品在线看| 欧美中文字幕在线观看| 一本到12不卡视频在线dvd| 久久精品国产亚洲一区二区| 欧美日韩亚洲高清一区二区| 黄色成人小视频| 亚洲视频狠狠| 日韩午夜在线电影| 久久久国产视频91| 欧美天天在线| 亚洲国产成人不卡| 欧美一区日本一区韩国一区| 在线中文字幕一区| 美女精品视频一区| 国产精品亚洲网站| 亚洲美女视频在线观看| 久久精品欧美| 久久不射中文字幕| 欧美视频导航| 亚洲欧洲一区二区三区| 欧美在线播放一区| 欧美一二三区精品| 欧美午夜理伦三级在线观看| 91久久在线视频| 亚洲黄色一区二区三区| 久久久久国产精品厨房| 国产精品午夜av在线| 日韩一区二区精品| av成人国产| 欧美电影免费观看大全| 国内自拍视频一区二区三区| 亚洲欧美日本在线| 亚洲欧美日韩一区二区三区在线| 欧美日韩国产在线播放| 亚洲黄网站在线观看| 亚洲国产免费看| 久久免费黄色| 国产在线视频欧美一区二区三区| 亚洲欧美高清| 亚洲欧美视频| 国产精品福利片| 日韩一二三区视频| 一区二区三区福利| 欧美日韩成人网| 亚洲日本中文| aaa亚洲精品一二三区| 欧美精品在线视频| 亚洲精品黄色| 中文日韩在线视频| 欧美日韩一区二区欧美激情| 亚洲美女电影在线| 中文精品视频| 国产精品v欧美精品v日韩| 一区二区日韩精品| 午夜精品福利在线观看| 国产精品一区二区久激情瑜伽| 亚洲一区精品电影| 午夜亚洲福利| 国产欧美日本一区二区三区| 午夜精品电影| 久久久久久欧美| 精品成人在线视频| 亚洲精品一区在线观看香蕉| 欧美激情久久久| 99视频有精品| 亚洲你懂的在线视频| 国产精品日本一区二区 | 亚洲欧美日韩一区二区三区在线观看 | 国产九九精品| 欧美一区二区视频在线观看2020| 久久久999精品| 在线观看91久久久久久| 日韩一本二本av| 欧美午夜欧美| 性色一区二区| 免费不卡欧美自拍视频| 亚洲韩国精品一区| 一本大道久久精品懂色aⅴ| 国产精品video| 亚欧美中日韩视频| 免费成年人欧美视频| 日韩视频在线你懂得| 午夜精品国产| 黄色日韩网站| 夜夜爽99久久国产综合精品女不卡| 欧美亚洲成人精品| 午夜视频一区| 欧美激情亚洲国产| 亚洲视频大全| 久久亚裔精品欧美| 亚洲精品综合在线| 午夜精品亚洲| 伊人成人开心激情综合网| 夜夜夜久久久| 亚洲国产合集| 亚洲尤物在线视频观看| 国产精品日韩欧美综合| 久久精品日韩一区二区三区| 欧美精品二区| 亚洲男女自偷自拍| 蜜臀av一级做a爰片久久| 一区二区不卡在线视频 午夜欧美不卡在| 国产欧美精品日韩区二区麻豆天美| 一个色综合av| 香蕉精品999视频一区二区| 国内精品久久国产| 一区二区三区蜜桃网| 国产欧美亚洲精品| 亚洲精品国产精品乱码不99按摩| 国产精品成人一区| 久久精品欧洲| 国产精品国产一区二区| 亚洲欧洲另类| 国产欧美日韩三区| 一本色道久久综合亚洲精品高清| 国产日韩精品视频一区| 日韩视频一区二区在线观看 | 午夜精品久久久久久久99黑人| 在线电影欧美日韩一区二区私密| 亚洲免费在线观看视频| 在线精品视频免费观看| 午夜一区在线| 91久久精品www人人做人人爽| 欧美亚洲一区二区三区| 亚洲国产国产亚洲一二三| 欧美一区二区在线免费播放| 亚洲人成亚洲人成在线观看| 欧美在线视频播放| 99精品国产一区二区青青牛奶| 久久人人九九| 亚洲免费在线观看| 欧美日韩国产免费| 91久久国产综合久久91精品网站| 国产日韩精品一区| 亚洲一区久久| 亚洲精品视频在线观看网站| 久久亚洲综合网|