《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計應(yīng)用 > 基于TB6612FNG和單片機的直流電機控制系統(tǒng)
基于TB6612FNG和單片機的直流電機控制系統(tǒng)
電子設(shè)計工程
王建平 盧杉 武歡歡
摘要: 本設(shè)計中使用的TB6612FNG是一款新型驅(qū)動器件,能獨立雙向控制2個直流電機,它具有很高的集成度,同時能提供足夠的輸出能力,運行性能和能耗方面也具有優(yōu)勢,因此在集成化、小型化的電機控制系統(tǒng)中,它可以作為理想的電機驅(qū)動器件。
Abstract:
Key words :

    本設(shè)計中使用的TB6612FNG是一款新型驅(qū)動器件,能獨立雙向控制2個直流電機,它具有很高的集成度,同時能提供足夠的輸出能力,運行性能和能耗方面也具有優(yōu)勢,因此在集成化、小型化的電機控制系統(tǒng)中,它可以作為理想的電機驅(qū)動器件。

1 TB6612FNG簡介

    TB6612FNG是東芝半導(dǎo)體公司生產(chǎn)的一款直流電機驅(qū)動器件,它具有大電流MOSFET-H橋結(jié)構(gòu),雙通道電路輸出,可同時驅(qū)動2個電機。

    TB6612FNG每通道輸出最高1.2 A的連續(xù)驅(qū)動電流,啟動峰值電流達(dá)2A/3.2 A(連續(xù)脈沖/單脈沖);4種電機控制模式:正轉(zhuǎn)/反轉(zhuǎn)/制動/停止;PWM支持頻率高達(dá)100 kHz;待機狀態(tài);片內(nèi)低壓檢測電路與熱停機保護電路;工作溫度:-20~85℃;SSOP24小型貼片封裝。

    如圖1所示,TB6612FNG的主要引腳功能:AINl/AIN2、BIN1/BIN2、PWMA/PWMB為控制信號輸入端;AO1/A02、B01/B02為2路電機控制輸出端;STBY為正常工作/待機狀態(tài)控制引腳;VM(4.5~15 V)和VCC(2.7~5.5 V)分別為電機驅(qū)動電壓輸入和邏輯電平輸入端。

    TB6612FNG是基于MOSFET的H橋集成電路,其效率高于晶體管H橋驅(qū)動器。相比L293D每通道平均600 mA的驅(qū)動電流和1.2 A的脈沖峰值電流,它的輸出負(fù)載能力提高了一倍。相比L298N的熱耗性和外圍二極管續(xù)流電路,它無需外加散熱片,外圍電路簡單,只需外接電源濾波電容

    就可以直接驅(qū)動電機,利于減小系統(tǒng)尺寸。對于PWM信號,它支持高達(dá)100 kHz的頻率,相對以上2款芯片的5 kHz和40 kHz也具有較大優(yōu)勢。

2 電機控制單元設(shè)計

2.1 單元硬件構(gòu)成

    圖2所示為TB6612FNG與AVR單片機組成的電機控制單元。單片機定時器產(chǎn)生4路PWM輸出作為AIN1/AIN2和BIN1/BIN2控制信號,如圖2中OCxA、0CxB對電機M1和M2的控制。采用定時器輸出硬件PWM脈沖,使得單片機CPU只在改變PWM占空比時參與運算,大大減輕了系統(tǒng)運算負(fù)擔(dān)和PWM軟件編程開銷。輸入引腳PWMA、PWMB和STBY由I/0電平控制電機運行或制動狀態(tài)以及器件工作狀態(tài)。電路采用耐壓值25 V的10μF電解電容和0.1μF的電容進(jìn)行電源濾波,使用功率MOSFET對VM和VCC提供電源反接保護。

