找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3115|回复: 0
打印 上一主题 下一主题
收起左侧

基于C8051F005小车行驶自动控制

[复制链接]
跳转到指定楼层
楼主
ID:229453 发表于 2017-8-31 10:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
摘 要
本系统采用单片机C8051F005作为核心器件对小汽车行驶的自动控制。控制过程是利用反射型光电传感器识别路面黑线信息,保证小车能够有效的寻迹和停止。采用角度传感器测量坡度,通过数据采集系统的处理,完成电动小汽车在跷跷板处于任何角度时的速度及方向控制。利用PWM (脉宽调制)技术控制直流电机的转速,时间用数码管显示。本设计共使用五支反射型光电传感器,其中利用四支控制车轮的转向,一支控制前进、停止。整个系统较好的实现了题目的要求,达到了较高的性能指标。

一、 方案的论证与选择
根据题目的基本要求,分别对系统各模块进行论证。
1、 单片机的选择
方案一: 采用传统的89C51芯片作为小车的控制中心。51单片机具有价格低廉使用简单等特点,但其运算速度较低。功能比较单一,内部资源比较少,在对小车进行控制时必须外扩芯片, 且本系统需要A/D、D/A转换模块但89C51中没有,需要外加,控制过程相对比较繁琐。
方案二: 采用单片机C8051F005作为控制中心。C8051F系列单片机的指令系统与传统的80C51单片机完全兼容,且单片机C8051F005具有丰富的内部资源,并且包含12位精度的A/D、D/A转换模块,方便了模拟、数字信号的转换,不需要再外加A/D、D/A转换模块,并且由于采用流水线技术,比标准51系列单片机快约12倍,除此之外C8051F系列单片机还具有操作简单,在线下载易于调试等优点,完全适合于对小车的控制。尤其是其具有丰富的中断源为接收传感器的信息提供了很大的方便。
基于上述分析,所以选择方案二。
2、 电动机驱动调速模块的选择
方案一: 采用步进电机作为驱动源,此种方案可以轻松地达到调速的目的,但是在原有的小车结构上找到合适的步进电机比较困难,同时也加大了系统的复杂程度,更提高了硬件改造的困难程度,而且步进电机的价格也比较高。
方案二: 采用由达林顿管组成的H型PWM电路。PWM电路由四个大功率晶体管组成H桥电路构成,四个晶体管分为两组,交替导通和截止,用单片机控制达林顿管使之工作在开关状态,通过调整输入控制脉冲的占空比,精确调整电动机转速。这种电路由于管子只工作在饱和和截止状态下,效率非常高。H型电路使实现转速和方向的控制简化,且电子开关的速度很快,稳定性极强,是一种广泛采用的PWM调速技术。
基于上述分析,拟采用方案二。
3、 路面黑线探测模块的选择
探测路面黑线的工作原理是:光线照射到路面并反射,由于黑线和白纸的反射系数不同,可根据接收到的反射光强弱判断是否到达黑线
方案一: 不调制的反射式红外发射—接收器。由于采用红外管代替普通可见光管,可以降低环境干扰;但如果直接用直流电压对管子进行供电,限于管子的平均功率要求,工作电流只能在10mA左右,仍然容易受到干扰。
方案二: 采用电光开关(E3F-DS0C4),此电光开关默认为低电平,当检测到黑线时会输出高电平给单片机,从而产生中断。此电路有助于降低输入阻抗且硬件电路简单易于软件控制,还可以有效将光电检测结果送入单片机处理。
基于上述考虑,拟采用方案二。
4、 显示选择
方案一:采用静态驱动法。输出一次显示数据后,所有数码管可以一直保持显示,只需要改变显示内容时才重新发送一次显示数据,但实时性差,不宜采用。
方案二:采用动态驱动法原理。每只数码管轮流显示各自的字符。由于人眼具有视觉暂留特性,当每只数码管显示的时间间隔小于1/16S时人眼感觉不到闪烁,看到的是每只数码管常亮。
以上两种方案综合考虑,采用方案二。
5、 电源的选择
方案一:双电源供电。用两个电源分别给控制系统和电机系统供电将两个系统完全隔离,利用光电耦合传输信号,这样做虽然可以将电动机驱动所造成的干扰大大降低但操作复杂不如单电源方便灵活。
方案二:采用单一电源(6节AA电池)供电方案,并在单片机与电机驱动电路间采用了光电耦合器进行连接,这样既能简化电路,提高了电源的可靠性,从而提高系统的稳定性。
基于上述分析,拟采用方案二。
二、系统框图及工作原理
图2-1给出了系统组成框图,数据采集通过反射型光电传感器完成对黑线的检测,并以电信号脉冲的形式送入单片机的中断源,五支反射型光电传感器依图由上至下顺序分别与单片机的P1.6、P1.7、P0.2、P1.5、P1.4相接,单片机对送来的信号进行分析、处理,角度传感器将采集的信息通过A/D模块进行采集,经处理后发出指令对小车实施控制,使电动车在行驶中速度得以调整。另外,单片机通过内部时钟对行驶时间进行记录并显示。
图1 系统组成框图

