智能小車-無線控制_第1頁
智能小車-無線控制_第2頁
智能小車-無線控制_第3頁
智能小車-無線控制_第4頁
智能小車-無線控制_第5頁
已閱讀5頁,還剩69頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、智能小車無線控制系統 摘 要本文設計一個無線智能小車控制系統,系統分為上位機與下位機兩部分,分別以單片機STC89C52作為主控芯片。上位機集成了USB和nRF905兩個模塊,通過USB接口與上位機(通用計算機)相連,接收由上位機傳來的控制信息(例如:前進、后退、左轉、右轉),利用nRF905無線發射模塊、無線接收模塊,將該控制信息經過nRF905無線傳輸技術433MHz發射出去;并通過nRF905接收器接收遙控器的控制信號,再將信號傳給小車電機并作出相應動作。本設計主要由電機USB傳輸模塊、單片機處理模塊、無線發射模塊和無線接收模塊四部分組成。該無線遙控小車的功能如下:能夠在有障礙物的情況下

2、實現150米內的無線遙控;實現前進、后退、左轉、右轉,溫度信息的采集并對采集信息處理等功能。然后將處理后的數據傳送至PC端,并通過VB程序顯示在屏幕上。關鍵詞:微控制器;無線傳輸技術;上位機;USB;控制器AbstractThe design adopts a wireless system with car controller STC 89C52 microcontroller as the main control chip. This controller concluded nRF905 and USB modules. The controller connects PC mach

3、ine (general purpose computer) through general USB interface, and receives controlling information (forward, backward, left, right) from the computer. The thesis adopts wireless remote-controlling module consisting of wireless sending module and wireless receiving module. It sends the controlling in

4、formation out by the nRF905 wireless technology. After receiving the controlling signal , the nRF905 receiver sends it to motor car and takes action accordingly. This system mainly consist of motor USB transmission module, single chip micro processing module, wireless transmitting module and wireles

5、s receiving modules. The wireless remote controlling of the car functions are as follows: under the condition of the obstacles, it can complete 150 meters of wireless remote control. The car can go forward, backward, left, and right. In addition, the little car collect some information else, such as

6、 the temperature. Then the related datas and information have been send back to the PC. The collected information is displayed by the VB program.Keywords: MCU; wireless transmission technology; PC ;USB;Controller引 言自動化是人類文明進步和現代化的標志,特別是在當今信息時代,在我國由制造大國向制造強國轉變的過程中,智能控制與自動化技術正廣泛應用于工業、農業、軍事、交通運輸、醫療、服務和

7、家庭方面,改變著社會各人們的生活。今天,利用無線電波傳送聲音和圖像節目的廣播和電視,已經深入到社會生活的各個角落,成為億萬人民的伴侶。利用無線電波可以傳播信號的這一特性,無線電遙控技術應運而生。無線電遙控就是利用電磁波在遠距離上,按照人們的一致實現對物體對象的無線操縱和控制,這種無線控制的方式就叫做無線電遙控1。無線電遙控技術發展雖然只有幾十年的歷史,但是在軍事,國防,工農業生產以及科學技術等方面已得到了廣泛的應用,并且隨著電子技術的飛速發展,新型大規模遙控集成電路的不斷出現,使得遙控技術有了日新月異的發展2。遙控裝置的中心控制部件已從早期的分立元件、集成電路逐步發展到現在的單片微型計算機,智

8、能化程度大大提高。近年來,遙控技術在工業生產、家用電器,安全保衛以及人們的日常生活中使用越來越廣泛,并成為發達國家研究的熱點。無線遙控小車是上世紀提出的一種新型小車,由于在軍事偵察、反恐、防爆、防核化及污染等危險與惡劣環境作業中有著廣闊的應用前景,使其成為一個重要的研究熱點3。無線遙控小車具有體積小、成本低、生存能力強、運動靈活等特點。由于其應用場合特殊,所以特別要求這類小車重量輕、體積小、能耗低、實時性好、操作使用可靠。依據無線遙控小車系統的總體結構,整個小車系統由移動平臺、車載控制系統、遙控系統和傳感檢測四大部分組成。從系統總體來看,無線遙控小車有近端操作人員,遠端移動小車和運行環境場所構

9、成,由此構成了人小車環境三者相互緊密聯系的一個整體。操作人員在遙控作業端根據作業任務的要求,通過遙控操作平臺的人機交互接口,借助反饋信息控制小車完成特定的作業任務。操作人員依據終端反饋的信息,根據特定作業任務的要求發送操作與控制指令信息,控制無線遙控小車的前進、后退、轉向、加速和減速。1 系統方案設計1.1總體方案設計1.1.1設計任務設計一個無線小車的控制系統,此控制系統可以通過USB接口與無線模塊相連,并通過無線模塊來控制無線小車進行前進、后退、左轉、右轉、采集信息等操作。本設計預期要研究的主要問題有:(1)如何實現USB口與串口間的轉換。(2)如何實現無線傳輸模塊的接收與發送。 (3)如