2.2 電機控制的軟件實現(xiàn)

    脈寬調(diào)制方式產(chǎn)生占空比變化的PWM信號,通過對驅(qū)動器輸出狀態(tài)的快速切換,實現(xiàn)電機的速度控制。PWM占空比的大小決定輸出電壓平均值,進(jìn)而決定電機的轉(zhuǎn)速。文中采用單極性、定頻調(diào)寬的PWM調(diào)制方式,保證電機調(diào)速控制的穩(wěn)定性。TB6612FNG的邏輯真值表如表1所示。該器件工作時STBY引腳置為高電平;IN1和IN2不變,調(diào)整PWM引腳的輸入信號可進(jìn)行電機單向速度控制;置PWM引腳為高電平,并調(diào)整IN1和IN2的輸入信號可進(jìn)行電機雙向速度控制。表中A、B兩通道的控制邏輯相同。

    單片機定時器PWM輸出設(shè)置如圖3所示。首先需設(shè)置T/C中斷屏蔽寄存器TIMSKx使能定時器溢出中斷。其次分別設(shè)置T/C控制寄存器TCC-RxA和TCCRxB選擇PWM模式和預(yù)分頻比,最后將控制信號引腳I/0置為輸出。程序運行時,每當(dāng)定時器計數(shù)產(chǎn)生溢出,CPU響應(yīng)中斷,定時器回零后重新開始計數(shù)。

    以下列出的示例代碼設(shè)置為快速PWM反向輸出模式,當(dāng)系統(tǒng)時鐘記為fclk時,PWM輸出頻率fPWM=fclk/64/256。

TIMSKx |=1<

TCCRxA=OxF3;

TCCRxB=Ox03;

