基于AVR單片機(jī)帆板控制系統(tǒng)的設(shè)計
為了解決帆板在與風(fēng)機(jī)近距離且小角度轉(zhuǎn)動時,其穩(wěn)定性不易精確控制的難題,我們采用可自動跳變的雙電源,即供給L298芯片的主電源VCC_K有9V和20V兩種電壓。單片機(jī)根據(jù)預(yù)置參數(shù)的大小,控制三極管Q2驅(qū)動繼電器K1,自動切換兩種電源的輸出。
顯示電路略。
系統(tǒng)軟件設(shè)計
PWM算法設(shè)計
由于風(fēng)扇與帆板之間的距離d不固定,每次風(fēng)扇電機(jī)起動時,PWM先按最大值距離時預(yù)置參數(shù)對應(yīng)的PWM2值給定,當(dāng)控制帆板轉(zhuǎn)到預(yù)置參數(shù)值后,PWM值按下列公式計算出。
PWM=PWM2-((PWM2-PWM1)/K)×(θ1-θ2)
θ1=帆板轉(zhuǎn)動的實際角度值;
θ2=預(yù)置參數(shù);
PWM1最小距離時θ2對應(yīng)的PWM值(由實驗獲得);
PWM2最大距離時θ2對應(yīng)的PWM值(由實驗獲得);
K=d+13
PWM賦值范圍是0~255。
軟件流程設(shè)計
角度檢測單元
角度檢測單元主程序流程框圖見圖8所示,主要包括:
(1)初始化:I2C模式通信設(shè)置、定時器中斷等;
(2)采集判斷:采集完成標(biāo)志位有效,傳感器的數(shù)據(jù)保留;
(3)數(shù)據(jù)運算:每次采集到實際角度的信息,線性化后轉(zhuǎn)換成可顯示的角度值;
(4)50次采集判斷:是否完成了50次角度數(shù)據(jù)采集;
(5)生成偏差量:實測帆板轉(zhuǎn)角與預(yù)置參數(shù)運算,生成待調(diào)節(jié)的偏差量。
圖8 角度檢測單元主程序流程框圖
控制單元
控制單元主程序流程,主要包括初始化、起動按鍵判斷與處理、停止按鍵判斷與處理、報警判斷與處理和設(shè)置參數(shù)判斷與處理等。
(1)初始化:主要包括引腳配置初始化、相關(guān)參數(shù)初始化等;
(2)起動按鍵判斷與處理:按鍵有效,執(zhí)行電機(jī)起動子程序(主要工作:讀出EEPROM中預(yù)置參數(shù),由PWM信號控制電機(jī)驅(qū)動器輸出,并累計控制過程的用時);
(3)停止按鍵判斷與處理:按鍵有效,執(zhí)行電機(jī)停止子程序(主要工作:停止電機(jī)驅(qū)動器輸出,并清零累計控制過程的時間);
(4)報警判斷與處理:帆板轉(zhuǎn)到預(yù)置參數(shù)時,執(zhí)行聲光報警子程序(主要工作:聲光報警,停止累計控制過程的用時);
(5)設(shè)置參數(shù)判斷與處理:按鍵有效,執(zhí)行參數(shù)設(shè)定子程序(主要工作:實現(xiàn)帆板轉(zhuǎn)動的預(yù)置參數(shù)設(shè)定,并存儲保留參數(shù)值)。
測試方案與測試結(jié)果
1.測試儀器:量角器、刻度尺、示波器、溫度計、數(shù)字萬用表。
2.測試結(jié)果分析:經(jīng)反復(fù)測試,要達(dá)到分辨力為1°、絕對誤差≤3°、調(diào)整時間小于3秒、距離d在5cm~18cm 范圍可變、旋轉(zhuǎn)角度在0~20°之間變化時,電機(jī)供電電壓應(yīng)為9V;當(dāng)風(fēng)帆轉(zhuǎn)角在21°~70°之間變化時,電機(jī)供電電壓應(yīng)為20V。對應(yīng)的PWM數(shù)據(jù)如表1所示。
表1 PWM數(shù)據(jù)
pwm相關(guān)文章:pwm是什么
單片機(jī)相關(guān)文章:單片機(jī)教程
單片機(jī)相關(guān)文章:單片機(jī)視頻教程
單片機(jī)相關(guān)文章:單片機(jī)工作原理
蜂鳴器相關(guān)文章:蜂鳴器原理
評論