10、何通過編程實現控制系統的各項功能。(4)如何實現下位機小車的行進。(5)如何實現溫度、濕度信息的采集。(6)如何設定通信協議。1.1.2設計原理系統以C51單片機作為主控芯片,移動控制平臺上的單片機通過USB轉串口模塊連接上位機的USB口,接收控制信息(例如:前進、后退、左轉、右轉等),并將該控制信息經過編碼和調制之后,通過無線傳輸模塊實現無線發送、接收操作指令,將控制信號發送出去供小車接收,并作出相應動作。1.2方案選擇與論證1.2.1單片機處理模塊方案1:8051是在8031的基礎上,片內又集成有4KB ROM,作為程序存儲器,是1個程序不超過4KB的小系統。ROM內的程序是公司制作芯片時

11、,代為燒制的,出廠的8051都是含有特殊用途的單片機4。所以8051應用在程序已定,且大批量生產的單片機產品中,8051是具有MCS-51內核的各種型號單片機的基礎,也是各種增強型,擴展型等衍生品種的核心,使用簡單,可以根據自己的需要擴展外部接口。方案2:AT89C51是一種帶4K字節閃爍可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復擦除100次。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業標準的MCS-51指令集和輸出管腳相兼容。將多功能8位CPU組合在單個芯片中,三級程序存儲器鎖定,0Hz-24MHz,128×8位內部RAM,32條可編程I/O線,

12、兩個16位定時器/計數器,5個中斷源,可編程串行通道,低功耗的閑置和掉電模式,片內振蕩器和時鐘電路,ATMEL的AT89C51是一種高效微控制器。AT89C51單片機為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。方案3:Cypress公司的EZ-USB FX2單片機CY7C68013是一款性能較高的USB2.0控制器5。在芯片上集成了USB和C51內核兩個模塊,由USB收發模塊進行數據字節傳輸,功能強大的USB內核自動完成USB協議的轉換,大大簡化了8051代碼。芯片集成了USB外設接口的硬件,包括非易失存儲器(EPROM、EEPROM、FLASH、ROM)、微處理器、RAM、SIE(串

13、口接口引擎)、DMA等全部功能模塊。集成工業標準的8051內核,具有以下增強特性:高達48MHz的時鐘;每條指令四個時鐘周期;兩個UART;三個計數器/定時器;擴展的中斷系統;兩個數據指針;3.3V電源;矢量USB中斷;8051可工作在48MHz、24MHz、12MHz三種時鐘頻率;四個集成FIFO,可以同16位總線進行自動轉換;可工作在主/從模式;FIFO可使用外部提供的時鐘或異步選通信號;為ASIC和DSP提供方便的接口;為FIFO和GPIF設計的專門自動中斷矢量;最多可有40個通用目的I/O。改進增強的8051內核,性能可達到標準8051的5-10倍,指令系統與8051完全兼容。USB內

14、核為USB設備開發者完成協議中大部分的通信工作,使開發者不需要深入了解USB的低級協議即可順利開發出所需要的USB設備。綜上所述:方案1可以大大簡化設計難度,所以采用方案1。1.2.2 USB傳輸模塊方案1:CP2101及其升級產品CP2102是美國Silicon公司生產的高集成度USB-UART橋接電路6。它們能夠用最簡單的外部電路、最少的外部器件及最小的電路板面積簡便實現USB2.0到UART的轉換。該電路的集成度高,內置USB2.0全速功能控制器、USB收發器、晶體振蕩器、EEPROM及異步串行數據總線(UART),支持調制解調器全功能信號,無需任何外部的USB器件。功能強大,采用MLP

15、-28封裝,尺寸僅為5mm×5mm,占用空間非常小。與其他USB-UART轉接電路的工作原理類似,CP2101通過驅動程序將PC的USB口虛擬成COM口以達到擴展的目的。虛擬COM口(VCP)的器件驅動程序允許一個基于CP2101的器件以PC應用軟件的形式作為一個增加的COM口獨立于任何現有的硬件。COM口使用運行在PC上的應用軟件以訪問一個標準硬件COM口的方式訪問基于CP2101的器件,PC與CP2101間的數據傳輸是通過USB完成的,因此,無需修改現有的軟件和硬件就可以通過USB向基于CP2101的器件傳輸數據。CP2101的體積雖小但功能非常強大,其主要特性如下:內含USB收

16、發器,無需外接電路器;內含時鐘電路,無需外接振蕩器; 內含上電復位電路; 片內電壓調節可輸出3.3V電壓; 符合USB2.0規范的要求(12Mb/s); SUSPEND引腳支持USB狀態掛起; 內含512字節接收緩沖器和512字節發送緩沖器; 支持硬件或X-On/X-Off握手; 支持事件狀態。 方案2:FT2232C是一款USB到UART/FIFO的轉換電路,是FTDI公司繼第二代FT232BM、FT245BM之后的第三代產品,集成了兩片BM芯片的功能7。電路要用48-LD LQFP封裝。FT2232C具有兩個多用途的UART/FIFO控制器,可分別配置成不同的工作模式。一個USB下游端口轉

