




已阅读5页,还剩70页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南京工程学院毕业设计说明书(论文)摘 要本课题制作了一款具有多功能的智能小车,通过设计电子智能小车的机械结构,在此平台上采用超声波测量小车与前方障碍的距离并通过液晶显示,同时运用 PWM调速,完成自动巡线和通过PC端控制软件蓝牙无线遥控智能小车的功能,并且具有运行状态的声光指示功能。完成整个系统的硬件设计和上位机软件设计。而且使本智能小车具有较好的人车交互界面,稳定性和美观性。本设计以两减速直流电动机为主驱动,通过红外传感器来采集地面路径信息,送入主控单元STC89C52单片机,处理数据后完成相应动作,达到自身控制,电机驱动电路采用L298N驱动芯片,以此实现巡黑线的功能;通过超声波传感器,单片机作出相应的处理,完成测距的功能,通过LCD1602实时显示距离;通过设计上位机控制软件,通过按键给串口蓝牙发送机发送数据,发送机再给串口蓝牙接收机发送数据,建立连接,小车上单片机通过解码处理,给出相应的控制信号,实现智能小车的短距离的无线控制。本课题具有较好的趣味性,可以作为高级智能玩具,同时相当于简易机器人,可以作为我们大学生学习嵌入式控制的强有力的应用实例。关键字:单片机 传感器 PWM 超声波 无线蓝牙ABSTRACTThis topic has produced a multi-functional smart car, smart car through the design of the mechanical electronic structure, on the platform and the car in front of the ultrasonic measuring the distance between obstacles and through the liquid crystal display, while the use of PWM speed control of auto transmission line and adoption of the PC-side Bluetoo - th wireless remote control software features smart car, and has run the state of sound and light indicator. Complete the hardware design and PC software design. And the smart car has a better interface of people and vehicles, stability and aesthetics. The design of the two main drive gear DC motor, through the ground path of infrared sensors to collect information into the main control unit STC89C52 microcontroller, to pr - ocess data to complete the appropriate action, to achieve their own control, motor drive circuit L298N driver chip, thereby achieving black line patrol functions; by ultrasonic se - nsors, microcontroller processing accordingly complete the ranging function, real-time di - splay by LCD1602 distance; through the design of PC control software, key to the serial port through the Bluetooth transmitter to send data to give the serial transmitter Bluetooth receiver to send data to establish the connection, the small car MCU through the decoding process, corresponding control signals, intelligent car of the short-range wireless control. This topic has good fun, can serve as a senior intelligence toys, while the equivalent of simple robots, as our students learn can be a powerful embedded control application e xample. Key Words: MCU ; sensor; PWM; Ultrasonic; Wireless Bluetooth目 录第一章 绪论51.1 前言51.2 设计任务与要求51.3 论文结构5第二章 硬件设计72.1 系统硬件设计总体框图72.2 系统主要硬件单元设计原理图92.3 各功能模块简介112.3.1 单片机最小系统模块112.3.2 电机驱动模块162.3.3 超声波测距与显示模块212.3.4 蓝牙无线通讯模块简介242.3.5 系统供电模块242.4 各功能系统连接图252.5 PCB的设计282.6 本章小结30第三章 小车结构的设计313.1 智能小车机械结构设计目标和意义313.2 智能小车机械结构的设计31第四章 蓝牙无线遥控小车PC端上位机设计234.1 上位机设计的目的和要求354.2 上位机软件的流程图设计354.3 上位机软件的设计思想364.4 上位机软件的设计364.4.1 上位机界面的设计364.4.2 上位机程序源代码374.5 本章小结41第五章 软件设计425.1 巡黑线功能软件的设计425.2 超声波测距功能软件设计435.3 蓝牙无线遥控智能小车软件设计445.4 本章小结45第六章 开发软件与开发工具简介466.1 Altium Designer Summer 09简介466.1.1 Altium Designer 的发展历史466.1.2 运用Altium Designer设计项目476.1.3 运用Altium Designer完成PCB设计与调试的流程486.2 Microsoft Visual studio 2010简介496.3 Keil uVision4 集成开发环境(IDE)简介506.4 51单片机C语言C51简介516.5 本章小结52第七章 总结和展望537.1 总结537.2 展望54参考文献55致 谢56附录一 系统原理图57附录二 系统PCB59附录三 MSDN里关于钩子的介绍61附录四 上位机代码67附录五 所需仪器和材料清单72第一章 绪论1.1 前言智能车辆致力于提高汽车的安全性、舒适性、适应性和提供优良的人车交互界面,是目前各国正重点发展的智能交通系统中的一个重要组成部分,智能小车的设计对熟悉单片机的结构及开发流程,熟悉单片机外围硬件电路,熟悉单片机的开发软件。智能小车有趣生动而且还设计到机械结构,电子基础,传感器原理,自动控制,单片机,编程等诸多学科知识,通过动手能大大提高解决实际问题的能力,可以设计完成循迹小车,超声波测距,无线遥控等课题,在此应用上开发出来的产品已成为航天,医疗,工业控制,物流等各各领域的关键设备,同时由于成本低廉,又可以比人类工作的更好,它已逐步深入到工业和社会的各个层面。可以看出,无论是从科学发展。理论研究的角度,还是从汽车工业发展以及市场竞争的角度看对智能车的研究都是必要的。1.2 设计任务与要求 (1)主要内容和要求 设计电子智能小车的机械结构,在此平台上采用超声波测量小车与前方障碍的距离并通过液晶显示,同时运用 PWM调速,完成自动巡线和通过PC端控制软件蓝牙无线遥控智能小车的功能,并且具有运行状态的声光指示功能。完成整个系统的硬件设计。要求智能小车具有较好的人车交互界面,稳定性和美观性。(2)应完成的技术文件1.开题报告2.中英文摘要3.英语文献的翻译4.完整的设计文件(原理图、PCB图、程序设计流程图)5.毕业设计论文(含设计作品) 1.3 论文结构第一章 简要介绍多功能智能小车的设计意义,本设计的设计内容和要求,以及本论文的主要内容。第二章 主要介绍智能小车各功能模块的硬件设计,所用芯片的参数和使用说明。第三章 小车平台的机械结构的设计思路和材料的选择。第四章 主要介绍蓝牙无线遥控小车的上位机的设计思想和设计过程。第五章 简要介绍本次设计的软件设计思想和程序流程图。第六章 主要介绍设计中所使用的软件和其主要功能与应用领域。第七章 对本次毕业设计进行总结和展望。第二章 硬件设计2.1 系统硬件设计总框图 智能小车由三个子功能系统组成:分别为巡黑线,超声波测距以及通过PC端控制软件蓝牙无线遥控小车。(1)如图2.1所示为实现巡黑线功能的硬件设计框图。其原理为路径检测电路检测路面轨迹,并将路面信息传送到单片机。单片机1根据已编制好的程序及算法得出小车转向的角度,然后给电机驱动电路发出行驶控制信号,使直流电机进行相应的角度调节,后轮两个电机进行速度调节,最终使智能小车按照路面轨迹行走。图2.1 巡黑线功能硬件设计框图(2)如图2.2所示为实现超声波测距功能的硬件设计框图。通过超声波发射装置发出超声波,根据接收器接收到超声波的时间差就可以计算出与障碍物的距离。单片机2根据超声波测距模块送来的信号进行处理,通过LCD1602液晶实时显示出当前智能小车与前方障碍物的距离。图2.2 超声波测距功能硬件设计框图(3)图2.3为实现PC端控制软件蓝牙无线遥控小车功能的硬件设计框图。通过PC端上位机软件将控制命令发送给串口蓝牙发送端,串口蓝牙接收端将接收的信息送给单片机2,单片机2对接收信息作解码处理,将解码结果送给单片机1,单片机1根据输入信号控制小车运行状态。图2.3 PC机蓝牙无线遥控功能硬件设计框图2.2 系统主要硬件单元设计原理图(1)最小系统单元设计原理图图2.4 单片机最小系统原理图(2)电机驱动原理图图2.5 电机驱动电路(3)反射式红外传感器原理图图2.6 发射式红外传感器原理图2.3 各功能模块简介2.3.1 单片机最小系统模块(一)STC89C52单片机简介本设计中选用的宏晶科技的STC89C52RC型单片机,是一种低功耗、高性能、采用CMOS工艺的8位微处理器,与工业标准型80C51单片机的指令系统和引脚完全兼容。片内8K Flash存储器可在线重新编程,或使用通用的非易失性存储器编程器。STC89C52RC单片机,基于STC89C51内核,是新一代增强型单片机,指令代码完全兼容传统STC89C51,速度快812倍,带ADC,4路PWM,双串口,有全球唯一ID号,加密性好,抗干扰强。(二)单片机引脚功能STC89C52RC采用40PIN封装的双列直插DIP结构(如图2.7所示),40个引脚中,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3复用。STC89C52RC的引脚图如图2.8所示,其引脚功能如下:1. PIN20:接地脚。2. PIN40:正电源脚,工作时,接+5V电源。3. PIN19:时钟XTAL1脚,片内振荡电路的输入端。4. PIN18:时钟XTAL2脚,片内振荡电路的输出端。5. STC89C52RC的时钟有两种方式,一种是片内时钟振荡方式,但需在18和19脚外接石英晶体(2-12MHz)和振荡电容,振荡电容的值一般取10p-30p。另外一种是外部时钟方式,即将XTAL1接地,外部时钟信号从XTAL2脚输入。6. 输入输出(I/O):PIN39-PIN32为P0.0-P0.7输入输出脚。PIN1-PIN8为P1.0-P1.7输入输出脚。PIN21-PIN28为P2.0-P2.7输入输出脚。PIN10-PIN17为P3.0-P3.1输入输出脚,且具有第二引脚功能。7. PIN9:RESET/Vpd复位信号复用脚,当STC89C52RC通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。STC89C52RC的复位电路可以是自动复位,也可以是手动复位。此外,RESET/Vpd还是一复用脚,Vcc掉电期间,此引脚可接上备用电源,以保证单片机内部RAM的数据不丢失。8. PIN30:ALE当访问外部程序存储器时,ALE(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出,如果单片机是EPROM,在编程其间,将用于输入编程脉冲。9. PIN29:当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。10. PIN31:EA/Vpp程序存储器的内外部选通线,STC89C52RC内置有4KB的程序存储器,当EA为高电平并且程序地址小于4KB时,读取内部程序存储区指令数据,而超过4KB地址则读取外部指令数据,如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。图2.7 STC89C52芯片实物图 图2.8 STC89C52芯片引脚图(三)单片机最小系统的组成 1.振荡电路: STC89C52RC芯片内部有一个高增益反向放大器,用于构成振荡器,通过19脚和18脚引出。反向放大器的输入端为XTAL1,输出端为XTAL2,在XTAL1和XTAL2两端跨接石英晶体及两个电容就可以构成稳定的自激振荡器形成单片机工作时的时钟信号振荡电路如图2.9所示。电容C9和C10的取值范围:(2030)pF,对振荡器有微调作用。晶振频率用fosc表示,频率范围是1.2MHz12MHz。图2.9 振荡电路2.复位电路:单片机上电后首先从复位操作开始,复位操作可以使单片机处于某种确定的初始状态。单片机的复位是通过复位电路实现的引脚RST输入高电平,并保持两个机器周期时间以上时,单片机内部就执行复位操作。如果RST引脚持续保持高电平,单片机就处于循环复位状态。实际应用中,复位操作有两种基本形式,即上电复位与按键复位。单片机的 图2.10 复位电路 复位电路如图2.10所示。上电复位电路上电复位是指单片机接通电源后能够自动实现的复位操作。常用的开机复位电容E1和电阻R1组成,其中电容和电阻的参数为:E1=10uF /16V,R1=10K,在开机瞬间,电容E1上的电压不能跃变,相当于短路,RST引脚获得高电平信号,随着电容的充电,RST引脚的高电平将逐渐下降。只要RST引脚的高电平能保持两个机器周期时间,单片机就可以完成复位操作并进入初始化状态。按键复位电路在单片机运行期间,利用按键完成复位操作,按键复位支路由按键RST,电阻R1组成。在单片机运行期间,按下按键RST,按键接通相当于短路,电容E1上的电压不能跃变RST引脚获得高电平信号,随着电容C1的放电,RST引脚的电平将逐渐下降。只要RST引脚的高电平能保持两个机器周期时间,单片机就可以完成复位操作,使单片机进入初始化状态。3.下载电路:单片机最小系统板支持ISP和串口两种方式下载程序,使用串口下载时,需要MAX232芯片实现RS232电平与TTL电平的转换,实现PC与单片机的下载通信,MAX232芯片是美信公司专门为电脑的RS232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。其主要特点和引脚介绍如下:第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。 第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。 其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。 8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。 TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DB9插头;DB9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。 第三部分是供电。15脚GND、16脚VCC(+5v)。串口通信和下载电路原理图如图2.11所示图 2.11 单片机下载和串口电路4电源电路:单片机最小系统支持USB供电或者电源供电,具有较好的选择性。这里的5V稳压电路在内外一个稳压模块中设计,同时通过LED指示电源是否正常供电。如图2.12. 图 2.12电源电路2.3.2 电机驱动模块(一)L298N芯片简介L298N是一款恒压恒流桥式2A驱动芯片,封装形式如图2.13.有15脚Multiwatt和SO20两种封装,引脚图如图2.14所示,其内部功能模块如图2.15.L298N是SGS公司的产品,比较常用的是15脚Multiwatt封装的L298N,内部同样包含4通道逻辑驱动电路,可以方便地驱动两个直流电机,或一个两相步进电机。 图2.13 L298N封装形式图2.14 L298N引脚图2.15 L298N内部功能模块L298N芯片可以驱动两个两相电机,也可以驱动一个四项电机,输出电压最高可达50V,,可以直接通过电源来调节输出电压;可以直接用单片机的I/O口提供信号;而且电路简单,使用比较方便。L298N可接受标准TTL逻辑电平信号VSS,VSS可接4.57V电压,为L298N提供工作电压。4脚VS接电源电压,VS电压范围VIN为+2.546V。输出电流可达2.5A,可驱动电感性负载。1脚和15脚下管的发射极可以单独引出以方便接入电流采样电阻,形成电流传感信号。L298可驱动2个电动机,OUT1,OUT2和OUT3,OUT4之间可分别接电动机。(二)直流电机控制原理本设计通过控制两个直流电动机控制智能小车的起停和行驶方向。5,7,10,12脚接输入控制电平,控制电机的正反转。ENA、ENB接控制使能端,控制电机的停转。基于L298N的电机驱动的等效图原理图如图2.16. 由图2.16分析L298N的内部结构以及如何控制两个直流电机的正反转。L298N的内部是由两个H桥路组成。ENA和ENB是电动机的使能端,当为低电平时,两个电动机停止转动,当为高电平时,两个电动机允许转动。以第一个H桥路举例如何控制电机的正方转,若ENA为低电平时,T1,T2,T3,T4都不导通,OUT1,OUT2两端没有电压,电机不会转动;若ENA为高电平时,当 IN1为低电平,IN2为高电平,此时T2,T3导通,T1,T4截止,电流从电机的正极流向负极,此时电机正转。当IN1为高电平,IN2为低电平,此时T1,T4导通,T2,T3截止,电流从电机的负极流向正极,此时电机反转。第二个H桥路的控制同第一个H桥路,这里不在重述。智能小车的电机驱动原理图如图2.5.图2.16 L298N电机驱动等效原理图(三)电机的PWM调速原理脉宽宽度调制(PWM)是在控制电路输出频率不变的情况下,通过调整其占空比,从而达到控制其输出电压的目的。如图2.17为占空比为50%的输入方波。图2.17 占空比为%50的输入方波下面仍以第一个H桥路为例,介绍电机的PWM调速,如图2.17为占空比为50%的信号波形图,当输入的信号如图2.18所示,T1,T2,T3,T4导通和截止的时间相同,电机正负极之间没有电压差,此时电机停止转动;当输入的信号如图2.19所示,假设输入信号的脉冲周期没有改变,此时在OUT1端产生有效电压比OUT2端产生的有效电压高,此时电机反转;当输入的信号如图2.20所示,假设输入信号的脉冲周期同样没有改变,此时在OUT2端产生有效电压比OUT1端产生的有效电压高,此时电机正转。图2.18 电机停止 图2.19 电机反转 图2.20 电机正转(四)4路PWM信号的产生程序下面是一个由T0中断产生的4路PWM信号的程序,程序的分析参见注释。/*T0中断服务程序*/*PWM产生*/void time0(void) interrupt 1 using 2 TR0=0;/停止T0计数TH0=0xff;/当晶振频率是12M时,每隔0.01ms中断一次,200次中断为PWM信号输出的周期, TL0=0xf6;/PWM信号的频率=1000/(200*0.01ms)=500HZ+t_0;/产生一次中断t_0加1 ACC=t_0;/将t_0的值赋值给ACC CY=0;/清零CYACC-=motor_r;/用ACC减去右边电动机的参数(此参数决定了右边电机的转向和速度) if(CY=1)/判断CY是否置1,如果为1,说明ACC-motor_r已经为负数,置位了CY IN1=1;/IN1由原来的0变成了1 IN2=0;/IN2由原来的1变成了0 goto PWM_2; IN1=0;/如果CY不等于1,IN1=0,IN2=1IN2=1;PWM_2:ACC=t_0;/重新将t_0的值赋值给ACCCY=0;/清零CYACC-=motor_l;/用ACC减去左边电动机的参数(此参数决定了左边电机的转向和速度) if(CY=1)/判断CY是否置1,如果为1,说明ACC-motor_l已经为负数,置位了CY IN3=1;/IN3由原来的0变成了1 IN4=0;/IN4由原来的1变成了0 goto HIGHT; IN3=0;/如果CY不等于1,IN3=0,IN4=1 IN4=1;HIGHT:/ACC=t_0; /重新将t_0的值赋值给ACCif(t_0!=0xc8)/判断t_0的值是否不等于200goto EXIT;/如果不等于200,程序指针指向EXIT执行程序 ACC=0;/如果t_0的值等于200,清零ACC和t_0t_0=ACC;EXIT:TR0=1;/打开TO计数2.3.3 超声波测距与显示模块(一)超声波测距原理通过超声波发射装置发出超声波,根据接收器接到超声波时的时间差就可以知道距离了。超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s)。本设计直接使用超声波模块, 其实物如图2.21所示,模块接口图如图2.22所示。通过一个控制口发一个10US以上的高电平触发trig(控制端),就可以在接收口等待高电平输出.一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,得出的时间就为此次测距的时间,利用此时间可算出距离。测试距离=(高电平时间*声速(340M/S)/2。 图2.21超声波模块接口图图2.22超声波模块实物图(二)超声波模块的控制超声波模块的控制主要有以下四步:第一步:采用单片机IO口触发模块trig(控制端),给至少10us的高电平信号。第二步:触发trig端之后,模块自动发送8个40khz的方波,模块再自动检测是否有信号返回。第三步:如果有信号返回,模块echo端输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。第四步:单片机计算echo端高电平的时间,计算距离并显示。(三)LCD1602液晶显示模块简介超声波测距的数值通过LCD1602显示出来,1602字符型LCD通常有16条引脚线。其实物如图2.23所示,其引脚和相对应的符号和功能如表一所示。能同时显示16例2行32个字符,具有微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,1602液晶模块内部的字符发生存储器存储了160个不同的点阵字符图形,包含的字符有:阿拉伯数字,英文字母的大小写,常用的符号、和日文假名等,每一个字符都有固定的代码,通过57点阵图形来显示字符。图2.23 LCD1602液晶实物图由于STC89C52没有内部SPI模块,所以LCD1602液晶的读写操作需要采用I/O口模拟SPI时序,其操作时序如下:写操作时序图为:表一 LCD1602引脚说明图读操作时序图为: LCD1602的具体操作方法见器件操作手册 。本设计的LCD1602的接线原理图如图2.24所示,其中RS、R/W、E为控制引脚,可以通过这三个引脚控制R3控制显示的对比度 ,BLA,BLK为背光电源的正负极,D0D7为数据口。图2.24 LCD1602接线原理图2.3.4 蓝牙无线通讯模块简介本设计采用的串口蓝牙通讯模块,由一个USB转RS232模块和一对串口蓝牙的发射机和接收机组成。串口蓝牙具有使用方便的优点。其模块引脚图如图2.25,发送机端通过电平转换模块连接在PC机USB口。实现上位机软件将数据串口传送给发送机,通过接收机把接收数据送给单片机进行处理,此时单片机根据送来的数据进行判断达到控制小车运行状态的效果。图2.25 串口蓝牙模块引脚图2.3.5系统供电模块 本系统采用两路供电电路,电源采用两节14500充电电池,每节4.2V,共8.4V为整个系统供电,采用两路5V稳压电路为系统供电,一路为单片机供电,一路为串口蓝牙模块供电,同时将8.4V的电源直接给直流电机供电。其5V稳压电路原理图如图2.26所示。其中7805为5V稳压芯片,D1,D2为二极管,防止电源极性接反,导致电路烧毁,LED1指示电路是否正常工作。C1,C2作用为去耦滤波。图2.26 5V稳压电路原理图2.4 各功能系统连接图由于我们采用的是模块化设计,没有高度的集成整个系统,需要将各个功能单元连接起来,下图为其系统连接图。其中U1,U2为两个最小系统模块。用飞线的方式使各功能模块组合成一个完整的系统。实现对应的功能。这样的设计利于调试和组建系统。1.巡黑线和超声波测距功能系统连接图如图2.27所示。 图2.27 巡黑线和超声波测距功能系统连接图2.PC机蓝牙无线遥控小车系统连接图,如图2.28所示图2.28 PC机蓝牙无线遥控小车系统连接图2.5 PCB的设计1. 最小系统板最小系统板PCB图 如下图所示焊接好后的最小系统板如下图所示 2. 电机驱动电路板电机驱动电路板如下图所示焊接好后的电机驱动电路板如下图所示2.6 本章小结本章主要内容如下:(1)介绍了整个系统的设计框架(2)分别介绍每个功能单元模块的设计和相关芯片的功能及相关参数(3)介绍了所用的模块的基本使用方法和编程要领(4) 说明了整个系统各功能模块单元之间的线路连接,至此,硬件电路的设计已基本结束,这部分是我的核心任务,在此期间对各模块芯片的硬件结构有了更进一步的了解,从原理图的绘制到PCB的生成再到PCB加工直至焊接、调试成功,整个过程进行的比较顺利除了焊接时出现点差错,总的说来,我的能力得到了一次很好的培养,也增长了我的实践经验。第三章 小车结构的设计3.1 智能小车机械结构设计目标和意义为了使智能小车实现平稳、轻巧的运行,且拥有一定的动力。能够顺利的越过路面障碍。同时在实现上述功能的基础上,设计结构紧凑,人机交互界面友好的小车具有重要的意义。3.2 智能小车机械结构的设计经过多次的探索和改进与完善:最后采用如下的设计和选择方案:.电机选择:使用带有减速箱的直流电机,其参数为:1.工作电压:3V12V DC;2.最大扭矩:800GF cm min(3V时);3.空载转速:1:48(3V时);3.负载电流:70Ma(250Ma MAX)(3V时) ,这种速度和扭力制作智能小车较为合适,速度不会太快,而且扭力够大。.小车底板的选择:出于经济性考虑,最后采用了廉价的万用板。其尺寸规格为1015cm,利用其上面的焊孔,可以方便的搭建小车平台,固定模块单元,使用方便,而且非常轻巧。是一个较为理想的解决方案。.小车结构的方案:为了使小车结构紧凑,考虑到小车空间有限,最后采用双层万用板的结构,这样可以获得较大的空间。.小车底层板的结构设计:底层板板底后面固定小车的两个后轮和带有减速箱的直流电机。前轮使用万向轮,中间部分固定两个反射式红外传感器和一个两节电池盒,板上后端固定U1最小系统板模块。.小车上层板的结构设计:上层板板底前端固定U2最小系统板模块,板上后端固定电机驱动电路,其两边有两个按钮开关,分别用于小车的巡线功能的启动和停止,中间固定LCD1602液晶模块,在其靠前端为4个用于指示小车状态的指示灯,其颜色为两绿两红,最前端边沿垂直固定超声波模块。.各模块的连接方案:各模块相对结构用铜柱和螺母。各模块的电气连接用导线相连。 为了更好的表达小车的结构,让人看起来比较直观,本人用Pro/E机械制图软件设计了智能小车3D效果结构模拟图,如图3.1所示。图3.1 小车机械结构三维图 由图3.1,可以很直观的看出,小车的整体布局以及各模块的相对坐标和位置,其具体的尺寸标注可以参看图3.2所示的三视图。小车俯视图小车主视图小车左视图图3.2 小车三视图由上述三视图,可以计算出小车的结构尺寸。这里不在阐述,详细参见Pro/E工程文件。 至此,小车结构的大致介绍到此结束,通过本章的设计,使我对机械软件的使用和机械原理又有了重新的认识。达到温故知新的目的。第四章 蓝牙无线遥控小车PC端上位机设计4.1 上位机软件的设计目标和要求设计上位机控制软件,使其实现如下功能:若按下“A”键,就给串口发送十六进制的0X41,代表小车左转弯命令;若按下“D”键,就发送0X44,代表小车右转弯命令;若按下“W”,则发送0X57,代表小车前进命令;若按下“S”,则发送OX53,代表小车后退命令。若松开按键就不发送,若直按按键,就连续发送对应的值。由于笔记本电脑现在一般没有串口,故在串口蓝牙发射机与笔记本电脑之间使用USB转串口模块连接。4.2 上位机软件的流程图设计本上位机的设计是基于Microsoft Visual Studio 2010中的Visual Basic模板,其是VB的最新版本。VB具有设计容易很诸多优点,具有Windows风格的可视化界面,上位机的程序流程图如下4.1所示:图4.1 上位机程序设计流程图4.3 上位机软件的设计思想 本设计的核心思想是键盘钩子的应用,下面先介绍下键盘钩子的基本概念。钩子(Hook)是Windows消息处理机制的一个平台,应用程序可以在上面设置程序以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理他。钩子机制允许应用程序截获处理Windows消息或特定事件。钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有达到目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。这样钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。键盘钩子的工作原理:通过调用有关的Windows API函数来获取键盘输入的运作,然后根据虚拟键表判断按键的类型,最后把的到的准确的按键类型输出。当钩子获取到按键事件的时候,就判断下是不是按下的需要的键值,如果是的,就给下位机发送对应的数据,其优点是比较稳定,不会和其他软件发生冲突,即使在程序未激活的状态也可以获取按键的信息。4.4 上位机软件的设计4.4.1 上位机界面的设计VB上位机界面如图4.2所示:图4.2 蓝牙无线遥控小车上位机界面4.4.2 上位机程序源代码 全局钩子的模块化代码部分见上位机工程文件部分。Public Class frmHook Dim WithEvents MyKeyBoardHook As uWindows.KeyboardHook Private Sub frmHook_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing Call btnStop_Click(Nothing, Nothing) xiezaihook() End Sub Private Sub frmHook_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim a(0) As String 端口号数组 Dim b As Integer 数组下标 fasongshu = 87 a = System.IO.Ports.SerialPort.GetPortNames 获取已有的端口 b = UBound(a) 获取数组下标 -初始化- Duankou.SelectedIndex = 0 Botelv.SelectedIndex = 5 Jiaoyanwei.SelectedIndex = 0 Shujuwei.SelectedIndex = 2 Tingzhiwei.SelectedIndex = 0 -初始化- MsgBox(b) If b 6 Then MsgBox(a(i) Duankou.Items.Add(a(i) End If Next 循环结束 Dim instance As UnauthorizedAccessException 定义串口资源占用异常 For i As Integer = 0 To b 自动打开端口 Try If SerialPort1.IsOpen = True Then Exit For Else SerialPort1.PortName = a(i) SerialPort1.Open() If SerialPort1.IsOpen = True Then Duankou.SelectedIndex = JieDuanKouShu(a(i) - 1 Label6.Text = 端口已打开 PictureBox1.BackColor = Color.Green Button8.Text = 关闭端口 End Ifgo: End If Catch instance GoTo go End Try Next 循环结束 End If Me.Button1.Select() 开始运行程序时,让发送被选择激活控件 End Sub Private Sub MyKeyboardHook_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyKeyBoardHook.KeyDown fasong(e.KeyValue) End Sub Private Function JieDuanKouShu(ByVal a As String) 获取端口数的号码,如COM1返回1 Dim i As String i = Mid(a, 4, 1) JieDuanKouShu = Val(i) End Function Private Sub fasong(ByVal fasongshu As Integer) 发送函数 If SerialPort1.IsOpen = True Then SerialPort1.Write(Chr(fasongshu) End If End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) H
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 泰州职业技术学院《Hadoop大数据存储与计算》2024-2025学年第一学期期末试卷
- 电机维护与节能技术案例分析
- 陕西学前师范学院《计算机图形学基础》2024-2025学年第一学期期末试卷
- 南京信息工程大学《大数据可视化》2024-2025学年第一学期期末试卷
- 青海农牧科技职业学院《JavaScript与jQuery开发》2024-2025学年第一学期期末试卷
- 青少年生活指导与心理健康辅导
- 郑州医药健康职业学院《道路交通安全及设施设计》2024-2025学年第一学期期末试卷
- 西安电子科技大学《医学微生物学D》2024-2025学年第一学期期末试卷
- 湘南幼儿师范高等专科学校《建筑工程造价课程设计》2024-2025学年第一学期期末试卷
- 昆明工业职业技术学院《空调用制冷技术》2024-2025学年第一学期期末试卷
- GB 11122-2025柴油机油
- 全国职业技能竞赛焊工理论考试题库
- 中医健康养生知识宣教课件
- 经外周静脉穿刺中心静脉(PICC)置管
- 北京八中校史馆设计大纲(参考使用)
- 钢材销售通用版合同(2篇)
- GB 2716-2018食品安全国家标准植物油
- GB 19572-2004低压二氧化碳灭火系统及部件
- 贸易公司绩效考核分配方案(暂行)1
- 劳动保障监察执法课件
- #20kV设备交接和预防性试验规定
评论
0/150
提交评论