跳到主要內容

VOLVO+開發故事 (5),Low Power比想像得更難做

第二篇做了樣品上車測試,結果第一晚過去了,電瓶電壓掉得比平常更低,發動後自動啟停也不反應。看起來我量到很低的電流跟成功搞定省電(low power)是兩件事(淚)

當晚我在汽車鎖定的狀態下,端詳著板子上的LED燈。他設計成有封包就會閃,而且是每0.1秒亮暗切換。我真的看到LED一閃一閃亮晶晶,想破頭不小心觸發汽車警報!我一直都沒辦法順利解除警報,最後把OBD-II電源 & 警報系統的保險絲燒壞,車子也跑出錯誤碼收場

有三個讓LED閃爍的可能
  1. LED閃爍讓汽車警報系統送出CAN封包
  2. 汽車休眠,還是定期會有CAN封包
  3. 我的關門器插上去,把汽車喚醒,於是出現CAN封包


看來問題不單純,要找兇手了

我還是得先修車,不然OBD-II頭沒電不能做實驗。雖然還在保固期,但跑原廠和他說我開發車用電子要出保固,似乎不大妥。趕緊約新竹知名的外場(昇佑汽車)處理,老闆很專業,很快就定位到保險絲的問題,幫忙消除錯誤碼,整台車又回復正常

下圖是換下來的5A保險絲,可以看到裡面的線已經斷掉



我和老闆討論起實驗,老闆很有把握:LED閃爍不會觸發警報。所以眼下只剩兩個可能(柯南背景音樂響起)
  1. 汽車休眠,還是定期會有CAN封包
  2. 我的關門器插上去,把汽車喚醒,於是出現CAN封包


ELM327還是很好用的

從駕駛座拉出一分二延長線,一邊接ELM327,一邊接遙控關門器,有趣的地方來了
  • 接ELM327,汽車鎖定幾分鐘後,CAN bus確實平靜無波
  • 接ELM327和遙控關門器,ELM327和遙控關門器都會看到CAN bus有封包
    • 每隔幾秒就有一些封包送出
所以接上遙控關門器,就會讓汽車定期被喚醒一下(然後又立刻睡下去)。所以第一晚測試,汽車不斷被喚醒,吃了不少電


驗屍報告

CAN Transceiver有根腳叫CAN-TX,這根腳收到0,就會送出CAN bus的"dominant"信號叫醒大家。所以汽車睡覺時,CAN-TX必須永遠保持是1,才不會驚擾大家

經過一長串debug,我找到錯誤的原因了
  • 開機瞬間,CAN Transceiver還沒啟動,CAN-TX是0或1都沒關係
  • 事件A: 打開CAN Transceiver
    • CAN-TX pin開機預設是0
    • 打開CAN Transceiver,看到CAN-TX pin=0,送出dominant驚醒其他人
  • 事件B: 啟動MCU內部的CAN Controller
    • CAN-TX pin變成1
真是諷刺,我的low power設計反而更耗電了。汽車裡的電子元件醒來的耗電可不是開玩笑的。修復這個問題也很簡單,把上頭的事件A/B顛倒就可以了
  • 開機瞬間,CAN Transceiver還沒啟動,CAN-TX是0或1都沒關係
  • 事件B: 啟動MCU內部的CAN Controller
    • CAN-TX pin從0變成1
  • 事件A: 打開CAN Transceiver
    • CAN-TX pin已經是1,也不會送出dominant
(我很想把過程寫得英勇萬分,但真的有點難)


解題只要5分鐘,查問題卻花了5個鐘頭



事後回想,其實這題一開始我有想過。當時模組本身的耗電都還沒降下,就沒再多想。這題顯然是設計車用電子得踩過的坑,踩過了就過關了

我拿修改過的裝置插上車,設定警報,一動也不動,我不想再燒保險絲了。現在LED沒再一閃一閃亮晶晶,我知道我做對了!插上裝置,繼續長期測試

留言

這個網誌中的熱門文章

VOLVO XC60鋰鐵評估:電池的修整(Recondition)分析