DDRx |=(1<

    為獲得更高的PWM波形精度,可以采用相位修正的PWM輸出模式,不過在精度提高的同時,fPWM也將減半,以下代碼得到fPWM=fclk/64/512。

TCCRxA=0xF1:

TCCRxB=0x03;

    PWM占空比大小的改變通過對輸出比較寄存器OCRxx的數(shù)值操作來實現(xiàn),例如當(dāng)OCRxx=203時,占空比為204/256=80%。編程時將速度變量值寫入OCRxx寄存器,從而達(dá)到改變占空比和對電機調(diào)速的目的。

    文中通過電位器調(diào)速試驗來檢測TB6612FNG的PWM控制與電機輸出轉(zhuǎn)速間的線性關(guān)系。單片機ADC對精密多圈電位器的電壓值進(jìn)行采樣,用于控制電機轉(zhuǎn)速。程序流程如圖4所示。首先進(jìn)行電機控制信號的初始化,接著通過設(shè)置ADC控制狀態(tài)寄存器ADCSRA和ADC多路復(fù)用選擇寄存器ADMUX選擇ADC頻率和通道,然后選取合適的樣本數(shù)量,對ADC循環(huán)采樣并計算樣本均值作為當(dāng)前速度值,代入速度函數(shù)。

    試驗中,隨著電位器阻值的調(diào)整,TB6612FNG輸出端電壓測量值成比例變化,同時對電機實現(xiàn)啟停和加減速控制,達(dá)到了預(yù)期試驗效果,表明其輸出和PWM輸入之間具有良好的線性關(guān)系。

3 TB6612FNG在輪式移動機器人平臺的應(yīng)用

    為研究差速驅(qū)動方式的運動學(xué)特性和機器人路徑規(guī)劃算法,開發(fā)了一個輪式移動機器人試驗平臺,在其中應(yīng)用TB6612FNG對機器人的2個驅(qū)動電機進(jìn)行控制。平臺以單片機為控制核心,能實現(xiàn)零半徑轉(zhuǎn)向、軌跡跟蹤、路徑搜索等功能,并通過按鍵開關(guān)、液晶顯示等單元進(jìn)行操作和指示,是一個較為完整的小型機電運動控制系統(tǒng)。

    如圖5所示,系統(tǒng)硬件電路主要由電源、控制、傳感、電機驅(qū)動、操作與指示等單元組成。系統(tǒng)采用電池組供電,通過穩(wěn)壓電路輸出VM和VCC2路電壓。穩(wěn)壓電路主要由開關(guān)型穩(wěn)壓器LM2576和三端穩(wěn)壓器7805構(gòu)成,前者能提供輸出電流最高3 A的VM,對電機驅(qū)動等單元供電,后者將電源穩(wěn)壓至VCC(+5 V),對單片機及其外嗣電路供電。

    選用高性能低功耗的ATmega系列單片機作為控制核心,其運算速度高達(dá)1 MIPS/MHz,具有多路PWM和ADC,適用于小型機器人和電機控制系統(tǒng)的開發(fā)。單片機通過ADC或I/O連接傳感器,同時定時器產(chǎn)生硬件PWM作為電機驅(qū)動控制信號。傳感單元由光電和測距傳感器等構(gòu)成。移動機器人系統(tǒng)由按鍵開關(guān)和傳感信號等組成前向通道,由PWM控制、TB6612FNG、電機及液晶等組成后向通道。

    控制系統(tǒng)通過傳感器獲取機器人運行位置信息,利用單片機對其進(jìn)行讀取和計算,由數(shù)字PID方式得到控制信號并輸出至驅(qū)動器件,實時調(diào)整電機轉(zhuǎn)速。PID控制基本流程如圖6所示,其中比例項P為讀取位置與給定位置的偏差;積分項I為P值的累加;微分項D為相鄰P值之差;Kp、Ki、Kd為PID參數(shù)。C為PID計算得到的調(diào)節(jié)控制量,B為設(shè)定的驅(qū)動電機基本轉(zhuǎn)速,speedL和speedR分別為左右驅(qū)動電機的轉(zhuǎn)速信號。系統(tǒng)啟動后,循環(huán)執(zhí)行流程,當(dāng)運行位置發(fā)生偏離時,速度調(diào)節(jié)的計算結(jié)果由單片機輸出,經(jīng)AIN1/AIN2和BIN1/BIN2輸入至TB6612FNG,對電機轉(zhuǎn)速進(jìn)行快速調(diào)整,實現(xiàn)機器人位姿的校正和位置偏差的糾正,直到終點標(biāo)志或接收停止指令。

    試驗表明,在系統(tǒng)高速運行時,TB6612FNG對驅(qū)動電機的調(diào)速能夠保持較好的連續(xù)性和平穩(wěn)性。PID參數(shù)的設(shè)定對系統(tǒng)運行有很大影響,應(yīng)根據(jù)運行控制要求,通過反復(fù)試驗調(diào)整確定PID參數(shù),選取Kp、Ki、Kd的最優(yōu)組合以取得良好的控制效果。系統(tǒng)取消積分環(huán)節(jié),采用PD控制時,也能夠得到較好的運行結(jié)果。

4 運行性能和建議

    1)器件輸出狀態(tài)在驅(qū)動/制動之間切換時,電機轉(zhuǎn)速和PWM占空比之間能保持較好的線性關(guān)系,其運行控制效果好于器件在驅(qū)動/停止?fàn)顟B(tài)之間切換,所以表1中的INl/IN2一般不采用L/L控制組合。

    2)fPWM較高時,電機運行連續(xù)平穩(wěn)、噪音小,但器件功耗會隨頻率升高而增大;fPWM較低時,利于降低功耗,并能提高調(diào)速線性度,但過低的頻率可能導(dǎo)致電機轉(zhuǎn)動連貫性的降低。通常fPWM>1 kHz時,器件能夠穩(wěn)定的控制電機。

    3)過大的PWM占空比會影響電機驅(qū)動電流的穩(wěn)定性和器件的輸出負(fù)載能力,應(yīng)根據(jù)不同的速度要求合理設(shè)定占空比范圍。

    4)器件工作溫度過高會導(dǎo)致其輸出功率的下降,電路PCB設(shè)計中應(yīng)保證足夠面積的覆銅,這樣有助于散熱,利于器件長時間穩(wěn)定工作。

5 結(jié)束語

    利用TB6612FNG和單片機構(gòu)成直流電機控制單元,并將其應(yīng)用在差速驅(qū)動的輪式移動機器人系統(tǒng)中。試驗運行表明,這款器件與單片機結(jié)合應(yīng)用能夠?qū)崿F(xiàn)靈活穩(wěn)定的電機驅(qū)動控制。TB6612FNG在集成性、運行性能和輸出能力等方面達(dá)到了較好的平衡,適用于單、雙直流電機數(shù)字控制系統(tǒng)的設(shè)計開發(fā)。

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