單片機實現(xiàn)自控飛艇舵控系統(tǒng)
對飛艇舵機的控制最終是通過舵控單片機產(chǎn)生PWM波來實現(xiàn)的。通常,產(chǎn)生PWM波不外乎硬件和軟件兩種方法??紤]到舵控單片機計算任務不大,本系統(tǒng)中采用軟件產(chǎn)生PWM波的方法。下面以定時器0產(chǎn)生PWM波為例,說明通過軟件產(chǎn)生PWM波舵控信號的實現(xiàn)方法。
void timer0(void) interrupt 1 using 1
{
/*PWM波通過單片機P37口輸出,定時取反*/
P37=!P37;
/*Length代表一個周期的時間*/
c=Length-c;
/*重新定義計數(shù)初值*/
TH0=-(c/256);
TL0=-(c%256);
/*判斷脈寬是否在正常范圍之內(nèi)*/
if(c>=border1c=border2)
c=a;
else
c=Length-a;
}
在程序中,由串口中斷接收上位機發(fā)送的脈寬指令,繼而通過改變?nèi)肟趨?shù)a來調(diào)整PWM波的脈寬,并確保脈寬輸出在正常范圍之內(nèi)。通過該方法產(chǎn)生PWM波切實可行,簡單有效,可以廣泛應用于舵機控制信號的產(chǎn)生中。
4 實驗結(jié)果
實驗中以FUTABA 3003舵機作為被控對象,由計算機模擬向舵控系統(tǒng)發(fā)送數(shù)據(jù)幀,通過示波器觀察舵控信號的變化。實驗結(jié)果表明,該舵控系統(tǒng)工作穩(wěn)定,輸出PWM波脈寬準確可靠,被控舵機轉(zhuǎn)角線性度良好。
評論