一种基于单片机的智能开发车的制作方法

文档序号:15979535发布日期:2018-11-17 00:09阅读:254来源:国知局

本发明属于单片机技术领域,尤其是涉及一种基于单片机的智能开发车。

背景技术

单片机作为一门实践性很强的课程,很多的学生和爱好者希望在闲暇时间深入学习单片机的开发,但却找不到一种比较合适他们学习控制算法的实验板。目前,单片机开发常常使用单片机仿真器进行硬件,软件的仿真调试,再将调试成功的目标代码用编程器固化到单片机程序存储器中,但由于单片机仿真器及编程器价格比较贵,使用还受到一定的限制,特别是对学生和单片机初学者来说有一定的困难。虽然单片机教学中使用的教学实验箱具有很多功能,但其中大部分体积大,成本高,甚至有些需要模拟器的支持。因此,对于学生在课后设计进行培训有一定的局限性。



技术实现要素:

有鉴于此,本发明旨在提出一种基于单片机的智能开发车,以进一步提高学生的单片机应用水平。

为达到上述目的,本发明的技术方案是这样实现的:

一种基于单片机的智能开发车,包括车本体,所述车本体内设有开发板,所述开发板上设有单片机,所述单片机连接光电开关传感器、光电编码器、电子罗盘模块、电源模块、矩阵键盘、电机驱动模块以及串口电路。

进一步的,所述电源模块包括7805稳压器,稳定供应直流5v电压,7805稳压器的输出端还连接关断控制开关s1,用于为开发板提供安全可靠的电流。

进一步的,所述电子罗盘模块包括lsm303dlh芯片和加速度计、磁力计、a/d转换器和信号调制电路,通过iic总线与单片机进行通信。

进一步的,所述光电开关传感器采用e3f-ds10c4光电开关传感器模块。

进一步的,所述电机驱动模块采用l298n。

进一步的,所述键盘模块采用4x4矩阵。

进一步的,所述开发板包括两种工作模式:在巡线模式下,系统根据红外光电传感器及光电编码器回传的数据对直流电机进行控制,实现精准巡线功能;在坐标模式中,在输入坐标值后,系统以小车中心为原点,根据电子罗盘、编码器获得的数据通过增量式pid算法控制小车达到预定点。

进一步的,在巡线模式下进行路径规划具体包括,智能开发车利用光电开关传感器识别行程路径上的引导物,在对收集到的信号进行分析处理并进行逻辑判断后,获得智能车的行驶方向,通过左右两侧的速度差驱动直流电机,实现智能车的跟踪过程。

进一步的,光电开关传感器采用八字形布局,分别设置在智能开发车前端的中部和两侧,其中,设置在中部的传感器为巡线基准传感器,默认初始状态必须有信号,巡线过程中一直进行循环检测,若信号丢失,则按照上次路径规划所得的角度及距离信息进行原路返回,重新进行路径规划;设置在两侧的传感器用于转弯以及减速控制。

进一步的,在坐标模式下,单片机在得到输入的坐标信息后,转换成角度及距离信息,角度和距离由增量pid算法控制,电子罗盘和光电编码器返回的数据作为pid算法的输入,直流电机作为pid算法的输出。

相对于现有技术,本发明所述的一种基于单片机的智能开发车具有以下优势:

(1)本发明成本较低,且功能丰富,适合在高校电子信息学生中推广,可以进一步提高学生的单片机应用水平;

(2)本发明的智能开发车设计了两种工作模块,智能车工作在坐标模式时,在输入坐标值后,系统会以小车中心为原点,根据电子罗盘、编码器获得的角度、距离信息通过增量式pid算法控制小车较为准确的达到预定点;

(3)本发明的智能车工作在巡线模式时,由5个光电开关传感器构成的路径规划控制算法,在二维空间内能够精准的判断前方路径类型;

(4)本发明以光电编码器作为系统输入环节的速度pid算法能够与路径规划算法获得的数据相结合,实现减速过弯、加速过直道的功能。

附图说明

构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明实施例所述的一种基于单片机的智能开发车的开发板的总体结构框图示意图;

图2为本发明实施例所述的电源模块电路图;

图3为本发明实施例所述的电子罗盘模块电路原理图;

图4为本发明实施例所述的矩阵键盘电路原理图;

图5为本发明实施例所述的智能开发车工作模式示意图;

图6为本发明实施例所述的传感器安装位置示意图;

图7为本发明实施例所述的控制程序流程图;

图8为本发明实施例所述的pid控制流程图。

具体实施方式

需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。

在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本发明中的具体含义。

下面将参考附图并结合实施例来详细说明本发明。

如图1所示为智能开发车总体结构框图,使用atmel生产的at89s52微控制器和e3f-ds10c4光电开关传感器。e6c2-cwz6c光电编码器、lsm303dlh电子罗盘等传感器电路构成了开发平台的传感器应用电路,并且可通过串口通讯连接电脑,实现相关编程下载和调试功能。

智能开发车设计了两种供电方式:一种是采用普通直流9v变压器供电,通过7805稳压器,稳定供应直流5v电压;另一种是通过usb接口或锂电池直接提供电源电压。为了给实验板提供安全可靠的电流,还设置了电源和关断控制开关。图2为电源模块的电路图。

智能开发车采用atmel公司生产的at89s52单片机。at89s52单片机采用atmel的非易失性和高密度存储技术来保证80c51系列单片机产品的指令和引脚兼容性,并且该芯片具有更强和更鲜明的特点。

电子罗盘模块集成了lsm303dlh芯片和加速度计、磁力计、a/d转换器和信号调制电路,通过iic总线与处理器进行通信。这样只需一个芯片即可实现6轴数据的检测和输出,为用户和设计人员提供了极大的方便。图3为lsm303dlh电子罗盘模块电路原理图。

