万仁武707060文档格式.docx
《万仁武707060文档格式.docx》由会员分享,可在线阅读,更多相关《万仁武707060文档格式.docx(22页珍藏版)》请在冰豆网上搜索。
学生通过基于51系列单片机的音乐智能寻迹避障小车的设计与控制实训,除了加深和巩固学生课程理论学习之外,更重要的是加强实践、拓展应用,让学生了解基于51系列单片机的开发和运用的一个整体开发流程,包括在训练中要求学生能够自己根据性能指标和功能要求掌握硬件电路的设计和制作、元器件的选用和安装、软件的编写和调试,同时学会硬件仿真、软件仿真和整机联调,其中最关键的两部分:
硬件电路设计与制作和控制软件的编写以及调试,使得准产品最后达到技术指标的要求。
【摘要】本次实训的硬件主要有车体框架、检测模块、控制模块。
检测模块中包括声控部分、传感部分。
控制模块包括电机驱动部分和单片机控制部分,寻迹音乐小车的驱动采用直流电机驱动方式。
控制模块是小车系统的核心部分,单片机通过I/O口控制各个模块。
利用黑白线对红外线吸收的不同的物理特性设计寻迹音乐小车,采用AT89S52单片机进行实时控制,实现小车的寻迹,检测部分传感器采用红外对射式,当小车经过黑线时,会先停止,然后后退或转向,而当小车经过白线是,小车直行直到再次遇到黑线时做出相应的反应。
技术关键是车体框架的设计实现和红外避障模块的设计,技术难点是单片机的编程下载来实现预期的功能。
.
目录
1…………………第一章寻迹音乐小车原理的概述
2…………………第二章设计方案的选择和确定
3…………………第三章系统的软件设计
4…………………第四章性能测试与分析
5…………………第五章心得体会
第一章寻迹音乐小车的原理的概述
寻迹是指小车在白色地板上循黑线行走,通常采取的方法是红外探测法。
红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;
如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。
单片机就是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线。
小车在白色地面行驶时,装在车下的红外发射管发射红外线信号,经白色反射后,被接收管接收,一旦接收管接收到信号,那么图中光敏三极管将导通,比较器输出为低电平;
当小车行驶到黑色引导线时,红外线信号被黑色吸收后,光敏三极管截止,比较器输出高电平,从而实现了通过红外线检测信号的功能。
将检测到的信号送到单片机I/O口,当I/O口检测到的信号为高电平时,表明红外光被地上的黑色引导线吸收了,表明小车处在黑色的引导线上;
同理,当I/O口检测到的信号为低电平时,表明小车行驶在白色地面上。
小车进入循迹模式后,即开始不停地扫描与探测器连接的单片机I/O口,一旦检测到某个I/O口有信号,即进入判断处理程序(switch),先确定4个探测器中的哪一个探测到了黑线,如果左面第一级传感器或者左面第二级传感器探测到黑线,即小车左半部分压到黑线,车身向右偏出,此时应使小车向左转;
如果是右面第一级传感器或右面第二级传感器探测到了黑线,即车身右半部压住黑线,小车向左偏出了轨迹,则应使小车向右转。
在经过了方向调整后,小车再继续向前行走,并继续探测黑线重复上述动作。
本次工程训练小车的红外检测部分采用了8个RPR220,每个间距控制在25mm,在前方150mm范围内对跑道进行检测。
第二章设计方案的选择和确定
1.总体方案
整个电路系统分为检测、控制、驱动三个模块。
首先利用光电对管对路面信号进行检测,经过比较器处理之后,送给软件控制模块进行实时控制,输出相应de信号给驱动芯片驱动系统方案方框图如图1所示。
电机转动,从而控制整个小车de运动。
系统方案方框图如图1所示。
2.检测模块
(1)传感单元
市场上用于红外探测法de器件较多,可以利用反射式传感器外接简单电路自制探头,也可以使用结构简单、工作性能可靠de集成式红外探头。
我们采用的是反射型光电探测器RPR-220。
RPR-220是一种化反射型光电探测器。
其发射器是一个砷化镓红外发光二极管,而接收器是一个高灵敏度,硅平面光电三极管,主要应用在游戏机及其他办公设备中。
这里的循迹是指小车在白色地板上循黑线行走,通常采取的方法是红外探测法。
红外探测器探测距离有限,一般最大不应超过3cm。
光电反射式RPR220
RPR-220采集信号信号以后通过电压比较器,我们采用的是8个RPR-220,8个并排排列,其中第1个和第2个,第3个和第4个分别并联通过LM358,其余四个通过LM324。
(2)电压
比较单元
LM324是四运放集成电路,它采用14脚双列直插塑料封装,外形如图所示。
它的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互独立。
每一组运算放大器可用图1所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“Vo”为输出端。
两个信号输入端中,Vi-(-)为反相输入端,表示运放输出端Vo的信号与该输入端的相位相反;
Vi+(+)为同相输入端,表示运放输出端Vo的信号与该输入端的相位相同。
LM324的引脚排列见图2。
在本检测部分中,LM358,LM324作用有两个,分别是对电压进行比较并且对采集到的信号中的干扰信号进行滤除。
车在白色地面行驶时,装在车下的红外发射管发射红外线信号,经白色反射后,被接收管接收,一旦接收管接收到信号,光敏三极管将导通,比较器输出为低电平;
当RPR-220二极管发射红外线在白线旁容易产生漫反射,漫反射的光线影响其他RPR-220对信号的检测,但通过LM358和LM324采集到的信号和基准电压进行比较能够很好的滤除干扰信号,从而得到正确的判断。
声控单元
本声控电路主要是通过将MIC所接收到的声音信号转变为电信号,并且由电容耦合和牵制电路之后通过三极管Q1放大,从而使得集电极电位上升,在让放大的信号再次通过三极管Q2,使三极管工作在饱和导通区,然后比较电平的变化。
3.控制模块
本次实训我们采用的AT89S52单片机,AT89S52能够实现电擦出,所以可以重复编程下载、
1、最小单片机系统
1个最小的单片机系统包括复位电路、时钟电路、电源电路
(1)复位电路
(2)时钟电路
(3)电源电路
2、电机的驱动
小车拥有两个直流电机,通常为了让小车更好的运转,我们通常需要对直流电机进行驱动,常用的驱动方式有,H桥电机驱动、PWM原理电机驱动以及芯片驱动
一、H桥驱动电路
图4.12中所示为一个典型的直流电机控制电路。
电路得名于“H桥驱动电路”是因为它的形状酷似字母H。
4个三极管组成H的4条垂直腿,而电机就是H中的横杠(注意:
图4.12及随后的两个图都只是示意图,而不是完整的电路图,其中三极管的驱动电路没有画出来)。
如图所示,H桥式电机驱动电路包括4个三极管和一个电机。
要使电机运转,必须导通对角线上的一对三极管。
根据不同三极管对的导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机的转向。
图4.12H桥驱动电路
要使电机运转,必须使对角线上的一对三极管导通。
例如,如图4.13所示,当Q1管和Q4管导通时,电流就从电源正极经Q1从左至右穿过电机,然后再经Q4回到电源负极。
按图中电流箭头所示,该流向的电流将驱动电机顺时针转动。
当三极管Q1和Q4导通时,电流将从左至右流过电机,从而驱动电机按特定方向转动(电机周围的箭头指示为顺时针方向)。
图4.13H桥电路驱动电机顺时针转动
图4.14所示为另一对三极管Q2和Q3导通的情况,电流将从右至左流过电机。
当三极管Q2和Q3导通时,电流将从右至左流过电机,从而驱动电机沿另一方向转动(电机周围的箭头表示为逆时针方向)。
二、PWM原理驱动电路
PWM基本原理
脉宽调制(PWM)。
控制方式就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等的脉冲,用这些脉冲来代替正弦波或所需要的波形。
也就是在输出波形的半个周期中产生多个脉冲,使各脉冲的等值电压为正弦波形,所获得的输出平滑且低次斜波谐波少。
按一定的规则对各脉冲的宽度进行调制,即可改变逆变电路输出电压的大小,也可改变输出频率。
.电流控制PWM
电流控制PWM的基本思想是把希望输出的电流波形作为指令信号,把实际的电流波形作为反馈信号,通过两者瞬时值的比较来决定各开关器件的通断,使实际输出随指令信号的改变而改变.其实现方案主要有以下3种.
滞环比较法[1]
这是一种带反馈的PWM控制方式,即每相电流反馈回来与电流给定值经滞环比较器,得出相应桥臂开关器件的开关状态,使得实际电流跟踪给定电流的变化.该方法的优点是电路简单,动态性能好,输出电压不含特定频率的谐波分量.其缺点是开关频率不固定造成较为严重的噪音,和其他方法相比,在同一开关频率下输出电流中所含的谐波较多.
三角波比较法[2]
该方法与SPWM法中的三角波比较方式不同,这里是把指令电流与实际输出电流进行比较,求出偏差电流,通过放大器放大后再和三角波进行比较,产生PWM波.此时开关频率一定,因而克服了滞环比较法频率不固定的缺点.但是,这种方式电流响应不如滞环比较法快.
预测电流控制法[3]
预测电流控制是在每个调节周期开始时,根据实际电流误差,负载参数及其它负载变量,来预测电流误差矢量趋势,因此,下一个调节周期由PWM产生的电压矢量必将减小所预测的误差.该方法的优点是,若给调节器除误差外更多的信息,则可获得比较快速,准确的响应.目前,这类调节器的局限性是响应速度及过程模型系数参数的准确性.
如上图是一个PWM的使用原理图
三、芯片驱动电路
一般驱动直流电机的芯片有很多,例如有ML4428,L289N,L298N.本次工程训练我们采用的是L9110
原理接线图
检测部分
控制部分
材料清单
1.LM324和14脚的底座各一个2.LM358和8脚的底座各一个
3.RPR2208个4.L9110和8脚底座各两个
5.12M晶振一个6.复位开关一个
7.发光二极管一个8.AT89s52和40脚底座各一个
9.电解电容2个102电容2个10.10个单排针和单排针插座
11。
驻极体一个12.三极管两个
12.电阻若干
PCB接线图
第三章系统的软件设计
1.程序流程图
/*07电子工程训练项目:
自动寻迹音乐小车程序*/
/*头文件调用和宏定义*/
#include<
reg51.h>
intrins.h>
string.h>
math.h>
#defineucharunsignedchar//无符号字符类型定义
#defineuintunsignedint//无符号整数类型定义
/*变量初始化*/
sbitBZ=P1^6;
sbitMIC=P1^7;
sbitQDdcmotor_IA=P2^0;
sbitQDdcmotor_IB=P2^1;
sbitFXdcmotor_IA=P2^2;
sbitFXdcmotor_IB=P2^3;
ucharxunjidecode=0x00;
/*函数声明*/
voidstopcar();
voidZUOZHUANcar();
voidQJcar();
voidbackcar();
voidYOUZHUANcar();
voidmusicdelay(uintz)
{
uintx,y;
for(x=z;
x>
0;
x--)
for(y=60;
y>
y--);
}
voidstopcar()
{QDdcmotor_IA=0;
QDdcmotor_IB=0;
FXdcmotor_IA=0;
FXdcmotor_IB=0;
}
voidZUOZHUANcar()
{FXdcmotor_IA=1;
musicdelay(20);
QDdcmotor_IA=1;
musicdelay(200);
QDdcmotor_IA=0;
musicdelay(30);
voidQJcar()
{QDdcmotor_IA=1;
musicdelay(300);
voidbackcar()
QDdcmotor_IB=1;
voidYOUZHUANcar()
FXdcmotor_IB=1;
voidmain()
{while
(1)
{xunjidecode=P1;
if(BZ==1)//遇到障碍物停车,鸣放喇叭
{stopcar();
else
{switch(xunjidecode)
{case0x00:
{backcar();
break;
else{stopcar();
}//停止
case0x01:
{YOUZHUANcar();
}//偏左、应右转并右转演示
elsestopcar();
//停止
case0x03:
{YOUZHUANcar();
}//偏左、应右转并右转演示
case0x06:
case0x0C:
QJcar();
//居中、前进并前进演示
case0x18:
{ZUOZHUANcar();
}//偏右、应左转并左转演示
elsestopcar();
case0x20:
case0x30:
case0x3F:
stopcar();
//到达终点,停止并停车演示
第四章性能测试与分析
4.1测试方法与仪器:
1、测试仪器
万用表、直流稳压电源。
2、测试方法
1)万用表主要用来测试各元件是否导通,测试线路是否无误;
2)直流稳压电源在测试期间为各待测系统供电;
设计基本要求对制成的循迹小车进行测试。
按照要求给检测模块供电,用一张白纸挡住光电二极管后迅速移除,检测电压比较器输出电压是或有高低电平的转变。
按同样方法检测其他管子是否正常工作,然后同样在供电情况下检测声控单元,对着驻极体发出响声,用万用表检测P1.6口电平的输出.
4.2测试结果分析:
当检测到检测电压由高电平变成低电平表示RPR-220能正常工作。
当检测到P1.6电平由高电平变成低电平,则证明声控模块其作用。
2.跑道测试
观察小车能否正常寻迹,并且在跑道上快速行驶
参考资料
[1]赵全利.单片机原理及应用教程[M].机械工业出版社.2007.5
[2]朱清慧.Proteus教程-电子线路设计、制版及仿真.清华大学出版社.2008年9月
[3]闫胜利.AltiumDesigner实用宝典.电子工业出版社.
[4]刘刚等.ProtelDXP2004SP2原理图与PCB设计[M].电子工业出版社.2007.6
[5]综合电子论坛
第五章心得体会
经过两周的工程训练我们感受和收获颇多,在老师认真负责的带领下,我们基本完成了对玩具小车的改装。
这次工程训练和以前工程训练有很多的不同,以前的工程训练我们用的是一块PCB版,而这次工程训练我们要制作两块PCB版,所以我们要考虑到两块板子的各个单元并把它们很好的组合在一起,这需要丰富的想象力,除此之外以前我们的工程训练从未涉及到软件编程,此次的工程训练需要很好的将软硬件结合在一起,这对我们有了一个新的要求和高度。
这次工程训练我们跟着罗小青老师的带领下对这次小车改装中所涉及到的电路和模块有了一个比较深入的了解,很好的将我们所学的模数电和单片机中所学到的硬件知识结合在一块。
同时我们跟随着彭岚峰老师一起温习了单片机的编程知识和KEIL和AltiumDesigner软件的使用,从中我们受益匪浅。
同时经过这次工程训练我发现了很多自身的不足AltiumDesigner,软件使用还不够熟练,尤其是单片机编程技术相当的薄弱,我想在以后的学习中我应该勤于实践,乐于钻研,弥补我现在学习的不足。
所以在我之后的学习中我认为应该更注重实践的学习,尤其是软硬件结合,它对我们的要求就更高了,除了有良好的模电数电基础,更需要把我们所学的内容运用到实践中去分析和理解,单片机是一门实践性很强的课程,除了我们要对基本的硬件的掌握,更了解需要中断,串行口,定时器的工作方式和爱实践中的应用经验和技巧。
本次工程训练结果相当不理想,除了有一些客观原因,板子的质量不好在我们移动中容易造成虚焊和短路,但更主要自己还没有完全积极的投入到本次工程训练中,像自己在PCB图的绘制和单片机的编程过程中都没有独立自己的思考,很多东西都是借鉴别人之手,所以在后面检测的过程中出现很多问题无法进行修正,同时我不得不承认检测成功与否不能否定你的这段时间的付出和努力,确实本次工程训练对我之前的很多盲点有了很好的了解,尤其是AltiumDesigner的作图和电路板的焊接技术和问题的处理能力有了很大的提高。
我明白很多东西自己动手的话会有更深刻的理解,不管结果如何毕竟自己努力得到的东西才是最美好的。
工程训练成绩评定表
电子信息工程班级:
07电子2班
学号:
7022807060姓名:
万仁武
项目名称
基于51单片机的寻迹音乐小车
设计任务与要求
1、音乐智能寻迹小车需基于51系列单片机进行开发和设计。
2、能实现在椭圆轨道、S形轨道,太极图形轨道等多种规则黑线轨道上寻迹运行,并还可以实现在任意黑线轨道上运行。
3、至少两种方式启动:
一是通过掌声、口声等其它声音启动;
二是能通过检测到黑线后自行启动等其它。
4、实现仿真实小车的声音和车灯效果:
小车前进时有真车前进声音和车灯效果,小车左拐弯时有真车左拐弯声音和车灯效果,小车右拐弯时时有真车右拐弯声音和车灯效果,小车后退时有真车后退声音和车灯效果,小车遇到障碍物时有真车鸣喇叭声音和车灯效果、并自动绕开障碍物前行。
5、小车寻迹避障运行完之后能伴随音乐翩翩起舞演示。
6、小车外观包装优美、电路设计制作焊接等工艺精良、软件程序可读性强。
7、可扩展其它功能
指导教师评语
建议成绩:
指导教师:
教研组评定意见
评定成绩:
负责人:
时间:
年月日