17、換成兩個I/O通道,每個I/O通道相當一個FT232BM或FT245BM,可以單獨配置成UART接口或者FIFO接口。通過對外掛EEPROM的配置,FT2232C還提供一系列新的操作模式,如多協議同步串行機接口,這是專為同步串行協議如JTAG和SPI總線設計的。還有同步位寬模式、CPU風格的FIFO模式、多協議同步串行機接口模式、MCU主機總線競爭模式及快速光隔離串行機接口模式等。此外,該電路的驅動能力有很大提高,能夠輸出較之通常電路3倍的功率,這使得多個電路可能共享總線。使用FTDI公司提供的虛擬串口(VCP)驅動,對外圍接口的使用就像使用PC的標準串口一樣。 FT2232C的特點:只需添加

18、簡單配置電路,便可實現串/并口的轉換; 芯片上集成了全部USB協議,不需要另外編寫USB固件程序; 2個I/O通道相互獨立,可配置成2個5V邏輯I/O接口; UART接口支持7或8位數據位,1/2位停止位,奇校驗/偶校驗/標志位/空位/無奇偶校驗; 發送數據速率3001Mb/s(RS-232)3Mbs; 接口模式和USB描述字符可在外部EEPROM中進行配置,還可以在板子上通過USB對EEPROM進行配置; 4.35V5.25V的單電壓工作范圍。 方案3:PL2303是Prolific公司生產的高集成的RS232-USB接口轉換器,可提供一個RS232全雙工異步串行通信裝置與USB功能接口便利

19、聯接的解決方案。該器件內置USB功能控制器、USB收發器、振蕩器和帶有全部調制解調器控制信號的UART,只需外接幾只電容就可實現USB信號與RS232信號的轉換,能夠方便嵌入到各種設備,該器件作為USB/RS232雙向轉換器,一方面從主機接收數據并將其轉換為RS232信息流格式發送給外設;另一方面從RS232接收數據轉換為USB數據格式傳送回主機。這些工作全部由器件自動完成,PL2303的高兼容驅動可在大多操作系統上模擬成傳統COM端口,并允許基于COM端口應用可方便地轉換成USB接口應用,通訊波特率高達6Mb/s。在工作模式和休眠模式時都具有功耗低,是嵌入式系統手持設備的理想選擇。該器件具有

20、以下特征:完全兼容USB1.1協議;可調節的35V輸出電壓,滿足3V、3.3V和5V不同應用需求。 PL2303的特點: 完全符合USB規范2.0(全速兼容); 片內擁有USB1.1收發器,5V轉3.3V的穩壓器; 支持RS232這樣的串行接口; 全雙工發送器和接收器(TxD和RxD); 六個引腳(RTS,CTS,DTR,DSR,DCD和RI); 寬廣的流量控制機制; 支持從遠程輸入相關調制信號進行喚醒功能;兩個通用的I/O(GPIO)引腳;綜上所述:PL2303最便宜只要3人民幣,外圍電路也不復雜,所以選擇PL2303來作此次設計。1.2.3無線傳輸模塊方案1:紅外接口是新一代的配置標準,它

21、支持數字設備進行數據交流。紅外通訊有著成本低廉、連接方便、簡單易用和結構緊湊的特點,因此在小型的移動設備中獲得了廣泛的應用。通過紅外接口,各類移動設備可以自由進行數據交換。紅外線是波長在750nm至1mm之間的電磁波,它的頻率高于微波而低于可見光,是一種人的眼睛看不到的光線。(1)紅外傳輸的優點可以再同樣具備紅外接口的設備間進行信息交流;紅外接口可省去下載或其他信息交流所發生的費用;由于需要對接才能傳輸信息,安全性較強。(2)紅外傳輸的缺點通訊距離短,通訊過程不能移動,遇障礙物通訊中斷; 紅外通訊技術的主要目的是取代線纜連接進行無線數據傳輸,功能單一,擴展性差。方案2:藍牙(Bluetooth

22、)技術是愛立信、IBM等5家公司在1998年聯合推出的一種短距(10100米)無線網絡技術。它將各種通信設備、計算機及其終端設備、各種數字數據系統、甚至家用電器采用無線方式聯接起來。 (1)藍牙傳輸的優點支持語音和數據傳輸;采用無線電技術,傳輸范圍大,可穿透不同物質以及在物質間擴散。采用跳頻展頻技術,抗干擾性強,不易竊聽。在各國都不受頻譜的限制,理論上說,不存在干擾。 (2)藍牙傳輸的缺點傳輸距離短,目前我們所用的藍牙一般為10米功率級別。也就是說只能在方圓十米之內進行數據之間傳輸。傳輸速度慢。目前藍牙的峰值帶寬只能達到3Mb/s。 方案3:nRF905三頻段收發合一,抗干擾能力強,特別適合工

23、業控制場合采用DSS+PLL頻率合成技術,頻率穩定性極好靈敏度高,-100dBm低工作電壓(2.7V),功耗小,待機狀態僅為1uA,可滿足低功耗設備的要求最大發射功率達+10dBm具有多個頻道(最多170個以上),特別滿足需要多信道工作的特殊場合工作速率最高可達76.8Kbps 外圍元件最少(僅10個),基本無需調試。由于采用了低發射功率、高接收靈敏度的設計,使用無需申請許可證,開闊地的使用距離最遠可達1000米,具體使用環境及元件參數有關8。 nRF905的優點9:433Mhz開放ISM頻段免許可證使用;接收發送功能合一,收發完成中斷標志;170個頻道,滿足多點通訊和跳頻通訊,實現

