《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 電源技術(shù) > 設(shè)計(jì)應(yīng)用 > BTN7970在直流電機(jī)驅(qū)動(dòng)系統(tǒng)中的應(yīng)用
BTN7970在直流電機(jī)驅(qū)動(dòng)系統(tǒng)中的應(yīng)用
劉貴如,,王陸林
摘要: 本文介紹了基于BTN7970的2相直流電機(jī)驅(qū)動(dòng)電路典型設(shè)計(jì)。該設(shè)計(jì)外圍電路少,,無(wú)需外加控制信號(hào)驅(qū)動(dòng)電路和電機(jī)電流檢測(cè)電路,,可直接和MCU接口,,并可通過(guò)IS引腳輸入電壓計(jì)算直接得到通過(guò)電機(jī)的電流,。
Abstract:
Key words :

摘要:Infineon公司的大功率H半橋集成芯片BTN7970內(nèi)部集成了驅(qū)動(dòng)電路,,故可以直接和MCU接口,,同時(shí)具有電流檢測(cè),,以及過(guò)溫,、過(guò)壓、欠壓,、過(guò)流和短路保護(hù)等診斷功能,。本文介紹了BTN7970在直流電機(jī)控制驅(qū)動(dòng)系統(tǒng)中的典型應(yīng)用,給出了電機(jī)控制驅(qū)動(dòng)電路以及軟件設(shè)計(jì),。
關(guān)鍵詞:BTN7970,;H橋;PWM控制,;直流電機(jī)驅(qū)動(dòng)

引言
    微電機(jī)在嵌入式系統(tǒng)領(lǐng)域的應(yīng)用日益廣泛,,采用驅(qū)動(dòng)電路和MOSFET管的傳統(tǒng)設(shè)計(jì)方法不僅電路設(shè)計(jì)復(fù)雜,而且不容易控制,。針對(duì)此問(wèn)題,,各半導(dǎo)體廠商推出了直流電機(jī)控制專用集成電路,無(wú)需驅(qū)動(dòng)便可以與MCU接口,,且無(wú)需另外添加電機(jī)電流檢測(cè)電路,,外圍器件少,電機(jī)控制簡(jiǎn)單,。
    目前該類芯片已經(jīng)廣泛應(yīng)用于微電機(jī)的嵌入式應(yīng)用領(lǐng)域,,但它也存在一些缺點(diǎn);輸出功率有限,,不適合大功率直流電機(jī)驅(qū)動(dòng)的需求,;采用PWM信號(hào)驅(qū)動(dòng)且PWM信號(hào)的頻率和占空比有一定限制;沒(méi)有光電隔離電路,,當(dāng)驅(qū)動(dòng)電路發(fā)生擊穿等故障時(shí)會(huì)損壞與之相連的MCU等器件,。
    以Infineon公司推出的BTN7970芯片為例,它所供電壓為8~45 V,,最大電流為50 A,,驅(qū)動(dòng)信號(hào)PWM頻率為1~25 kHz,。由于功率和驅(qū)動(dòng)信號(hào)占空比的限制,使得它有很大的局限性,。在電機(jī)控制驅(qū)動(dòng)電路和控制程序設(shè)計(jì)方面要綜合考慮并采取適當(dāng)措施,。本文將詳細(xì)介紹BTN7970在大功率微電機(jī)控制驅(qū)動(dòng)系統(tǒng)中的典型應(yīng)用。

1 BTN7970簡(jiǎn)介
    BTN7970是由Infineon(英飛凌)公司推出的智能功率驅(qū)動(dòng)芯片,,內(nèi)含電流檢測(cè)電路,、控制驅(qū)動(dòng)電路,以及1個(gè)P型和1個(gè)N型MOSFET管,,可以靈活應(yīng)用于2相或3相,、直流有刷或無(wú)刷電機(jī)的控制驅(qū)動(dòng)電路中,,不僅可以簡(jiǎn)化電路設(shè)計(jì),,而且使得控制更加簡(jiǎn)單。在過(guò)溫,、過(guò)壓,、欠壓、過(guò)流和短路的情況下,,芯片自動(dòng)關(guān)斷輸入,;當(dāng)電流超過(guò)標(biāo)定的最大電流時(shí),通過(guò)MCU端的I/0使能引腳關(guān)斷驅(qū)動(dòng)芯片,。為了防止系統(tǒng)在工作過(guò)程中因?yàn)樾酒Wo(hù)而停止工作,,在系統(tǒng)設(shè)計(jì)時(shí)要考慮散熱、穩(wěn)壓,、過(guò)流保護(hù)等情況并采取措施,。
    BTN7970提供PG-T0263-7-1、PG-T0220-7-11和PG-T0220-7-12三種封裝,。其引腳功能定義如表1所列,。

