摘要:介紹了一款具有智能循跡、自動避障等功能的智能小車的制作方法。該小車的車體由光電傳感模塊、L298N電機驅動模塊、電源穩(wěn)壓模塊、Atmegal6L單片機控制模塊組成,可用于無人駕駛、自動探測等人工智能領域。
關鍵字:電機驅動;A/D采樣;PID控制;PWM
O 引言
自工業(yè)革命以來,隨著電氣的發(fā)展,人類進入了文明的新階段。機器人已經廣泛用于工業(yè)、農業(yè)、服務業(yè)、軍事、機械、交通、航天航空等領域。智能機器人水平的不斷提高,大大提高了勞動效率,減輕了勞動強度。機器人與人類并肩作戰(zhàn),在征服自然,改造自然地過程中發(fā)揮著重要作用。
智能小車是集理論力學、機械結構、數字電路、模擬電路、傳感器、單片機、控制理論和算法等多門學科為一體的綜合系統(tǒng),其內容涵蓋機械、電子、自動控制原理、計算機、傳感技術等多個學科和領域。
本文設計的基于ATmagel6L的智能小車就是要求其從起跑線出發(fā),然后通過自身自動調整向角和車速,使其自動沿著一條黑色引導線行駛。
1 智能小車的硬件設計方案
本智能小車控制系統(tǒng)的結構如圖1所示。其中的Atmegal6L單片機是智能小車的控制模塊,它是高性能、低功耗的8位AVR微處理器,采用先進的RISC結構,具有16K字節(jié)的系統(tǒng)內可編程Flash和512字節(jié)的EEPROM。工作于16 MHz時,其性能高達16 MIPS,并具有32個可編程通用I/0口和用于邊界掃描的JTAG接口,基本都能夠滿足設計要求。電路穩(wěn)壓模塊輸入12 V電壓。經過穩(wěn)壓電路后可得到9 V、5 V兩種電壓,其中9 V電壓用于電機驅動模塊的工作電壓,5 V電壓則用于單片機的工作。圖2所示是RPR220光電傳感模塊的電路圖,光電傳感是由10個RPR220型光電對管組成。RPR220是一種一體化反射型光電探測器,其發(fā)射器是一個砷化鎵紅外發(fā)光二極管,而接收器則是一個高靈敏度的硅平面光電三極管。L298N的INPUT、OUTPUT兩端口用于提供穩(wěn)定的電壓以使電機轉動。
1.1 光電傳感模塊
圖2所示是本系統(tǒng)中光電傳感模塊的電路圖。尋線路徑一般是刻在白色平面上的3 cm的黑線,小車沿著黑線循徑,當檢測到白線,即二極管發(fā)出的光被白線反射回來時,光電對管中的三極管導通,比較器6號端口輸入為低電平,經過比較器后,7號端口輸出為高電平。當檢測到黑線時,光被吸收,光強度減弱,光電對管中的三極管不導通,比較器6號端輸入為高電平,7號端輸出為低電平。通過PC端口將高低電平(l和0)反饋給單片機后,經單片機處理后可用于調整車頭的轉向,以使黑線剛好在10個光電探頭的中間,從而使小車平穩(wěn)前進。在7號端串一個0.1μF的電容再接地,這樣,經過濾波后進入到單片機中的方波就非常完美。將這個光電管與碼盤相連,通過光電管不斷掃描碼盤格數,這樣,當碼盤轉動且轉速較低時,6號端的信號就可變?yōu)轭l率與轉速一一對應的方波。但是,當碼盤速度很快時,6號端信號將變?yōu)轭l率與轉速一一對應的正弦信號。放大器LM324可用作比較器,可將6號端處的正弦信號與基準電壓進行比較后,然后將在7號端產生頻率與轉速一一對應的方波,單片機采集此信號后,即可根據公式計算出直流電機的各個參數,從而精確地控制小車的轉向與位移。
1.2 電機驅動模塊
圖3所示是L298N驅動模塊的電路連接圖。L298N作為電機驅動芯片,是一款高電壓大電流全橋驅動芯片,它的頻率高,可控制兩個直流電機,而且具有控制使能端,工作電壓可通過4、9引腳分別輸入9 V、5 V電壓。ENA、ENB引腳是兩個使能端口,而INT、OUT則為電機驅動引腳,通過改變OUT端的邏輯電平可控制電機的正、反、停止狀態(tài),表1所列是直流電機控制邏輯。L298N的5、6、7、10、ll、12六個引腳可直接與單片機的PD端口相連,而通過對單片機的編程則可以實現(xiàn)直流電機PWM調速。
采用Atmel公司的Atmegal6L單片機可對小車進行控制,該單片機具有32個功能強大的可編程I/O接口和4個PWM通道,并具有八路十位ADC,可對小車進行實時控制。該單片機的PC0~PC7八個端口可與光電傳感模塊的八個光電探頭相連。設探頭檢測的邏輯實際值為P,假定值N,車輪的運動狀態(tài)分別為forward-move、right-move、leftmove、hard-right-move、hard-left-move,通過對實際值P與假定值N(0b0011-1100)的比較,可得出如表2所列的Atmegal6L單片機的控制模塊參數表,其中x為無關項。設計時,可將Atmegal6L的PD2~PD3分別連接帶碼盤的兩個光電對管,以用于精確測量車輪的轉向與位移;PD5和PD4可分別連在電機驅動模塊的使能端ENA和ENB。PDl、PD0、PD6和PD7分別于電機驅動模塊的INl、IN2、IN3、IN4相連,INl、IN2口一般用于PWM的輸入,以便利用PWM調速法,即由單片機輸出一系列頻率固定的方波,并通過功率放大器來驅動電機,再通過單片機編程來改變輸出方波的占空比,這樣就可改變加在電機上的平均電壓,從而改變電機的轉速。
2 智能小車的軟件設計方案
基于AVR單片機和C語言編程的系統(tǒng)軟件流程圖如圖4所示。
3 結束語
本文著重討論了光電傳感器、單片機控制和穩(wěn)壓器原理及這幾個模塊之間的相互溝通與協(xié)調關系,本系統(tǒng)采用便宜的紅外對管,并以具有強大功能的ATmagel6L單片機為主控制器,同時以L298N驅動芯片通過C語言程序編寫調試軟件,從而完成了能夠智能循跡、自動避障、結構模塊化、抗干擾能力強的智能小車的設計。該系統(tǒng)通過對小車的調試,能夠使小車成功平穩(wěn)地在任意給定的黑線上行駛,而且循跡效果很好,運行十分平穩(wěn),同時速度也很快,而且在拐彎處不會因速度大而產生離心現(xiàn)象。
智能小車在軍事、民用、科研、航天探測領域已得到廣泛的應用,它的發(fā)展與自動控制、單片機開發(fā)、控制算法的優(yōu)化和微機存儲處理速度有著密切的關系,很值得進一步的研究與探索。