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