三、系统的硬件设计

1电机驱动电路模块
电动机PWM驱动模块的电路见附图2。本电路采用的是基于PWM 原理的H型驱动电路。该电路采用TIP122和TIP127大功率达林顿管,以保证电动机启动瞬间的电流要求。
电路工作过程:当40106的1脚为高电平,5脚为低电平时,Q1、Q4管截止,电动机正转。当40106的1脚为低电平,5脚为高电平时,Q2、Q3管截止,Q1、Q4管导通,电动机反转。
控制系统电压统一为5V电源,因此若达林顿管基极由控制系统直接控制,则控制电压最高为5V,再加上三极管本身的压降,加到电动机两端的电压就只有4V左右,减弱了电动机的驱动力。基于上述考虑,我们运用了4N25光耦集成块,将控制部分与电动机的驱动部分隔离开来,这样不仅增加了各系统模块之间的隔离度,也使驱动电流得到了大大的增强。
至于40106的1脚与5脚这对控制电压,我们采用了200KHz的周期信号控制,通过对其占空比的调整,对车速进行调整。最小脉冲为0.2ms,可以满足车速调整的精度要求。同时,可以通过40106的1脚与5脚的切换来控制电动机的正转与反转。
2传感器模块
2.1  反射型光电传感器
光电传感器在受到可见光照射后即产生光电效应,将光信号转换成电信号输出。它除能测量光强之外,还能利用光线的透射、遮挡、反射、干涉等测量多种物理量,如尺寸、位移、速度、温度等,因而是一种应用极广泛的重要敏感器件。本系统采用了反射型光电传感器,利用黑色寻迹线对光反射很弱,使传感器输出低电平传给单片机。单片机输出相应的指令从而控制小车的转向。本设计共使用五支反射型光电传感器,前左、前右传感器安装在两前轮中间位置并分别与单片机P1.6、P1.7口相接,控制小车前轮的转向,后左、后右传感器安装在两后轮中央,与P1.5、P1.4口相连,控制小车的前进、后退,中传感器安装在车体中间一侧位置并与单片机P2.0口连接,用于检测横向黑线,控制小车的行驶、停止。当传感器检测到信号后,传给单片机产生中断,并发出相应指令调速。保证小车能够有效的寻迹和停止。
2.2  角度传感器
角度传感器经常用于系统的水平测量,从工作原理上可分为“固体摆”式、“液体摆”式、“气体摆”三种倾角传感器,本系统采用的是固体摆式角度传感器AME-B001,其输出为模拟量,转角范围是0~360度,输出电压范围是0.5~4.5V ,平衡位置电压约为1.7V。此传感器具有磁钢位置未对准自动补偿;故障检测功能;非接触位置检测功能,是满足苛刻环境应用需求的理想选择三个优点。根据坡度的不同,单片机通过A/D模块采集到不同的电压,再根据电压值的不同控制小车上下坡的速度,从而防止小车上坡时因为速度小而不能爬上及下坡时因为速度过大而冲下跷跷板,保证了小车在上下坡时的正常行驶。小车在跷跷板上行驶受重力G、支持力N、电机的拉力F拉和与行驶方向相反的摩擦力f,跷跷板与地面夹角为θ。受力情况分析如下图所示。
图2 小车受力分析
若使小车在跷跷板上保持匀速行驶,则应受力平衡,故水平方向应满足:
经受力分析可知:f=Ug; N=Gcosθ.经推倒可得出拉力与θ的关系为:
根据拉力与电机扭力的关系:F拉= X%*F扭即可得出倾角θ与电机扭力的关系:
.
3、显示电路模块
动态驱动法对数码管的笔画端与公共端都加有驱动电路。将数码管的笔画端连接在一起,驱动电路将显示字形码(段码)同时加在每只数码管上。各个数码管的公共端分别使用驱动器件驱动。任意一个时刻只有一只数码管的公共端被驱动(位码),故只有该数码管能显示。其他数码管由于公共端未被驱动,即使笔画端加有段码驱动也不会显示。位驱动电路不停地轮流驱动每一只数码管,段驱动同时输出被驱动的数码管的段码,这样每只数码管轮流显示各自的字符。由于人眼具有视觉暂留特性,当每只数码管显示的时间间隔小于1/16S时人眼感觉不到闪动,看到的是每只数码管常亮。电路原理图见附图3 所示。
4、电源电路模块
本设计采用单电源供电,具体电路见附图4所示。

