TB6612FNG在直流電機控制設計中的應用
2.2 電機控制的軟件實現(xiàn)
脈寬調(diào)制方式產(chǎn)生占空比變化的PWM信號,通過對驅(qū)動器輸出狀態(tài)的快速切換,實現(xiàn)電機的速度控制。PWM占空比的大小決定輸出電壓平均值,進而決定電機的轉(zhuǎn)速。文中采用單極性、定頻調(diào)寬的PWM調(diào)制方式,保證電機調(diào)速控制的穩(wěn)定性。TB6612FNG的邏輯真值表如表1所示。該器件工作時STBY引腳置為高電平;IN1和IN2不變,調(diào)整PWM引腳的輸入信號可進行電機單向速度控制;置PWM引腳為高電平,并調(diào)整IN1和IN2的輸入信號可進行電機雙向速度控制。表中A、B兩通道的控制邏輯相同。本文引用地址:http://www.ex-cimer.com/article/162891.htm
單片機定時器PWM輸出設置如圖3所示。首先需設置T/C中斷屏蔽寄存器TIMSKx使能定時器溢出中斷。其次分別設置T/C控制寄存器TCC-RxA和TCCRxB選擇PWM模式和預分頻比,最后將控制信號引腳I/0置為輸出。程序運行時,每當定時器計數(shù)產(chǎn)生溢出,CPU響應中斷,定時器回零后重新開始計數(shù)。
以下列出的示例代碼設置為快速PWM反向輸出模式,當系統(tǒng)時鐘記為fclk時,PWM輸出頻率fPWM=fclk/64/256。
TIMSKx |=1TOIEx;
TCCRxA=OxF3;
TCCRxB=Ox03;
DDRx |=(1Pxx);
為獲得更高的PWM波形精度,可以采用相位修正的PWM輸出模式,不過在精度提高的同時,fPWM也將減半,以下代碼得到fPWM=fclk/64/512。
TCCRxA=0xF1:
TCCRxB=0x03;
PWM占空比大小的改變通過對輸出比較寄存器OCRxx的數(shù)值操作來實現(xiàn),例如當OCRxx=203時,占空比為204/256=80%。編程時將速度變量值寫入OCRxx寄存器,從而達到改變占空比和對電機調(diào)速的目的。
文中通過電位器調(diào)速試驗來檢測TB6612FNG的PWM控制與電機輸出轉(zhuǎn)速間的線性關系。單片機ADC對精密多圈電位器的電壓值進行采樣,用于控制電機轉(zhuǎn)速。程序流程如圖4所示。首先進行電機控制信號的初始化,接著通過設置ADC控制狀態(tài)寄存器ADCSRA和ADC多路復用選擇寄存器ADMUX選擇ADC頻率和通道,然后選取合適的樣本數(shù)量,對ADC循環(huán)采樣并計算樣本均值作為當前速度值,代入速度函數(shù)。
pwm相關文章:pwm是什么
脈寬調(diào)制相關文章:脈寬調(diào)制原理
評論