尹洪波
(哈爾濱自動化儀表研究所,黑龍江 哈爾濱 150020)
ATmega16產品特性
高性能、低功耗的8位AVR微處理器;先進的RISC結構;非易失性程序和數據存儲器;JTAG接口 (與IEEE1149.1標準兼容);通過JTAG接口實現對Flash、EEPROM、熔絲位和鎖定位的編程;外設特點
-兩個具有獨立預分頻器和比較器功能的8位定時器/計數器
-一個具有預分頻器、比較功能和捕捉功能的16位定時器/計數器
-具有獨立振蕩器的實時計數器RTC
-面向字節的兩線接口
-兩個可編程的串行USART
-可工作于主機/從機模式的SPI串行接口
-具有獨立片內振蕩器的可編程看門狗定時器
特殊的處理器特點
-上電復位以及可編程的掉電檢測
-6種睡眠模式:空閑模式、ADC噪聲抑制模式、省電模式、掉電模式、Standby模式以及擴展的Standby模式
I/O和封裝
-32個可編程的I/O口
-40引腳PDIP封裝,44引腳TQFP封裝,與44引腳MLF封裝
工作電壓:
-ATmega16L:2.7-5.5V
-ATmega16:4.5-5.5V
速度等級
-0-8MHzATmega16L
-0-16MHzATmega16
ATmega16L 在 1MHz,3V,25°C 時的功耗
-正常模式:1.1mA
-空閑模式:0.35mA
-掉電模式:<1μA
ATmega16是基于增強的AVRRISC結構的低功耗8位CMOS微控制器。由于其先進的指令集以及單時鐘周期指令執行時間,ATmega16的數據吞吐率高達1 MIPS/MHz,從而可以緩減系統在功耗和處理速度之間的矛盾。
引腳說明
VCC 數字電路的電源
GND 地
端口A(PA7..PA0)/端口B(PB7..PB0)
端口A/B做為A/D轉換器的模擬輸入端。端口A為8位雙向I/O口。其輸出緩沖器具有對稱的驅動特性,可以輸出和吸收大電流。
端口C(PC7..PC0)/端口D(PD7..PD0)
端口C/D均為8位雙向I/O口,具有可編程的內部上拉電阻。
RESET
復位輸入引腳。持續時間超過最小門限時間的低電平將引起系統復位。持續時間小于門限間的脈沖不能保證可靠復位。
XTAL1
反向振蕩放大器與片內時鐘操作電路的輸入端。
XTAL2
反向振蕩放大器的輸出端。
AVCC
AVCC是端口A與A/D轉換器的電源。不使用ADC時,該引腳應直接與VCC連接。使用ADC
時應通過一個低通濾波器與VCC連接。
AREF
A/D的模擬基準輸入引腳。
綜上所述,ATmega16單片機是ATMEL系列中,功能齊全多樣,且價格較低的產品,其多樣的引腳,強大的處理功能,以及較高的FLASH,數萬次的擦寫,奠定了其在電動車控制系統中不可動搖的地位。
硬件原理簡圖如下所示

如上圖所示
在硬件設計中,采用的貼片封裝較多,這樣不僅有利于縮小控制電路板的空間,更有利于散熱及抗干擾等。
電路中,首先用LM2576S電源芯片搭接成系統的電源電路,共給單片機供電及驅動繼電器控制系統中輸出的結點信號均用三極管驅動繼電器輸出,提高了單片機的驅動能力,并可利用繼電器將ATmega16芯片與外界隔離,起到了保護作用,并且每一個輸入與輸出均用LED燈進行指示。
在輸入方面,利用TLP521光隔芯片,配合上拉電阻,當外部信號輸入時,將單片機相應引腳電位拉低,單片機檢測到管腳的電平變化,進行相應計算和處理。
其次,利用了單片機的通訊口搭接了一個基于RS485通訊的通訊電路,可以外接一個通用的顯示器,起到數字顯示的作用。
系統的控制流程如下
系統上電初始化——檢測電池電壓——(不合格報警輸出)——合格繼續檢測各控制回路——(不合格報警輸出)——合格繼續檢測手把按鈕輸入——(不合格返回重新檢測)——執行相應按鈕動作——檢測剎車信號——停車
當系統上電時,首先檢測電池電壓是否符合要求,即是否為額定電壓,若低于正常值,則由單片機控制三極管驅動繼電器輸出聲光報警,提醒駕駛員電池電量低,不能正常工作,若電池電壓符合要求,則繼續進行檢測各個控制回路是否正常,以保證在后續的行車過程中,能夠準確無誤的執行駕駛員給出的指令,檢測回路若不正常,則輸出聲光報警,并返回上一級,繼續檢測,直到檢測正常為止。
當各項檢測均正常之后,系統開始實時掃描各輸入端口,輸入即為電動車手把上的各個按鈕,如啟動、喇叭、加速等,系統檢測指令后根據相應的程序執行動作,并根據電動車上的霍爾速度傳感器的速度輸入值通過通訊接口發送給液晶顯示器,告知駕駛員目前的車速,以及電池電量等相關信息。由于行車以安全為主,當檢測到剎車指令時,系統會立即執行剎車命令。
在這里,霍爾傳感器安裝在電機內部,是一種電磁感應式傳感器,它根據探頭與被測體上安裝的磁源,根據磁場的變換產生電動勢,經過處理后輸出轉速信號,在由低通濾波器后引入到單片機的管腳,這樣可以有效的避免雜波的干擾低通濾波器的選取要盡可能的濾掉雜波干擾,又要考慮其對轉速信號的影響,以盡快達到ATMEG16輸入口的門限電壓(即2~3V),這樣才符合實時采集的要求。在這里,當輸入由低轉高時,總電阻為5.5Kohm,電容為0.1uf,經過計算,輸入電壓上升到3V的時間是0.3ms,而在轉速最大時單相霍爾傳感器的輸出頻率是140Hz,即其輸出的周期是7ms,符合要求。
如上介紹的是基于ATmega16單片機的電動車控制系統設計,充分利用了單片機豐富的片內資源,高效的運算處理能力,大大簡化了硬件結構。系統總體設計本著簡潔、實用、可靠的原則。希望該系統的設計對讀者能有一定的幫助和借鑒。
[1]劉海成.AVR單片機原理及測控工程應用.北京航空航天大學出版社.2008(3).
[2]張俊.匠人手記-一個單片機工作者的實踐與思考[M].北京,北京航空航天大學出版社,2008.
[3]海濤.Atmega系列單片機原理及應用-C語言教程.機械工業出版社.2008(1).
[4]于微波,林曉梅,劉俊萍.微型計算機控制系統.第一版.吉林人民出版社.2002.
[5]何克中.計算機控制系統.清華大學出版社.1998.(4).