7a.JPG
    當(dāng)INH引腳輸入高電平時(shí),OUT端輸出電壓由IN端輸入的PWM占空比決定,。當(dāng)占空比大于某個(gè)值時(shí),,輸入芯片內(nèi)部經(jīng)過(guò)非門驅(qū)動(dòng)電路后,輸出低電平使得上背P型MOSFET管導(dǎo)通,,此時(shí)通過(guò)調(diào)節(jié)輸入占空比后調(diào)節(jié)0UT端的輸出電壓,。當(dāng)輸入占空比為O時(shí),輸入低電平經(jīng)過(guò)非門驅(qū)動(dòng)電路后,,輸出高電平使得下背N型MOSFET管導(dǎo)通,,IS端檢測(cè)的電流為經(jīng)過(guò)上背MOSFET管的電流(即電機(jī)當(dāng)前電流)。在實(shí)際應(yīng)用中通常將2片或3片BTN7970組合起來(lái)構(gòu)成電機(jī)控制驅(qū)動(dòng)電路,。

2 電機(jī)控制驅(qū)動(dòng)電路設(shè)計(jì)
    主控制器選用Freescale公司基于PowerPC構(gòu)架的32位處理器MPC5604P,。通過(guò)I/0口,、PWM輸出引腳、A/D采集引腳直接和BTN7970接口,。下面介紹2相直流電機(jī)控制驅(qū)動(dòng)電路的設(shè)計(jì)方法,。

7b.JPG
    采用2片BTN7970組成一個(gè)完整的H橋驅(qū)動(dòng)電路驅(qū)動(dòng)l路有刷直流電機(jī),如圖1所示,。其中,,0UT端分別接電機(jī)的兩端;IS端接下拉電阻,,用于配置IS端輸出電壓的范圍,;MOTOR_PWM_A與MOTOR_PWM_B,分別輸出非零占空比的PWM和零占空比的PWM,,保證左右半橋上下背各有一個(gè)導(dǎo)通,,組成一個(gè)回路;通過(guò)MOTORCURRENT端間接采集并計(jì)算得到的電流,,為通過(guò)左或右半橋上背P溝道MOSFET管的電流,;SR引腳通過(guò)下拉電阻接地,用于調(diào)節(jié)MOSFET管開(kāi)關(guān)頻率,,這里接5.1 kΩ電阻,,BTN7970的開(kāi)/關(guān)時(shí)間分別為4.4/3.4μs。另外,,由于BTN7970內(nèi)部沒(méi)有光電隔離,,故在與MCU接口時(shí)串聯(lián)10 kΩ電阻,防止驅(qū)動(dòng)電路發(fā)生擊穿等故障時(shí)損壞與其相連接的MCU等器件,。

 7c.JPG
    2片BTN7970組成的H橋和MPC5604P之間的接口如圖2所示,。對(duì)應(yīng)的引腳通過(guò)4個(gè)網(wǎng)絡(luò)變量連接。將MPC5604P的55引腳直接配置為I/0輸出,,接H橋的INH引腳,,控制BTN7970的運(yùn)行模式。當(dāng)INH為低電平時(shí),,BTN7970處于Sleep模式,,但此時(shí)芯片仍處于工作狀態(tài),故其供電應(yīng)該由MPC5604P通過(guò)I/0引腳控制大電流繼電器來(lái)控制,。MPC5604P的53和54引腳配置為FlexPWM0模塊,,PWMA、PWMB輸出分別接左,、右半橋的IN引腳,。42引腳配置為A/D輸入接左、右半橋的IS引腳,,通過(guò)采集IS端電壓可間接計(jì)算出通過(guò)電機(jī)的電流:
    7d.JPG
    式中,,VIS和RIS分別為IS端的電壓和電阻值,。這里,RIS為470 Ω,。

