单片机-自动往返小车_第1页
单片机-自动往返小车_第2页
单片机-自动往返小车_第3页
单片机-自动往返小车_第4页
已阅读5页,还剩24页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机自动往返小车自动往返电动小汽车( 高级组 )设计报告部门院系:常州大学信息科学与工程学院目录1、设计任务311基本要求 31.2发挥部分 32、方案论证与选择 42.1、系统总体框图 42.2、各模块硬件选择 42.2.1、控制模块 42.2.2、外部传感器模块 52.2.3、电机驱动模块 .52.2.4、电源模块 52.2.5、显示模块 53、系统硬件原理与实现 63.1、系统总体电路图 63.2、系统各模块设计介绍73.2.1、单片机控制模块73.2.2、外部传感器模块83.2.3、电机驱动模块 83.2.4、 L C D 液 晶 显 示 模块 94、统软件设计 .104.1系统软件

2、设计框图 104.2系统软件设计代码 125、设计数据测量 191、设计任务设计并制作一个能自动往返于起跑线与终点线间的小汽车。允许用玩具汽 车改装,但不能用人工遥控(包括有线和无线遥控)。_ i= 14aI oamg0.3mrll跑道宽度0.5m,表面贴有白纸,两侧有挡板,挡板与地面垂直,其高度不低于20cm。在跑道的B、C、D、E、F、G各点处画有2cm宽的黑线,各段的长度如图1所示。11基本要求1)车辆从起跑线出发(出发前,车体不得超出起跑线),到达终点线后停留10 秒,然后自动返回起跑线(允许倒车返回)。往返一次的时间应力求最短(从 合上汽车电源开关开始计时)。2)到达终点线和返回起跑

3、线时,停车位置离起跑线和终点线偏差应最小 (以车辆中心点与终点线或起跑线中心线之间距离作为偏差的测量值)。3)DE间为限速区,车辆往返均要求以低速通过,通过时间不得少于4秒,但不允许在限速区内停车。12发挥部分1)自动记录、显示一次往返时间(记录显示装置要求安装在车上)2)自动记录、显示行驶距离(记录显示装置要求安装在车上)3)其它特色与创新。2、方案论证与选择2.1、系统总体框图选定自动往返小车的题目后,我们决定购买一台符合尺寸要求的玩具小车, 直接利用上面的直流电机的方法实现要求,由此节省自行安装和调试小车动力 部分的时间。根据设计任务要求,最终确定的系统设计框图如下:系统分为单片机控制模

4、块、外部传感器模块、电机驱动模块、电源模块和LCD液晶显示模块。2.2、各模块硬件选择2.2.1、控制模块控制模块负责接收传感器,控制液晶显示模块和PWM控制输出。主流方案是采用FPGA芯片或者单片机。采用可编程逻辑器件FPGA作为控制器。FPGA可以实现各种复杂的逻辑功能、规模大、密度高、体积小、稳定性高、 IO 资源 丰富、易于进行功能扩展。还可以采用 Atmel公司的AT89S52单片机作为主控 制器AT89S52是一个低功耗,高性能的51内核的CMOS 8位单片机,片内含 8k空间的可反复擦些1000次的Flash只读存储器,具有256 bytes的随机存取 数据存储器( RAM ),

5、 32个 IO 口, 2 个 16位可编程定时计数器。考虑到本系 统不需要复杂的逻辑功能,对数据的处理速度的要求也不是非常高。且从使用 及经济的角度考虑我们选择较为成熟的方案2。2.2.2、外部传感器模块 这里有三个地方需要用到传感器,分别是检测黑线,检测车速,检测障碍物, 我们分别用 TCRT5000 检测黑线与检测障碍物,用霍尔元件检测车速。TCRT5000 具有紧凑的结构发光灯和检测器安排在同一方向上,利用红外光谱 发射对象存在另一个对象上,操作的波长大约是 950毫米,调理电路简单,工 作性能稳定;利用霍尔效应,在车轮的内侧装上二条细磁铁,把霍耳传感器同 样装在车轮的内侧,测量霍尔传感