四、系统的软件设计

采用两根跳线通过三次切换,实现题目要求的功能。
  • 基本要求12流程
由于基本要求部分的实现功能基本相似,只是跷跷板的状态不同,故基本部分采用一个流程图,见附图6。
先将跷跷板固定在水平状态,电动车从起始端A位置出发,行驶跷跷板的全程(全程的含义:电动车从起始端A出发至车头到达跷跷板顶端B位置)。停止5秒后,电动车再从跷跷板的B端倒退回至跷跷板的起始端A,电动车能分别显示前进和倒退所用的时间。前进行驶在1分钟内、倒退行驶在1.5分钟内完成。

跷跷板处在图1所示的状态下(配重物体位置不限制),电动车从起始端A出发,行驶跷跷板的全程。停止5秒后,电动车再从跷跷板的B端倒退回至跷跷板的起始端A,电动车能分别显示前进和倒退所用的时间。前进行驶在1.5分钟内、倒退行驶在2分钟内完成。流程图见附图6。

  • 发挥部分1程序流程图

发挥部分和基础部分的情况相同,均可以采用一个流程图,见附图7。

由参赛队员将配重物体设定在可移动范围中的某位置,电动车从起始端A出发,当跷跷板达到平衡时,保持时间不小于5秒,同时发出声光提示,电动车显示所用的时间。全过程要求在2分钟内完成。

此要求能够完成的好坏主要依赖于〔1〕预先测绘的精度;〔2〕停止位置的准确度。

  • 发挥部分2程序流程图
在可移动范围内任意设定配重物体的位置(由测试人员指定),电动车从起始端A出发,当跷跷板达到平衡时,保持时间不小于5秒,同时发出声光提示,电动车显示所用的时间。全过程要求在2分钟内完成。流程图见附图7。

五、实际测试

1. 测量设备
模拟跑道(跷跷板):总长160mm,A、B两点至跷跷板中心转轴各长80mm
    卷尺:精度mm
    秒表:精度秒
2. 时间测试
  可以在规定时间内完成任务。
测试次数
第一次
第二次
第三次
前进时间(S)
6


后退时间(S)
4.2



六、 结论

1. 实现了小车在水平跷跷板上自动检测黑线、往返基本功能。
2. 精确显示出小车在前进、倒退过程中所用的时间。
3. 实现了小车在跷跷板有一定坡度状态时速度的控制,保证小车正常行驶,并准确显示时间。
参考文献
[1] 何宏.单片机原理及接口技术.北京:国防工业出版社,2006
[2] 李忠国、陈刚.单片机应用技能实训.北京:人民邮电出版社,2006
[3] 袁秀英、李珍.单片机原理与实验教程.北京: 航空航天大学出版社,2006
[4] 李珍.袁秀英.单片机习题与应用教程.北京: 航空航天大学出版社,2006
[5] 黄智伟.全国大学生电子设计竞赛系统设计.北京: 航空航天大学出版社, 2006
[6] 黄智伟.全国大学生电子设计竞赛电路设计.北京: 航空航天大学出版社, 2006

附 录
附图1、电动车原理图




        






附图2 电机驱动电路
附图3 显示电路模块
附图4 电源模块电路
附图5 声光显示模块电路

附图6 基本部分流程图




附图7 发挥部分程序流程图





完整论文下载(word格式 可编辑):
基于C8051F005小车自动控制.rar (170.61 KB, 下载次数: 17)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表