24、組網通訊; 內置硬件8/16位CRC校驗,開發簡單,數據傳輸可靠; 工作電壓1.9-3.6V,低功耗,待機模式僅2.5uA; 收發模式切換時間<650us;每次最多可發送接收32字節,并可軟件設置發送/接收緩沖區大小2/4/8/16/32字節;模塊可軟件設地址,只有收到本機地址時才會輸出數據(提供中斷指示),可直接接各種單片機使用,軟件編程非常方便; 發射速率50Kbps,外置433MHz天線,空曠通訊距離可達300米左右,室內通信3-6層可實現可靠通信,抗干擾性能強,很強的障礙穿透性能。綜上所述:nRF905兼有紅外傳輸和藍牙傳輸的優點,并且傳輸距離大大增加,所以采用方案3 nRF90

25、5。2智能小車無線控制系統硬件部分設計 2.1單片機串口通信(1)串口通信原理10串口通訊對單片機而言意義重大,不但可以實現將單片機的數據傳輸到計算機端,而且也能實現計算機對單片機的控制。由于其所需電纜線少,接線簡單,所以在較遠距離傳輸中,得到了廣泛的運用。 (2)波特率選擇波特率(Boud Rate)就是在串口通信中每秒能夠發送的位數(bits/second)。MSC-51串行端口在四種工作模式下有不同的波特率計算方法。模式1和模式3的波特率選擇相同,故在此僅以工作模式1為例來說明串口通信波特率的選擇。在串行端口工作于模式1,其波特率將由計時/計數器1來產生,通常設置定時器工作于模式2(自動

26、再加模式)。在選擇波特率的時候需要考慮兩點:首先,系統需要的通信速率。這要根據系統的運作特點,確定通信的頻率范圍。然后考慮通信時鐘誤差。使用同一晶振頻率在選擇不同的通信速率時通信時鐘誤差會有很大差別。為了通信的穩定,應該盡量選擇時鐘誤差最小的頻率進行通信。(3)通信協議的使用通信協議是通信設備在通信前的約定。單片機、計算機有了協議這種約定,通信雙方才能明白對方的意圖,進行下一步動作。在系統工作過程中,單片機接收到PC機數據信息后,便查找協議,完成相應的操作。當單片機接收到0xA1時,讀取P0端口數據,并將讀取數據返回PC機;當單片機接收到0xA2時,單片機等待從PC機接收一段控制數據;當PC機

27、接收到0xA3時,就表明單片機操作已經成功。(4)硬件連接51單片機有一個全雙工的串行通訊口,所以單片機和計算機之間可以方便地進行串口通訊。進行串行通訊時要滿足一定的條件,比如計算機的串口是RS232電平的,而單片機的串口是TTL電平的,兩者之間必須有一個電平轉換電路,采用了專用芯片MAX232進行轉換,雖然也可以用幾個三極管進行模擬轉換,但是還是用專用芯片更簡單可靠。采用了三線制連接串口,也就是說和計算機的9針串口只連接其中的3根線:第5腳的GND、第2腳的RXD、第3腳的TXD。這是最簡單的連接方法,但是對本次設計來說已經足夠使用了,MAX232的第10腳和單片機的11腳連接,第9腳和單片

28、機的10腳連接,第15腳和單片機的20腳連接。(5)SBUF數據緩沖寄存器這是一個可以直接尋址的串行口專用寄存器。“為何在串行口收發中,都只是使用到同一個寄存器SBUF。而不是收發各用一個寄存器。”實際上SBUF包含了兩個獨立的寄存器,一個是發送寄存,另一個是接收寄存器,但它們都共同使用同一個尋址地址99H。CPU在讀SBUF時會指到接收寄存器,在寫時會指到發送寄存器,接收寄存器是雙緩沖寄存器,這樣可以避免接收中斷沒有及時的被響應,數據沒有被取走,下一幀數據已到來,而造成的數據重疊問題。發送器則不需要用到雙緩沖,一般情況下在寫發送程序時也不必用到發送中斷去外理發送數據。操作SBUF寄存器的方法

29、則很簡單,只要把這個99H地址用關鍵字sfr定義為一個變量就可以對其進行讀寫操作了,如sfrSBUF=0x99;當然也可以用其它的名稱。通常在標準的reg51.h或at89x51.h等頭文件中已對其做了定義,只要用#include引用就可以了。(6)SCON串行口控制寄存器通常在芯片或設備中為了監視或控制接口狀態,都會引用到接口控制寄存器。SCON就是51芯片的串行口控制寄存器。它的尋址地址是98H,是一個可以位尋址的寄存器,作用就是監視和控制51芯片串行口的工作狀態。51芯片的串口可以工作在幾個不同的工作模式下,其工作模式的設置就是使用SCON寄存器。其它各個位的具體定義如表1: 表1 串口

