基于STC89C52RC单片机的智能小车的设计
基于STC89C52RC单片机的智能小车的设计[20200128193913]
摘 要
本设计下的智能小车,有手动控制和自动控制两种模式。手动控制模式下通过电脑对小车发送遥控指令,来控制小车的方向。自动模式下小车通过自身的超声波模块来辨别障碍物,并能够有效地避开障碍物。同时小车会不断地采集外界温度,并且反馈到电脑上。
设计中主要以单片机STC89C52RC为核心芯片控制整个电路。小车选用直流电机,并且采用L289N芯片对其进行驱动。温度采集选用了比较普及的18B20温度芯片。系统采用NRF24L01芯片构成小车与电脑之间的无线传输电路,由于多数笔记本电脑没有传统的9针串口,遂用CP2102芯片将USB转成串口,以达到单片机与电脑之间的通信。最后用VB在电脑上建立串口通信界面,用以总控制及信息显示。
*查看完整论文请+Q: 351916072
关键字:单片机,超声波,避障小车,串口通信
引 言 1
一 、总体设计方案 2
(一)设计要求 2
(二)系统设计方案 2
(三)总体设计 2
二、硬件的选择与组成 3
(一)单片机的选择 3
(二)避障模块 4
(三)电机驱动模块 5
(四)无线模块 6
(五)温度采集电路 8
(六)USB转串口芯片CP2102 9
三、软件程序流程图 10
(一)主流程图 10
(二)超声波流程图 11
(三)驱动模块流程图 12
(四)温度模块流程图 14
(五)无线模块流程图 17
(六)CP2102串口驱动 18
四、VB串口界面设计 18
(一)VB简介 18
(二)VB串口设计 19
总结 20
致谢 21
参考文献 22
附录一:下位机小车电路原理图 23
附录二:下位机数据收发电路原理图 24
附录四:下位机数据收发PCB 26
附录五:上位机VB程序 27
附录六:下位机数据收发程序 29
附录七:下位机小车程序 31
附录八:设计实物图 36
附录九:元器件清单 36
引 言
现代,人们对环境信息重视与日俱增,采集的方法也越来越多,然而,人力总归是有限的,在一些狭隘窄小的环境中,或者可能会存在危险的环境中,倘若人们自己去采集信息,是不容易的也是不安全的。所以,各种智能化自动化检测仪器屡见不鲜,为了简单模拟这种智能化自动化采集信息的方法,本设计遂设计了一款集手动自动控制,信息采集与反馈为一身的智能小车。
智能小车是一个集环境感知、动态决策与规划、行为控制与执行等多种功能于一体的综合系统,随着计算机科学的发展,可以通过单片机控制来实现对其行驶方向、启动、停止以及速度的控制,并且操作人员可以通过上位机控制智能小车来改变它的行驶方式。因此智能车可以解决一些特殊环境下人力无法完成的任务。
本课题所设计的利用单片机控制的智能小车,系统采用单片机为控制核心,利用自制小车或玩具小车进行小车的模拟,采用超声波避障模块进行障碍物的检测,单片机控制避障模块发射和接收,通过相应的程序处理,判断障碍物的位置。根据检测情况由单片机控制电机驱动模块,控制小车电机的正反转实现小车的转向,启动等相应动作,来实现避开障碍物。同时也可以通过上位机实现对其控制,即手动控制。并且,智能小车还可以采集外界信息并反馈到上位机。软件采用所学的C语言来实现,实用性大,上位机软件编辑采用VB来实现,比较简单。
一 、总体设计方案
(一)设计要求
1、手动模式下,利用串口界面控制小车前进方向。
2、自动模式下,在小车行驶过程中,100ms启动一次超波模块,对前方路况进行检测,当障碍物小于15cm时,小车自动左转。
3、实时采集外界温度。
4、实现无线传输。
(二)系统设计方案
根据设计要求,为了便于调试和改进,采用模块化设计。系统可分为:微控制器、避障模块、电机驱动模块、温度模块、USB转串口模块,上位机。系统框图如图1所示。
图1 系统框图
(三)总体设计
对于主控芯片STC89C52RC,本设计需要5V电源,考虑到单片机电压在3V到5.5V之间,为简便起见,遂采用3节1.5V干电池所代替。电机采用6V电压驱动,用4节1.5V干电池代替。设计采用两种模式,手动模式下,利用上位机软件实现对小车的控制。自动模式下,小车通过超声波模块自动辨别障碍物。超声波避障模块,采用购买的现成的超生波发射接收模块,通过单片机控制超声波模块去小车行驶道路上的障碍物进行检测,然后单片机通过处理反馈的信息,判断障碍物的距离,进而发出指令控制驱动模块,控制小车实现转向,达到避障的目的。温度测量,选用市面上最常用的18B20温度芯片,精度高,使用简单。无线传输模块,采用购买的现成NEF24L01无线传输模块。由于多数笔记本电脑没有传统的9针串口,遂用CP2102芯片将USB转成串口,以达到单片机与电脑之间的通信。
二、硬件的选择与组成
(一)单片机的选择
1、单片机的选择
市面上有很多可供选择的单片机,但是作为性价比较高实用性较强的的51型单片机之一的宏晶89C系列单片机是学生使用较为普遍的的单片机之一,所以在此本设计选用宏晶89C52RC单片机,作为主控芯片。
2、STC89C52简介
STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。STC89C52拥有4个I/O口P0,P1,P2,P3,和3个16位定时器,8K的程序存储空间足够我们一般编程使用。其引脚图如图2所示。
图2 STC89C52 引脚图
3、STC89C52最小系统电路
STC89C52单片机的引脚排序和一般的89C51相同,其最小系统也十分简单,单片机的复位只需要在复位脚上有持续两个周期的高电平即可。其时钟电路也是有一个11.0529MHZ的晶振并联两个30pF的瓷片电容,然后分别连接到单片机的时钟引脚X1,X2。复位、时钟以及89C52电路原理图如图3所示。
图3 89C51最小系统电路图
(二)避障模块
1、避障模块的选择
方案一:
采用红外避障。红外避障的基本原理是发光管发出红外光,光敏接收管接收前方物体反射光,据此判断前方是否有障碍物。根据反射光的强弱可以判断物体的距离,原理是接收管接收的光强随反射物体的距离而变化,距离近则反射光强,距离远则反射光弱。
方案二:
采用超声波避障。超声波彼长的基本原理是采用超声波反射的原理,声波在传输的过程中遇到障碍物返回,超声波模块有一个超声波发射探头和一个接收探头,在避障时,超声波模块发出超声波,然后再计算其与接收到超声波的时间间隔差,从而判断障碍物与本身的距离,其计算公式是S=340*T/2。
经比较,方案一探测距离比较短,且易受外界干扰。方案二超声波检测障碍物的精度高,反映灵敏,受外界干扰小,计算简单、易于做到实时控制。所以,本设计选择第二种方案。
2、HC-SR04的工作原理及电路连接
本设计采用所购买的HC-SR04模块,实物图如图4所示。该模块可提供2cm-450cm的非接触式距离感测功能,测距精度可达到3cm,模块包括超生波发射器,接收器与控制电路。HC-SR04工作原理如下:
1、采用IO口TRIG触发测距,给至少给10us的高电平;
2、模块自动发送8个40khz的方波,自动检测是否有信号返回;
3、有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。
摘 要
本设计下的智能小车,有手动控制和自动控制两种模式。手动控制模式下通过电脑对小车发送遥控指令,来控制小车的方向。自动模式下小车通过自身的超声波模块来辨别障碍物,并能够有效地避开障碍物。同时小车会不断地采集外界温度,并且反馈到电脑上。
设计中主要以单片机STC89C52RC为核心芯片控制整个电路。小车选用直流电机,并且采用L289N芯片对其进行驱动。温度采集选用了比较普及的18B20温度芯片。系统采用NRF24L01芯片构成小车与电脑之间的无线传输电路,由于多数笔记本电脑没有传统的9针串口,遂用CP2102芯片将USB转成串口,以达到单片机与电脑之间的通信。最后用VB在电脑上建立串口通信界面,用以总控制及信息显示。
*查看完整论文请+Q: 351916072
关键字:单片机,超声波,避障小车,串口通信
引 言 1
一 、总体设计方案 2
(一)设计要求 2
(二)系统设计方案 2
(三)总体设计 2
二、硬件的选择与组成 3
(一)单片机的选择 3
(二)避障模块 4
(三)电机驱动模块 5
(四)无线模块 6
(五)温度采集电路 8
(六)USB转串口芯片CP2102 9
三、软件程序流程图 10
(一)主流程图 10
(二)超声波流程图 11
(三)驱动模块流程图 12
(四)温度模块流程图 14
(五)无线模块流程图 17
(六)CP2102串口驱动 18
四、VB串口界面设计 18
(一)VB简介 18
(二)VB串口设计 19
总结 20
致谢 21
参考文献 22
附录一:下位机小车电路原理图 23
附录二:下位机数据收发电路原理图 24
附录四:下位机数据收发PCB 26
附录五:上位机VB程序 27
附录六:下位机数据收发程序 29
附录七:下位机小车程序 31
附录八:设计实物图 36
附录九:元器件清单 36
引 言
现代,人们对环境信息重视与日俱增,采集的方法也越来越多,然而,人力总归是有限的,在一些狭隘窄小的环境中,或者可能会存在危险的环境中,倘若人们自己去采集信息,是不容易的也是不安全的。所以,各种智能化自动化检测仪器屡见不鲜,为了简单模拟这种智能化自动化采集信息的方法,本设计遂设计了一款集手动自动控制,信息采集与反馈为一身的智能小车。
智能小车是一个集环境感知、动态决策与规划、行为控制与执行等多种功能于一体的综合系统,随着计算机科学的发展,可以通过单片机控制来实现对其行驶方向、启动、停止以及速度的控制,并且操作人员可以通过上位机控制智能小车来改变它的行驶方式。因此智能车可以解决一些特殊环境下人力无法完成的任务。
本课题所设计的利用单片机控制的智能小车,系统采用单片机为控制核心,利用自制小车或玩具小车进行小车的模拟,采用超声波避障模块进行障碍物的检测,单片机控制避障模块发射和接收,通过相应的程序处理,判断障碍物的位置。根据检测情况由单片机控制电机驱动模块,控制小车电机的正反转实现小车的转向,启动等相应动作,来实现避开障碍物。同时也可以通过上位机实现对其控制,即手动控制。并且,智能小车还可以采集外界信息并反馈到上位机。软件采用所学的C语言来实现,实用性大,上位机软件编辑采用VB来实现,比较简单。
一 、总体设计方案
(一)设计要求
1、手动模式下,利用串口界面控制小车前进方向。
2、自动模式下,在小车行驶过程中,100ms启动一次超波模块,对前方路况进行检测,当障碍物小于15cm时,小车自动左转。
3、实时采集外界温度。
4、实现无线传输。
(二)系统设计方案
根据设计要求,为了便于调试和改进,采用模块化设计。系统可分为:微控制器、避障模块、电机驱动模块、温度模块、USB转串口模块,上位机。系统框图如图1所示。
图1 系统框图
(三)总体设计
对于主控芯片STC89C52RC,本设计需要5V电源,考虑到单片机电压在3V到5.5V之间,为简便起见,遂采用3节1.5V干电池所代替。电机采用6V电压驱动,用4节1.5V干电池代替。设计采用两种模式,手动模式下,利用上位机软件实现对小车的控制。自动模式下,小车通过超声波模块自动辨别障碍物。超声波避障模块,采用购买的现成的超生波发射接收模块,通过单片机控制超声波模块去小车行驶道路上的障碍物进行检测,然后单片机通过处理反馈的信息,判断障碍物的距离,进而发出指令控制驱动模块,控制小车实现转向,达到避障的目的。温度测量,选用市面上最常用的18B20温度芯片,精度高,使用简单。无线传输模块,采用购买的现成NEF24L01无线传输模块。由于多数笔记本电脑没有传统的9针串口,遂用CP2102芯片将USB转成串口,以达到单片机与电脑之间的通信。
二、硬件的选择与组成
(一)单片机的选择
1、单片机的选择
市面上有很多可供选择的单片机,但是作为性价比较高实用性较强的的51型单片机之一的宏晶89C系列单片机是学生使用较为普遍的的单片机之一,所以在此本设计选用宏晶89C52RC单片机,作为主控芯片。
2、STC89C52简介
STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。STC89C52拥有4个I/O口P0,P1,P2,P3,和3个16位定时器,8K的程序存储空间足够我们一般编程使用。其引脚图如图2所示。
图2 STC89C52 引脚图
3、STC89C52最小系统电路
STC89C52单片机的引脚排序和一般的89C51相同,其最小系统也十分简单,单片机的复位只需要在复位脚上有持续两个周期的高电平即可。其时钟电路也是有一个11.0529MHZ的晶振并联两个30pF的瓷片电容,然后分别连接到单片机的时钟引脚X1,X2。复位、时钟以及89C52电路原理图如图3所示。
图3 89C51最小系统电路图
(二)避障模块
1、避障模块的选择
方案一:
采用红外避障。红外避障的基本原理是发光管发出红外光,光敏接收管接收前方物体反射光,据此判断前方是否有障碍物。根据反射光的强弱可以判断物体的距离,原理是接收管接收的光强随反射物体的距离而变化,距离近则反射光强,距离远则反射光弱。
方案二:
采用超声波避障。超声波彼长的基本原理是采用超声波反射的原理,声波在传输的过程中遇到障碍物返回,超声波模块有一个超声波发射探头和一个接收探头,在避障时,超声波模块发出超声波,然后再计算其与接收到超声波的时间间隔差,从而判断障碍物与本身的距离,其计算公式是S=340*T/2。
经比较,方案一探测距离比较短,且易受外界干扰。方案二超声波检测障碍物的精度高,反映灵敏,受外界干扰小,计算简单、易于做到实时控制。所以,本设计选择第二种方案。
2、HC-SR04的工作原理及电路连接
本设计采用所购买的HC-SR04模块,实物图如图4所示。该模块可提供2cm-450cm的非接触式距离感测功能,测距精度可达到3cm,模块包括超生波发射器,接收器与控制电路。HC-SR04工作原理如下:
1、采用IO口TRIG触发测距,给至少给10us的高电平;
2、模块自动发送8个40khz的方波,自动检测是否有信号返回;
3、有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jxgc/zdh/4310.html