




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第六届“飞思卡尔”杯智能汽车竞赛大学生技术报告学校:中国矿业大学徐海学院队伍名称:徐海电磁一队参赛队员:徐中荣邵桦张悦带队教师:夏帅关于技术报告和研究使用的说明本人完全了解第六届“飞思卡尔”杯大学生智能汽车邀请赛关保留、使用技术报告和研究的规定,即:参赛著作权归参赛者本人,比赛和飞思卡尔半导体公司可以在相关主页上收录并公开参赛的设计方案、技术报告以及参赛模型车的、图像资料,并将相关内容编纂收录在论中。参赛队员签名: 带队教师签名: 期: 日I目录第一章引言1概述1车模概况1报告内容3机械结构设计5车轮参数调整51.11.21.3第二章2.12.1.1 四轮参数调整52.1.2 后轮差速器参数调
2、整6组件的安装与调整62.22.2.12.1.22.2.32.2.4电磁传感器的安装6编码器的安装7舵机的安装8起始线检测的安装82.3第三章车模实物图9系统硬件设计11电源模块113.13.2信号处理电路11引导线磁场分析113.2.13.2.23.2.3信号与处理电路13传感器布置143.33.43.5第四章起始线检测电路14电机驱动模块15速度传感器17系统软件设计194.1 MC9S12XS128 概述194.1.1 时钟单元204.1.2 PWM 单元204.1.3 串口单元21III4.24.3第五章编程软件21程序设计22结论25车模技术参数25总结与展望255.15.2参考文献
3、I附录 A:板原理图III附录 B:源程序代码VIV摘要随着智能交通系统(ITS)的研究在各国越来越被重视,智能车的技术也成为一项新兴技术,教育部决定举办基于高速发展的智能车技术为背景的“飞思卡尔杯”大学生智能汽车竞赛。本队比赛的具体情况,建立了、赛道和系统的基本模型,给出了理论分析、调试的基本开发方法。在比较各种算法的性能特点后,确定最终方案,并完成了智能车的制作与调试。采用电磁感应线圈作为道路传感器,通过对道路传感器所的数据进行处理分析,辅助以车模后轮码盘所的数据,来小车的方位、姿态、速度等,同时通过 PID 调节来小车前轮舵机的摆角和后轮驱动电机的速度,运用 CodeWarrior ID
4、E 编译软件使小车在最短的时间内完成比赛。:智能汽车;电磁检测;飞思卡尔;PID 调节V第一章 引言1.1 概述“飞思卡尔”杯大学生智能汽车竞赛是由教育部高等学校自动化专业教学指导分委员会主办的科技竞赛。该竞赛以“立足培养,重在参与,鼓励探索,追求卓越”为指导思想1,旨在促进高等学校素质教育,培养大学生的综合知识运用能力、基本工程实践能力和创新意识,激发大学生从事科学研究与探索的和潜能,倡导理论实际、求真务实的学风和团队协作的人文精神。比赛按照车模识别路线方案分成摄像头组、光电组和电磁组。通过道路图像信息进行路径检测的车模属于摄像头组;通过道路少数离散点反射亮度进行路径检测的车模属于光电组;通
5、过感应由道路中心电线产生的交变磁场进行路径检测的车模属于电磁组2。其中摄像头组和光电组是历届常规项目, 电磁组是第五届新设立的比赛项目。大学生智能汽车竞赛通常在每年的 10 月份公布次年竞赛的题目和组织方式,并开始接受报名。次年的 3 月份进行相关技术培训,7 月份进行分赛区竞赛,8 月份进行总决赛。中国矿业大学徐海学院于 2009 年第一次参加智能车竞赛,共有两支队伍参加,获得分赛区三等奖一项;2010 年组织了四支参赛队伍参加,获得分赛区三等奖四项;2011 年组织了六支参赛队伍参加,获得分赛区一等奖两项、二等奖一项、三等奖两项、优胜奖一项。智能车竞赛得到了学院和电工电子实验中心的大力支持
6、。学院大学生科技创新基地自2009 年开始每年举办学院智能车大赛,为“飞思卡尔”杯智能汽车竞赛选拔人才。经过三年参赛实践,逐渐形成了发现、专业培训、能力提高、选拔竞赛等完整的培养方式,提高了学生解决实际问题的能力。将在制作和调试徐海电磁一队智能车过程中涉及的:车模机械结构调整、传感器和舵机安装、信号与处理、飞思卡尔系统板、电机驱动模块、软件算法等部分进行详细介绍。报告最后给出了车模的详细技术参数。1.2 车模概况小车沿载流导线前行3,赛行驶一圈后自动停车。为按照比赛规则,通过传感器检测赛道信息来道开始位置放有磁铁,标记赛道起始位置,1第六届大学生智能汽车竞赛技术报告实现上述要求,本车模整体结构
7、如图 1-1 所示。图 1-1 车模整体结构图车模设计采用模块化理念,按照功能将车模划分为如下模块:电源模块、传感器信号处理模块、接口电路模块、电机驱动模块、单片机模块、人机接口模块等六个部分。1.电源模块智能车车载电池除了为小车提供动力外,还要想部分提供电压稳定的电源。车载电池的空载电压约为 8.2V,运行过程中的电压约为 7.8V,电池电量不足时的电压约为 7.4V。部分需要 5V、3.3V 的电压,这就需要进行电压的转换。电源模块完成电压转换的功能,向小车提供稳定的电源。2.传感器信号处理模块传感器负责实时检测赛道,是整个小车的“眼睛”,因此能否准确、及时的将赛道信息反馈给器决定了小车的
8、性能。本车模共有电磁传感器、起始线检测传感器和速度传感器三种类型的传感器,负责实时检测小车的状态,保证小车稳定、快速运行。各传感器均需要设计相应的相应的信号送至单片机处理。和信号处理电路,将3.接口电路模块2电机电机驱动舵机执行机构MC9S12XS128部分人机接口LED 液晶显示器拨码开关电池电源部分7.2V稳压5V模块传感器部分电磁传感器起始线检测速度传感器第一章 引言接口电路为单片机和电源模块、传感器、舵机、驱动模块提供接口,是整个小车的中间桥梁。同时,接口电路还需要完成信号调理功能。4.电机驱动模块电机驱动模块接受器发出的指令信号,将能量传递给直流电机,实现小车的运动。电机驱动模块起到
9、功率变换的作用,是电机的模块,其性能直接决定了整个小车的性能,是智能车硬件设计中的关键模块之一。5.单片机模块飞思卡尔单片机是智能车的“大脑”,通过不断传感器信号提取赛道信息,综合小车位置和速度等因素,通过软件算法向电机驱动模块、舵机等发出命令,小车的运动。6.人机接口实现模式和参数选择、状态指示、实时包括拨码开关、LED 液晶显示器等部分。1.3 报告内容以及数据等人机交互功能,本文共分为六章:第一章是引言,简要介绍“飞思卡尔”杯大学生智能汽车竞赛的背景,本校参加、组织情况,并对参模的概况作了相关介绍;第二章为车模机械结构设计,详细介绍对原车模的调整、舵机的安装方法、编码器的固定方法及传感器
10、的固定等;第三章为系统硬件设计部分,详细介绍电源模块、信号与处理模块、电机驱动模块的设计。第四章为系统软件设计,给出了软件设计的思路及调试过程中遇到的问题;第五章为结论,给出最终车模主要技术参数,并结合在车模制作、调试和竞赛过程中遇到的问题,总结相关经验并进一步给出车模的改进方案。3第二章 机械结构设计稳定、可靠的机械结构式保证小车快速、稳定运行的前提条件,只有保证车模的机械参数调整在最佳状态,小车的性能才能得到完全发挥。车模机械结构设计主要包括:车轮参数调整、舵机的安装与调整、传感器的安装、编码器的安装以及相应 PCB 板的固定等。小车的运动特性要求车模的机械结构要稳定可靠。2.1 车轮参数
11、调整2.1.1 四轮参数调整车模转弯过程中,转向舵机的负载会因为车轮转向角度的增大而增大4。为了尽可能降低转向舵机负载,需对前轮的安装角度即前轮进行调整。前轮的作用是保障汽车直线行驶的稳定性,使转向轻便和减少轮胎的磨损。前轮是转向轮,其安装位置由主销内倾、主销后倾、前轮外倾和前轮前束等 4 个项目决定,反映了转向轮、主销和前轴等三者在车架上的位置关系。主销内倾是将主销(即转向轴线)的上端向内倾斜,如图 2-1 所示。从车模的前面看去,主销轴线与通过前轮中心的垂线之间形成一个夹角,即主销内倾自动回正和转向轻便5。由于主销内角。主销内倾的作用是使车轮转向后倾,转向轮在转向时绕主销转动,必须使车轮陷
12、入地面以下。这当然是不可能的,实际转向时,是强迫汽车的前部稍稍抬高。这样,汽车的重力将使转向轮自动回正。图 2-1 主销内倾与外倾5第六届大学生智能汽车竞赛技术报告确定主销内倾角时,还可调整主销(即转向轴线)与地面的交点到轮胎接地中心的距离,即调整主销偏距。减少主销偏距,可以减轻转向时的摩擦阻力。主销内倾不能过大,否则转向过于沉重。主销内倾角一般为 8°到 13°,由前悬架的结构来确定。主销后倾和主销内倾都有使转向轮自动回正的作用。但主销后倾的回正作用与车速有关,而主销内倾的回正作用与车速无关。因此,高速时主要靠主销后倾的作用,而低速时主要靠主销内倾的作用。2.1.2 后轮
13、差速器参数调整当在正常过弯时(假设无转向不足亦无转向过度),4 个的转速皆不相同,顺序为:外侧前轮外侧后轮内侧前轮内侧后轮6。此次所使用车模配备的是后轮差速机构。差速器的特性是:阻力越大的一侧,驱动齿轮的转速越低;而阻力越小的一侧,驱动齿轮的转速越高。以此次使用的后轮差速器为例,在过弯时,因外侧后轮轮胎所遇的阻力较小,速便较高;而内侧后轮轮胎所遇的阻力较大,轮速便较低。差速器的调整中要注意滚珠间的间隙,过松过紧都会使差速器性能降低,转弯时阻力小的车轮会打滑,从而影响车模的过弯性能。性能优异的差速机构,应该在电机不转的情况下,右轮向前转过的角度与左轮向后转的角度近似相等,有迟滞或者过转动的情况发
14、生。差速机构的作用是在车模转弯的时候降低后轮与地面之间的滑动,并且还可以保证在轮胎抱死的情况下损害到电机。2.2 组件的安装与调整车模组件包括电磁传感器组件、编码器测速组件、舵机及转向结构和其它组件,本部分介绍本车模的组件安装与调试。2.2.1 电磁传感器的安装电磁传感器用于检测赛道信息,安装传感器时要尽量提高传感器的检测精度和前瞻性。电磁组对车模无长度限制,通常情况下传感器长度越长则前瞻效果越好,但这却增加了传感器的固定难度和运行稳定性。在传感器的固定上, 车模采用高强度的轻质碳素杆,以减轻重量,提高车模的稳定性。在实际调试过程中,通过不断的实验发现:前瞻性要和小车软件算法配合才能使小车达到
15、最佳性能,前瞻性要和小车整体相配套。本车模传感器固定的实际效果图如图6第二章机械结构设计2-2 所示。图 2-2 车模传感器安装实物图2.1.2 编码器的安装小车运行过程中,由于电池电压的变化会影响小车速度,为了克服电池电压等因素对小车运行的影响,需要引入转速反馈。转速反馈需要对车速进行精确检测,车速的检测方案较多,性能也有较多差异,考虑到反馈精度对整个性能的影响,本车模选用编码器进行转速检测。选用上海远征公司生产的YZ30D-4S-2NA-500 编码器。本车模将编码器直接固定在车模后端,编码器通过齿轮与后轮主齿轮直接咬合,检测精度高。在固定时选用硬质材料板,利用雕刻机提高固定精度。实际安装
16、效果图如图 2-3 所示。图 2-3 编码器固定效果图7第六届大学生智能汽车竞赛技术报告2.2.3 舵机的安装舵机起着转向的作用,其安装非常重要。如果安装不好就会出现转向不足或者转向左右不对称的问题7。为了提高转向灵敏度,将舵机臂加长,舵机臂的加长需要重新固定舵机。要注意选择舵机臂的长度,舵机臂过长会减小扭矩, 在调整过程中需要综合考虑。舵机臂的的调整关系到舵机转向的问题,舵机臂太长扭矩比较小,灵敏度高、反应灵敏,但是灵敏度过高导致小车在跑道上稍微存在一些抖动就会出现比较大的颤动。舵机臂太短扭矩比较大灵敏度低、反应比较慢这样存在的问题是小车速度过快,导致过弯的时候来不及反应,小车冲出跑道。所以
17、在选择舵机臂长度是充分考虑到灵敏度和反应度。另外,在舵机固定时还需要考虑到车模的空间限制。舵机的固定效果如图 2-4 所示。图 2-4 舵机固定效果图2.2.4 起始线检测的安装根据大赛规则,小车需要在跑完一圈后自行停止在起始线的 3 米范围内, 因此,需要安装起始线检测模块。起始线检测模块的安装高度要选择合适,高度太高会影响检测精度导致小车无法自行停车;安装过低会导致小车在运行过程中接触赛道,损坏赛道。本车模起始线检测模块的实际安装效果图如图 2-5 所示。8第二章机械结构设计图 2-5起始线检测模块的安装效果图2.3车模实物图图 2-6 车模实物图9第三章 系统硬件设计车模机械结构调整完成
18、后,需要对图 1-1 所示的要对小车的硬件进行设计。部分进行设计。本章主3.1 电源模块智能车车载电池除了为小车提供动力外,还要想部分提供电压稳定的电源。车载电池的空载电压约为 8.2V,运行过程中的电压约为 7.8V,电池电量不足时的电压约为 7.4V。部分需要 5V、3.3V 的电压,这就需要进行电压的转换。电源模块完成电压转换的功能,向小车提供稳定的电源。本车模采用 LM2940 提供 5V 电源,LM2940 为低压差线性稳压集成电路,最大输出电流为 1A,可满足系统需要。图 3-1 给出了 LM7940 原理图。图 3-1 LM7960 原理图3.2 信号处理电路3.2.1 引导线磁
19、场分析根据麦克斯韦电磁场理论,交变电流会在周围产生交变的电磁场8。智能汽车竞赛使用路径导航的交流电流频率为 20kHz,产生的电磁波属于甚低频(VLF)电磁波。甚低频频率范围处于工频和低频电磁破中间,为 3kHz30kHz,波长为 100km10km。电流周围的电磁场示意图如图 3-2 所示。因此,为了保证小车沿引导线运行,必须给出精确的检测电路。磁场检测选用工字电感,电感的放置有立放和卧放两种方案。11第六届大学生智能汽车竞赛技术报告图 3-2 引导线附件磁场分布曲线立放的线圈可以测得 B 的垂直分量 BV,卧放的线圈可以测得 B 的水平分量BH,则对于矢量计算有10:rrrB = BV +
20、 BH公式 1由于传感器有放置高度h,因而实际需要检测的是线圈与导线的水平距离 d,则可得 BV、BH 与 d 的关系8:B = B cosq = m0 Id公式 2V2p d 2 + h2B = B sinq = m0 Ih公式 3H2p d 2 + h2图 3-3 立放电感检测曲线图12第三章 系统硬件设计图 3-4 卧放电感检测曲线图由图 3-3、图 3-4 知:BV 在 d=0 的两侧都非单调,因而不能用立放线圈检测d;BH 在 d=0 两侧分别单调,因而可以用卧放线圈检测 d。由公式 2 可知,在对静态磁场 BH 有:hU = mE = mnB = N公式 4sHd 2 + h2即:
21、在 I 和 h 一定时,经信号处理后的输出电压 Us 与 BH 对 d 具有相同形式的曲线。3.2.2 信号与处理电路感应线圈所得到的初级信号不能直接由单片机,主要有以下几点:含有 20kHz 的大量谐波;幅值相对较小,经 AD 转换后差异不明显;交流信号不能直接接入 AD;变化的信号不利于检测。上述问题,对信号进行选频、放大和检波处理,可以获得稳定的、随距离 r 变化的电压信号。经处理后的信号其电压值 US、线圈初级信号幅值 E 以及线圈与导线的距离 r 有如下关系:U = mE = mK 1 = M 1公式 5Srr式中 m 是与电路有关的量,M=mK。可见处理后的信号幅值可以反映感应线圈
22、与导线的距离,这样就获得了单片机可以的信号。电感的信号为低电压的交流信号,无法直接使用。必须将传感器信号13第六届大学生智能汽车竞赛技术报告经过放大、整流之后方可供单片机使用。信号示。与处理电路原理图如图 3-5 所图 3-5 电磁传感器信号处理电路原理图3.2.3 传感器布置为了保证赛道检测的精度,一般的做法是采用多个传感器对称布置的方式,但过多的传感器导致信号处理电路、算法复杂,在使用时应合理选择。本车模使用三个传感器,通过电感对导线的电流感应从而路径。传感器使运放 LM358 对电感的感应电流进行放大、整流,再进排线输出给单片机的引脚。单片机通过程序示。小车当前运行状态。传感器信号板 P
23、CB 图如图 3-6 所图 3-6 电磁传感器信号处理电路 PCB 图3.3 起始线检测电路按照比赛规则要求,跑完一圈后需要自动停止在起始线之后三米之内的赛道内。如图 2-10 所示,起始线是导引线两边的长度 10cm 的黑色线,起始线中间安装有磁铁,每一边各三只。磁铁参数:直径 7.5-15mm,高度 1-3mm, 表面磁场强度 3000-5000Gs1。14第三章 系统硬件设计图 3-7 赛道起始线示意图上述要求,利用干簧管设计起始线检测电路如图 3-8。干簧管是磁机械效应的磁场传感器,其内部是一个常开触点开关,在磁场强度超过其阈值时,开关闭合。图 3-8 中 3 个干簧管并联为“线或”关
24、系,任何一个干簧管检测到磁铁,STOP_CHEQ 端都会输出正脉冲,中断程序使停车。图 3-8 起始线检测电路3.4 电机驱动模块目前直流电机的驱动方式主要有 2 种形式:线性驱动方式和开关驱动方式11。其中线性驱动方式可以看成一个数控电压源。该驱动方式的优点是驱动电机的力矩纹波很小,可应用于对电机转速要求非常高的场合;缺点是该方式通常比较复杂,成本较高,尤其是要提高驱动的功率时相应的电路成本将提升很多。应用较多的是是开关驱动方式,直流电机常用的是 H 桥式驱动。目前的 H桥驱动主要有 3 种方式,如图 3-9 所示。(a)中 H 桥的 4 个桥臂都使用 N 沟道增15第六届大学生智能汽车竞赛
25、技术报告强型 MOS 管;(b)中 H 桥的 4 个桥臂都使用 P 沟道增强型 MOS 管;(c)中上 H 桥臂分别使用 P 沟道增强型 MOS 管和 N 沟道增强 MOS 管。由于 P 沟道 MOS 管的品种少切价格较高、导通电阻和开关速度等都不如 N 沟道 MOS 管,此最理想的情况应该是在 H 桥的 4 个桥臂都使用 N 沟道 MOS 管。但是在如图 1(a)中可以看到:为了使电机正转,Q1 和 Q4 应该导通。因此 S4 电压应该高于 Q4 的源极电压,S1 电压应该高于 Q1 的源极电压。由于此时 Q1 的源极电压近似等于Vcc,因此就要求 S1 必须大于(Vcc+Vgs)。在很多电
26、路中除非作一个升压电路否则是比较得到的。同理,(b)中为了使电机正转,S4 电压就必须低于 0V- VGS,在使用时也不方便。因此最常用的是(c)的电路,该电路结合了上述 2 种电路各自的优点,使用方便。图 3-9 H 桥驱动电路的三种形式本车模采用的是图(a)所示的驱动电路,采用 4 个 LR7843,该驱动内阻小,开关速度快,驱动电流大。工作后,发热较小,性能稳定。原理图如图 3-10 所示。图 3-10 驱动模块电路原理图16第三章 系统硬件设计3.5 速度传感器编码器选用欧姆龙 200 线编码器,编码器(encoder)是将信号(如比特流)或数据进行编制、转换为可用以通讯、传输和的信号
27、形式的设备。编码器把角位移或直线位移转换成电信号,前者成为码盘,后者称码尺按照读出方式编码器可以分为接触式和非接触式两种:接触式采用电刷输出,一电刷接触导电区或绝缘区来表示代码的状态是“1”还是“0”;非接触式的接受敏感元件是光敏元件或磁敏元件,采用光敏元件时以透光区和不透光区来表示代码的状态是“1”还是“0”,通过“1”和“0”的二进制编码来将来的物理信号转换为码可所示。的电信号用以通讯、传输和储存。编码器的接口电路如图 3-11图 3-11 编码器接口电路图 3-12 给出了整个系统的接口电路图。图 3-12 系统接口电路图图17第四章 系统软件设计4.1 MC9S12XS128 概述MC
28、9S12XS128 微设备组成,包括 16 位单元作为 MC9S12 系列的 16 位单片机,由标准片上处理器、128KB 的 Flash器、8KB 的 RAM、接口、一组 8 通道的10 路模数转换器、一2KB 的 EEPROM、两个异步串行通口、两个串行输入捕捉或输出捕捉的增强型捕捉定时器、两组 8 通道组 8 通道脉宽调制模块、一个字节数据链路器、29 路的数字 I/O 接口、20 路带中断和唤醒功能的数字 I/O 接口、5 个增强型 CAN 总线接口12。同时,单片机内的锁相环电路可使能耗和性能适应具体操作的需要。MC9S12XS128 片内表如图 4-1 所示。图 4-1 MC9S1
29、2XS128 片内19第六届大学生智能汽车竞赛技术报告4.1.1 时钟单元S12 单片机中有四个不同的时钟,即外部晶振时钟、锁相环时钟、总线时钟和内核时钟。当前电路板采用的是 16MHz 的有源晶振,因此外部晶振时钟为16MHz;默认设置下,锁相环时钟为 36MHz,总线时钟为 8MHz,内核时钟为16MHz。锁相环时钟与外部晶振时钟的倍、分频关系由 SYNR、REFDV 两寄存器决定。总线时钟用作片上它决定了指令执行的速度。设备的同步,而内核时钟则用作 CPU 的同步,时钟模块初始化程序如下:REFDV=0X43; POSTDIV=0X00;SYNR=0X47;while(CRG_LOCK=
30、0);CLKSEL_PLLSEL=1;4.1.2 PWM 单元脉宽调制模块有 8 路的可设置周期和占空比的 8 位 PWM 通道,每个通道配有专门的计数器。该模块有 4 个时钟源,能分别8 路信号。通过配置寄存器可设置 PWM 的使能与否、每个通道的工作脉冲极性、每个通道输出的对齐方式、时钟源以及使用方式(八个 8 位通道还是四个 16 位通道)。驱动舵机的 PWM 信号的频率为 50Hz,电机的 PWM 信号的频率为 10KHz,为了提高舵机的响应速度,将舵机的 PWM 频率增大到 100Hz。为了提高精度,8 位通道合并为一个 16 位通道来精度从 1/255 提高到 1/65536。舵机
31、和电机,这样可使舵机和电机的PWM 模块的初始化设置过程为:PWME=0X00; PWMCLK=0X03; PWMPRCLK=0X30; PWMSCLA=4; PWMPOL=0XFF;PWMCAE=0X00;/关闭所有 PWM/PWM 为正占空/所有 PWM 为左对齐20第四章 系统软件设计PWMCTL=0XF0; PWMPER01=40000; PWMDTY01=STEER_MID; PWME_PWME1=1; PWMPER45=20000; PWMDTY45=SPEEDZERO;PWME_PWME5=1;/所有 PWM 合并端口/PWM01 为舵机/PWM01 占空比/PWM45 为电机/
32、PWM45 占空比4.1.3 串口单元串口通信模块设有两个串行通口 SCI1 和 SCI0。使用时,可以对波特率、数据格式(8 位或 9 位)、输出极性、接收唤醒方式等进行选择。另外,发送和接收可使能,模块中还提供了多种避免传输错误的选项。在本次设计,我们利用其中一个串口 SCI0,将所需要的信息通过串口传到上位机上进行必要的处理和分析,以提高调试的效率。串口初始化部分程序:SCI0CR2=0X2C; SCI0BDH=0X00;SCI0BDL=0XD0;串口程序:while(!SCI0SR1_TDRE); SCI0DRL = SCI_Data_MSB; while(!SCI0SR1_TDRE)
33、;SCI0DRL = SCI_Data_LSB;/ 等待缓冲区空串口接收程序:while(!SCI0SR1_RDRF);SCI_DATA_REC = SCI0DRL;4.2 编程软件运用飞思卡尔单片机编译软件 CodeWarriorIDE,该软件是 CodeWarrior 开发将尖端的调试技术与健全开发环境的简易性结合在一起,将 C/C+源级21第六届大学生智能汽车竞赛技术报告别调试和框架,可以应用开发带入新的水平。开发提供高度可视且自动化的甚至是最复杂应用的开发,因此对于各种水平的开发来说,创建应用都是简单而便捷的。它是一个单一的开发环境,在所有所支持的工作 站和个人电脑之间保持一致。在每个
34、所支持的平台上,性能及使用均是相同的。无需担心主机至主机的不兼容。CodeWarrior IDE 运行界面如图 4-2 所示。图 4-2 CodeWarrior IDE 运行界面4.3 程序设计程序设计时智能车的,小车能否稳定、快速运行除了要求相应的机械结构和硬件设计外,还必须有高效率的程序。在进行程序设计时,将系统分为多个模块,每个模块完成一部分功能。主要包括如下模块:赛道检测模块;小车速度检测模块;起始线检测模块;舵机模块;车速模块;人机接口模块等。整个系统的程序流程框图如图 4-3 所示。在附录中给出了相应的程序代码,这里对程序设计部分不在赘述。22第四章系统软件设计开始反馈速度与给定速
35、根据Ô反馈速度大给定速度大直道小S 弯道大S 弯道检测到干簧管停止工作图 4-3 系统程序流程框图23舵机角度偏转小速度加快舵机角度偏转大速度减慢速度加快速度减慢35<Ô<65Ô 在中线两边连续摆动Ô<35|Ô>65编码器速度AD 显示 给定速度2S 延时中断开启传感器读值算出舵机值 Ô第五章 结论5.1车模技术参数表 1智能车的主要技术参数5.2总结与展望车模制作过程中所做工作:1.电磁场理论建模及检测方法分析,分析了电磁车检测方法,选取了用于电磁场检测的传感器。2.电磁传感器模块设计。分析了电磁传感器信号的
36、处理方法,并根据算法需要设计了感应线圈布局结构,完成了原理图、PCB 的设计与调试工作。25项 目参 数路径检测方法(赛题组)电磁组车模几何(长、宽、高)(毫米)415、240、120车模轴距/轮距(毫米)96车模平均电流(匀速行驶)(毫安)450电路电容总量(微法)1500uF传感器种类及个数电感*3 个,干簧管*5 个奥姆龙 200 线编码器:1 个新增加伺服电机个数0赛道信息检测空间精度(毫米)<5mm赛道信息检测频率(次/秒)100 次/秒主要集成电路种类/数量MC9S12XS128B:1 个LM2940:2 个LM358:3 个LR7843:4 个7806:1 个液晶屏 NOK
37、IA5110:1 个车模重量(带有电池)(千克)1.2kg第六届大学生智能汽车竞赛技术报告3.赛道提取算法设计。运用传感器的权重,对赛道信号进行分析处理,然后根据得到信号进行相应的处理。4.模块软硬件设计与调试。进一步改进之处:完成上述工作,仅仅是实现了电磁车的基本功能,因此还有许多要做的工作,比如在前瞻距离和算法方面进一步提高的性能。前瞻距离小是电磁车的短腿,受到了电磁赛道检测原理上的限制,严重制约了电磁车的速度提升;算法是电磁车的,还有很大的提升空间,今后还需要在算法方面做深入的研究。1.改进赛道提取算法,提高前瞻距离。当前设计的赛道提取算法只能获取传感器模块位置处的赛道位置信息,由于电磁
38、车长度不受限制,可以提高传感器的长度,而从算法上提高的可能性较高。赛道的基本单元只有直线和圆弧线两种,可以在周期中多次采样,对赛道进行圆弧线拟合,以获得较大的估计前瞻。该算法与速度相结合,可以获得动态前瞻,实现速度与方向的解耦。2.完善算法,提升速度。设计中没有对算法做深入的研究,方向的期望值和速度的期望值都是以非常简单的方法获得,精度不高。在下一届的比赛中,将尝试结合上述中的方法实现方向制效果。和速度,争取获得更好的控26参考文献1 卓晴,黄开胜,邵贝贝,学做智能车M.北京:北京航天航空,20072 邵贝贝,Motorola (Freescale)16 位微社,2006应用M.北京:器及其3
39、45678李元杰,陆果.大学物理学M.北京:高等教育,2003.148-151竞赛处.第六届大学生智能汽车竞赛 20KHz 电源参考设计方案. 2009-12-10.胡寿松,自动原理M.北京:科学,2001张昊飏,马旭,卓晴.基于电磁场检测的寻线智能车设计.EB/OL. 2009-11-10.李仕伯,马旭,卓晴.磁场检测的寻线小车传感器布局研究.2009-12-10.刘明俊,杨壮志,张拥军,郭鸿武.计算机原理与技术M.长沙:国防科技大学社.1999.87-94.9 邵贝贝,单片机认识与实践M.北京:北京航天航空,200610 王俭,轮式智能小车行驶距离和速度的检测11 吴卫国,蒋平,移动小车轨
40、迹跟踪的力矩J. 传感器技术 2005,24(7):66-75.J.,2007.与决策,1999,14(2):177-180.12余志生,汽车理论M.北械工业III附录A:板原理图III附录B:源程序代码#include <hidef.h> #include "derivative.h uchar Target_Speed; uint SenA=50;uchar MEM_SenA10;uint System_RunTime_Count; uint i;uchar Stat=1; int Rel_SenA;int Servo_Value; uchar Stop_Flag=0
41、;uchar System_Feed_Speed; uint extern last_value;uint extern last_flog; int speed_change; int servo_chang;int Top_Speed; #include <math.h> #include "SYSTEM.H" #include "5110.h" #include "switch.h"#include "ENCODER.H" #include "IR.H"#include &qu
42、ot;Moter.H" #include "sensor.H" #include "sensor2.h" #include "Timer.H"#include "EXTI.H"void main(void)SetBusCLK_64M(); Delayms(100); LCD_init(); Uart_Init(); Key_Init();Switch_Init();VEncoder_Init(); Pwm_Init(); ADC_Init(); INT_Init(); Reed_Switches_Init
43、();/* while(1)LCD_write_english_string(0,0,"Press KEY"); LCD_write_english_string(0,1,"to Start!");AD_GetValue(); Cal_PostitionA();if(SenA=50) LCD_write_english_string(0,2,"No Field Dect!"); elseLCD_write_english_string(0,3,"MagneticField"); LCD_write_english_
44、string(20,4,"Detect!");if(SenA!=50)Delayms(500); LCD_clear(); break;Delayms(50); LCD_clear(); SenA=50;*/while(1)if(PORTB=0x01) Top_Speed=40; if(PORTB=0x02) Top_Speed=36; if(PORTB=0x04) Top_Speed=32; if(PORTB=0x08) Top_Speed=28; LCD_Show_Number(3,1,Top_Speed); Delayms(500);break;VISystem_Ru
45、nTime_Count=0;/* Top_Speed=30;*/ for(;)Rel_SenA=50-SenA; speed_change=(50-SenA)*(SenA-50); speed_change=speed_change/200;Target_Speed=Top_Speed+speed_change; LCD_Show_Number(0,0, System_Feed_Speed) ; LCD_Show_Number(30,3,SenA); LCD_Show_Number(30,5,Target_Speed); LCD_Show_Number(30,3,Stat); LCD_Show
46、_Number(0,5,System_Feed_Speed); AD_Graph_Display(60,5); LCD_Show_Number(0,4,SenA); AD_analyze_Display()#include <hidef.h>#include "derivative.h"/* common defines and macros */* derivative-specific definitions*/#define SERVO_MIDDLE_VALUE 1184#define SERVO_RANGE180void Set_PWM(uint PWM
47、1,uint PWM2)PWMDTY1=PWM1;PWMDTY0=PWM2;void Set_Servo(uchar value)uint i;if(value>100|value<0) value=last_value; last_value=value;if(value<=50) i=SERVO_MIDDLE_VALUE-(50-value)*18/5; if(value>50) i=SERVO_MIDDLE_VALUE+(value-50)*18/5; if(i<SERVO_MIDDLE_VALUE-SERVO_RANGE)i=SERVO_MIDDLE_VA
48、LUE-SERVO_RANGE;VIIif(i>SERVO_MIDDLE_VALUE+SERVO_RANGE) i=SERVO_MIDDLE_VALUE+SERVO_RANGE;PWMDTY23=i;void Pwm_Init(void)PWME=0X00; PWMCTL_CON23=1; PWMCAE_CAE3=0;T23 = 0; PWMPOL_PPOL3=1; PWMPRCLK = 0X01; PWMSCLB= 0x20; PWMCLK_PCLK3 = 1;PWMPER23 =10000;/ clockB 不分频,clockB=64MHz;CLK A 2 分频:32Mhz/ clo
49、ck SB 64 分频 clock=clockB/64=1MHz 0.001ms/选择 clock SB 做时钟源/周期 10msPWMPOL_PPOL0=1; /PWM0 首先输出高电平PWMPOL_PPOL1=1; /PWM1 首先输出高电平PWMCLK_PCLK0=1; / pwm0PWMCLK_PCLK1=1; / pwm1用 SA 做时钟源用 SA 做时钟源PWMCAE_CAE0=0;/左对齐输出PWMCAE_CAE1=0;/左对齐输出PWMSCLA=16;/CLOCKSA =CLOCKA/(2*PWMSCLA)=32M/2/160=100000HZ0.01MSPWMPER0=100
50、; / PWM 通道0.01MS*100=1MS PWMPER1=100; / PWM 通道0.01MS*100=1MS周期寄存器 pwmxperiod=channelclockperiod*pwmperX =周期寄存器 pwmxperiod=channelclockperiod*pwmperX =PWME_PWME0 = 1;PWME_PWME1 = 1;PWME_PWME3 = 1;Set_PWM(0,0);uchar Moto_PID()VIIIvolatile static int err=0,last_err=0,derr=0; volatile static int M_PWM=0
51、;volatile static int Kd;err= Target_Speed-System_Feed_Speed;/ err derr=err-last_err;if(err>8)Set_PWM(100,0);return 0;if(err<- 10)Set_PWM(100,100);return 0;if(abs(err)<3)if(M_PWM<0)Kd=5;else Kd+;M_PWM=0; if(M_PWM>90)M_PWM=90;last_err=err; Set_PWM(M_PWM,0);uchar Servo_PID()volatile stat
52、ic int err=0,last_err=0,derr=0; volatile static int M_PWM=0;volatile static int Kd; err=Rel_SenA; derr=err-last_err; if(Rel_SenA>43)Set_Servo(100); return 0;if(Rel_SenA<-43)IXSet_Servo(0);return 0;if(abs(err)<10)Kd=2;else Kd+;if(M_PWM<-45) M_PWM=-45;if(M_PWM>45) M_PWM=45;last_err=err;Set_Servo(50+M_PWM);#include <hidef.h> #include "derivative.h"/* common defines and macros */* derivative-specific definitions*/uchar AD_Value16; uint Sen_Value;uint SenA;void ADC_Init(void)ATD0CTL1=0x00; ATD0CTL2=0x40 ATD0CTL3=0x80 ATD0CTL4=0x03; PRS=7,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度艺术品委托拍卖服务协议书模板
- 2025土木工程师考前模拟
- 2025年度物流公司职工劳动合同解除协议
- 二零二五年度法拍房屋拍卖议价与风险评估协议
- 二零二五年度XX小区清洁工岗位培训与劳动合同
- 二零二五年度物流装卸安全协议书
- 2025年度汽车租赁公司与个人自驾游保险套餐合同
- 二零二五年度劳动合同解除与竞业限制及补偿协议
- 动物饲养管理与兽医责任试题及答案
- 2025年度棋牌室客户满意度调查与分析合同
- 【地理】2024届高三地理一轮复习课件《工业集聚与工业地域》
- 校园一卡通系统建设解决方案
- 居民自建桩安装告知书回执
- 期末复习Unit+6-10+单元信息摘录专项练习-人教版英语八年级上册
- 1 热工测量基础知识
- 健康教育计划执行单模板
- TRD60ED培训讲义精讲
- 火龙罐技术课件
- 石膏粉生产线设备及工艺介绍
- 水工钢结构第七章平面钢闸门课件
- 电镀产品检验记录
评论
0/150
提交评论