30、控制寄存器SCON(MSB)(LSB)SM0SM1SM2RENTB8RB8TIRISM0、SM1為串行口工作模式設置位,兩位可以進行四種模式的設置: 表2 串口工作模式設置SM0SM1模式功能波特率000同步移位寄存器fosc/120118位UART可變1029位UARTfosc/32或fosc/641139位UART可變表中的fosc代表振蕩器的頻率,也就是晶振的頻率。UART為(Universal Asynchronous Receiver)的英文縮寫。SM2在模式2、模式3中為多處理機通信使能位。在模式0中要求該位為0。REM為允許接收位,REM置1時串口允許接收,置0時禁止接收。果在一

31、個電路中接收和發送引腳P3.0,P3.1都和上位機相連,在軟件上有串口中斷處理程序,當要求在處理某個子程序時不允許串口被上位機來的控制字符產生中斷,那么可以在這個子程序的開始處加入REM=0來禁止接收,在子程序結束處加入REM=1再次打開串口接收。TB8發送數據位8,在模式2和3是要發送的第9位。該位可以用軟件根據需要置位或清除,通常這位在通信協議中做奇偶位,在多處理機通信中這一位則用于表示是地址幀還是數據幀。RB8接收數據位8,在模式2和3是已接收數據的第9位。該位可能是奇偶位,地址/數據標識位。在模式0中,RB8為保留位沒有被使用。在模式1中,當SM2=0,RB8是已接收數據的停止位。TI

32、發送中斷標識位。在模式0,發送完第8位數據時,由硬件置位。其它模式中則是在發送停止位之初,由硬件置位。TI置位后,申請中斷,CPU響應中斷后,發送下一幀數據。在任何模式下,TI都必須由軟件來清除,也就是說在數據寫入到SBUF后,硬件發送數據,中斷響應,這時TI=1,表明發送已完成,TI不會由硬件清除,所以這時必須用軟件對其清零。RI接收中斷標識位。在模式0,接收第8位結束時,由硬件置位。其它模式中則是在接收停止位的半中間,由硬件置位。RI=1,申請中斷,要求CPU取走數據。但在模式1中,SM2=1時,當未收到有效的停止位,則不會對RI置位。同樣RI也必須要靠軟件清除。常用的串口模式1是傳輸10

33、個位的,1位起始位為0,8位數據位,低位在先,1位停止位為1。它的波特率是可變的,其速率是取決于定時器1或定時器2的定時值(溢出速率)。AT89C51和AT89C2051等51系列芯片只有兩個定時器,定時器0和定時器1,而定時器2是89C52系列芯片才有的。(7)波特率在使用串口做通訊時一個很重要的參數就是波特率,只有上下位機的波特率一樣時才可以進行正常通訊。波特率是指串行端口每秒內可以傳輸的波特位數。它是指每秒可以傳送9600個二進位,而一個字節要8個二進位,如用串口模式1來傳輸那么加上起始位和停止位,每個數據字節就要占用10個二進位,9600波特率用模式1傳輸時,每秒傳輸的字節數是960字

34、節。51芯片的串口工作模式0的波特率是固定的,為fosc/12,以一個12M的晶振來計算,那么它的波特率可以達到1M。模式2的波特率是固定在fosc/64或fosc/32,具體用那一種就取決于PCON寄存器中的SMOD位,如SMOD為0,波特率為focs/64,SMOD為1,波特率為focs/32。模式1和模式3的波特率是可變的,取決于定時器1或2(52芯片)的溢出速率。如設置了PCON寄存器中的SMOD位為1時就可以把波特率提升2倍。通常會使用定時器1工作在定時器工作模式2下,這時定時值中的TL1做為計數,TH1做為自動重裝值,這個定時模式下,定時器溢出后,TH1的值會自動裝載到TL1,再次

35、開始計數,這樣可以不用軟件去干預,使得定時更準確。2.2 USB轉串口PL2303芯片USB轉串口模塊全稱為USB to Serial port Module,它可以將USB接口虛擬成一個串口,解決無串口的苦惱11。現在市面上的USB轉串品的設備可謂是琳瑯滿目,質量也是參差不齊。造成這種現象的根本原因就在于控制芯片的不同。現在USB轉串口橋接芯片有很多,比如CP2102、FT232、PL2303等等。但并非每一種芯片都可以用作ISP下載。經過測試CP2102是不能下載的,而FT232可以下載,但其價格實在不菲。最為適中的就是臺灣生產的PL2303,可以穩定下載,并可以支持多種操作系統。 PL2

36、303HX采用28腳貼片SOIC封裝,工作頻率為12MHZ,符合USB1.1通信協議,可以直接將USB信號轉換成串口信號,波特率從751228800,有22種波特率可以選擇,并支持5、6、7、8、16共5種數據比特位。 圖1 采用PL2303芯片開發的USB轉串口模塊這是用PL2303芯片開發的USB轉串口模塊,采用機器自動焊接,都經人工檢測,電路板只有30*16*7毫米,模塊一共引出4根腳,TTL串口的引腳定義:+5V、P3.0 TXD、P3.1 RXD、GND地線,其中5V電源輸出線一般情況下都不用的,不需要連接。PL2303原理圖如圖2:圖3 PL2303芯片的原理圖軟件安裝:點擊下載P

