![]() |
cjjdemon 發(fā)表于 2020-7-31 18:15 你是搞BMS那塊的吧 |
這個電路可以用啊 |
QWE4562012 發(fā)表于 2020-7-31 09:26 通過負(fù)載接入檢測功能就行,具體方式就是利用MCU的IO在放電MOS和充電MOS的共漏極進行高低電平監(jiān)控,就知道有沒有負(fù)載接入啦,一旦檢測到負(fù)載,而且能夠正常通信的話,就把PDSG拉高就開始預(yù)放了 |
1692483014 發(fā)表于 2020-7-31 10:26 辛苦了 受益匪淺 謝謝 |
昨天樓主私下里找我看了看這個電路,我整體看了一下,沒有結(jié)合軟件去理解,故只針對硬件說一下我的理解,從我理解的各個網(wǎng)絡(luò)的含義,以及相應(yīng)的控制原理: 1. 對外供電網(wǎng)絡(luò)含義: P+ : 對外放電正極,用于對其它儀器供電; PACK- : 對外放電負(fù)極,P+輸出以此為參考地; 2. 對內(nèi)充電網(wǎng)絡(luò)含義: CHG_IN:對內(nèi)充電電源輸入口: TDA : 通過內(nèi)部的網(wǎng)絡(luò)推斷,這可能是一個input/output雙向口,主要針對充電禁能的管理;(具體要根據(jù)軟件一起分析,甚至要結(jié)合外接的充電設(shè)備一起分析才行。) CHG_CHK : 通過內(nèi)部網(wǎng)絡(luò)推斷,這是一個input檢測口,主要針對充電是否進行進行檢測;(具體要根據(jù)軟件一起分析,甚至要結(jié)合外接的充電設(shè)備一起分析才行。) 一、關(guān)于CHG_CHK、CHG_IN_CHK、CTL_CHG_C1、CTL_CHG_C2組成的模塊的理解: 1. MCU通過CHG_IN_CHK檢測CHG_CHK的電平,來獲取充電狀態(tài); 2. CTL_CHG_C1和CTL_CHG_C2則可以調(diào)整CHG_CHK的下拉電阻的值: CTL_CHG_C1=0且CTL_CHG_C2=0時,CHG_CHK的下拉電阻為10.76K; CTL_CHG_C1=1且CTL_CHG_C2=0/1時,CHG_CHK的下拉電阻為0.54K; CTL_CHG_C1=0且CTL_CHG_C2=1時,CHG_CHK的下拉電阻為5.5K; 說明CHG_CHK是一個可以通過調(diào)整其下拉電阻而改變其輸出狀態(tài),進而通過CHG_IN_CHK檢測這種狀態(tài),來判斷外部充電器處于何種狀態(tài),以方便內(nèi)部mcu做出調(diào)整,具體結(jié)合mcu軟件與外部充電設(shè)備的電路綜合分析。 二、關(guān)于TDA、DISCHG_IN_CHK、CTL_DISCHG_COM組成的模塊的理解: 1. DISCHG_IN_CHK應(yīng)該可以檢測TDA的電平; 2. CTL_DISCHG_COM可控制TDA的電平,可將其強拉為低電平; 3. 所以,猜測TDA是一個雙向口,可以在輸出時檢測其電平狀態(tài),比如外部的充電設(shè)備將TDA弄一個弱上拉,但是內(nèi)部的MCU可通過CTL_DISCHG_COM=1來強制將TDA拉低,這樣外部充電設(shè)備檢測到TDA是低電平,它就關(guān)閉自身的充電電路,不對電池包進行充電了。 4. 猜測mcu主動將CTL_DISCHG_COM拉低來停止充電是因為自身可能發(fā)生了某種故障。 三、關(guān)于WAKE、B+、P+、KEY1組成的模塊的理解: 1. B+為電池包的正極; 2. P+為對外輸出正極; 3. 控制B+到P+的連通/斷開,則是控制內(nèi)部電池包對外部用電設(shè)備放電/不放電; 4. 對于B+到P+供電模塊,我認(rèn)為是這樣控制的:首先按下KEY1按鍵,B+和P+連通,那么則對外部設(shè)備供電了。因為按鍵是短暫的,我認(rèn)為這個短暫的供電可以讓外接設(shè)備的單片機工作起來,但是電流并不大,因為有R56的存在,之后外部設(shè)備可能會通過TDA給到電池包MCU反饋,MCU通過WAKE來進一步供電,即使KEY1松開也沒事兒了。待MCU檢測(檢測方法猜測是通過TDA或者DISCHG_IN_CHK)到外部設(shè)備已準(zhǔn)備就緒后,則準(zhǔn)備開始供電了,此時MCU通過SMBC和SMBD發(fā)送指令給BQ40ZB0,控制其DSG和PACK兩個引腳,使得Q11、Q12、Q14等導(dǎo)通給P+進行大功率供電,然后MCU將wake拉低釋放即可。上述是猜測,必須核對MCU程序才能確定是否準(zhǔn)確。 四、關(guān)于充電模塊的理解: 1. 控制CHG_IN到B+的連通/斷開,則是控制外部充電器對電池包的充電/不充電; 2. 包括預(yù)充電和正式充電兩個階段; 3. 充電器插入后,通過TDA或者CHG_CHK來檢測充電器的狀態(tài); 4. 檢測到充電器接入后,首先啟動預(yù)充電,通過IN_CHG_PRE拉低來啟動預(yù)充電(低電平應(yīng)該是MCU的未上電狀態(tài)的默認(rèn)電平),之后MCU啟動,通過SMBC和SMBD發(fā)送指令給BQ40ZB0,控制其CHG引腳控制Q18導(dǎo)通,開啟大電流充電,然后再將IN_CHG_PRE拉高就可以了,充電會持續(xù)進行。上述是猜測,必須核對MCU程序才能確定是否準(zhǔn)確。 |
cjjdemon 發(fā)表于 2020-7-30 18:26 當(dāng)接入負(fù)載時,PDSG會先拉高,-----------這個為什么 |
cjjdemon 發(fā)表于 2020-7-30 18:26 你對BMS很了解 就是這個行業(yè)的吧 |
QWE4562012 發(fā)表于 2020-7-30 18:50 描述是正確的,充電時,電流是從P+流至B+,通過電芯,再從B-流至P-,所以V(SRP)-V(SRN)為正值時,是充電,為負(fù)值則是放電。 |
當(dāng)檢測到VSR=V(SRP)-V(SRN)為正值時,系統(tǒng)處于充電狀態(tài)-------------這是不是搞錯了啊 V(SRP)電壓更高是充電狀態(tài)? |
圖1就是BQ芯片的電流采樣回路 圖2,如果PACK反接,PACK+接成了PACK-,那么GND就會接PACK+,這時候Q9的G極會被拉高,Q9導(dǎo)通,導(dǎo)致PACK短路,電池PACK一般是有短路保護的,這樣就會停止輸出了。 圖3,預(yù)充預(yù)放電路是為了避免主回路導(dǎo)通瞬間,由于負(fù)載的容性過大,導(dǎo)致瞬間大電流而設(shè)計。以預(yù)放回路為例,一般這種電路,初始DSG/PDSG都是低電位,無法放電。當(dāng)接入負(fù)載時,PDSG會先拉高,Q8導(dǎo)通,電流通過R1/Q8通過,R1為限流電阻,當(dāng)達到預(yù)放截止條件時,PDSG拉低,DSG拉高,Q8截止,Q3導(dǎo)通,電流從Q3經(jīng)過。預(yù)充同理 圖4,俗稱一線通,用單總線進行通信,遵守相應(yīng)協(xié)議即可,通信速度一般比較慢,傳輸少量數(shù)據(jù)可以。低成本電動自行車會用。 |
Powered by 單片機教程網(wǎng)