版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第十四届“恩智浦”杯全国大学生智能汽车竞赛技术报告学校:陕西理工大学队伍名称:陕理工节能队参赛队员:高天 朱晨旭 刘红斌带队教师:刘沛 马帅旗关于技术报告和研究论文使用授权的说明本人完全了解第十二届“飞思卡尔”杯全国大学生智能汽车邀请赛关保留、使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论中。参赛队员签名: 朱晨旭 刘红斌 高天带队教师签名: 刘沛马帅旗日期: 2019 年 8 月 16 日目 录目 录2引 言4第一章 方案设计5
2、1. 1 系统总体方案的选定51. 2 系统总体方案的设计71. 3 小结7第二章 智能汽车机械结构调整与优化82.1 自制车模设计82.2 电机驱动电源92.3 电机驱动方式92.4 重心整体调整72.4.1 降低底盘92.4.2 重心集中安置92. 4.3 前后轮驱动方式的调整92. 5 小结9第三章 智能汽车硬件电路设计103. 1 主控板和驱动板设计103. 1. 1 电源管理模块3. 1. 2 电机驱动模块3. 1. 3 无线充电模块. 10. 11.123. 1. 3 激光传感器133. 2 工字电感传感器133. 3 无线充电模块163. 4 小结16第四章 智能汽车控制软件设计
3、17II4. 1 传感器采集处理算法174. 2 方向控制174. 3 速度控制184. 4 避障策略18第五章 开发工具、制作、安装、调试过程205. 1 开发工具205. 2 调试过程20第六章 模型车主要参数216. 1 智能汽车技术参数21结 论22参 考 文 献23附录A:全车主要电路原理图 24附录B:主要源代码.27III第十四届全国大学生智能汽车邀请赛技术报告引 言全国大学生“恩智浦”杯智能汽车竞赛是以“立足培养、重在参与、鼓励探索、追求卓越”为宗旨,鼓励创新的一项科技竞赛活动。竞赛要求在规定的汽车模型平台上,使用恩智浦半导体公司的微控制器作为核心控制模块,通过增加道路传感器、
4、电机驱动模块以及编写相应控制程序,制作完成一个能够自主识别道路的模型汽车。本届竞赛分为四轮组、三轮组、无线节能组、信标对抗组、双车汇车组室外电磁组等七个常规组别,以及一个创意组别。 智能汽车竞赛的赛道路面为宽度不小于 45cm 的白色面板,赛道两侧边沿有宽为 25mm 的连续黑线作为引导线,使用电磁传感器的组别在赛道中心铺设了通有 20kHz 100Ma 电流的电磁线。 我们主要通过对整体方案、机械、算法等方面的介绍,详细阐述我队在此次智能汽车竞赛中的思想和创新。具体表现在车模的创新设计、电路的创新设计、算法以及辅助调试模块等方面的创新。在准备比赛的过程中,队员查阅了大量的专业资料,反复地尝试
5、多种车模、调试汽车模型的各项参数。所有队员都为此次智能汽车竞赛付出了艰苦的劳动 4第一章 方案设计第一章 方案设计本章主要介绍智能汽车系统总体方案的选定和总体设计思路,在后面的章节中将整个系统分为机械结构、控制模块、控制算法等三部分对智能汽车控制系统进行深入的介绍和分析。 1.1 系统总体方案的选定无线节能组不但需要考虑车模运行速度,还要考虑车模的功耗情况。为此我们分别比较了一些市面上常见的车模类型,如图 1-1,1-2. 经过实验发现这些车模的功耗情况都大大超出预想。最后我们决定自制车模。后轮采用双有刷电机驱动,差速转向结构。车模总外形如图 1-3. 图 1-1 履带车模 图 1-2 一种履
6、带车5第十四届全国大学生智能汽车邀请赛技术报告 图 1-3 自制车模 关于传感器,我们选用工字型电感作为电磁信号的检测装置,此电路具有简单实用,可靠准确的优点。主控输出 PWM 波控制电机的转速和舵机的打角。 关于超级电容模块,用多个超级电容串联制成。如图所示。 图 1-4 超级电容模块 6第十四届全国大学生智能汽车邀请赛技术报告1.2 系统总体方案的设计 根据以上系统方案设计,赛车共包括六大模块:kea 最小系统,分析处理着各种采集到的信息,并准确的控制着整车的平稳运行;稳压模块,为整车所有部分提供稳定电压;无线充电模块,从赛道上获取电能,并储存在超级电容中;电磁传感器,获取赛道信息;电机驱
7、动模块,动力部分,使车可以平稳运行;储能模块,使用超级电容达到自己所需的储能要求。 1.3 小结本章重点分析了智能汽车系统总体方案的选择,并介绍了系统的总体设计和总体结构,简要地分析了系统各模块的作用。7第二章 智能汽车机械结构的调整与优化第二章 智能汽车机械结构的调整与优化我们采用为完全自制车模,机械结构的调节是智能汽车制作中一个不容忽视的重要环节。 2.1 自制车模设计亚克力,又叫 PMMA 或有机玻璃,源自英文 acrylic(丙烯酸塑料),化学名称为聚甲基丙烯酸甲酯。硬度是最能体现浇注亚克力板生产工艺和技术的参数之一,是品质控制中的重要一环。硬度能反映出原料 PMMA 纯度、板材耐候性
8、以及耐高温性能等。硬度直接影响到板材是否会收缩弯曲变形,加工时表面是否会出现皲裂等情况。车模需要硬度适中的材料,平均摩氏硬度值 8、9 度刚刚好。使用亚克力板,车模架构简单,硬度适中,轻,可控制车模长度,方便打孔。 2.1 亚克力板 8第十四届全国大学生智能汽车邀请赛技术报告2.2 电机驱动电源电机电源采用自动升压稳压电源,稳定电压到 12v,为电机提供合适的动力。可用 tps63070 以及 xl6019,tps63070 可把电压从 2V 提升至所需电压,xl6019可把 2.7V 以上电压提升至所需电压,且 tps63070 效率为 95%以上,xl6019 理论效率为 94%以上,但是
9、 tps63070 带负载能力不如 xl6019 所以目前使用 xl6019升压电路。 2.3 电机驱动方式为了节省能量我们后轮驱动采用的是减速无刷电机,在 12v 电压的驱动下,转速和扭矩适中,为此我们采用轮毂电机的形式,去除了一切传动装置由电机直接带动旋转。在选用电机转速时选用了 660RPM 的转速,扭矩大,速度适中。无刷电机由于差速调速慢,以及使用复杂,堵转电流大所以放弃使用。 2.4 重心整体调整重心对后期提速有很大影响。如若重心太高,容易导致过弯倾覆,大大限制了速度提升。重心过于分散使车难以控制。为此我们做出了如下调整。 2.4.1 降低底盘改变前桥后轮支架高度,在底盘不会刮到跑道
10、的前提下尽量降低底盘高度,同时降低电路板上各种模块高度,以降低重心。 2.4.2 重心集中安置为使重心更加集中,我们把较重部分均放置在车体正中,使车在运行中更加稳定。2.5 小结在制作车模时,我们使用 3D 打印技术,打印架构的同时在固定位置钻上眼,使用 abs 材料,但是打印效果不好,架构比较软,孔洞不匹配,后来选用 5mm厚度的亚克力板,可以在上面随意钻眼,不受局限。 机械结构对一个车运行的好坏起到了至关重要的作用,我们做了大量的实验,最终确定了一套合适的机械结构。 9第三章 智能汽车硬件电路设计第三章 智能汽车硬件电路设计3.1 主控板和驱动板设计3.1.1电源稳压模块电源是电路设计中的
11、重要部分,电源的稳定性在很大程度上决定了电路的稳定性。线性电源和开关电源是比较常见的两种电源,在原理上有很大的不同,原理上的不同决定了两者应用上的不同。 线性电源的基本原理是市电经过一个工频变压器降压成低压交流电之后,通过整流和滤波形成直流电,最后通过稳压电路输出稳定的低压直流电。 开关电源的基本原理是输入端直接将交流电整流变成直流电,再在高频振荡电路的作用下,用开关管控电流的通断,形成高频脉冲电流。在电感(高频变压器)的帮助下,输出稳定的低压直流电。 电源模块的设计对于节能组来说非常重要。电源模块要求能尽量用尽超级电容的电量,串联的超级电容在放电过程中电压变化范围大,于是要求电源模块的有效输
12、入电压范围大,最低输入电压尽量低。经过筛选我们决定使用 xl6019电源芯片制作电源模块. 5V 到 40V 宽输入电压范围,1.25V 输出电压采样电压,SW 内置过压保护功能,固定 220KHz 开关频率,最大 5A 开关电流,94%以上转换效率,EN 脚 TTL 关断功能,出色的线性与负载调整率,内置功率 MOS。 运放为 5V 供电,采用线性稳压芯片 LM2940,ams1117。IB0505 为运放供电,两个 LM2940 为模拟部分与数字电路部分供电示例见图 3.1。10第十四届全国大学生智能汽车邀请赛技术报告 图 3-1 电源模块(主板)原理图 3.1.2电机驱动模块电机驱动电路
13、为驱动 最常见的就是 L298N 的驱动,但是 L298N 驱动电流只有 2A。我们要查一下电机的参数。以 370 的电机为例,这个电机堵转电流为3.6A,也就是说我们只需要让我们的驱动电流大于 5A 足够了(保持一定的余量),一般比赛的电机,540 的话大概在十几 A,峰值一般在 20A 左右,如表 3.2。 所以我们使用 BTN7960,采用逻辑芯片隔离有效的保护单片机,电机电源 11第十四届全国大学生智能汽车邀请赛技术报告输入 4.5V-27.6V 最佳电压 5V-24V,控制信号:4.5-5.5V,最大工作电流:70A (瞬间电流),最大工作频率:25KHZ,驱动模块支持正,反转和制动
14、。 表 3-2 驱动芯片规格 图 3-3 电机驱动模块 3.1.3无线充电模块无线充电是发射线圈基于一定频率的交流电通过电磁感应在接受端产生一12第十四届全国大学生智能汽车邀请赛技术报告定电流,从而将能量从发射线圈转移到接收端。比赛规定所使用发射端频率为640kHZ。接收线圈为自绕线圈,经测量电感量约为 17uh,经计算谐振电容为4.6nf。 3.1.4激光避障模块WL-Laser 激光传感器,激光传感器的发射部分是由一个震荡管发出 180KHz 频率的震荡波后,经三极管放大,激光管发光,接收部分由一个相匹配 180KHz 的接收管接收返回的光强。由于激光传感器使用了调制处理,接收管只 能接受
15、相同频率的反射光,因此可有效防止可见光对反射激光的影响。 自带电位器,顺时针距离增加,逆时针距离减小。主要改变激光发射光束的强弱改变距离。一般在反光能力强的地方返回低电平(这时指示灯会亮),反光能力弱的地方返回高低平(指示灯熄灭)。 3.2工字电感传感器 工字电感测得的信号无法直接使用,需要进行相应的预处理。要进行以下三 个步骤才能得到较为理想的信号:信号的滤波,信号的放大,信号的检波。 1)信号的滤波 13第十四届全国大学生智能汽车邀请赛技术报告 比赛选择 20kHz 的交变磁场作为路径导航信号,在频谱上可以有效地避开周围其它磁场的干扰,因此信号放大需要进行选频放大,使得 20kHz 的信号
16、能够有效的放大,并且去除其它干扰信号的影响。使用 LC 并联谐振电路来实现选 频电路(带通电路),如图 3.9 所示。 图 3-10 LC 并联电路 其中,E 是感应线圈中的感应电动势,L 是感应线圈的电感值,R0 是电感的 内阻,C 是并联谐振电容。电路谐振频率为:已知感应电动势的频率 f=20kHz,感应线圈电感为 L=10mH,可以计算出谐振电容的容量为 C=6.3310-9 F 。通常在市场上可以购买到的标称电容与上述容值最为接近的电容为 6.8nF,所以在实际电路中选用 6.8nF 的电容作为谐振电容。 2)信号的放大 由第一步处理后的电压波形已经是较为规整的 20kHz 正弦波,但
17、是幅值较小,随着距离衰减很快,不利于电压采样,所以要进行放大,官方给出的如下参考方案即用三极管进行放大,但是用三极管放大有一个不可避免的缺点就是温漂较大,而且在实际应用中静电现象严重。 14第十四届全国大学生智能汽车邀请赛技术报告 图 3-11 共射三极管放大电路 因此我们放弃三极管放大的方案,而是采用集成运放进行信号的放大处理,集成运放较三极管优势是准确受温度影响很小,可靠性高。集成运放放大电路有同相比例运算电路和反相比例运算电路,我们在实际中使用反相比例运算电路。由于运放使用单电源供电,因此使用 IB0505。AD620 是一款低成本、高精度仪表放大器,仅需要一个外部电阻来设置增益,增益范
18、围为 1 至 10000。此外,AD620 采用 8 引脚 SOIC 和 DIP 封装,尺寸小于分立电路设计,并且功耗更低,因而非常适合电池供电及便携式应用。AD620 具有高精度(最大非线性度 40 ppm)、低失调电压(最大 50 V)和低失调漂移(最大 0.6 V/C)特性,是电子秤和传感器接口等精密数据采集系统的理想之选。它还具有低噪声、低输入偏置电流和低功耗特性。 3)信号的检波 信号经过 AD620 后,经过检波二极管传输至芯片 IO 口,芯片通过 ADC 采集,将采集到的电压信号经过滤波分析从而达到稳定输出。 15第十四届全国大学生智能汽车邀请赛技术报告 图 3-12 信号检测
19、3.3 无线充电部分无线充电部分是非常重要的,本设计由卓大大方案 IR2104+AD8217 以及大功率 MOS 管构成。由于接收线圈经整流后仍有几十伏的电压,所以采 LM2576 稳压到 12V,接着由 LM2940 稳压到 5V,将 5V 供给单片机。 单片机将采集的电压,电流进行分析,用 PID 进行控制,可以使得充电速度大大提高。 3.4 小结 在设计硬件电路时,考虑到电机的堵转电流,所以我们仍采用 xl6019 升压电路,其最大电流为 5A。充电部分用到大电流的绕线电感,提升电路的充电效率。 硬件电路是智能车的基础部分,也是非常关键的,为智能车的稳定运行打下了良好的基础。 16第四章
20、 智能汽车控制软件设计第四章 智能汽车控制软件设计4.1 传感器采集处理算法 编写采集函数 adc_once(ADCn_Ch adcn_ch, ADC_nbit bit),其目的是通过单片机的 ADC 功能,把电感采集到的电压值即连续的模拟量转换成数字量。然后通过归一化、差比和等算法计算出偏差值。 由于系统中存在误差,造成信号抖动,所以我们进行了信号的滤波处理。定义相关数组用于保存 40 次的电感值,取平均记为本次信号值。 为了适应赛道的变化性,我们采集赛道的最大值即电感垂直处于电磁线正上方的信号值,采用归一化处理,用本次信号值减去最小值除以最大值减去最小值得到最终计算值,使得在不同赛道的相同
21、位置为同一个值。在程序中,我们定义最小值为 0。 为了定位小车的位置,我们用两个对称的水平电感来计算偏差值,采用差比和算法,即左电感归一化值减右电感归一化值除以左电感归一化值加上右电感归一化值。 这样小车车身离电磁线越远偏差值越大,向左值大于 0,向右值小于 0。 4.2 方向控制在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称 PID 控制,PID 控制器问世至今已有近 70 年历史,其结构简单、稳定性好、工作可靠、调整方便。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的 其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,
22、这时应用 PID 控制技术最为方便。PID 控制,实际中也有 PI 和 PD 控制。PID 控制器就是根据系统的误差,利用比例、 积分、微分计算出控制量进行控制的。 17第十四届全国大学生智能汽车邀请赛技术报告 error()为计算出的偏差值,送到控制器中,控制器算出比例、积分、微分值,并将它们与原来的误差进行线性组合,得到输出量给被控对象,再得到偏差送到控制器中。 我们采用 PD 控制,处理形式如下: fUks=zz*(100*fKP1*f_error_011+100*fKD1*pf1)+yy*(100*fKP2*f_error_022+100*fKD2*pf2); 由于微分存在抖动,所以我
23、们采用了逐差法对偏差进行了处理,最大程度的消除了微分抖动,使得舵机打角更稳定。4.3 速度控制与其他组别相比,电磁传感器抗干扰强度高,对赛道要求低,可以很好适应赛道环境,只要有一根电磁引导线就可以作为小车的跑道。在使用电磁线时候,前瞻的长度影响很大,而且限定投影长度为 30cm,所以对于速度的控制至关重要。我们采用开环控制,得到当前的速度,以当前速度在直线行驶,在弯道处通过电感采集的数据进行分析,通过偏差计算弯道电机的 PWM 值,然后用增量式 PID 来进行控制。 处理形式如下: ll=(uint32)(1*(fUk+8500); ftm_pwm_duty(ftm2,ftm_ch1,rr);
24、4.4 避障策略一开始的想法是避障分为七段,包括左转九十度,直行,右转九十度,直行,18第十四届全国大学生智能汽车邀请赛技术报告再右转九十度,直行,再左转。但存在着角度误差,只要其中任意一步没有转到要求角度,其后都有问题。 考虑到车身电机前后不同位置,停车时不易与赛道平行从而导致固定打角度的方法存在车子行驶偏离,行驶不到想要的位置。所以想在障碍前增加一段减速,这样可以使得车身停止比较稳定。再将其分为三段,第一段是向左打一段弧线(出障碍),向右打一段长弧线(绕障碍),再回到赛道上。 所以采用两个激光漫反射传感器,其中一个是避障前减速,第二个是用来检测避障。19第五章 开发工具及调试过程 第五章
25、开发工具及调试过程5.1 开发工具IAR 的 Embedded Workbench 系列是一种增强型一体化嵌入式集成开发环境,其中完全集成了开发嵌入式系统所需要的文件编辑、项目管理、编译、链接和调试工具。 适用于开发基于 8 位、16 位以及 32 位微处理器的嵌入式系统。 5.2 调试过程 使用 IAR 的 live watch 监视变量,可以看到每个观察值的实时信息,通过观察这些值来确定调试参数。 使用上位机软件,通过蓝牙可以实时看到车子运行过程中的参数信息。20第六章模型车主要参数第六章模型车主要参数6.1 智能汽车主要技术参数 表 6-1 智能汽车技术参数表 21车长(CM) 29.5
26、 车宽(CM) 24 车高(CM) 16 车重(g) 900 电感数目(个) 5 舵机数目(个) 0 电路功耗(W) 3 电容总容量(uf) 6000 赛道信息检测频率(次/秒) 500 结论 结 论全国大学生智能车竞赛是以智能车为研究对象的创意性科技性竞赛,是面向全国大学生的一种具有探索性工程实践活动,是教育部倡导的大学生的科技竞赛之一。 做智能车的过程是一个不断摸索,不断学习的过程。在这个过程中,我们学习了很多东西,通过解决问题锻炼了我们心态以及动手实践能力。解决问题是一个很需要耐心需要打破观念的。定式思维很容易影响我们思考问题,所以我们做的是,打破定式思维,不断探索,不断纠错,细心严谨。
27、 我们的车子还存在好多问题: 1. 在机械结构上,重心略靠前,刹车避障时车子向前倾倒,导致避障前停车不与赛道平行。 2. PCB 板制作太多,导致机械结构不合理,车子由 5 块 PCB 板制成分别为主板,继电器,升压,充电,驱动,PCB 板太多导致结构不牢固,运动过程中不稳定。 3. 在避障上采用固定时间速度,固定方向。容易导致车子每次运行姿态不同,时而拐的多时而拐的少。我们可以使用陀螺仪,解出航偏角使得车子姿态稳定。 22参考文献参 考 文 献 1. 李玲,桂玮珍,刘莲C 语言程序设计教程北京人民邮电2010 3. 童诗白,华成英模拟电子技术基础M北京. 高等教育2000 4. 张木水,李玉
28、山信号完整性分析与设计北京电子工业2010 5. 张文春汽车理论M北械工业2005 6. 卓晴,黄开胜,邵贝贝学做智能车北京-北京航空航天大学2007 7. 关文达汽车构造(第 3 版)北械工业2011 8. 刘莹,吴宗泽机械设计教程(第 2 版)北械工业2009 23附录附录 A:电路原理图 1. 主板原理图 2. 驱动板原理图 243. 无线充电接收模块电路图 4. 升压继电器原理图 255. 升压原理图 26附录 B:主要源代码 if(kz_flag=1) if(dtycdtzc) if(850010000)ll=10000; ftm_pwm_duty(ftm2,ftm_ch1,rr);
29、/右电机 正转 设置占空比为 百分之 (200/FTM2_PRECISON*10 ftm_pwm_duty(ftm2,ftm_ch2,ll); /左电机 正转 else if(8500fUk) ll=(uint32)(1*(fUk+8500); rr=(uint32)(1*(8500-fUk); if(ll10000)ll=10000; ftm_pwm_duty(ftm2,ftm_ch3,rr);/右电机 正转 设置占空比为 百分之 (200/FTM2_PRECISON*10 ftm_pwm_duty(ftm2,ftm_ch2,ll); else if(dtycdtzc) if(8500100
30、00)rr=10000; ftm_pwm_duty(ftm2,ftm_ch3,rr); /右电机 正转 设置占空比为 百分之 (200/FTM2_PRECISON*10 ftm_pwm_duty(ftm2,ftm_ch0,ll); else if(8500fUk) ll=(uint32)(1*(8500-fUk); rr=(uint32)(1*(8500+fUk); if(rr10000)rr=10000; ftm_pwm_duty(ftm2,ftm_ch3,rr); ftm_pwm_duty(ftm2,ftm_ch2,ll); 27 else if(kz_flag=0) if(dtrdtl)
31、 if(850010000) ll=10000; ftm_pwm_duty(ftm2,ftm_ch1,rr);/右电机 3 1 正转 设置占空比为 百 分 之 (200/FTM2_PRECISON*10 1 ftm_pwm_duty(ftm2,ftm_ch2,ll);/左电机 2 0 正转 else if(8500fUk) ll=(uint32)(1*(fUk+8500); rr=(uint32)(1*(8500-fUk); if(ll10000)ll=10000; ftm_pwm_duty(ftm2,ftm_ch3,rr);/右电机 正转 设置占空比为 百分之 (200/FTM2_PRECI
32、SON*10 ftm_pwm_duty(ftm2,ftm_ch2,ll); /左电机 正转 else if(dtldtr) if(850010000) rr=10000; ftm_pwm_duty(ftm2,ftm_ch3,rr);/右电机 正转 设置占空比为 百分之 (200/FTM2_PRECISON*10 ftm_pwm_duty(ftm2,ftm_ch0,ll);/左电机 正 0 转 2 else if(8500fUk) ll=(uint32)(1*(8500-fUk); rr=(uint32)(1*(8500+fUk); 28 if(rr10000)rr=10000; ftm_pwm
33、_duty(ftm2,ftm_ch3,rr);/右电机 正转 设置占空比为 百分之 (200/FTM2_PRECISON*10 ftm_pwm_duty(ftm2,ftm_ch2,ll);/左电机 正转 jg_cj=gpio_get(JG); if(jg_cj=0&cj=0&cjj=0&cj_finshed=0) cj=1; cjj=0; cj_finshed=0; gpio_set(F1,0); if(cj=1&cjj=0) int h; cj=2; cjj=1; for(h=0;h50000;h+) ftm_pwm_duty(ftm2,ftm_ch3,0);/右电机 ftm_pwm_dut
34、y(ftm2,ftm_ch2,0);/左电机 if(cj=2&cjj=1) int p; cj=2; cjj=2; cj_finshed=0; for(p=0;p30000;p+) ftm_pwm_duty(ftm2,ftm_ch3,5000);/右电机 +200 ftm_pwm_duty(ftm2,ftm_ch2,0);/左电机 +200 if(cj=2&cjj=2) int k; cj=3; cjj=2; cj_finshed=0; for(k=0;k80000;k+) / 59500 29 ftm_pwm_duty(ftm2,ftm_ch3,6000);/右电机 ftm_pwm_duty
35、(ftm2,ftm_ch2,6000);/左电机 for(;) ftm_pwm_duty(ftm2,ftm_ch3,0);/右电机 ftm_pwm_duty(ftm2,ftm_ch2,0);/左电机 if(cj=3&cjj=2) int o; cj=3; cjj=3; cj_finshed=0; for(o=0;o40000;o+)/30000 ftm_pwm_duty(ftm2,ftm_ch3,0);/右电机 ftm_pwm_duty(ftm2,ftm_ch2,5000);/左电机 if(cj=3&cjj=3) int m; cj=4; cjj=3; cj_finshed=0; for(m=
36、0;m80000;m+) / 61500 ftm_pwm_duty(ftm2,ftm_ch3,5000);/右电机 ftm_pwm_duty(ftm2,ftm_ch2,5000);/左电机 if(cj=4&cjj=3) int n; cj=4; cjj=4; cj_finshed=0; for(n=0;n700) voltage_flag=1; PIT_FLAG_CLR(pit1); void main() get_clk(); / 获 取 时 钟 频 率 必 须 执 行 FTM_init(); OLED_Init(); ADC_init(); Pit1_init(); IIC_init();
37、 InitMPU6050(); gpio_init(C1,GPO,1);/繼電器 gpio_init(F0,GPO,1); gpio_init(F1,GPO,1); gpio_init(JG,GPI,1); port_pull(KEY1); /设置 IO 口内部上拉,或者外部上拉 port_pull(KEY2); port_pull(KEY3); port_pull(KEY4); gpio_init(G5,GPI,1);/干簧管检测 port_pull(G5); ftm_count_init(ftm0); /对 E0 引脚输入的脉冲进,计数 E0 接编码器LSB ftm_count_init(
38、ftm1); /对 E7 引脚输入的脉冲进行计数 E7 接编码器LSB uart_init(uart2,9600); for(;) oled1(); gpio_set(C1,0); Get_Gyro(); Get_AccData(); void oled1() / OLED 显 示 OLED_Print_Num1(0,0,dtzc);/左 OLED_Print_Num1(0,1,dtm);/中 OLED_Print_Num1(0,2,dtyc);/右 OLED_Print_Num1(0,4,addzy);/左+右 OLED_Print_Num1(0,5,subzy);/左-右 31 OLED_
39、Print_Num1(0,6,summ_all);/左+中+右 OLED_Print_Num1(40,0,dtl); /最左 OLED_Print_Num1(40,1,dtr);/最右 OLED_Print_Num1(40,3,addlr);/最左+最右 OLED_Print_Num1(40,4,sublr);/最左-最右 OLED_Print_Num1(80,0,bj_flag); OLED_Print_Num1(80,1,voltage); OLED_Print_Num1(80,2,voltage_time); jg_cj=gpio_get(JG); if(jg_cj=0) cj_flag
40、=1; if(cj_flag=1) ang+=abs_d(mpu_gyro_z); void adc_collection() / voltage=adc_once(AD_CHANNEL6,ADC_10bit); unsigned char ii=0,jj=0,kk=0; for(kk=0;kk4;kk+) for(ii=0;ii4;ii+) for(jj=0;jj10;jj+) chjj=adc_once(AD_CHANNEL1,ADC_10bit); mhjj=adc_once(AD_CHANNEL3,ADC_10bit); dhjj=adc_once(AD_CHANNEL2,ADC_10
41、bit); ycjj=adc_once(AD_CHANNEL4,ADC_10bit); zcjj=adc_once(AD_CHANNEL5,ADC_10bit); vvjj=adc_once(AD_CHANNEL6,ADC_10bit); jj=0; templ=(ch0+ch1+ch2+ch3+ch4+ch5+ch6+ch7+ch8+ch9)*0.1; tempr=(dh0+dh1+dh2+dh3+dh4+dh5+dh6+dh7+dh8+dh9)*0.1; tempm=(mh0+mh1+mh2+mh3+mh4+mh5+mh6+mh7+mh8+mh9)*0.1; 32tempzc=(zc0+zc1+zc2+zc3+zc4+zc5+zc6+zc7+zc8+zc9)* 0.1; tempyc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 46886-2025智能检测装备通用技术要求
- CCAA - 2024年03月建筑施工领域专业答案及解析 - 详解版(65题)
- 山东省烟台市海阳市2025-2026学年七年级上学期期末生物学试题(含解析)
- 中学学生课外实践基地建设制度
- 养老院环境卫生与绿化制度
- 企业信息安全规范制度
- 电池制液工岗前基础验收考核试卷含答案
- 铁氧体材料烧成工岗后能力考核试卷含答案
- 海藻饲料肥料制作工岗前达标考核试卷含答案
- 我国上市公司机构投资者持股、融资方式与并购绩效的关联性探究
- 2025年健康体检中心服务与质量管理手册
- 2025-2030中国骆驼市场前景规划与投资运作模式分析研究报告
- 2026中国电信四川公用信息产业有限责任公司社会成熟人才招聘备考题库及完整答案详解一套
- 绿化设备安全培训课件
- 钢结构玻璃雨棚安装施工方案
- 给水管道迁改工程施工方案
- 【数学】二次根式及其性质第1课时二次根式的概念课件 2025~2026学年人教版数学八年级下册
- 汉源县审计局关于公开招聘编外专业技术人员的备考题库附答案
- 2025安徽省合肥市公务员考试《行测》题库及答案(各地真题)
- 2026年上海市普陀区社区工作者公开招聘笔试参考题库及答案解析
- 《中华人民共和国危险化学品安全法》全套解读
评论
0/150
提交评论