37、L2303.RAR解壓縮運行SETUP.EXE進行安裝,驅動安裝完成后,將模塊的USB插頭插入電腦USB接口即可。鼠標右鍵點擊桌面的“我的電腦”屬性硬件設備管理器端口,看是否出現PL2303虛擬的COM4,如果出現說明模塊是好的驅動軟件也安裝成功了。 圖4 安裝PL2303驅動后設備管理器串口圖2.3 DS18B20溫度傳感器2.3.1 DS18B20概述DS18B20是DALLAS公司生產的一線制數字溫度傳感器;它具有3引腳TO-92小體積封裝形式;溫度測量范圍為-55+125,電源供電范圍為35.5V;可編程為912位數字表示;測溫分辨率可達0.0625,被測溫度用符號擴展的16位數字測量

38、方式串行輸出;其工作電源即可在遠端引入,可以采用寄生電源方式產生;多個DS18B20可以并聯到3根(VDD、DQ和GND)或2根(利用DQ線供電、GND)線上,CPU只需一根端口線就能與總線上的多個串聯的DS18B20通信,占用微處理器的端口較少,可節省大量的引線和邏輯電路。DS18B20 的管腳排列及不用的封裝形式如圖所示,DQ為數字信號輸入/輸出端;GND為電源接地;VDD為外接供電電源輸入端(在寄生電源接線方式時節點),NC表示無連接。圖5 DS18B20系列溫度傳感器(1)應用中不需要外部任何元器件即可實現測溫電路。(2)測溫范圍-55+125,最大精度0.0625。(3)只通過一條數

39、據線即可實現通信。(4)每個DS1820器件上都有獨一無二的序列號,所以一條數據線上可以掛接很多該傳感器。(5)內部有溫度上、下限告警功能。DS18B20內部結構如圖所示,主要由4部分組成:64位ROM、溫度傳感器、非易失性存儲的溫度報警觸發器TH和TL、配置寄存器。圖6 DS18B20內部原理圖DS18B20工作時需要接收特定的指令來完成相應功能(指令,可以簡單的理解為可以被識別并有相應意義的一系列高低電平信號),它的指令可分為ROM指令和RAM指令;ROM指令主要對其內部的ROM進行操作,如查所使用DS18B20的序列號等,如果只使用一個DS18B20,ROM操作一般就可以直接跳過了;RA

40、M指令主要是完成對其內RAM中的數據進行操作,如讓其開始進行數據采集、讀數據等。DS18B20數字溫度傳感器是單總線器件,數據的讀寫只通過一條數據線進行并且這一條線上允許掛很多該傳感器;這樣對器件進行讀寫指令時就會麻煩一些,必須應用特定時序來識別高低電平信號(如寫高電平1,并不是把數據線直接拉高,而是用有一定時序關系的高低電平來代表寫1),所以指令表中的0、1在寫給DS18B20時就得變成代表0、1電平的時序段序列。同樣,從DS18B20讀數據時,也是由特定的時序來完成數據讀取。對DS18B20進行讀寫的時序圖如下:圖7 DS18B20進行讀寫的時序硬件連接方式有兩種,一種是由單獨電源供電(3

41、5V);第二種是由數據線為DS18B20供電(工作速度相對較慢)。圖8 DS18B20單獨電源供電方式圖9 數據線為DS1820供電方式(1)復位操作(2)執行ROM操作的5條指令之一:讀ROM,匹配ROM,搜索ROM,跳過ROM,報警搜索。(3)存儲器操作命令:溫度轉換、讀取溫度、設定上下限溫度值等指令(4)讀取溫度數據:主機讀取溫度數據后進行數據處理。 可以初始化數據精度,按芯片手冊寫入固定指令。數據位數可設置成9、10、11、12位,其中7位為溫度整數部分,1位表示溫度正負,其余位數為小數。如9位數據時,有1位為小數,精度為0.5。2.3.2 DS18B20指令功能介紹 (1)ROM操作

42、指令: 讀ROM指令:Read ROM 33h 這個命令允許總線控制器讀到DS1820 的8位系列編碼、唯一的序列號和8 位CRC 碼。只有在總線上存在單只DS1820 的時候才能使用這個命令。如果總上有不止一個從機,當所有從機試圖同時傳送信號時就會發生數據沖突(漏極開路連在一起開成相與的效果)。 匹配ROM指令:Match ROM 55h 匹配ROM 命令,后跟64 位ROM 序列,讓總線控制器在多點總線上定位一只特定的DS1820只有和64 位ROM 序列完全匹配的DS1820 才能響應隨后的存儲器操作命令。所有和64 位ROM序列不匹配的從機都將等待復位脈沖。這條命令在總線上有單個或多個

