东南大学第十四届无线节能组技术报告_第1页
东南大学第十四届无线节能组技术报告_第2页
东南大学第十四届无线节能组技术报告_第3页
东南大学第十四届无线节能组技术报告_第4页
东南大学第十四届无线节能组技术报告_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第十四届全国大学生“恩智浦”杯智能汽车竞赛 技 术 报 告 学校:东南大学 队伍名称:SEU_SAVE 参赛队员:曹政 项文祥 彭爽 带队教师:周怡君 罗晨 1 关于技术报告和研究论文使用授权的说明 本人完全了解第14届“恩智浦”杯全国大学生智能汽车竞赛关保留、使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组委会和恩智浦半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论中。 参赛队员签名: 曹政 项文祥 彭爽 带队教师签名: 周怡君 罗晨 日 期: 2019.8.19 2 目录 第一章 第二章

2、引言4车模结构52.1 车模主体52.2 电容板设计及电容选择52.3 电机选择62.4 传感器上电感分布62.5 系统最终方案设计7第三章 电路设计73.1 S9KEAZ128AMLK 控制核心73.2 稳压模块83.3 电机电源模块83.4 充电模块83.5 传感器模块10第四章 软件设计114.1 电磁循迹原理114.2 控制策略124.2.1 PID 控制124.2.2 速度 PI 控制134.2.3 方向 PD 控制134.2.4 误理13第五章 开发工具和调试工具说明155.1 虚拟示波器155.2 软件开发平台15第五章 总结16附录:17 3 第一章 引言 “恩智浦”杯全国大学

3、生智能车竞赛是从 2006 开始,由教育部高等教育司委托高等学校自动化类教学指导委员会举办的旨在加强学生实践、创新能力和培养团队精神的一项创意性科技竞赛,至今已经成功举办了十二届。该竞赛以“立足培养,重在参与,鼓励探索, 追求卓越”为指导思想,旨在促进高等学校素质教育,培养大学生的综合知识运用能力、基本工程实践能力和创新意识,激发大学生从事科学研究与探索的兴趣和潜能,倡导理论联系实际、求真务实的学风和团队协作的人文精神,为优秀人才的脱颖而出创造条件。竞赛以竞速赛为基本竞赛形式,辅助 以创意赛和技术方案赛等多种形式。 电磁节能组是从第十二届全国大学生“恩智浦”杯智能汽车竞赛开始引入的新组别, 要

4、求选手制作基于电磁传感器的车模完成赛道运行一周,比赛时间从车模冲过起跑线到重新回到起跑线为止。如果车模没有能够停止在起跑线后三米的赛道停车区内,比赛时间加罚一秒钟。车模的比赛成绩由充电时间加上跑完赛道的时间来确定。 在此报告中,我们将会对小车的结构设计、硬件电路模块化以及软件控制、算法及调试方面做详细介绍,具体表现在PCB板的设计与制作,控制算法的实现,小车对电磁线信号进行检测,并由单片机芯片进行控制实现小车的运动。我们采用 KEA128 作为控制芯片,4块超级电容作为储能原件,此外还有稳压模块、传感器模块、编码器测速模块、电机供电模块、人机交互模块和距离检测模块。我们延续了去年使用的充电方案

5、,根据实际使用需求进行了相应改变,得到了最终的小车,学习到了硬件电路的设计以及检测技巧,软件的设计技巧以及各类算法的运用。 参加此次竞赛我们丰富了自己的知识储备,锻炼了实践动手能力和实际问题解决能力,在这里要特别感谢东南大学智能车校队,我们的成果离不开学校的大力支持及指导老师悉心的教导;还要感谢的是和我们一起协作的队员们,互相勉励使我们能够走到今天,我们一步步越过困难不曾放弃,我们一起体验过绝望,也一起经历过欢笑,但是一切的一切,都是生命中重要的一个部分,感谢陪伴彼此走到今天。 4 第二章 车模结构 2.1 车模主体 作为节能车这一比较特殊的组别,我们首先排除使用传统车模,而是使用3D打印来制

