跳轉到內容

開放標準/多功能交流電池/資料規範

來自華夏公益教科書

此部分描述了從控制頭到交流電池組以及反之的資料傳輸。

資料格式

[編輯 | 編輯原始碼]

資料傳輸僅為單向,但透過所有電池組進行鏈式傳輸。因此,可以在鏈中輕鬆地定址 1..10 個電池組,而無需區分地址。

資料傳輸始終由主控制單元發起。它將資料傳送到第一個電池組。然後,第一個電池組將資料傳送到下一個電池組,依此類推。最後一個電池組將資料返回到主控制單元。

應該可以使用簡單的微控制器啟用交流電池組。因此,傳輸應透過 UART 介面完成。

邏輯電平:0V = 隱性電平,顯性電平為 3..3,5V,最大電流為 10mA。

通訊速度:125kHz(1MHz 的分數)

資料格式:8 位 LSB 優先,偶校驗,1 個起始位,2 個停止位。每個幀都包含一個校驗和,該校驗和是對位元組進行 mod256 求和,並對位進行反轉。

資料傳輸

[編輯 | 編輯原始碼]

資料傳輸分為三組:主控到所有,主控到專用電池組,以及電池組到主控。


主控到所有

[編輯 | 編輯原始碼]

如果主控要將資料傳送到所有電池組,則使用此方法。

主控傳送一個報頭來傳達資料的含義。然後會傳輸一個或多個數據位元組(參見表格)。在所有資料位元組之後,新增一個校驗和(對位元組進行 mod256 求和並反轉位)。然後會進行至少 2 個位元組的斷開,以訊號傳達傳輸的結束(如果無法從報頭中獲取長度)。

電池組僅將此訊息轉發到下一個電池組,無需修改。

主控到所有訊息

[編輯 | 編輯原始碼]

報頭 0x02:平均電流對於電池管理非常重要,因為交流電池組沒有自己的電流感測器。此訊息必須至少每秒傳送一次。

報頭 資料位元組 含義
0x02 2 個短整型 流過的平均電流。-512A..0A..+511A,解析度為 15.625mA/增量
0x0D 32 位元組字串 將當前使用者標識寫入非易失性儲存器
0x10
0x23 1 個位元組 緊急停機。資料內容:0xFA
0x3E
0x46

寫入鏈式資料

[編輯 | 編輯原始碼]

此方法用於將不同的資料寫入電池組。

主控傳送一個報頭來傳達資料的含義。然後會傳輸多個針對所有電池組的資料位元組(含義:參見表格)。第一個電池組在報頭之後直接從主控接收其相關資料。然後,它將報頭和下一個資料(不包括自身相關資料)轉發到第二個電池組,並生成一個新的正確校驗和。每個電池組的訊息都會縮短。如果位元組數正確,則僅將報頭和校驗和返回到主控。




寫入鏈式資料訊息

[編輯 | 編輯原始碼]
報頭 資料位元組 含義
0x5B 每個開關電池 1 個 設定電池旁路的放電限值。0...250 增量 = 0..100%,解析度為 0.4%/增量。251...255 = 電池旁路
0x68 每個開關電池 1 個 設定電池旁路的充電限值。0...250 增量 = 0..100%,解析度為 0.4%/增量。251...255 = 電池旁路
0x75
0x8A
0x97
0xA4


透過設定限值,可以覆蓋內建的電池管理,並透過控制頭對其進行最佳化。通常,例如在放電模式下,放電電池會失效且不再使用。因此,可能的輸出電壓會下降。電池管理可以按時停用(旁路)最空的電池,以便所有電池都具有相同的剩餘電量。相同的辦法也可以用於充電。

讀取鏈式資料

[編輯 | 編輯原始碼]

此方法用於從電池組讀取不同的資料。

主控傳送一個報頭來傳達請求資料的含義,以及一個校驗和。第一個電池組新增請求的資料,並將報頭、其資料和一個新的校驗和轉發到第二個電池組。下一個電池組也附加其資料,依此類推。在最後一個電池組之後,主控會接收鏈中所有電池組的資料。使用此方法,可以瞭解鏈中包含多少個電池組以及它們包含多少個開關電池。





讀取鏈式資料訊息

[編輯 | 編輯原始碼]
報頭 資料位元組 含義
0xB9 每個開關電池 1 個 讀取當前容量。0...250 增量 = 0..100%,解析度為 0.4%/增量。251...255 = 電池缺陷。
0xC1 每個電池組 2 個整型 讀取電池組的電流限值。0..511A,解析度為 15,625mA/增量(可能取決於溫度)
0xDC 每個電池組 3 個位元組 讀取溫度:最小工作溫度、實際溫度、最大工作溫度。比例:0...250 = -50..+200 °C,251...255:N/A。
0xEF 每個電池組 32 位元組字串 讀取供應商名稱(用於租賃管理)
0xF2 每個電池組 32 位元組字串 讀取使用者標識(用於租賃管理)
0xFD 每個電池組 32 位元組字串 讀取序列號和型別
華夏公益教科書