43、器件時都可以使用。 跳過ROM指令:Skip ROM CCh 這條命令允許總線控制器不用提供64 位ROM 編碼就使用存儲器操作命令,在單點總線情況下右以節省時間。如果總線上不止一個從機,Skip ROM 命令之后跟著發一條讀命令,由于多個從機同時傳送信號,總線上就會發生數據沖突(漏極開路下拉效果相當于相與)。 搜索ROM指令:Search ROM F0h當一個系統初次啟動時,總線控制器可能并不知道單線總線上有多少器件或它們的64位ROM編碼。搜索ROM命令允許總線控制器用排除法識別總線上的所有從機的64位編碼。 報警搜索指令:Alarm Search ECh這條命令的流程圖Search RO

44、M相同。然而只有在最近一次測溫后遇到符合報警條件的情況,DS18B20 才會響應這條命令。報警條件定義為溫度高于TH 或低于TL。只要DS18B20 不掉電,報警狀態將一直保持,直到再一次測得的溫度值達不到報警條件。 DS18B20需要嚴格的協議以確保數據的完整性。協議包括幾種單線信號類型:復位脈沖、存在脈沖、寫0、寫1、讀0 和讀1。所有這些信號,除存在脈沖外,都是由總線控制器發出的。和DS18B20 間的任何通訊都需要以初始化序列開始,初始化序列見上圖。一個復位脈沖跟著一個存在脈沖表明DS18B20 已經準備好發送和接收數據(適當的ROM 命令和存儲器操作命令)。 DS18B20 內部對此

45、計算的結果可提供0.5的分辨力。溫度以16位帶符號位擴展的二進制補碼形式讀出,表3給出了溫度值和輸出數據的關系。數據通過單線接口以串行方式傳輸。DS1820測溫范圍-55+125,以0.5遞增。如用于華氏溫度,必須要用一個轉換因子查找表。讀取數據時需要讀取前16位數據,低字節在前,高字節為符號為。 表3 溫度值和輸出數據的關系溫度數據輸出(二進制)數據輸出(十六進制)+1250000 0000 1111 101000FA+250000 0000 0011 00100032+1/20000 0000 0000 0001000100000 0000 0000 00000000-1/21111 11

46、11 1111 1111FFFF-251111 1111 1100 1110FFCE-551111 1111 1001 0010FF922.3.3利用Protel DXP設計DS18B20溫度傳感器圖10 DS18B20溫度傳感器設計圖GND接地,VCC接5V電源,DQ接單片機的P37引腳,具體程序見程序設計部分。2.4 恒壓恒流橋式2A驅動芯片L298N2.4.1 L298N介紹L298N是SGS公司的產品,比較常見的是15腳Multiwatt封裝的L298N,內部同樣包含4通道邏輯驅動電路。可以方便的驅動兩個直流電機,或一個兩相步進電機。L298N芯片可以驅動兩個二相電機,也可以驅動一個四

47、相電機,輸出電壓最高可達50V,可以直接通過電源來調節輸出電壓;可以直接用單片機的IO口提供信號;而且電路簡單,使用比較方便。L298N可接受標準TTL邏輯電平信號VSS,VSS可接4.57 V電壓。4腳VS接電源電壓,VS電壓范圍VIH為2.546 V。輸出電流可達2.5 A,可驅動電感性負載。1腳和15腳下管的發射極分別單獨引出以便接入電流采樣電阻,形成電流傳感信號。L298可驅動2個電動機,OUT1,OUT2和OUT3,OUT4之間可分別接電動機,本實驗裝置我們選用驅動一臺電動機。5,7,10,12腳接輸入控制電平,控制電機的正反轉。EnA,EnB接控制使能端,控制電機的停轉。EnA為低

48、電平時,輸入電平對電機控制起作用,當EnA為高電平,輸入電平為一高一低,控制電機正或反轉。同為低電平電機停止,同為高電平電機剎停。圖11 引腳圖圖12 電路設計圖1、15腳是輸出電流反饋引腳,其它與L293相同。在通常使用中這兩個引腳也可以直接接地。圖12是其與51單片機連接的電路圖。2.4.2利用Protel DXP設計L298N部分圖13 電機驅動的原理圖 電路圖有兩個電源,一路是為L298N工作需要的5V電源VCC,一路為驅動電機用的電池電源VSS。 1腳和15教有的電路在中間串接大功率電阻,可以不加。圖14中連接了兩路電機,P2和P3是一一對應的關系,如果只驅動一路電機可以連接對應的2

49、、3腳或者13、14腳。為了防止電機停止運轉的產生的瞬間反向電流對電路板的影響,因此在電機與電路板加入八個二極管(diode),防止反向電流。 6腳和11腳為兩路電機通道的使能開關,高電平使能,所以直接連接高電平,也可以交有單片機控制。由于工作時L298N的功率消耗大,可以適當加裝散熱片。2.5 LM1117低壓差電壓調節器2.5.1 LM1117器件介紹LM1117是一個低壓差電壓調節器系列。其壓差在1.2V輸出,負載電流為800mA時為1.2V。它與國家半導體的工業標準器件LM317有相同的管腳排列。LM1117有可調電壓的版本,通過2個外部電阻可實現1.2513.8V輸出電壓范圍。另外還