6、作车模,我们用建模软件画出了车身主体结构和一些联结零件,镂空其中部分继续减轻重量,具体结构设计如下图: 2.2 电容板设计及电容选择 由于主板形状以及小车机械结构的确定,我们选择根据自己的能耗和驱动情况自己用 PCB 制作电容板,并且自行选择散装的法拉电容,电容板具体结构如下: 5 2.3 电机选择 一开始我们考虑选择Maxon无刷直流空心杯电机进行驱动。一开始选择了额定电压12v带有16:1减速比的电机,但是后来发现扭矩过剩,同时电机转速不够。 后来使用带有4:1行星减速器的电机,比较而言还是速度不够。后来感觉是电机选型的额定功率不够。最后选择了自带驱动电路的无刷直流电机。 2.4 传感器上

7、电感分 传感器电感分布为左右各有两个横着以及竖着的电感,以及中心横着的电感,这些电感配合着来实现圆环元素的检测以及基本循迹,传感器的稳定是小车稳定循迹的基础保证。 6 2.5系统最终方案设计 综上所述,系统由我们3D打印的结构作为车体的主要结构,选用 KEA128 来实现对于小车运动的控制,用电磁传感器来实现对于小车位置的采集,在 IAR 开发环境中进行软件开发。经内部 AD 进行模数转换后,输入到控制核心,用于赛车的运动控制决策。通过编码器测速模块来检测车速, 并采用 KEA 进行脉冲计数计算速度和路程;外接一个ad口来进行红外测距电机转速控制采用 PID 控制,通过PWM 控制驱动电路调整

8、电机的转速。 7 第三章 电路设计 3.1 S9KEAZ128AMLK 控制核心 本车使用KEA128 芯片裸片设计,大大减轻主板重量,他的耗能相对于 K60 来说较小,比较合适于节能组,虽然 KEA 处理数据的效率较 K60 较慢,对于节能电磁来说这已经较为足够, 比较合适。 8 3.2 稳压模块 我们使用的是 TPS63070 芯片实现自动升降压,效率最高能够达到 94%,最小输入电压是 2.5v(在实际情况下由于电路分压损耗等原因,到 2.7v 就会失去升降压效果),最大输出电压是 9V,改变分压电阻是的其升降压至 5v 可以作为给单片机供电的电路,效率较高所以稳压效果较好且能最大效率地

9、利用电能,具体电路原理图如下: 3.3 电机电源模块 本模块和稳压模块是相同的电路,可以达到不同的需求电压是可以通过改变分压电阻来实现的,我们使用了 9v 来给整个电机供电(即电机内驱动电路 pwm 波满占空比时电压输出为 9v),得到了较好的效果 3.4 充电模块 这个模块较为复杂,本模块分为两个部分,包括在充电时给控制电路单独供电的 9 电路以及通过输出 PWM 波来进行充电电流控制(电流的控制由运放电路来实现) 的电路实现对于充电的控制 充电供电电路如下: 充电电路如下: 10 xl7005 作为稳压芯片为控制芯片提供电源进行工作,用运放芯片来实现对于电流的实时获 取和反馈控制。 3.5

10、 传感器模块 传感器模块就是基本的滤波放大电路,先由如下的 LC 并联谐振电路获取到正弦交流电,经过二阶低通滤波后进行整流输入到单片机的 AD 口进行读取来得到实时的电感值。 以下是信号的第一步,比赛选择 20kHz 的交变磁场作为路径导航信号,因此信号放大需要进行选频放大,使得我们可以较为准确的捕捉到 20khz 的信号,并且去除其它干扰信号的影响。使用 LC 并联谐振电路来实现选频电路(带通电路) 11 =电路谐振频率为: f 1 2 LC 经由计算可以得到所需要的电容值为 c=6.33nf,选择出来以后只有 6.8nf 的电容最为合适 二阶低通滤波电路和整流放大都在原理图中都有体现 选用