這一篇要回答 前一篇 的問題,歡迎交流(畢竟我也只能觀測自己的車) 結論放前面 XC60 2017裝上鋰鐵電池,每次放隔夜會認定BMS Sensor不可靠,試圖修整(recondition)電池,試圖充飽電,此時自動起停無法運作;等電池充飽,熄火放一下等車子認定BMS sensor可靠就一切正常,電壓在13.x自動起停能運作;但是放隔夜又會再度循環 一般車子每年對電池修整數次,確保BMS Sensor追蹤的SOC有效;修整期間會充電到14.8v附近,大概是一節鋰鐵3.7v,每次放隔夜都修整電池不至於弄壞電池,但讓人不大舒服就是 再來解釋原因 裝鋰鐵電池,可能電壓比預期高,導致放一晚車子判定BMS Sensor Reliable = 0。既然BMS sensor不可靠,發動汽車會對電池做recondition(原裝診斷工具術語,修整)。以下有三個場景,我們看一下VOLVO car的行為 BMS不可靠,SOC=90啟動 BMS不可靠,SOC=100啟動 BMS可靠,啟動 BMS不可靠,SOC=90啟動 發動後,CEM向發電機要了15.4v;鋰鐵吃下大電流同時電壓緩緩上升。電池摸到14.8v附近,發電機目標電壓也逐漸下降,完成recondition 下圖當電池電壓(綠線)上升到14.8v附近,發電機電壓(紅線)就快速的下降 BMS不可靠,SOC=100%啟動 一樣是BMS sensor不可靠,一發動就要了15.2v。因為電池本來就滿電,電壓很快就升高到14.8v附近,連帶使發電機降壓,收斂在14.6v,完成recondition 一樣把發電機電壓(紅線)和電池電壓(綠線)畫一起,彼此的關聯更清楚 BMS可靠,啟動 最後一張圖,BMS可靠,在正常運作下,電壓操作點約13.6v;裡面還附帶Break Energy Regeneration(電池電壓13.8v)以及Auto Start/Stop作動 結論 發動時BMS Sensor Reliable = 0就會做修整,把電池充飽電。充飽後鎖定放一下,汽車重新判定BMS Sensor Reliable = 1再發動,電壓會在13.x浮動 修整期間,極限14.8v大概是每節電池3.7v,離極限電壓4.2v還有點距離 VOLVO的電池控制花了不少功夫,用鋰鐵需要調一些參數,真希望原廠能支援啊!...

VOLVO XC60鋰鐵評估:一年半使用心得,BMS reset

大概半年前,我發現車子自動啟停都不會動,選單點進去說電池充電中。試了很多招,最後照著以下影片歸零BMS,一切就正常了 重置VOLVO BMS VOLVO car很依賴健康的電池,在電池負極放了Battery Management Sensor監控電池狀態。大宗的指標像是電池,電壓,還有使用時間,會影響充電策略;比如換了新電池沒有重置,據說容易因為電壓過高弄壞電池(大概認為老電池需要更高的電壓充電) 不過我換的是鋰鐵電池,鉛電池一切充電策略根本沒意義。所以BMS reset完的操作點如果是我們要的,那就重置吧 本來 車子放隔夜 ,一上路會因為BMS sensor不可靠做電池recondition,把電瓶充得飽飽飽14.8v;等之後BMS可靠了,鬆開油門滑行(車子覺得可以藉機充電),就很容易噴出高壓15v(電瓶吃飽了) 現在發動前我會順手BMS reset,熟練10秒就弄完;重置完瞬間BMS sensor就是可靠的,正好閃過上次遇到的問題;另外電池沒吃飽,鬆開油門滑行,電瓶也有餘裕吃下額外電力 寫到這裡也很有趣,本來我設計 VOLVO+ 是要讓自動啟停預設關閉,換上鋰鐵電池倒是花了不少功夫讓自動啟停恢復正常😂 也許VOLVO+下個功能功能是汽車發動後,自動做BMS reset,作為改裝鋰鐵電池的配菜

VOLVO XC60鋰鐵評估:半年使用報告

這篇文章紀錄半年使用心得,接下來預計每半年追蹤一次,提早掛掉也會誠實面對 沒有遇到無法發動,突然熄火,螢幕突然黑掉等問題 觀測電壓,大多都在以下幾個區域 13.x,一般電壓;放開油門滑行會導引動力到發電機,電壓會稍高 14.x,汽車拉高電壓快速充電 ~15,剛發動會到這個電壓,快速讓電池回充,在一分鐘內會回到14.x。不會長時間處在這個區域(這個區域略為接近鋰鐵電池的充電極限電壓,略有疑慮) 自動起停的反映稍微怪一點,這一篇文章會分析 XC60的發電機需要通電(激磁)後才能發電,所以車子能控制發電機的電壓和電流。下圖是Car scanner的圖片,最重要的是上方的Alternator charge voltage request。車子啟動會短暫拉高電壓,然後就長期在13.6,自動起停做動期間就是10.6 比較怪的是下圖,發電機電壓約14.6v,電流在0A附近上下跳動。 自動起停都不會動 問題的場景和分析 這張圖車子放隔夜,這一趟自動起停無法運作。紀錄如上圖,發電機推14.6v 我猜車子認定電池 快要飽但是還沒飽( SOC=99% or 100% ) 。電腦想把電池充飽,關閉自動起停,沿路推14.6v。開到目的地,車子認定 電瓶充飽了 回去的路上,自動起停就能正確運作,並且發電機只推出13.6v,紀錄如上上圖 放隔夜後,再繼續重複上述的循環 使用半年一切正常,除了上述自動起停的反應稍微怪一點,沒有異狀。我猜XC60只認得鉛電池,也許鋰鐵電池讓XC60很想把電池充飽電。如果有人知道原因,希望能指點迷津一下