lsm303dlh电子罗盘模块将三轴磁力计和三轴加速计与数字接口集成在一起。磁力计的范围为1.3高斯到8.1高斯,分为7个等级,用户可以根据需求自由选择。而该模块在20高斯以内的磁场环境中可以保持一致的测量和相同的灵敏度。它具有高达8兆高斯的分辨率并且内部有12位分辨率的adc,可确保准确测量磁场强度。

e3f-ds10c4光电开关传感器模块当开关发光时,目标产生漫反射,并且发射器和接收器形成单个标准组件。当足够的组合光返回到接收器时,开关状态改变,并且典型的操作距离高达3米。其主要特征为:一、模块的有效距离与目标的反射能力有关,这主要取决于目标物体的表面特征以及颜色;二、组装费用较小,当开关由单个组件组成时,通常可以达到粗略定位;三、背景抑制功能可用于调整测量距离。

电源驱动模块l298n是由sgs生产的直流电机驱动器ic。工作电压为46v,最高可达50v;输出电流大,瞬间峰值电流高达8a,持续工作电流2a;额定功率25w,且可以直接用单片机的io口提供控制信号。

l298n具有两个h桥的高压大电流全桥驱动器,可用于驱动感应负载,如直流电机和步进电机,继电器线圈以及其他电感负载,由标准逻辑电平信号控制;有两个允许的控制端允许或禁止该操作,并且l298n没有输入信号的装置。逻辑电源输入端允许内部逻辑电路在低电压下工作。pwm信号可以从芯片的in1,in2和in3以及in4输入,以控制电动机的速度和方向,适用于智能开发平台的双向驱动。

键盘需要排列成矩阵的原因是因为键盘上的按键数量很大,所使用的i/o端口数量也可以减少。这样,每条垂直和水平线不直接连接在布线的交叉点,而是通过按钮连接。即一个端口可以形成16个按键端口,这是原来的两倍,并且线数越多,差异就越明显。因此,如果需要在设计中使用更多按键,使用矩阵方法来完成键盘操作。图4为矩阵键盘电路原理图。

智能开发车包括两种工作模式:在巡线模式下,系统根据红外光电传感器及光电编码器回传的数据对直流电机进行控制,实现精准巡线功能,单片机不仅能够通过对红外光电传感器数据的处理,准确的获取路径中的黑色引导线,还可以较为准确的排除路径信息受光线明显影响,避免无用数据影响,通过控制直流电机速度差来控制方向,从而达到闭环控制智能车快速行驶黑线赛道的功能;在坐标模式中,在输入坐标值后,系统会以小车中心为原点,根据电子罗盘、编码器获得的数据通过增量式pid算法控制小车达到预定点。图5为工作模式示意图.

巡线模式下的控制过程如下:

1、巡线模式下,智能开发车行驶过程中的控制信号来自方向检测,输出控制信号去驱动直流电机。智能车行驶赛道采用黑色绝缘胶带作为引导。智能车巡线系统光电开关传感器识别行程路径上的黑线,并在最短的时间内完成追踪。在对收集到的信号进行分析处理并进行逻辑判断后,获得智能车的行驶方向。然后通过左右两侧的速度差驱动直流电机,实现智能车的跟踪过程。智能车在获得较为准确的巡线结果后,控制直流电机进行转向和行驶操作。

若想要利用光电开关传感器实现路径识别的预定效果,除使用相同波长特性的发射机和接收机设备、发射和接收传感器以外,还需要各方面的环境条件尽可能接近于外界,同时传感器的安装布局也对跟踪效果有很大影响。本发明利用八字形布局,将中间的若干传感器前置,本发明的智能开发车包括5个光电开关传感器,如图6所示,3号红外光电传感器为巡线基准传感器,默认初始状态必须有信号,巡线过程中一直进行循环检测,若信号丢失,则按照上次路径规划所得的角度及距离信息进行原路返回,重新进行路径规划;2、4号传感器则主要为了小幅度转弯而设计,采集到信号后,进行小幅度转弯以及减速控制;1、5号传感器则为了特殊类型赛道(大幅度弯道、十字赛道)而设计,1、5号传感器同时采集到信号时为十字类型赛道,直走加速通过,只有其中一个采集到信号时为大幅度弯道,进行大幅度转弯以及进一步减速控制。

2、坐标模式下的控制过程如下:

当智能开发车处于坐标模式下时,角度及距离的控制参数由增量式pid算法计算得到。坐标模式下,单片机在得到输入的坐标信息后,转换成角度及距离信息。角度和距离由增量pid算法控制。电子罗盘和光电编码器返回的数据作为pid算法的输入,直流电机作为pid算法的输出。同时,为了实现pid控制所需要的等间隔采样,智能车使用了定时器1的中断,中断20ms触发一次,中断内容为数据采样和pid相关参数计算。除此之外,为了方便调试,软件部分还在主函数中加入了调试代码,这些代码能保证在pid控制算法正常运行的同时,实时发送相关变量信息以及进行参数大小的调整,控制程序流程图如图7所示。图8为pid控制流程图。

增量式pid算法需要调试几个参数,主要有kp,ki,kd三个常用参数。由于智能车需要实时在目标赛道上行驶,因此可以使用现场经验设定方法获得最佳的pid参数,以达到最佳的控制效果。在调试过程中,当智能车的驱动电机响应较慢时,应增加kp项的系数,但增加kp系数会增加超调量。当过冲过大时,通过增加kd项的系数来减小过冲,但这会导致系统产生稳态误差;通过使用ki项,可以消除稳态误差,但会降低智能车的响应速度。在使用过程中,根据实际情况进行调整。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1