基于MM908E625的電動后視鏡控制單元的設(shè)計
1.3 工作原理
后視鏡的控制包括上下左右四個方向的位置調(diào)整,通過MM908E625內(nèi)的H橋驅(qū)動相應(yīng)電機的正反轉(zhuǎn)實現(xiàn),H橋通過MM908E625內(nèi)的MCU(EY16)以SPI的方式設(shè)置H橋控制寄存器實現(xiàn)。為了有效監(jiān)控電機的運行,利用H橋低端通道的電流反饋功能進(jìn)行實時監(jiān)控,通過模擬多路復(fù)用器選擇相應(yīng)的H橋低端通道,然后采用MCU片上的ADC監(jiān)測該電流,從而判斷后視鏡電機運行狀態(tài)是在啟動、正常工作還是阻轉(zhuǎn)狀態(tài)。
該節(jié)點作為車門LIN網(wǎng)的一個從節(jié)點,要實現(xiàn)LIN通訊功能,MM908E625片內(nèi)集成了LIN物理層收發(fā)器,通過MCU上的ESCI模塊實現(xiàn)LIN協(xié)議的數(shù)據(jù)鏈路層驅(qū)動器,完成LIN總線通訊功能。
2.軟件設(shè)計
2.1 軟件流程
軟件流程圖如圖2所示。主要包括初始化程序和循環(huán)流程,初始化程序完成各個模塊的工作狀態(tài)的設(shè)置,循環(huán)流程中通過LIN總線接收指令,按照指令啟動電機和停止電機,同時監(jiān)測電機電流判斷是否堵轉(zhuǎn)。
首先對要使用到的每個模塊進(jìn)行初始化,包括SPI,ADC,ESCI和TBM模塊。MM908E625內(nèi)的MCU通過SPI控制MM908E625內(nèi)的模擬區(qū)域,所以根據(jù)模擬區(qū)域?qū)PI控制的時序要求初始化SPI模塊;ADC用于采樣H橋回饋電流,該反饋電流通過模擬多路復(fù)用器連接到MCU 上的ADC0,ADC的初始化程序選擇采樣通道為ADC0即可;ESCI模塊用于實現(xiàn)LIN的協(xié)議棧,其初始化包括設(shè)置其波特率、使能接收中斷;時基模塊用于電機啟動后的計時配合ADC模塊實現(xiàn)對后視鏡電機堵轉(zhuǎn)的監(jiān)控。
后視鏡電機的控制是通過LIN總線傳輸?shù)闹噶顚崿F(xiàn)的,當(dāng)接收到總線上的新指令時,啟動電機或停止電機的運行。
圖2 軟件流程圖
2.2 判斷后視鏡電機阻轉(zhuǎn):
為了保護(hù)后視鏡電機,需要在后視鏡到達(dá)終點時及時地停止電機,這就需要用到MM908E625內(nèi)部H橋提供的電流反饋功能,在電機運行穩(wěn)定后監(jiān)測電流,當(dāng)其大于某一個閾值時便認(rèn)為后視鏡到達(dá)終點發(fā)生了堵轉(zhuǎn),這時停止電機。
在電機剛啟動的一段時間內(nèi),電機的電流變化比較大,無法通過監(jiān)測電流的變化判斷后視鏡是否已經(jīng)到達(dá)終點,所以要在啟動的這段時間內(nèi)避免監(jiān)測其電流,采用MM908E625內(nèi)的時基模塊計時,設(shè)為35ms中斷,屏蔽時間設(shè)置為210ms,這段時間后電機穩(wěn)定運行,電流也達(dá)到穩(wěn)定。
每個H橋的低端通道均帶有電流反饋,該反饋電流通過模擬多路復(fù)用器連接到MCU 上的ADC0通道,當(dāng)電機穩(wěn)定運行后,首先通過SPI設(shè)置模擬多路復(fù)用器寄存器,選擇使用中的H橋低端驅(qū)動通道,這時對模擬多路復(fù)用器的輸出進(jìn)行AD采樣,判斷電機運行電流的大小,當(dāng)電流值超過100mA時便認(rèn)為發(fā)生了堵轉(zhuǎn),這時通過SPI設(shè)置H橋寄存器,關(guān)斷H橋通道,停止電機運行。
結(jié)語:
本設(shè)計采用飛思卡爾提供的單芯片智能分布式控制芯片MM908E625實現(xiàn)了后視鏡的位置調(diào)整和折疊功能,實現(xiàn)了完整的保護(hù)和診斷功能,電路板高度集成,滿足了后視鏡控制單元安裝空間有限的要求和高度的機械安裝可靠性,實驗證明,該模塊運行良好,具有一定的實用價值。
評論