6、器的输出就可以知道车轮转过的圈数,工作 原理比较简单易懂。2.2.3、电机驱动模块这里我们有两种方案, 一种是采用分立元件构成驱动电路; 另一种是采用专 用芯片L2982虽然分立元件构成电机驱动电路,结构简单,价格低廉,在实际 应用中应用广泛。但是这种电路工作性能不够稳定;而 L298N 是一个具有高电 压大电流的全桥驱动芯片,它相应频率高,一片 L298N 可以分别控制两个直流 电机,而且还带有控制使能端。用该芯片作为电机驱动,操作方便,稳定性好, 性能优良。所以最后决定选用专用芯片 L298N作为电机驱动模块。2.2.4、电源模块电源模块作用时把外部电压降为 5V,供给单片机和传感器使用2

7、.2.5、显示模块这里我们有两种方案, 一种是采用 LCD1602 液晶屏;另一种是采用 8 位 数码管进行显示。采用 LCD1602 液晶屏,该液晶屏可以两行显示数字、字母, 显示清晰;采用 8 位数码管进行显示,数码管只能显示数字。考虑到我们需要 指示当前数值是小车行驶时间还是距离,因此决定采用能显示更多内容的 LCD 作为显示模块的主要硬件。3、系统硬件设计与实现3.1、系统总体电路图hhhhh.Hh89C52单片机P0接LCD液晶显示屏的7到14数据端口P2 口分别接电机驱动模块的 A1,A2,B1,B2,C1,C2,D1,D2P1 口的P10接LCD液晶显示屏的数据命令选择端,P11

8、接LCD液晶显示屏的 读写选择端,P12接LCD液晶显示屏的使能端;P13到P16分别接电机驱动模块的电机 a的使能控制端pwma,电机b的使能控 制端pwmb,电机c的使能控制端pwmc,电机d的使能控制端pwmd;P17接寻迹传感器的OUT端,用来检测黑线;INTO接左边壁障模块的输出端。INT1接右边壁障模块的输出端。T0端接霍尔元件的输出端,设置 T0为计数模块,根据计数值算出路程。3.2、系统各模块设计介绍3.2.1、单片机控制模块模块电路图如下:单片机在系统中起控制中心的作用,其内部代码见软件设计部分3.2.2、外部传感器模块(寻迹电路)1Vce47KPl7OUTl-1*-l1Jn

9、nJI3Viccycc1LM3931、 没有检测到黑线,则H4发光到白纸,光发射到H4接受端,H4接收端导通, 则2脚比较器反相端T1接地=0;3脚比较器同相端为3v,同相端大雨反相端outl 输出为1。2、检测到黑线,则H4发光到黑线,完全被吸收,接受端没有收到任何信号, 因为H4截止,则2脚比较器反相端T1=VCC.=5v,3脚比较器同相端为3v,反 相端大于同相端outl输出为0.3、 调试方法:黑色物体遮挡传感器检测T1脚电压变化是否正常,调节电位器 R13,使得3脚电压介于T1电压的最大和最小之间。323、电机驱动模块模块电路图如下:电机驱动模块利用电池组供电。单片机的两个端口输出“

10、10 ”和“0T分别驱动小车向前和向后动,另外一个端口输出PWM波形,通过波形的占空比来控制直流电机的转速。L298N是SGS公司的产品,内部同样包含4通道逻辑驱动电路。可以方便的 驱动两个直流电机,或一个两相步进电机。L298N可接受标准TTL逻辑电平信号 VSS VSS可接4. 57 V电压。4脚VS接电源电压,VS电压范围VIH为+ 2. 5 46 V。输出电流可达2.5 A,可驱动电感性负载。1脚和15脚下管的发射极分 别单独引出以便接入电流采样电阻,形成电流传感信号。L298可驱动2个电动机,0UT1 0UT2和0UT3 OUT4之间可分别接电动机,本实验装置我们选用驱动 一台电动机

11、。5, 7,10,12脚接输入控制电平,控制电机的正反转。EnA, EnB接控制使能端,控制电机的停转。324、LCD液晶显示模块模块电路图如下:LCD1602 为工业字符型液晶, 能够同时显示 16*02 即 32 个字符。 1602液晶 模块内部的字符发生存储器 (CGROM) 已经存储了 160 个不同的点阵字符图形, 这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等, 每一个字符都有一个固定的代码,只要在数据端输入相应的 ASCII 码,即可在 LCD 上显示相应字符。4、系统软件设计4.1 系统软件设计框图启动否显示是 停车停止计时计时乡士Aikqv是是显U/j示4

