基于ATmega16的智能小車控制系統(tǒng)設計
引言
當前的電動小車基本上采取的是基于純硬件電路的一種開環(huán)控制方法,這種電動小車雖然也具有直線行駛、前進、后退、轉彎、停車等基本功能,但在某些特殊場合,電動小車卻無法采集到自動化控制領域的有用信息。在這種情況下,就需要開發(fā)用于自動化控制領域的智能小車。為此,本文以ATmega16單片機為控制核心,用RF2401無線收發(fā)模塊進行遙控通信,同時用DS18B20進行溫度檢測,并采用超聲波等傳感器材來檢測信號和障礙物,最后利用單片機的串口資源和運算、處理能力,開發(fā)設計了一種智能控制系統(tǒng),從而實現(xiàn)了小車的測溫、躲避障礙物等功能。
1總體方案及器件的選取
1.1總體方案
本系統(tǒng)以單片機為核心,增添其他外圍設備,如雙電源模塊、超聲波探測器、顯示模塊、無線收發(fā)模塊等,以兩個直流電機經(jīng)過減速箱作為驅動,通過主控單元來處理傳感器上信號,處理數(shù)據(jù)后完成相應的操作,以實現(xiàn)相應的功能。小車總體設計方案如圖1所示。
圖1 小車總體設計方案
1.2器件的選取
本設計的車體設計由筆者制作。主控芯片采用Atmel公司推出的高性能、高速度、低功耗的ATmega16AVR單片機作為電動車的主控制芯片;電機選擇使用控制方法較為簡單的直流減速電機作為電動車的驅動電機;電機驅動選擇可直接對電機進行控制,而無須隔離電路的L298N作為電機驅動芯片。
系統(tǒng)無線收發(fā)模塊采用Nordic公司能滿足較大傳輸速率無線通信需求的NRF24L01芯片;對于電源的處理,本設計采用2節(jié)鋰電池12V來驅動電機芯片,然后用7805穩(wěn)壓管來形成5V電壓給單片機供電,無線傳感器NRF24L01的電源用3.3V電壓提供。
2硬件實現(xiàn)2.1ATmega16單片機
AVR單片機是Atmel公司推出的較為新穎的單片機,其顯著的特點為高性能、高速度、低功耗。而ATmega系列是AVR單片機中的高端產品。單周期可執(zhí)行本指令功能,同時完成下一條指令的讀取。通常時鐘頻率用6~16MHz,故最短指令執(zhí)行時間為250~125ns。還有I/O第二功能,內部有時鐘電路、10BitAD功能,片內資源很豐富。
2.2ATmega16最小系統(tǒng)圖
ATmega16單片機的最小系統(tǒng)如圖2所示。最小系統(tǒng)主要包括晶振電路、電源電路、復位電路等。
2.3電機驅動部分
該模塊主要由L298芯片來控制兩個電機的正反轉,以及改變電機的轉速。L298芯片是一種高壓、大電流雙全橋式驅動器。其中,SENSEA、SENSEB分別為兩個H橋的電流反饋腳,不用時可以直接接地。VCC、VS接電源引腳,電壓范圍分別是4.5~7V、2.5~46V,設計中VCC端與單片機電源端共用5V工作電源,VS端獨立地接9V電源。ENA、ENB為使能端,低電平禁止輸出。IN1、IN2、IN3、IN4為數(shù)據(jù)輸入引腳,OUT1、OUT2、OUT3、OUT4為數(shù)據(jù)輸出引腳。根據(jù)L298N的引腳和輸出引腳的邏輯關系,將IN1、IN2經(jīng)過非門連接,IN3、IN4經(jīng)過非門連接,即IN1和IN2永遠是相反的,一高一低,IN3、IN4也一樣,通過改變ENA、ENB就能分別改變左右輪的速度。
在SENSEA、SENSEB端輸出采集電壓信號,再經(jīng)過LM358運放放大,送給ADC處理,即可得到電機的工作電流,具有過流保護功能。圖3所示為系統(tǒng)電機驅動電路和電流檢測電路。
2.4穩(wěn)壓電源部分和外接傳感器部分
設計時,可采用7805穩(wěn)壓芯片為電路提供穩(wěn)定的5V電壓,1117芯片為電路提供3.3V電壓。由于本系統(tǒng)的電源電路比較簡單,而且應用也比較廣泛,所以本文就不詳細介紹了。
系統(tǒng)中的傳感器包括溫度傳感器DS18B20、霍爾元件速度傳感器等,其電路都比較簡單。因此,只需在電路板上預留3線接口,即電源、接地、數(shù)據(jù)。
2.5顯示部分
本系統(tǒng)使用LCD12864作為電路顯示元件,LCD12864有20個引腳,圖4所示是LCD12864的驅動電路圖。
本設計采用8位數(shù)據(jù)線并行口方式驅動,三根控制線為RS(命令/數(shù)據(jù)選擇)、R/W(讀/寫控制)、EN(使能端),背光通過三極管驅動,采用PWM來控制背光亮度。
3小車程序設計
小車程序設計時,首先進行端口初始化,然后進行PWM初始化,再NRF24L01初始化,將NRF24L01設為接收狀態(tài)。收到命令,則執(zhí)行小車的相應函數(shù),否則,采集傳感器數(shù)據(jù)。然后設置NRF24L01為發(fā)射狀態(tài),以發(fā)送數(shù)據(jù)。發(fā)送完畢,再將NRF24L01設置為接收狀態(tài)。圖5所示是其系統(tǒng)主程序流程圖。
圖5 軟件設計主程序流程圖
4結語
目前,市面上尋跡的、避障的,多傳感器數(shù)據(jù)融合等基于單片機編程的智能小車已經(jīng)發(fā)展開了,用于玩具、大學生實踐比賽、工業(yè)數(shù)據(jù)檢測,以及用于生活的智能電動小汽車也已有了一定發(fā)展,在充滿環(huán)保、節(jié)能、科技的未來社會,智能小車的應用將無處不在。
本課題主要研究了多功能智能小車的技術,多功能智能小車的研制課題涉及到機械電子、傳感器技術、驅動控制技術、人工智能等多個領域的研究及技術融合。本課題研制的演示系統(tǒng)高度的智能化、人性化,并且具備良好的安全性和環(huán)保性。
20211020_6170329ac29a3__基于ATmega16的智能小車控制系統(tǒng)設計