基于RS485的嵌入式電池化成充放電控制系統的設計

后臺任務1由系統定時器T0每100ms產生一次中斷,形成基本時鐘源,為控制和通信任務提供各類軟件計數器。主控調度程序根據定時器計數狀態調度各個任務,控制4路充電機的運行。這些任務包括:每隔1秒掃描一次鍵盤,根據鍵盤輸入的命令激活相應任務,如啟動或終止過程、顯示設置參數等;每隔1秒進行例行數據采集與處理,分別采集4路充電機的電壓、電流量,并對轉換的結果作相應的處理;每隔1秒循環顯示4路充電機的實時工作狀態參數,包括當前工作階段、工作方式、運行時間、電壓電流值、安時數等;每隔2秒分別計算4路充電機的安時數;每隔3秒進行閉環反饋控制PI調節;每隔1分鐘分別累計4路充電機的安時數,同時備份相關的數據到E2PROM中。運行過程中定時檢查電流、電壓信號,如遇異常、斷流、過流、過壓等故障則及時顯示故障類型和對應的充電機號。
后臺任務2為串行通信中斷任務。由于采用主從式異步串行通信,通信中斷任務的優先級比定時器中斷的優先級高。通信中斷包括接收中斷和發送中斷兩種情況,并需根據需要進行切換控制和處理。平時處于接收中斷允許狀態,當收到上位機輪詢報文時即組織發送報文,將報文幀送到發報緩沖區,啟動發送中斷和發送計數器,在以后的發送中斷任務中按計數器發送一個字節直到發完該幀即禁止發送中斷。如收到上位機數據/命令報文頭則清理收報緩沖區,等待下次接收中斷字節。
4.2模塊化的軟件設計
本控制器的軟件設計采用模塊化結構,使程序明晰簡潔。同時各模塊間相對獨立,可以單獨調試,程序擴充時,不要更改原有的結構,只需修改相應的模塊。根據圖2中系統任務的劃分,程序模塊主要由主控程序及定時器中斷程序模塊、通信程序模塊、顯示及鍵盤處理模塊、輸入輸出及控制量計算模塊構成。各模塊之間的聯系是采用單片機的邏輯處理功能,設置標志位,通過查詢標志位的操作進行控制和調用。
由于篇幅的原因,就不詳細介紹各模塊工作的流程。
5通信系統的設計
本文的應用對象是蓄電池工廠的極板或密閉電池充放電控制裝置,為了降低成本,便于管理并提高系統可靠性,控制系統設計可以采用小型的分散型控制系統,即兩層結構:分散的多回路控制器配一個操作站(俗稱上位機和下位機)。通過低成本、高可靠的RS-485實時通信網絡,將數十臺多回路控制器與PC機相連,實現對生產過程的集中監控操作。上位機和下位機之間的通信包括數據下載、數據上裝、命令下發等。通信系統設計如下:
(1)系統物理層協議采用RS-485標準,為了在允許范圍內盡量提高通信速率,波特率選擇了非標準的3125bps。當上位機采用軟件輪詢方式與20個現場控制器逐個通信,通過適當的軟件設計,可基本滿足充放電過程操作的實時性要求。
(2)據鏈路層協議參考HDLC,采用短幀定長傳送,每幀有效字節為7個。應用層要求實現即時數據上裝、歷史數據上裝、控制參數數據下載和命令下發等功能。
(3)本系統采用主站輪詢的主從方式,由主站發起通信,沒有網絡沖突;由主站選擇它要求通信的次站,各次站可以有不同的優先級。相對于總線式控制網絡,這種方式易于理解和實現。
6結束語
實驗和現場實際運行表明,該多回路化成充放電控制器具有較好的人機對話窗口,結構簡單,操作簡便,參數設置靈活,有較強的適應性。系統軟硬件設備工作正常,功能齊全,穩定可靠,具有完善的系統自診斷、故障定位功能。而且具有成本低、體積小(80×160×100)的特點。












評論