12、.2 系统软件设计代码#include #define uchar unsigned char#define uint unsigned intuchar code table=DISTANCE : . m;/ 显示距离,单位:米uchar code table1=TIME : s ;/ 显示运行时间,单位:秒uint code table_pwm=5,17,17,6,17,10,0,5,10,17,6,17,10,0;每个区间的 PWM值sbit lcdrs=P1A0;/数据命令选择端sbit lcdrw=P1A1;/ 读写选择端sbit lcde=P1A2;/使 能端sbit pwma=P

13、1A3;电机a的使能控制端sbit pwmb=P1A4;电机b的使能控制端sbit pwmc=P1A5;/电机c的使能控制端sbit pwmd=P1A6;电机d的使能控制端sbit rpr=P1A7;/寻线传感器输入端信号uchar num;uint fx=0;小车行进方向,0为前进,1为后退uint t=0;/时间系数uint n=0;/黑线的个数uint pwm_date;/pwm 值float a1,b1;int a0,a2,a3,a4,b0,b2,b3;void delay(uint m)/延迟 n (ms)int i,j;for(i=m;i0;i-)for(j=110;j0;j-);

14、void write_com(uchar com)/写 命令lcdrs=0;P0=com;delay(5);lcde=1;/使能信号端输入高脉冲delay(5);lcde=0;void write_date(uchar date)/写 数据lcdrs=1;P0=date;delay(5);lcde=1;使能信号端输入高脉冲delay(5);lcde=0;void lcd_init()/lcd 初始化lcdrw=0;lcde=0;write_com(0x38);设置16X2显示,5X7点阵,8位数据接口write_com(0x0c);设置开显示,不显示光标write_com(0x06);写一个字

15、符后地址指针加 1write_com(0x01);显示清0,数据指针清0void int0_ringht()interrupt 0/左边壁障模块检测到信号右转if(rpr=1)/ 检测红外线是否检测到模块检测到黑线 n+;if(n=6)/ 到达终点线fx+;P2=0x55;电机反转delay(10000);/等待 10sn+;delay(100);if(fx=0)P2=0x2a;/前进时右转elseP2=0x15;/后退时右转if(n=13)write_com(0x80+0x0a);/显示路程a0=TL0;a1=a0*0.102;a2=a1/10;a3=a1-a2*10;write_date(

16、0x30+a2);显示路程十位write_date(0x30+a3);显示路程个位 write_com(0x80+0x0d);a4=(a1-a2*10-a3)*10;write_date(0x30+a4);显示路程十分位 delay(1);write_com(0x80+0x09+0x40);/显 示时间b0=t;b1=b0/50;b2=b1/10;b3=b1-b2*10;write_date(0x30+b2);显示时间十位write_date(0x30+b3);显示时间个位EA=0;关cpu中断TR0=0;关定时器0TR1=0;关定时器1ET1=0;/关定时器1中断EX0=0;/关外部中断0E

17、X1=0;/关外部中断1void int1_left()interrupt 2/右边壁障模块检测到信号左转if(rpr=1)/ 检测红外线是否检测到模块检测到黑线n+;if(n=6)到达终点线fx+;P2=0x55;电机反转delay(10000);/等待 10sn+;delay(100);if(fx=0)P2=0xa2;/前进时左转elseP2=0x51;后退时左转if(n=13)write_com(0x80+0x0a);/显示路程a0=TL0;a1=a0*0.102;a2=a1/10;a3=a1-a2*10;write_date(0x30+a2);显示路程十位write_date(0x30

18、+a3);显示路程个位 write_com(0x80+0x0d);a4=(a1-a2*10-a3)*10;write_date(0x30+a4);显示路程十分位 delay(1);write_com(0x80+0x09+0x40);/显 示时间 b0=t;b1=b0/50;b2=b1/10;b3=b1-b2*10;write_date(0x30+b2);显示时间十位write_date(0x30+b3);显示时间个位EA=0;关cpu中断u中断TR0=0;关定时器0TR1=0;关定时器1ET1=0;/关定时器1中断EX0=0;/关外部中断0void nlfimeoinferrupf 3=M#-H1HI宀?+TH 亠(65533丄 8349=256=M胃号胃凹 R 20msTLlJL65533丄 8349)256 pwmldaffHsrb-elpwm 巨; pwmaul;pwmbul;pwmcul;pwmcM;desry(pwmldaff);pwmcuo pwmduovoid main()宀-cdnisx/od 甘空去Wrifflcom(ox80);for(numuo;numd6;n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论