關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于AT89C52的CAN總線無功補償控制設計

        基于AT89C52的CAN總線無功補償控制設計

        作者: 時間:2009-10-19 來源:網絡 收藏

        2.5 人機接口

        本裝置通過4個按鍵組合可用來設定參數,如電壓上下限,功率因數上下限,電流互感器變比等,還可用來選擇手動運行方式還是自動運行方式。液晶顯示器選用RT12864,可顯示4排漢字,小巧精致、美觀。液晶顯示模塊在工作時顯示三相實時功率因數,通過按鍵翻閱還可以顯示三相實時電壓,有功功率,功率等參數。

        3 軟件

        采用模塊化的軟件,將軟件分成若干相對的獨立的功能模塊,并為各模塊安排適當的入口和出口參數,使得模塊之間的相互連接,組合靈活方便。智能傳感器的的軟件由數據采集模塊、輸出模塊、通信模塊等組成,各模塊在監控系統的程序調度下協調工作。通信模塊由3部分組成:初始化程序、發送數據程序和接受終端程序3部分組成。由于系統中任意時刻均可主動與其他節點通信,所以,各節點的通信程序相同。和SJA1000的接口模塊通過CAN建立通信。SJA1000的應用程序可以被分為初始化程序、報文發送程序和報文接收程序。

        3.1 CAN器SJA1000初始化設計

        節點的初始化主要是指系統上電后對微處理器和CAN控制器SJA1000進行的初始化,以確定工作主頻、波特率和輸出特性等。對的初始化可結合其監控任務進行,主要是對中斷允許與屏蔽、中斷優先級、定時器的使用與設置等,由于SJA1000內部無微處理器,故其初始化仍要通過AT89C52對其進行編程實現。初始化程序流程如圖3所示。

        圖3 初始化程序流程圖

        SJA1000的初始化應在復位模式下進行,所以在SJA1000初始化程序中首先要將工作方式置為復位模式,之后要設置驗收濾波方式、驗收屏蔽寄存器(AMR)和驗收代碼寄存器(ACR)、波特率參數和中斷允許寄存器(IER)等。CAN協議物理層中的同步跳轉寬度和通信波特率的大小由定時寄存器BTR0、BTR1的內容決定。需要指出的是:對于一個系統中的所有節點,這兩個寄存器的內容必須相同,否則將無法進行通信。初始化設置完成后,將復位請求位置“0”,SJA1000就可以進入工作狀態,執行正常的通信任務。

        3.2 CAN總線發送和接受數據程序設計

        對SJA1000進行初始化建立CAN總線通信后,模塊就可以通過CAN總線發送和接收CAN數據包。消息的發送由CAN控制器SJA1000根據CAN規則自動完成,主控制器必須把要發送的信息送到SJA1000的發送緩沖器中,并設置“發送請求標識位”于命令寄存器中。模塊向總線上發送數據包是主動的,如果一次發送不成功,可以再次發送。

        CAN控制器SJA1000根據規則自動接收消息,接收到的消息放入接收緩沖器,此時接收緩沖器狀態標識RBS置為1,此時表示接收緩沖器中有接收到的消息。主控制器必須將消息保存到程序設置的消息緩沖器中,同時釋放接收緩沖器并對消息內容做出反應。接收過程可以通過SJA1000的中斷請求或查詢SJA1000的標志位來進行。

        4結束語

        本文介紹的通信設計方法應用于電網在線控制系統中,其采用的短幀結構,數據傳輸速度快,受干擾概率低;不同的檢測設備節點同時傳輸數據時,優先級高的節點先傳輸;采用多主式的數據傳輸方式,網絡上任何一個節點出錯都不會影響其它節點的正常運行的特性,從總體設計上可以看出,CAN總線裝置突出的優點是使整個系統減少了引出線,使設備簡潔,易于擴展,同時也便于安裝、檢修和維護。

        本文德主要創新點:將CAN現場總線技術用于低壓電網無功動態,使用標準協議的通訊方式擴展了系統的通訊結構。采用先進的總線技術使系統結構簡潔,效率高,網絡上任何一個節點出錯都不會影響,大大提高了系統的可靠性和適應能力。

        電磁爐相關文章:電磁爐原理



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 鄂州市| 景谷| 浮梁县| 怀集县| 怀化市| 泊头市| 荔浦县| 台江县| 兴隆县| 洞头县| 济源市| 高安市| 凌云县| 泸水县| 神木县| 岑巩县| 枝江市| 双峰县| 金溪县| 容城县| 陕西省| 新乡市| 游戏| 岳普湖县| 佛冈县| 额济纳旗| 隆化县| 思茅市| 新泰市| 宜君县| 菏泽市| 嘉义县| 临海市| 巴塘县| 桓仁| 昭苏县| 嘉荫县| 奉贤区| 宁都县| 上高县| 玉山县|