50、有5個固定電壓輸出(1.8V、2.5V、2.85V、3.3V和5V)的型號。LM1117提供電流限制和熱保護,電路包含1個帶隙參考電壓以確保輸出電壓的精度在±1%以內。LM1117系列具有LLP、TO-263、SOT-223、TO-220和TO-252 D-PAK封裝。輸出端口需要一個至少10uF的鉭電容來改善瞬態響應和穩定性。提供1.8V、2.5V、2.85V、3.3V、5V和可調電壓的型號節省空間的SOT-223和LLP封裝,電流限制和熱保護功能 ,輸出電流可達800mA ,線性調整率:0.2% (Max) ,負載調整率:0.4% (Max),溫度范圍:LM1117:0125,L

51、M1117I:-40125。2.85V模塊可用于SCSI-2有源終端;開關DC/DC轉換器的主調壓器;高效線性調整器;電池充電器;電池供電裝置。典型原理電路圖圖15 典型固定輸出電壓2.5.2利用Protel DXP設計LM1117電壓轉換芯片在設計之初理論上使用的是LM1117,但是在購買器件的時候沒有配得LM1117,最終使用的是AMS1117- 3.3型號,其原理和LM1117引腳方式相同。AMS1117- 3.3左邊的引腳GND接地,中間的引腳OUT為無線模塊提供3.3V正電壓,右邊的引腳VIN接5V正電源,在GND和VIN、GND和OUT 中間接兩個電容。圖16 電壓轉換芯片的設計圖

52、2.5.3設計要點電源是整個系統穩定工作的前提,因此必須有一個合理的電源設計,對于小車來說電源設計應注意兩點:第一點,與一般的穩壓電源不同,小車的電池電源在9V,也就是6節5號電池,還需要考慮在電池損耗的情況下電壓的降低,因此常用的78系列穩壓芯片不能夠滿足要求,因此必須采用低壓差的穩壓芯片。第二點,單片機必須與大電流器件分開供電,避免大電流器件對單片機造成干擾,影響單片機的穩定運行。2.6nRF905無線傳輸模塊設計2.6.1 nRF905管腳描述圖17 nRF905管腳圖表4 串口工作模式設置管腳名稱管腳功能說明1VCC電源電源+3.33.6V DC2TX_EN數字輸入TX_EN= 1 T

53、X 模式 TX_EN= 0 RX 模式3TRX_CE數字輸入使能芯片發射或接收4PWR_UP數字輸入芯片上電5uCLK時鐘輸出本模塊該腳廢棄不用,向后兼容6CD數字輸出載波檢測7AM數字輸出地址匹配8DR數字輸出接收或發射數據完成9MISOSPI 接口SPI 輸出10MOSISPI 接口SPI 輸入11SCKSPI 時鐘SPI 時鐘12CSNSPI 使能SPI 使能13GND地接地14GND地接地VCC腳接電壓范圍為3V3.6V之間,不能在這個區間之外,超過3.6V將會燒毀模塊。推薦電壓3.3V左右。除電源VCC和接地端,其余腳都可以直接和普通的5V單片機IO口直接相連,無需電平轉換。當然對3

54、V左右的單片機更加適用了。硬件上面沒有SPI的單片機也可以控制本模塊,用普通單片機IO口模擬SPI不需要單片機SPI模塊介入,只需添加代碼模擬SPI時序即可。13腳、14腳為接地腳,需要和母板的邏輯地連接起來。排針間距為100mil,標準DIP插針。與51系列單片機P0口連接時候,需要加10K的上拉電阻,與其余口連接不需要。 2.6.2 nRF905配置方式所有配置字都是通過SPI接口送給nRF905。SPI接口的工作方式可通過SPI指令進行設置。當nRF905處于空閑模式或關機模式時,SPI接口可以保持在工作狀態12。 (1) SPI接口寄存器配置SPI接口由狀態寄存器、射頻配置寄存器、發送

55、地址寄存器、發送數據寄存器和接收數據寄存器5個寄存器組成。狀態寄存器包含數據準備好引腳狀態信息和地址匹配引腳狀態信息;射頻配置寄存器包含收發器配置信息,如頻率和輸出功能等; (2) SPI接口寄存器配置SPI接口由狀態寄存器、射頻配置寄存器、發送地址寄存器、發送數據寄存器和接收數據寄存器5個寄存器組成。狀態寄存器包含數據準備好引腳狀態信息和地址匹配引腳狀態信息;射頻配置寄存器包含收發器配置信息,如頻率和輸出功能等;發送地址寄存器包含接收機的地址和數據的字節數;發送數據寄存器包含待發送的數據包的信息,如字節數等;接收數據寄存器包含要接收的數據的字節數等信息。(3) 指令配置當CSN為低,SPI接口開始等待一條指令。任何一條新指令均由CSN的由高到低的轉換開始13。 表5 SPI 串行接口指令指令名稱指令格式操作W_CONFIG(WC)0000AAAA寫配置寄存器AAAA R_CONFIG (RC)0001AAAA讀配置寄存器AAAA W_TX_PAYLOA D(WTP)00100000寫TX 有效數據1-32字節寫操作從0開始R_TX_PAYLOA D(RTP)00100001讀TX 有效數據1-32字節讀操作從0開始W_TX_ADDRES S(W

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論