基于飛思卡爾單片機的兩輪車控制系統(tǒng)設計
硬件二值化電路的工作原理是通過圖像傳感芯片獲得的模擬信號經R1、R2限流后輸出到三極管Q1,使三極管Q1始終處于不飽和放大狀態(tài)。R3上的電流大小隨此模擬信號的變化而成反比變化,從R3采樣出來的電壓信號即為通過圖像傳感芯片獲得模擬信號的鏡像信號,最后通過比較器輸出表征賽道信息的數(shù)字信號。
3.4 車速及運動方向檢測模塊
為了實現(xiàn)系統(tǒng)的閉環(huán)控制,在車模運行過程中需要實時監(jiān)控其速度。本系統(tǒng)在左右電機上各安裝一個500線兩相光電編碼器。在固定周期內,利用單片機內部計數(shù)器測量由編碼器返回的脈沖信號個數(shù)以獲得車模的運動速度大?。挥捎诰幋a器A、B兩相相位差為90°,可通過比較A、B兩相信號先后順序來判斷電機的正反轉,便可知道小車的運動方向。
3.5 加速度檢測模塊
加速度計可以測量由地球引力作用或者物體運動所產生的加速度。本系統(tǒng)選用MMA7260作為加速度檢測器件,MMA7260是一款低成本單芯片三軸高靈敏度加速度傳感器,可以同時輸出三個方向上的加速度模擬信號,具有功耗低、工作范圍寬等特點,并且具有4種不同的高靈敏度選擇模式以適應不同的加速度的測量要求。
通過軟件設置讓加速度傳感器采用800mV/g的工作模式,使MMA7260各軸信號輸出靈敏度為800mv/g,這時信號不需要進行放大,可以直接送到單片機進行A/D轉換。同時由于MMA7260采用了開關電容濾波器,會有時鐘噪聲產生,所以需要在傳感器輸出端采用RC濾波電路,以改善信號的質量。加速度傳感器在受外界振動時易帶來測量誤差,并且測量誤差的大小和傳感器在車模上安裝的高度成正比。為減小由于安裝高度帶來的測量誤差,加速度傳感器在小車上應盡可能安裝得低一些,但是依然不能徹底消除由于小車振動帶來的誤差,因此需要角速度傳感器的輔助來獲得車模直立平衡控制所需要的傾角信息。
3.6 角速度檢測模塊
本系統(tǒng)選用陀螺儀ENC-03來測量物體在旋轉時的角速度。陀螺儀的輸出信號是相對靈敏軸的角速度,通過角速率對時間積分可得到圍繞靈敏軸旋轉過的角度值,即小車的傾斜角度。因為陀螺儀易受溫度和震動等因素的影響而產生微小的漂移和偏差,經積分后形成累計誤差,最終導致電路飽和,無法得到準確的角度信號。因此,本系統(tǒng)采用互補濾波算法把加速度傳感器獲得的角度信號與陀螺儀輸出經積分后的角度進行融合,最后得到較準確的車模傾角信息。
3.7 直流電機驅動模塊
車速控制單元采用脈寬調制技術( P W M ),加上P I D算法實現(xiàn)閉環(huán)控制。系統(tǒng)利用單片機輸出PWM信號通過隔離芯片LM244來控制直流電機驅動芯片BTS7960,通過改變PWM波的占空比調節(jié)電機的轉速,加上PID算法對電機轉速進行閉環(huán)控制。直流電機驅動芯片BTS7960是大電流、半橋、低通態(tài)電阻的集成芯片,它帶有一個P溝道的高邊MOSFET、一個N溝道的低邊MOSFET和一個驅動IC.P溝道高邊開關省去了電荷泵的需求從而減小了EMI.集成驅動IC具有邏輯電平輸入、電流診斷、斜率調節(jié)、死區(qū)時間產生和欠壓、過壓、過溫、過電流及短路保護的功能。采用BTS7960搭建的電機驅動電路如圖4所示。
3.8 串口調試模塊
調試模塊用于建立良好的人機交互界面,便于對系統(tǒng)相關波形及參數(shù)的觀察和調試。本系統(tǒng)的調試模塊采用RS-232串口通信,其最遠傳輸距離可達到50英尺,最高傳輸速率是20Kbps.能做到雙向傳輸,全雙工通信。因為RS-232上傳輸?shù)臄?shù)字量采用負邏輯,只與地對稱,所以與單片機連接時需要加入電平轉換芯片MAX232.
4.系統(tǒng)軟件設計
系統(tǒng)軟件使用C語言編寫而成,采用模塊化設計思想,以主程序為核心,設計了單片機初始化模塊、平衡控制模塊、速度控制模塊、轉向模塊、串口發(fā)送模塊、液晶顯示等模塊。
4.1 系統(tǒng)主函數(shù)
系統(tǒng)進入工作狀態(tài)時主函數(shù)首先進行系統(tǒng)初始化、發(fā)送系統(tǒng)相關參數(shù)到上位機、液晶顯示、讀取小車傾角參數(shù)等功能。初始化工作結束后便等待各個中斷函數(shù)的執(zhí)行。主程序流程圖如圖5所示。
4.2 中斷函數(shù)
陀螺儀相關文章:陀螺儀原理
pid控制相關文章:pid控制原理
單片機相關文章:單片機教程
單片機相關文章:單片機視頻教程
單片機相關文章:單片機工作原理
pid控制器相關文章:pid控制器原理
加速度計相關文章:加速度計原理 脈寬調制相關文章:脈寬調制原理
評論