基于at89s52单片机的多功能智能小车设计(编辑修改稿)内容摘要:

强,电阻减小,入射光弱,电阻增大。 光敏电阻器一般用于光的测量、光的控制和光电转换(将光的变化转换为电的 变化)。 这里我们就可以利用光敏二极管对光源变换的敏感反映,检测外部光源。 当有光照射时,光敏二极管呈强电阻,经比较器输出一个高电平,反之则输出低电平。 我们可以再外接一个 LED 作为检测指示灯,则可以明显观察到这个变化。 即有光照时 LED 亮,无时则灭。 速度检测系统 在电机测 速中,考虑了两种方案:一种是使用光电码盘,即透射式光电传感器(凹槽型,类似老式鼠标),另一种是霍尔传感器(适合较高速度)。 两种方案的主要区别如表 23。 表 23 速度检测系统方案对比 霍尔传感器 关电码盘 抗干扰性 较强 强 实时性 较好 好 易用性 需和磁钢配对使用,较麻烦 较简单 由上表可以看出光电码盘在各方面都具有一定的优势,因此本设计采用关电码盘测速。 电机驱动系统 直流电机和步进电机都可以用于小车驱动。 故有两种方案。 方案一:使用直流电机,加上适当减速比的减速器。 直流电机具有良好的调速性能,控制起来也比较简单。 直流电机只要通上直流电源就可连续不断的转动,调节电压的大小就可以改变电机的速度。 直流电机的驱动电路实际上就是一个功率放大器。 常用的驱动方式是 PWM 方式,即脉冲宽度调制方式。 此方法性能较好,电路和 控制都比较简单。 方案二:使用步进电机。 步进电机具有良好的控制性能。 当给步进电机输入一个电脉冲信号时,步进电机的输出轴就转动一个角度,因此可以实现精确的位置控制。 与直流电机不同,要使步进电机连续的转动,需要连续不断的输入点脉冲信号,转速的大小由外加的脉冲频率决定。 去而且其转动不受电压波动和负载变化的影响,也不受温度、气压等环境因素的影响,仅与控制脉冲有关 [8]。 但步进电机的驱动相对较复杂,要由控制器和功率放大器组成。 具体差别见下表 24。 学士学位论文 6 表 24 电机控制方式对比 直流电机 步进电机 调速性能 较好 较差 位置控制精度 较差 好 驱动 简单 复杂 稳定性 较好 好,仅与控制脉冲有关 由上表可以看出步进电机和直流电机都有各自的优点。 步进电机能进行精确的位置控制,但驱动电路麻烦,鉴于本设计中小车的位置控制不要求十分精确,直流电机即可满足小车要求的精度。 且直流电机易于控制,驱动电路十分简单。 单片机控制电路系统 此部分是整个小车运行的核心部分,起着控制小车所有运行状态的作用。 控制的方法有很多,大部分都采用单片机控制。 单片机要完成电机控制、循线控制、避障控制金属检测控制和光源检测控制等工作。 本 设计中小车的主控采用我们最为熟悉的AT89S52 单片机。 虽然这款单片机本身没有 PWM 模块,但若采用本身有 PWM 模块的单片机就会产生资源浪费。 我们可以通过软件编程产生 PWM,既能充分利用可用资源,又不浪费。 且能很好的满足题目要求。 显示模块 由于小车要显示速度和行驶距离,内容较多。 数码管使用简单,价格低廉,但一个数码管只能显示一个数字,要显示多位数据时要使用多个数码管,这就增加了硬件电路的复杂度和额外功耗。 故不予考虑。 液晶显示电路简单,使用方便,一个液晶显示器就可以同时满足此处同时显示速度和距离的要求 ,且更加直观明了。 3 硬件设计 7 3 硬件设计 总体设计方案 智能小车采用后轮驱动,后轮左右两边各用一个电机驱动,调制两个后面两个轮子的转速从而达到控制转向的目的,前轮是万象轮,起支撑的作用。 将四个红外线光电传感器装在车体的底盘前端,小车根据传感器检测到的情况执行。 避障的原理和循迹一样,在车头装了一个传感器,传感器检测到障碍物时,小车减速,车体做出相应的反应。 小车速度的检测也是靠的红外线,只不过是器件的型号不同,速度检测的传感器用的是对射式,避障用的是直射式。 把码盘装在电机的轴上,码盘随电机一起转动,这里使用的是改进过的的码盘,把圆形硬纸片切制成直径为 25mm 的圆,再把圆周用锯条均匀切 12 条缝,缝的宽度约为 1mm。 可以很好的满足小车所需的精度。 考虑到电机控制要使用 PWM 波形,而 AT89S52 单片机本身不能产生 PWM,需要外加电路或使用软件的方式实现,为减少硬件电路,这里选用软件产生 PWM 方式。 整体原理电路图如图 31 所示。 图 31 整体原理电路图 学士学位论文 8 单片机控制电路 单片机是控制单元的核心。 起着控制小车所有运行 状态的作用。 单片机控制模块使用的是 ATMEL 公司生产的 AT89S52,使用该芯片很容易实现对其他模块的控制。 通过对单片机 AT89S52写入程序,可以方便的用软件来控制整个过程 .控制部分如图 32所示。 图 32 单片机最小系统 AT89S52 单片机最小系统包括了一路复位开关,用于小车复位。 输出 PWM信号, ~ 分别控制电机驱动。 其他 P 口用外接控制小车的各种控制开关, P0口外接 10K 的上拉电阻,可用于外接 LCD1602。 AT89S52 单片机介绍: AT89S52 是一种低功耗、 高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash存储器。 使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完全兼容。 片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。 在单芯片上,拥有灵巧的 8 位 CPU 和在系统 可编程 Flash,使得 AT89S52 为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 AT89S52 具有以下标准功能: 8k 字节 Flash,256 字节 RAM, 32 位 I/O 口线,看门狗定时器, 2 个数据指针,三个 16 位 定时器 /计数器,一个 6 向量 2 级 中断结构,全双工串行口,片内晶振及时钟电路。 另外, AT89S52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。 空闲模式下, CPU 停止工作,允许 RAM、定时器 /计数器、串口、中断继续工作。 掉电保护方式下, RAM 内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。 8 位微控制器 8K 字节在系统可编程 [16]。 其引脚排列如图 33 所示。 3 硬件设计 9 图 33 AT89S52 引脚排列图 ● 与 MCS51 单片机产品兼容; ● 8K 字节在系统可编程 Flash 存储器; ● 1000 次擦写周期; ●全静态操作: 0Hz~ 33Hz; ●三级加密程序存储器; ● 32 个可编程 I/O 口线; ●三个 16 位定时器 /计数器; ●八个中断源; ●全双工 UART 串行通道; ●低功耗空闲和掉电模式; ●掉电后中断可唤醒; ●看门狗定时器; ●双数据指针; ●掉电标识符。 4 个 P 口 在一般情况下都是 是一个 8 位双向 I/O 口。 不过 P0 口是 漏极开路的 8 位双向 I/O 口 ,而其他 P 口都是 具有内部上拉电阻的 8 作为输出口要外部上拉电阻。 且P1 口部分引脚和 P3 口具有第二功能。 具体见表 31 和表 32。 学士学位论文 10 表 31 P1口引脚第二功能 引脚号 第二功能 T2 定时器 /计数器 T2的外部计数输入,时钟输出 T2EX 定时器 /计数器 T2的捕捉 /重载触发信号和方向控制 MOSI 在系统编程用 MISO 在系统编程用 SCK 在系统编程用 表 32 P3口引脚第二功能 引脚号 第二功能 RXD 串行输入 TXD 串行输出 INT0(外部中断 0) INT0(外部中断 0) T0(定时器 0 外部输入) T1(定时器 1 外部输入) WR(外部数据存储器写选通 ) RD(外部数据存储器写选通 ) 另外还有第九引脚 RST 为复位引脚。 地十八引脚和第十九引脚分别为 振荡器反相放大器的 输入端和 输出端。 电机驱动电路 驱动电路 小车使用的是直流电机。 从单片机输出的信号功率很弱,即使在没有其它外在负载时也无法带动电机,所以在实际电路中我们加入了电机驱动芯片提高输入电机信号的功率,从而能够根据需要控制电机转动。 直流电机常用的 PWM,及脉宽调制方式驱动。 本设计中电机驱动采用 L298 集 成 H 桥芯片。 L298 中有两套 H 桥电路,刚好可以控制两个电机。 它的使能端可以外接高低电平,也可以利用单片机进行软件控制,极大地满足各种复杂电路需要。 另外, L298 的驱动功率较大,在 6~46V 的电压下,可以提供 2A 的额定电流,并且具有过热自动关断和电流反馈检测功能,安全可靠;为了保证 L298 正常工作,我们另外安装了续流二极管。 电路如图 34 所示。 能根据输入电压的大小输出不同的电压和功率,解决了负载能力不够这个问题。 利用单片机调整出 PWM 脉冲和高低电平对直流电机进行驱动和控制。 3 硬件设计 11 图 34 电机驱动电路 L298 集成 H 桥芯片。 其外形、管脚分布如图 35 所示。 图 35 L298 管脚分布图 PWM 调速原理 脉冲宽度调制( Pulse Width Modulation),简称 PWM。 脉冲周期不变,只改变晶闸管的导通时间,即通过改变脉冲宽度来进行直流调速。 PWM 的理论基础是:冲量相等而形状不同的的窄脉冲加在具有惯性的环节上,其效果基本相同。 采用 PWM 进行电机的调速控制,实际是保持加在电机电机电枢上的脉冲电压频率不变,调节其脉冲宽度。 电机是一个惯性环节,它的电枢电流饿转速均不能突变,很高的频率的 PWM 加在电机上,效果相当于施加一个恒定电压的直流电。 如图 36 所示。 这个电压可以由脉冲的宽度调节。 学士学位论文 12 图 36 PWM 等效图示意图 使用 PWM 方式可以很容易的实现调速。 PWM 信号由单片机软件产生,使用非常方便。 由于电路总体上并不复杂,驱动电路的控制输入端也可以不用经光耦合隔离,直接与单片机引脚相连。 前进时,驱动两个直流电机都正转 ,后退时,则两电机都反转。 左转时前进时,左电机不转而右电机正转,右转前进时,则右电机不转而左电机正转。 进入减速区时 ,由单片机控制进行 PWM 变频调速 ,通过软件改变脉冲调宽波形 的占空比 ,实现调速。 所有这。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。