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