11、 opa2340,拥有合适的带宽来选择对于合适频率的放大倍数且低噪声。 12 第四章 软件设计 4.1 电磁循迹原理 节能车的循迹和普通电磁循迹一样,是靠着一根导线通上 20Khz、100ma 的交变电流产生的电磁场,识别这种磁场靠的就是电感的电磁感应线圈,感应出来的信号经过 LC 谐振得到正弦交流电,再结果滤波整流放大后输入到单片机 AD 模块采集到值。 13 4.2 控制策略4.2.1 PID 控制 PID 控制是工业过程控制中历史最悠久,生命力最强的控制方式。这主要是因为这种控制方式具有直观、实现简单和鲁棒性能好等一系列的优点。PID 控制主要有三部分组成,比例、积分、微分。PID 控制

12、框图如下所示:我们在控制理论中可以知道: 比例调节(P)作用:是按比例反应系统的偏差,系统一旦出现了偏差,比例调节立即产生调节作用用以减少偏差。比例作用大,可以加快调节,减少误差, 但是过大的比例,会使得系统产生较大的震荡,无法稳定下来。 微分调节(D)作用:具有对于预见性,能预见偏差变化的趋势,因此能产生超前的控制作用。可以改善系统的动态性能。在微分时间选择合适情况下,可以减少超调,减少调节时间。微分作用对噪声干扰有放大作用,因此过强的加微分调节,对系统抗干扰不利。此外,微分反应的是变化率,而当输入没有变化或变化基本不存在时,微分作用输出基本为零。 积分调节(I)作用:是使系统消除稳态误差。

13、当有误差,积分调节就会实现他的作用,直至无差的时候积分调节停止,积分调节输出一常值。积分作用的强弱与积分时间常数 Ti 有较大关系,Ti 越小,积分作用就越强。反之 Ti 大就会使得积分作用弱,加入积分调节可使系统稳定性下降,动态响应变慢。 应用公式如下 dedt pi u = kedt + ke + kd14 其中,Kp、Ki 、Kd 分别称为比例系数、积分系数、微分系数。u 接着被送到了执行机构,这样就获得了新的输出信号u ,这个新的输出信号被再次送到感应器以发现新的误差信号,这个过程就这样周而复始地进行。 4.2.2 速度 PI 控制 通过 512 线的编码器获取实时的速度,控制采用增量

14、型动态 PI 控制,先依据经验估计 Kp 和 Ki 的最大最小值, 之后通过误差的大小实现动态整定参数,是直接实现对于输出 PWM 的改变量。 4.2.3 方向 PD 控制 使用自己设定的分区算法计算偏差,好处是可以将电感读值归一化,有利于提高小车的赛道适应性。最终将这种偏差反应到电机占空比上,不断纠正偏差以使小车达到循线跑的目的。 下图是本次赛道的特殊元素,去 r50 小圆环为例,通过中心横电感的值的突变来识别出这个元素并且给予小车一个固定的打角同时用两个竖电感来循迹进入圆环此时我们还会改变循迹时的方向 P 和 D,进入圆环后,再改为使用横电感来进行循迹,直到再次判断出出环的条件来出环,不受

15、到电感值的影响,或者给予电感值一定的影响让其可以以直道的方式继续行进一段时间,即可以较完美的姿态继续行进。 15 4.2.4 误 理 由于坡道容易与圆环和横断误判,我们没有使用更多的传感器,而是使用元素之间的判断,这样可以及时调整,减小调试的压力。16 第五章 开发工具和调试工具说明 5.1 虚拟示波器 这是集成在山外调试助手中的一个功能,被我们较为频繁的使用,它可以用在电机测试、传感器测试、电感读值趋势测试等各个方面进行分析,其使用如下配合着核心板中 Uart 模块连接上蓝牙,选择合适的波特率以及发送的数据个数, 可以得到各种数据的直观体验。 5.2 软件开发平台 我们所使用的智能车软件开发

16、平台为 IAR Embedded Workbench,该软件是 IAR Systems 公司为 ARM 微处理器开发的一个集成开发环境,它的 C/C+ 交叉编译器和调试器是今天世界最完整的和最容易使用专业嵌入式应用开发工具。IAR Embedded Workbench 今天已经支持 35 种以上的 8 位/16 位 32 位 ARM 的微处理器结构。 17 第五章 总结 从 2006 年开始,全国大学生智能车竞赛已经成功经历了十二届,我们学校 的校赛也已经举办了多届智能车校赛来培养学生的动手能力,创新能力和综合素质,从校赛开始经历智能车,给我的最大体验是考核了多个方面的内容,在校赛时就对机械、

