新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > CAN總線在風力發電控制系統中的應用

        CAN總線在風力發電控制系統中的應用

        作者: 時間:2012-05-25 來源:網絡 收藏

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

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

        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過濾器的設置,清空接收和發送緩沖區,開啟中斷等工作,完成初始化后,退出復位模式,進入正常的工作模式。

        風力發電機相關文章:風力發電機原理

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 上林县| 油尖旺区| 福清市| 塘沽区| 三江| 浠水县| 瑞金市| 旅游| 宁安市| 时尚| 昆山市| 兴业县| 汕尾市| 霍城县| 宜川县| 兴海县| 阿克苏市| 连云港市| 东宁县| 临漳县| 西乡县| 大悟县| 乌拉特后旗| 信宜市| 遵化市| 色达县| 长乐市| 剑河县| 吉安县| 西安市| 石城县| 乐至县| 搜索| 潜山县| 昭觉县| 石泉县| 玉树县| 南宫市| 宣化县| 晋城| 洪洞县|