基于模塊化控制的多功能智能小車設計
由于使用了硅光電池采樣方案,系統的靈敏度可以被有效調節。程序設定只有當采樣電壓達到了某一規定值時,才來比較三路采樣電壓。調整這一規定電壓值就可以改變系統的趨光靈敏度了,根據環境設定合適的規定值就能較好的避開環境光的干擾。
1.6 測距模塊
在電機的轉軸上安裝兩塊小磁鐵,并將霍爾傳感器固定在轉軸正上方的車身上,當電機轉動,磁鐵經過霍爾元件時,霍爾傳感器的輸出端就會產生電頻跳變,通過記錄電頻跳變的次數N,即可根據行駛距離公式L2=(N × 2πR)/ 2 測量出小車行駛的距離。其中R表示車輪半徑。所測距離可通過液晶屏顯示出來。
2 軟件設計
在硬件設計基礎上,通過在單片機中燒寫程序來控制小車功能的實現。本系統中采用模塊化控制方法,將各個獨立的功能作為一個獨立的子程序,在主程序中按照邏輯順序來調用各子程序。這樣使得程序條理清晰,提高了程序的執行效率,也便于程序修改和調試,主程序設計流程如圖2所示。
如循跡模塊中所述,在程序1 中,采用模糊控制算法,控制小車沿著軌道行駛,不至于失控。子程序2判斷小車與障礙物間的距離,控制小車轉彎避障。子程序3 根據硅光電池采集的光照強度,控制小車左右輪轉動,確保小車進庫成功。程序采用動態掃描,實時監測,使得小車一直處于動態調整中。
3 實物測試及結果分析
為了測試小車的性能,按照比賽要求為小車設計了如圖3所示的小車賽道。測試地點選擇在四周較開闊、自然光較弱的地方,小車從起點沿著黑色的牽引線行走,離開牽引線后避開障礙物,開始趨光進庫。在牽引線下方放有若干枚用于檢測的硬幣,小車經過時檢測到硬幣并報警,將記錄的硬幣個數顯示到液晶屏上。
由于在尋跡模塊的硬件設計中加入了靈敏度調節,并在軟件設計中采取了模糊控制算法,因此,小車尋跡測試結果比較理想,能按照設計路線行駛。測試結果如表1所示。
在避障模塊中,由于超聲波模塊對反射物體的形狀和表面積都有要求,當放置的障礙物不滿足要求時,就會接收不到反射信號,造成避障失敗。同時在測試時周圍還站有人,也能形成反射源,對測試造成干擾。測試結果如表2所示。表3所示為趨光模塊測試結果。
趨光模塊采用硅光電池采樣,具有連續可變的無極比較,比目前廣泛使用的光敏電阻只比較高低電平更靈敏精確,從而提高了系統的準確性。但同光敏電阻一樣自然光的影響不能完全避免,因此仍然不能達到100%的準確。
4 結語
本系統使用一片8 位單片機,采用模塊化設計思想,實現了智能小車多功能的設計。設計時將多種傳感器綜合到一個系統中,并把采集到的多路信號送入單片機進行分析處理、作出判斷。
同時,系統還設計了友好的人機交換界面,可方便地讀出檢測到的金屬片數量、行駛路程和行駛時間。由于運用模塊化控制方法,各模塊相互影響較小,因此還可對系統進行二次開發,在本系統上增加更多模塊,實現其他擴展功能,例如在系統上增加語音芯片,可實現語音播報功能;加上攝像頭和無線模塊可實現小車的探測功能等
pwm相關文章:pwm是什么
蜂鳴器相關文章:蜂鳴器原理
評論