智能探测机器车的设计与制作.docx
- 文档编号:8579985
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:17
- 大小:441.01KB
智能探测机器车的设计与制作.docx
《智能探测机器车的设计与制作.docx》由会员分享,可在线阅读,更多相关《智能探测机器车的设计与制作.docx(17页珍藏版)》请在冰豆网上搜索。
智能探测机器车的设计与制作
I题智能探测机器车的设计与制作
摘要
随着我国社会经济的全面发展,智能探测机器车在探测领域已经逐渐取代人工探测,为人们的生活提供了极大的方便。
本系统由智能探测系统和接收系统两部分无线通信,完成智能探测、数据采集和无线传输和显示,通过外围及附属电路来实现对智能探测车的循迹、定位、探测、数据无线接收和发送、数据实时显示和语音播报的设计。
本设计智能探测系统以STC89C52单片机为核心,由直流减速电机、红外对管、光码盘、温度和湿度传感器、超声波传感器、颜色传感器、12864显示屏、无线传输模块组成,完成循迹、定位、温度检测、测距、颜色识别、湿度检测、360度转身、显示、无线数据发送功能。
接收系统以STC89C52单片机为核心,由无线接收模块、12864显示模块、语音播报组成,完成无线数据接收、实时数据显示、语音播报的功能。
关键词:
STC89C52;循迹;定位;探测;无线通信;语音播报
一、系统设计
1.1总体方案论证与比较
本系统硬件电路以智能探测系统和接收系统组成,智能探测系统以单片机STC89C52为核心,电路包括循迹模块、光码盘定位、温度和湿度探测模块、测距模块、颜色探测模块、无线传输模块。
接收系统以单片机STC89C52为核心,包括无线接收模块、显示模块、语音播报模块。
其智能探测系统和接收系统框图如图1-1所示和1-2所示。
图1-1智能探测系统框图
图1-2接收系统框图
1.2各模块方案论证与比较
1.2.1控制器模块
方案一:
采用MSP430功能强大,速度快,相比51而言,这些是明显的优势。
但是,MSP430作为混合信号处理器,针对许多具体应用,许多功能未必有用。
方案二:
采用STC89C52系列的单片机。
此单片机具有指令简单,外围电路简单,硬件设计方便,IO口操作简单,无方向寄存器,资源丰富,价格便宜、容易购买,资料丰富容易查到,程序烧写简单,使用简单等特点。
考虑实际情况,我们选择了STC89C52作为主控芯片,此芯片对于本次设计资源完全够用。
1.2.2电机模块
方案一:
采用步进电机作为该系统的驱动电机。
优点:
其转过的角度可以精确的定位,可以实现小车前进路程和位置的精确定位。
缺点:
步进电机的输出力矩较低,随转速的升高而下降,且在较高转速时会急剧下降,其转速较低,且价格较高。
方案二:
采用直流减速电机。
优点:
直流减速电机转动力矩大,体积小,重量轻,装配简单,使用方便。
由于其内部由高速电动机提供原始动力,带动变速(减速)齿轮组,可以产生大扭矩。
综合两个方案的优缺点及实际需要,我们选用方案二,能够较好的满足系统的要求,因此我们选择了此方案。
1.2.3电机驱动模块
方案一:
使用L298N芯片驱动电机。
L298N芯片可以驱动两个二相电机,也可以驱动一个四相电机,输出电压最高可达50V,可以直接通过电源来调节输出电压;可以直接用单片机的I/O口提供信号;而且电路简单,使用比较方便。
方案二:
使用多个功率放大器驱动电机通过使用不同的放大电路和不同参数的器件,可以达到不同的放大要求,放大后能得到较大的功率。
但是,当点击的功率较大时运行起来会不稳定,而且电路的制作也比较复杂。
通过比较,我们采用方案一。
1.2.4循迹模块
方案一:
采用CCD传感器,此种方法虽然能对路面信息进行准确完备的反应,但它存在信息处理满,实时性差等缺点,因此若采用CCD传感器,无疑会加重单片机的处理负担,不利于实现更好的控制策略。
方案二:
采用红外对管传感器,该传感器为开关量传感器,输出为TTL电平,可以直接和单片机连接,需要在输出端加上拉电阻。
可见光干扰小,输出信号为开关量,信号处理简单,使用非常方便外。
经以上分析我们选择方案二。
1.2.5定点精确定位和360度转身模块
方案一:
采用电子指南针。
该模块定位准,但是操作麻烦,而且价格贵。
方案二:
采用编码盘。
小车在转动的过程中,编码盘通过计数实现90度转弯和360度转身的测量,精度高,价格便宜。
考虑到实际的情况,我们选用了编码盘用来准确定位。
1.2.6测距模块
方案一:
采用激光位移传感器测距的方法进行测距,精度很高,但是价格很贵。
方案二:
采用红外测距传感器进行测距,价格很便宜,但是精度不高。
方案三:
采用超声波进行测距,价格适中,精度很高。
所以选择此方案。
1.2.7总体方案
经过反复论证,我们最终确定了总体方案如下:
(1)采用STC89C52作为主控芯片。
(2)采用减速直流电机实现小车前进与转向。
(3)采用L298N芯片驱动电机。
(4)采用红外对管进行循迹。
(5)采用编码盘实现定点精确定位和360度转身。
(6)采用DHT11采集温度和湿度。
(7)采用超声波进行测距。
(8)采用TCS3200采集颜色。
(9)采用SYN6288语音芯片进行播报。
(10)采用CC1101无线发送和接收模块分别实现发送和接收功能。
二、理论分析与计算
2.1智能探测系统理论分析与计算
2.1.2循迹电路分析
循迹电路采用两个,如图2-1所示,完成对寻迹线、定位点、转身区和终止线的循迹。
其中红外对管1和2实现对中间黑线的循迹。
如果红外对管1、2、3和4同时检测到黑线时,则检测到某个定位点的十字,小车精确转身90度;如果红外对管1和2同时检测到黑线,而3和4检测不到黑线,则小车到达转身区;如果红外对管1和2检测不到黑线,而3和4检测到黑线,则小车到达终止线,小车停止。
红外对管的位置如图2-1所示。
图2-1红外对管的位置
2.1.3精确定位和360度转身模块分析与计算
小车精确定位过程中,需要转过90度和360度角度,小车在转动过程中,通过安装在车轮上的编码器计数,送到单片机的P3.3,经计算处理转换成小车转过的角度,其原理如图2-2所示。
A:
LED发光二极管B:
光敏三极管
图2-2光电码盘定位示意图
当A、B之间没有遮挡物时,B接收到了A的光,此时B导通,输出高电平;小孔通光,给单片机送高电平。
当A、B之间有遮挡物时,B接收不到A的光,此时B截止,输出低电平;小孔不通光,给单片机送低电平。
输出信号由高到低的跳变,每发生一次就计数,将跳变的输出信号送给单片机进行检测就可以得到轮子的转过的距离,从而计算出小车转过的角度。
码盘转一周360度,计数器计数100个值,经过计算和测试,得出计数器计数达到112个值时,小车正好向右转弯90度,再重新计数达到112个值时,小车返回寻迹线继续前行。
这样就可以完成小车在定点的精确定位。
当计数器达到448个值时,小车正好转身360度。
2.1.3数据采集模块分析
2.1.3.1温度和湿度检测模块设计
为了完成定位点1的温度探测和定位点4的湿度探测,我们使用了新型的智能温湿度传感器DHT11。
它主要实现对温度、湿度的检测,将温度湿度信号通过此传感器转换成数字信号,送入单片机STC89C52的P2.0口进行分析和处理,从而得到定位点1的温度值和定位点4的湿度值。
该仪器具有测量精度高、硬件电路简单、并能很好的进行显示。
可测试不同环境温湿度的特点。
2.1.3.2超声波检测模块分析
对定位点2进行超声波测距,我们选择了HC-SR04超声波传感器,它可以可提供2cm--400cm的非接触式距离感测功能,测距精度可达高到3mm,模块性能稳定;模块包括超声波发射器、接收器与控制电路。
基本工作原理:
超声波传感器计算:
设l为测量距离,t为往返时间差,超声波的传播速度为c,则有t=2l/c,而声波在空气中传输速率为(m/s)。
式中T为环境温度;CO为绝对温度时的速度,是常数。
测试距离=(高电平时间*声速(340M/S))/2。
2.1.3.3颜色检测模块设计分析
在定位点3处进行颜色检测,使用了颜色传感器TCS230。
TCS230是一种可编程彩色光到频率转换器。
它的输出信号是数字量,可以驱动标准的TTL或COMS逻辑输入,因此可直接与STC89C52的I/O口相连,将颜色信号送入单片机,计算的出RGB的数值。
2.1.4数据上传模块(无线发送模块)
在定位点1、2、3、4上,单片机STC89C52分别采集温度、距离、颜色、湿度信号,通过无线发送模块CC1101实现数据的上传。
CC1101是一款低于1GHz高性能射频收发器,设计旨在用于极低功耗RF应用。
通过SPI方式,实现数据的无线发送。
2.2接收系统硬件构成及功能
2.2.1数据接收模块(无线接收模块)
接收系统同样采用无线收发模块CC1101接收智能探测系统发送的数据,通信方式为SPI方式。
2.2.2语音播报模块
为了对实时数据进行语音播报,我们选择了SYN6288语音合成芯片。
这种芯片具有清晰、自然、准确的中文语音合成效果;通过异步串口接收待合成的文本,实现文本到语音的转换。
文本识别智能、语音合成效果和智能识别效果非常优越。
还具有体积小、硬件接口简单、性价比高的优点。
内置DC-DC转换电路,无需外加负。
三、系统电路与程序设计
3.1硬件电路部分
3.1.1车体
购买文轩电子的坦克小车具有组装完整的车架车轮、电机及其驱动电路。
易改装,好控制。
机械性能有保障。
尺寸(长180*宽135)符合要求。
车体见附图1。
3.1.2单片机最小系统
本设计分智能探测系统和接收系统两部分,其中智能探测系统是以单片机STC89C52为主控模块,完成小车的循迹、精确定位、360度转身、数据采集(包括温度、湿度、距离、颜色)、数据上传功能;接收系统也是以单片机STC89C52作为主控模块,完成数据接收、语音播报、数据显示功能。
智能探测系统电路图如附图2所示。
接收系统电路图如附图3所示
3.1.3电机驱动模块电路
我们采用L298N芯片对电机进行驱动,用单片机的P1.0、P1.1口作为控制信号的输出端,通过输出脉冲信号控制电机的驱动。
其电路图如附图4所示。
3.1.4超声波测距电路
在定点2处采用超声波HC-SR04进行距离的数据采集。
HC-SR04与单片机的连接电路图见附图5。
3.1.5温度和湿度检测电路
在定点1和4处,需要采集温度和湿度,本系统采用的DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。
单线制串行接口。
DHT11与单片机的连接电路如附图6所示。
3.1.6颜色识别电路
在定点3处,需要采集颜色,本系统采用的TCS230颜色传感器与单片机的连接电路图如附图7。
3.2系统程序设计
根据设计要求,本设计软件部分实现了智能探测系统程序和接收系统软件,智能探测系统程序包括循迹、精确定位、360度转身、温度采集、距离采集、颜色采集、湿度采集、数据上传(无线发送)、12864液晶显示;接收系统程序包括数据接收(无线接收)、液晶显示、语音播报。
3.2.1系统软件流程图
智能探测系统附图8和接收系统程序流程图如附图9;
子程序流程图包括小车转弯90度子程序、超声波测距子程序、采集温度子程序、采集颜色子程序如附图10;
3.2.2部分程序
如附件1。
四、系统测试方案与测试条件
根据系统设计方案,本系统的调试共分为三大部分:
硬件调试,软件调试和软硬件联调。
测试包括温度采集、距离采集、90度转弯和360度转身测试。
4.1使用的仪器仪表
1、家用温度计一只2、卷尺3、量角器
4.2系统调试
根据系统设计方案,本系统的调试共分为三大部分:
硬件调试,软件调试和软硬件联调。
由于在系统设计中采用模块设计法,所以方便对各电路模块功能进行逐级测试。
4.3测试数据
(1)采集温度数据分析
测试条件是:
在定位点1一侧,放置圆柱形容器直径6cm,高度25cm,内装液体水,用于调节环境温度,对温度进行采集,测试结果与温度计比较如表4-1所示。
表4-1温度测试
(2)采集距离数据分析
测试条件:
在定位点2处放置长方体尺寸长度20cm,高度25cm,2cm左右,长方体可前后移动10-20cm,测试结果与卷尺测量结果比较结果如表4-2所示。
表4-2距离测试
(3)定点精确定位和360度转身
测试条件:
在四个定位点,实现90度转弯,在两个转身区实现360度转身。
表4-390度转弯测试
表4-4360转弯测试
用光电传感器检测转盘转动,将光信号转变成电信号送给单片机进行检测就可以得到轮子的转速。
其中所产生的误差,我们通过两种方式来减小。
一、用软件来实现减小误差。
二、我们将测速的轮盘分为100孔,即使其最小检测出360/100=3.6度,这样就能满足转速的精确测量。
4.4测试结果与分析
经过对系统的严格测试,本系统能够实现题目所要求的基本功能,达到了设计和制作要求。
五、体会总结
首先要感谢山东省大学生电子设计大赛组委会为我们提供这次施展才华的机会,同时要深深感谢各位辅导老师在电子设计大赛期间给予我们小组的帮助。
通过各种方案的讨论和尝试,在经过多次的整体软硬件结合调试,不断地对系统进行优化,小车能比较流畅的沿着黑线循迹,完成4个定位点的精确定位,并在转身区内完成360度转身。
在完成基本要求后,发挥部分完成数据采集及显示,数据无线发送,上位机无线接收数据,并对数据进行显示和语音播报。
比赛期间各位辅导老师给予我们极大的帮助和支持,在这里我们小组三个成员要向辅导老师致以我们深深的感激和感谢之情,同时对在比赛期间给予我们帮助的所有老师表示感谢!
最后再次感谢大学生电子设计大赛组委会和我们的辅导老师!
参考文献
[1]郭惠,吴迅.单片机C语言程序设计完全自学手册[M].电子工业出版社。
[2]王东锋,王会良,董冠强.单片机C语言应用100例[M].电子工业出版社。
[3]韩毅,杨天.基于HCS12单片机的智能寻迹模型车的设计与实现[J].学术期刊。
[4]王为青,邱文勋著.《51单片机应用开发案例精选》.北京:
人民邮电出版社。
[5]华成英童诗白模拟电子技术基础第四版高等教育出版社。
附件:
附图1:
车体
附图2:
智能探测系统整体原理图
附图3:
接收系统原理图
附图4:
电机驱动电路
附图5:
超声波测距电路图
附图6:
温度和湿度传感器DHT11接口电路
附图7:
颜色传感器与STC89C51的接口电路
附图8:
智能探测系统整体流程图
附图9:
接收整体流程图
附图10:
子程序流程图
小车精确定位超声波测距子程序采集温度和湿度子程序颜色识别子程序
附件1:
部分程序
1、主程序
voidmain()
{
initc1101();
TxBuf[0]=0xa0;
halRfSendPacket(TxBuf,8);
init();
while
(1)
{
xunji();
if(over==1)
{
TxBuf[0]=0xa1;
TxBuf[1]=U8T_data_H;
halRfSendPacket(TxBuf,8);
}
if(over==2)
{
TxBuf[0]=0xa2;
TxBuf[1]=S;
halRfSendPacket(TxBuf,8);
}
if(over==3)
{
TxBuf[0]=0xa3;
TxBuf[1]=rb;
TxBuf[2]=gb;
TxBuf[3]=bb;
halRfSendPacket(TxBuf,8);
}
if(over==4)
{
TxBuf[0]=0xa4;
TxBuf[1]=U8RH_data_H;
halRfSendPacket(TxBuf,8);
}
over=0;
}
}
2、超声波测距子程序:
#include"ceju.h"
sbitecho=P2^1;
sbittrig=P2^2;
unsignedinttime=0;
unsignedcharS=0;
voidinit1()
{
TMOD=0x10;//设T0为方式1,GATE=1;
TH1=0;
TL1=0;
ET1=1;//允许T0中断
}
voidConut(void)
{
time=TH1*256+TL1;
TH1=0;
TL1=0;
S=(time*1.7)/100+2;//算出来是CM
}
voidStartModule()//启动模块
{
trig=1;
delay
(1);//启动一次模块
trig=0;
}
voiddistance()//juli显示
{
lcd_test(0,0x8b);
lcd_test(1,S/10+0x30);
lcd_test(1,S%10+0x30);
}
voidceju_init()//测距
{
lcd_display();
StartModule();//启动模块
while(!
echo);//当RX为零时等待
TR1=1;//开启计数
while(echo);//当RX为1计数并等待
TR1=0;//关闭计数
Conut();//计算
delay(5);
distance();
over=2;
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 探测 机器 设计 制作