BTN7970在直流電機驅(qū)動系統(tǒng)中的應(yīng)用
采用2片BTN7970組成一個完整的H橋驅(qū)動電路驅(qū)動l路有刷直流電機,如圖1所示。其中,0UT端分別接電機的兩端;IS端接下拉電阻,用于配置IS端輸出電壓的范圍;MOTOR_PWM_A與MOTOR_PWM_B,分別輸出非零占空比的PWM和零占空比的PWM,保證左右半橋上下背各有一個導(dǎo)通,組成一個回路;通過MOTORCURRENT端間接采集并計算得到的電流,為通過左或右半橋上背P溝道MOSFET管的電流;SR引腳通過下拉電阻接地,用于調(diào)節(jié)MOSFET管開關(guān)頻率,這里接5.1 kΩ電阻,BTN7970的開/關(guān)時間分別為4.4/3.4μs。另外,由于BTN7970內(nèi)部沒有光電隔離,故在與MCU接口時串聯(lián)10 kΩ電阻,防止驅(qū)動電路發(fā)生擊穿等故障時損壞與其相連接的MCU等器件。本文引用地址:http://m.butianyuan.cn/article/180454.htm
2片BTN7970組成的H橋和MPC5604P之間的接口如圖2所示。對應(yīng)的引腳通過4個網(wǎng)絡(luò)變量連接。將MPC5604P的55引腳直接配置為I/0輸出,接H橋的INH引腳,控制BTN7970的運行模式。當(dāng)INH為低電平時,BTN7970處于Sleep模式,但此時芯片仍處于工作狀態(tài),故其供電應(yīng)該由MPC5604P通過I/0引腳控制大電流繼電器來控制。MPC5604P的53和54引腳配置為FlexPWM0模塊,PWMA、PWMB輸出分別接左、右半橋的IN引腳。42引腳配置為A/D輸入接左、右半橋的IS引腳,通過采集IS端電壓可間接計算出通過電機的電流:
式中,VIS和RIS分別為IS端的電壓和電阻值。這里,RIS為470 Ω。
3 電機控制驅(qū)動程序設(shè)計
本設(shè)計使用了MPC5604P的4個信號引腳,開發(fā)和編譯環(huán)境為Code Warrior for MPC55xx V2.3,調(diào)試下載工具為USB Power PC Nexus Multilink調(diào)試器。
3.1 MOTOR_CON控制引腳的初始化
通過配置SIU.PCR[43]寄存器將MPC5604P的55引腳配置為I/O輸出引腳,即SIU.PCR[43].R=0x0202。通過賦值操作SIU.GPDO[43].R=O/1,即可讓該引腳輸出高/低電平。
3.2 MOTOR_PWM_A/B的PWM初始化
首先,通過配置PSMI寄存器將flexpwm0 A[O]、B[0]分配到53、54引腳,配置如下:
SIU.PSMI[20].B.PADSEL=1;
SIU.PSMI[24].B.PADSEL=1;
然后,通過SIU.PCR寄存器的配置將53、54多功能引腳配置為PWM輸出,配置如下:
通過調(diào)用函數(shù)FlexPWM_Init(O)即可將本設(shè)計中使用的flexpwm0模塊初始化。接下來使能PWMA/B輸出配置如下:
在控制程序中通過調(diào)用輸出函數(shù)來配置數(shù)據(jù)重載、PWM輸出和BTN7970使能,即可按設(shè)定的方向和占空比驅(qū)動電機。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)DIY機械鍵盤相關(guān)社區(qū):機械鍵盤DIY
評論