智能车电磁组总结

智能车电磁组总结

ID:43466984

大小:49.98 KB

页数:16页

时间:2019-10-03

智能车电磁组总结_第1页
智能车电磁组总结_第2页
智能车电磁组总结_第3页
智能车电磁组总结_第4页
智能车电磁组总结_第5页
资源描述:

《智能车电磁组总结》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、智能车电磁组总结专业:信息安全(保密方向)班级:09091401姓名:李龙学号:2014302479暑期我在智能车基地进行了自己的暑期生产实习,和队友在之前搭建的智能车基础上进行完善和改进,参加了恩智浦杯智能汽车竞赛。我想本次的实习报告从智能车原理和算法设计上进行叙述。电磁类智能车概述智能车顾名思义便是可以按照预先设定的模式在特定的环境中自由的运动而不受人为的干预的小车,除了可以自动循迹(沿着特定的轨道跑),他还可以实时显示自己的各种运动状态,如:速度,里程,实时轮胎打角状况等。要实现它的自动化,小车便由三部分组成的——传感器部分、控制部分和执行部分。首先传感器部分便是智能车的眼睛,它

2、用来收集智能车所在环境中的有用信号,将收集到的模拟信号转化为数字信号以此为依据进行相应的控制,我们组所做的是电磁类的智能车,传感器便是电感,通过测量电感所产生的电压来判断小车在赛道的位置,由于电压大小与和导线的距离有关,所以这种方式可以实现位置检测。测量具体原理如下,有毕奥-萨伐尔定律可知,通有稳恒电流I、长度为L的直导线周围会产生磁场,距离导线距离为r处的磁感应强度为:B=u0I4πr(cosθ2-cosθ1)对于无线长直导线先来说,上式中θ2等于π,θ1等于0,u0为真空磁导率,则:B=u0I2πr位于磁场中的电感线圈的感应电动势近似为:E=d∅tdt=dBSdt=SdBdt=Su

3、02πr2dIdt=Su02πr2KEx=KSu02πhx2+h2其中Ex为水平方向上的感应电动势分量(我们将电感卧式放置),x为距离导线的水平距离,h为高,故感应电动势的大小正比于电流的变化率K,反比于距离r2,由于K是定值,故可通过测量E获得水平距离r值。接着是控制部分,这部分主要是接受传感器部分测量的信号进行计算分析,根据预先编进程序的策略传送出控制信号给各部分执行单位,控制部分主要是单片机,我们所用的是K60,他通过ADC模块接收传感器模块传进来的电压信号并进行模数转化,并经过一系列的数据处理得到电压值,通过电压的计算得出小车在赛道中的位置值,以此为依据进行相应的控制,当然还接

4、受其他部分传进的信心以便更精细的控制,如编码器等。一是转向控制,当计算出的位置值比较大时,说明小车已经偏离赛道中央或者正在弯道中,这时小车应该向赛道中央拐,控制部分通过FTM定时模块输出PWM波到执行部分中的舵机中,使舵机进行相应方向的打角让小车回到赛道中央,为了在不同的车速下确保小车能够及时回到赛道中央,多级的转角大小应该对应小车位置的大小,PWM波的占空比决定舵机(步进电机)转动的角度,具体PWM波的计算在后面会给出。二是速度控制,对于竞速型的智能车,速度是小车的关键,小车要能够在保证不冲出赛道的情况下尽量提高速度,这就需要小车具有非常灵敏的加减速功能,除去小车轮胎摩擦力和倾角外等

5、一些硬件方面的因素外,加减速功能主要是通过控制部分的相应功能实现,单片机可通过输出PWM波到驱动模块使电机转动,当然可以改变占空比来控制电机转动的快慢,从而控制速度的大小,加减速控制的时机和速度的大小可以通过相应的算法进行判断。最后是执行部分,一是舵机模块,这部分不需要驱动电路,只需将单片机的PWM波输入到舵机相应的引脚就可以,舵机内部有自己的基准波形,他和输入的PWM波的占空比等相比较从而决定正转还是反转以及转动的角度。电机模块有电机的驱动电路和电机本身,一般电机只要通电就可以转动起来,但要控制其转动的快慢就需要驱动电路实现电机转速的控制,同时驱动电路还可以提供相应的电压。程序设计一

6、、位置获取方式由电感采集的感应电动势信号通过信号板输入单片机的ADC模数转换模块的各个端口,单片机将其转化为数字信号后,可将其作为此刻的电动势值,每个传感器每次采集100次数据,然后计算这100次采集的数据中最大值和最小值之差,作为电压值。由于各个电感固定的位置不同,所测量到的电压范围也会有所不同,这些数据便不能直接进行比较或计算,为了能够很好地处理数据,我们通过归一化将各个电感的数据统一到同一个范围之内,这样便可以进行比较计算了,同时归一化还可以消除因赛道电流变化产生的误差,实时地反映赛道的真实状况,因为归一化采用的是相对值,不易受绝对数据变动而产生的影响。归一化的公式为:最终值=当

7、前值-最小值最大值-最小值*设定范围这部分的程序为:voidsignal_collecting(void)//传感器信号采集函数{uint8i;for(i=0;i<100;i++)//每个传感器采集100次数据{sensor[0][i]=LPLD_ADC_Get(ADC1,AD10);sensor[1][i]=LPLD_ADC_Get(ADC1,AD8);sensor[2][i]=LPLD_ADC_Get(ADC1,AD9);sensor[3]

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。