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