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