基于AT89C52的CAN總線無功補償控制設計
2.5 人機接口設計
本裝置通過4個按鍵組合可用來設定控制參數,如電壓上下限,功率因數上下限,電流互感器變比等,還可用來選擇手動運行方式還是自動運行方式。液晶顯示器選用RT12864,可顯示4排漢字,小巧精致、美觀。液晶顯示模塊在工作時顯示三相實時功率因數,通過按鍵翻閱還可以顯示三相實時電壓,有功功率,無功功率等參數。
3 軟件設計
采用模塊化的軟件設計,將軟件分成若干相對的獨立的功能模塊,并為各模塊安排適當的入口和出口參數,使得模塊之間的相互連接,組合靈活方便。智能傳感器的的軟件由數據采集模塊、輸出控制模塊、CAN總線通信模塊等組成,各模塊在監控系統的程序調度下協調工作。CAN總線通信模塊由3部分組成:初始化程序、發送數據程序和接受終端程序3部分組成。由于系統中任意時刻均可主動與其他節點通信,所以,各節點的通信程序相同。基于AT89C52和SJA1000的CAN接口模塊通過CAN總線建立通信。SJA1000的應用程序可以被分為初始化程序、報文發送程序和報文接收程序。
3.1 CAN控制器SJA1000初始化設計
節點的初始化主要是指系統上電后對微處理器AT89C52和CAN控制器SJA1000進行的初始化,以確定工作主頻、波特率和輸出特性等。對AT89C52的初始化可結合其監控任務進行,主要是對中斷允許與屏蔽、中斷優先級、定時器的使用與設置等,由于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現場總線技術用于低壓電網無功動態補償,使用標準協議的通訊方式擴展了系統的通訊結構。采用先進的總線技術使系統結構簡潔,效率高,網絡上任何一個節點出錯都不會影響,大大提高了系統的可靠性和適應能力。
電磁爐相關文章:電磁爐原理
評論