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