3 電機(jī)控制驅(qū)動(dòng)程序設(shè)計(jì)
    本設(shè)計(jì)使用了MPC5604P的4個(gè)信號(hào)引腳,,開(kāi)發(fā)和編譯環(huán)境為Code Warrior for MPC55xx V2.3,調(diào)試下載工具為USB Power PC Nexus Multilink調(diào)試器,。
3.1 MOTOR_CON控制引腳的初始化
    通過(guò)配置SIU.PCR[43]寄存器將MPC5604P的55引腳配置為I/O輸出引腳,,即SIU.PCR[43].R=0x0202。通過(guò)賦值操作SIU.GPDO[43].R=O/1,,即可讓該引腳輸出高/低電平,。
3.2 MOTOR_PWM_A/B的PWM初始化
    首先,通過(guò)配置PSMI寄存器將flexpwm0 A[O],、B[0]分配到53,、54引腳,配置如下:
SIU.PSMI[20].B.PADSEL=1,;
SIU.PSMI[24].B.PADSEL=1,;
    然后,,通過(guò)SIU.PCR寄存器的配置將53,、54多功能引腳配置為PWM輸出,配置如下:

7e.JPG
    通過(guò)調(diào)用函數(shù)FlexPWM_Init(O)即可將本設(shè)計(jì)中使用的flexpwm0模塊初始化,。接下來(lái)使能PWMA/B輸出配置如下:

7f.JPG

    在控制程序中通過(guò)調(diào)用輸出函數(shù)來(lái)配置數(shù)據(jù)重載,、PWM輸出和BTN7970使能,即可按設(shè)定的方向和占空比驅(qū)動(dòng)電機(jī),。

3.3 A/D初始化
    首先,,通過(guò)SIU.PCR[29].R=0x2400操作將PIN42引腳配置為A/D輸入引腳,通過(guò)采集IS端電壓間接計(jì)算出通過(guò)電機(jī)的電流,。本設(shè)計(jì)中使用了MPC5604P片內(nèi)ADCl模塊的AN[O]通道,,初始化配置如下:

7g.JPG
    在本設(shè)計(jì)中通過(guò)ADCl的1路硬件監(jiān)控電路對(duì)每次A/D采集的值和預(yù)先設(shè)置的值進(jìn)行比較。當(dāng)采集的值超出通過(guò)ADC_1.THRHLR0.R設(shè)定的上下限時(shí),,將產(chǎn)生中斷,。通過(guò)中斷服務(wù)程序?qū)OTOR_CON輸出低電平使驅(qū)動(dòng)IC進(jìn)入Sleep模式,即可實(shí)現(xiàn)過(guò)流保護(hù),。初始化和中斷服務(wù)函數(shù)注冊(cè)如下:

7j.JPG

    在SIR服務(wù)函數(shù)中,,通過(guò)SIU.GPD0[43].R=O;即可關(guān)閉驅(qū)動(dòng)芯片,。接下來(lái)發(fā)送A/D通道轉(zhuǎn)換命令并查詢狀態(tài)標(biāo)志位,,轉(zhuǎn)換完畢后即可通過(guò)讀取.ADC_1.CDR[O].B.CDATA寄存器得到采集的IS端電壓值,,并通過(guò)計(jì)算公式IL=19 500×VIS/470 Ω計(jì)算得到通過(guò)電機(jī)的電流,,從而實(shí)現(xiàn)電機(jī)的閉環(huán)控制,。


結(jié)語(yǔ)
    本文介紹了基于BTN7970的2相直流電機(jī)驅(qū)動(dòng)電路典型設(shè)計(jì)。該設(shè)計(jì)外圍電路少,,無(wú)需外加控制信號(hào)驅(qū)動(dòng)電路和電機(jī)電流檢測(cè)電路,,可直接和MCU接口,并可通過(guò)IS引腳輸入電壓計(jì)算直接得到通過(guò)電機(jī)的電流,。
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。