毕业设计(论文)-智能小车无线控制系统.doc

上传人:西安人 文档编号:3947180 上传时间:2019-10-10 格式:DOC 页数:75 大小:2.48MB
返回 下载 相关 举报
毕业设计(论文)-智能小车无线控制系统.doc_第1页
第1页 / 共75页
毕业设计(论文)-智能小车无线控制系统.doc_第2页
第2页 / 共75页
毕业设计(论文)-智能小车无线控制系统.doc_第3页
第3页 / 共75页
毕业设计(论文)-智能小车无线控制系统.doc_第4页
第4页 / 共75页
毕业设计(论文)-智能小车无线控制系统.doc_第5页
第5页 / 共75页
点击查看更多>>
资源描述

《毕业设计(论文)-智能小车无线控制系统.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-智能小车无线控制系统.doc(75页珍藏版)》请在三一文库上搜索。

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 co

3、ntroller connects PC machine (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

4、 sends the controlling information 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 transm

5、itting module and wireless 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

6、information else, such as 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口与串口间的转换。

10、(2)如何实现无线传输模块的接收与发送。 (3)如何通过编程实现控制系统的各项功能。(4)如何实现下位机小车的行进。(5)如何实现温度、湿度信息的采集。(6)如何设定通信协议。1.1.2设计原理系统以C51单片机作为主控芯片,移动控制平台上的单片机通过USB转串口模块连接上位机的USB口,接收控制信息(例如:前进、后退、左转、右转等),并将该控制信息经过编码和调制之后,通过无线传输模块实现无线发送、接收操作指令,将控制信号发送出去供小车接收,并作出相应动作。1.2方案选择与论证1.2.1单片机处理模块方案1:8051是在8031的基础上,片内又集成有4KB ROM,作为程序存储器,是1个程序不

11、超过4KB的小系统。ROM内的程序是公司制作芯片时,代为烧制的,出厂的8051都是含有特殊用途的单片机4。所以8051应用在程序已定,且大批量生产的单片机产品中,8051是具有MCS-51内核的各种型号单片机的基础,也是各种增强型,扩展型等衍生品种的核心,使用简单,可以根据自己的需要扩展外部接口。方案2:AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。将多功能8位CPU组合在单个芯片中,三级程序存储器锁定,0Hz-24MHz,128

12、8位内部RAM,32条可编程I/O线,两个16位定时器/计数器,5个中断源,可编程串行通道,低功耗的闲置和掉电模式,片内振荡器和时钟电路,ATMEL的AT89C51是一种高效微控制器。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。方案3:Cypress公司的EZ-USB FX2单片机CY7C68013是一款性能较高的USB2.0控制器5。在芯片上集成了USB和C51内核两个模块,由USB收发模块进行数据字节传输,功能强大的USB内核自动完成USB协议的转换,大大简化了8051代码。芯片集成了USB外设接口的硬件,包括非易失存储器(EPROM、EEPROM、FLASH、

13、ROM)、微处理器、RAM、SIE(串口接口引擎)、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倍

14、,指令系统与8051完全兼容。USB内核为USB设备开发者完成协议中大部分的通信工作,使开发者不需要深入了解USB的低级协议即可顺利开发出所需要的USB设备。综上所述:方案1可以大大简化设计难度,所以采用方案1。1.2.2 USB传输模块方案1:CP2101及其升级产品CP2102是美国Silicon公司生产的高集成度USB-UART桥接电路6。它们能够用最简单的外部电路、最少的外部器件及最小的电路板面积简便实现USB2.0到UART的转换。该电路的集成度高,内置USB2.0全速功能控制器、USB收发器、晶体振荡器、EEPROM及异步串行数据总线(UART),支持调制解调器全功能信号,无需任何

15、外部的USB器件。功能强大,采用MLP-28封装,尺寸仅为5mm5mm,占用空间非常小。与其他USB-UART转接电路的工作原理类似,CP2101通过驱动程序将PC的USB口虚拟成COM口以达到扩展的目的。虚拟COM口(VCP)的器件驱动程序允许一个基于CP2101的器件以PC应用软件的形式作为一个增加的COM口独立于任何现有的硬件。COM口使用运行在PC上的应用软件以访问一个标准硬件COM口的方式访问基于CP2101的器件,PC与CP2101间的数据传输是通过USB完成的,因此,无需修改现有的软件和硬件就可以通过USB向基于CP2101的器件传输数据。CP2101的体积虽小但功能非常强大,其

16、主要特性如下:内含USB收发器,无需外接电路器;内含时钟电路,无需外接振荡器; 内含上电复位电路; 片内电压调节可输出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控制器,可分别配置成不同的工作

17、模式。一个USB下游端口转换成两个I/O通道,每个I/O通道相当一个FT232BM或FT245BM,可以单独配置成UART接口或者FIFO接口。通过对外挂EEPROM的配置,FT2232C还提供一系列新的操作模式,如多协议同步串行机接口,这是专为同步串行协议如JTAG和SPI总线设计的。还有同步位宽模式、CPU风格的FIFO模式、多协议同步串行机接口模式、MCU主机总线竞争模式及快速光隔离串行机接口模式等。此外,该电路的驱动能力有很大提高,能够输出较之通常电路3倍的功率,这使得多个电路可能共享总线。使用FTDI公司提供的虚拟串口(VCP)驱动,对外围接口的使用就像使用PC的标准串口一样。 FT

18、2232C的特点:只需添加简单配置电路,便可实现串/并口的转换; 芯片上集成了全部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全双工异步串行通

19、信装置与USB功能接口便利联接的解决方案。该器件内置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

22、:蓝牙(Bluetooth)技术是爱立信、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 nR

25、F905。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机接收一段控制数据;当

27、PC机接收到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是已接收数据的停止位

32、。TI发送中断标识位。在模式0,发送完第8位数据时,由硬件置位。其它模式中则是在发送停止位之初,由硬件置位。TI置位后,申请中断,CPU响应中断后,发送下一帧数据。在任何模式下,TI都必须由软件来清除,也就是说在数据写入到SBUF后,硬件发送数据,中断响应,这时TI=1,表明发送已完成,TI不会由硬件清除,所以这时必须用软件对其清零。RI接收中断标识位。在模式0,接收第8位结束时,由硬件置位。其它模式中则是在接收停止位的半中间,由硬件置位。RI=1,申请中断,要求CPU取走数据。但在模式1中,SM2=1时,当未收到有效的停止位,则不会对RI置位。同样RI也必须要靠软件清除。常用的串口模式1是传

33、输10个位的,1位起始位为0,8位数据位,低位在先,1位停止位为1。它的波特率是可变的,其速率是取决于定时器1或定时器2的定时值(溢出速率)。AT89C51和AT89C2051等51系列芯片只有两个定时器,定时器0和定时器1,而定时器2是89C52系列芯片才有的。(7)波特率在使用串口做通讯时一个很重要的参数就是波特率,只有上下位机的波特率一样时才可以进行正常通讯。波特率是指串行端口每秒内可以传输的波特位数。它是指每秒可以传送9600个二进位,而一个字节要8个二进位,如用串口模式1来传输那么加上起始位和停止位,每个数据字节就要占用10个二进位,9600波特率用模式1传输时,每秒传输的字节数是9

34、60字节。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,可以稳定下载,并可以支持多种操作系统。

36、PL2303HX采用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芯片的原理图软件安装:点击

37、下载PL2303.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操作一般就可以直接跳过了

40、;RAM指令主要是完成对其内RAM中的数据进行操作,如让其开始进行数据采集、读数据等。DS18B20数字温度传感器是单总线器件,数据的读写只通过一条数据线进行并且这一条线上允许挂很多该传感器;这样对器件进行读写指令时就会麻烦一些,必须应用特定时序来识别高低电平信号(如写高电平1,并不是把数据线直接拉高,而是用有一定时序关系的高低电平来代表写1),所以指令表中的0、1在写给DS18B20时就得变成代表0、1电平的时序段序列。同样,从DS18B20读数据时,也是由特定的时序来完成数据读取。对DS18B20进行读写的时序图如下:图7 DS18B20进行读写的时序硬件连接方式有两种,一种是由单独电源供

41、电(35V);第二种是由数据线为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)RO

42、M操作指令: 读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

44、 ROM相同。然而只有在最近一次测温后遇到符合报警条件的情况,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

46、 1111 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芯片可以驱动两个二相电机,也可以驱动一个四相电机,输出电压最高可达50V,可以直接通过电源来调节输出电压;可以直接用单片机的IO口提供信号;而且电路简单,使用比较方便。L298N可接受标准TTL逻辑电平信号VSS,VSS可接4.57 V电压。4脚VS接电源电压,VS电压范围VIH为2.546 V。输出电流可达2.5 A,可驱动电感性负载。1脚和15脚下管的发射极分别单独

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1