17、电子、计算机等各方面能力有了一些考验,当然也是为了之后的区赛做准备。 从区赛开始前很长时间,我们将前期的重点放在无线充电方面的研究上。在熟悉了基本的充放电原理之后,我们决定延续去年的充电方案,并在此基础上进行了一定改进,摒弃了核心板的方案,而是使用了KEA裸片的方案,减轻了主板的重量。中后期我们主要从驱动结构入手,针对履带行驶方案做了近十次结构上的改动,最终抛弃了橡胶圈作为履带的方案,使用同步带作为小车的履带。 18 附录: 以下为节能车外形参数: 长:29.5cm 宽:25cm 高:14.5cm 传感器种类及个数: 10mH电感*3 红外测距传感器512mini 编码器 2 个 部分核心程序

18、如下: Main.c void offset_calculate() uint16_t max_ad = 0; if(ad_left2 = ad_center) max_ad = ad_left2; else max_ad = ad_center; if(ad_right2 = max_ad) max_ad = ad_right2; else ; char area; if(lastactive_area = 0)&(max_ad = 100) area=NONE_SIT; else if(max_ad =ad_right2) area=CENTER_RIGHT; else if(ad_rig

19、ht2ad_left2) area=CENTER_LEFT; else area=OUTRANGE_SIT; else area=OUTRANGE_SIT; switch(area) case 1: offset_cal = offset_c12;break; 19 case 2: offset_cal = offset_c12;break; case 3: offset_cal = offset_c34;break; case 4: offset_cal = offset_c34;break; case 5: offset_cal = offset_cal;break; if(offset_

20、calmax_offset) offset_cal = max_offset; else if(offset_calmin_offset) offset_cal = min_offset; if(area = 5) if(lastactive_area = 0) offset_cal= 0; else if(offset_precal = 0) offset_cal = min_offset; else offset_cal = max_offset; offset_precal = offset_cal; offset_ed = (offset_cal-offset_precal); off

21、set_out = offset_kp*offset_cal + offset_kd * offset_ed ; offset_int = (int)(offset_out); offset_precal = offset_cal; uint16_t motor_get_value_left; uint16_t motor_get_value_right; uint8_t motor_get_direction_left; uint8_t motor_get_direction_right; motor_get_direction_left = Pin(H2); motor_get_direc

22、tion_right = Pin(C5); if(motor_get_direction_left != get_left_dir) motor_get_value_left = 0; else motor_get_value_left = FTM_Pulse_Get(ftm1); get_left_speed = motor_get_value_left; get_left_dir = motor_get_direction_left; if(get_left_dir=0) real_left_speed = get_left_speed; else real_left_speed = -g

23、et_left_speed; 20 if(motor_get_direction_right != get_right_dir) motor_get_value_right = 0; else motor_get_value_right = FTM_Pulse_Get(ftm0); get_right_speed = motor_get_value_right; get_right_dir = motor_get_direction_right; if(get_right_dir=0) real_right_speed = -get_right_speed; else real_right_s

24、peed = get_right_speed; FTM_Count_Clean(ftm0); FTM_Count_Clean(ftm1); void set_motor(int rightDir, float rightPWM, int leftDir, float leftPWM) if(leftPWM0) FTM_PWM_Duty(ftm2,ftm_ch0,rightPWM); GPIO_Set(F0,0); else FTM_PWM_Duty(ftm2,ftm_ch0,rightPWM); GPIO_Set(F0,0); if(rightPWM=4000) Disable_Interrupt(INT_PIT_CH1); Enable_Interrupt(INT_PIT_CH0); if(CAPACITOR_VOLTAGE1000) Charge_Effciency=40; else Charge_Effciency=80; void setChargerPWM(float pwm) if(pwm MAX_CHARGE_PWM) FTM_PWM_Duty(ftm2,ftm

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论