欢迎来到天天文库
浏览记录
ID:59123783
大小:299.16 KB
页数:7页
时间:2020-09-13
《飞思卡尔技术报告.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、K60模块分配K60的简介,我们本次使用了以下模块。1.FTM模块:K60中集成3个FTM模块,而今年我们选用两个B车进行追踪循迹。B车模使用单电机、单舵机,另外需要一个编码器。所以对3个FTM模块进行如下配置:FTM0用以产生300HzPWM信号控制舵机,FMT1用以产生18.5KHzPWM信号控制电机,FTM2用以采集编码器数据。2.定时器模块:K60中有多个定时器模块,我们使用了其中2个。其一用以产生5ms中断,处理相关控制程序。另一个用以超声波模块的计时。3.SPI模块:我们使用了K60的一个SPI模块,用以和无线射频模块NRF24L01P通信。4.外部中断:我们使用了三个
2、外部中断。第一个是PORTA的下降沿中断,用以响应干簧管检测到磁铁。第二个是PORTD的跳变沿中断,用以响应超声波模块的输出信号。最后一个是PORTE的下降沿中断,用以响应NRF24L01P模块的相关操作。数据采集算法传感器是智能车的眼睛,它们给智能车循迹和追踪提供了必不可少的信息。因此,在智能车软件设计中必须保证数据采集算法的稳定性,同时兼顾其快速性。本车比赛,我们的智能车主要采集以下传感器的数据:电感传感器电路板、编码器、超声波、干簧管。下面主要详述超声波模块、电感传感器电路板的数据采集。1.超声波模块数据采集我们使用的超声波模块的DO引脚输出50Hz的矩形波信号,通过高电平的
3、时间向单片机传递数据。本超声波传感器的高电平时间为声波单程传输的时间,通过这个时间可计算出两车之间的距离。我们使用外部中断和计时器结合的方式测量高电平时间。首先配置PORTD11为跳变沿中断。中断被触发时,如果PORTD11为高电平则开始计时,如果PORTD11为低电平则停止计时并记录时间间隔。2.电感传感器电路板的数据采集电感传感器电路板通过输出电压的大小反应响应位置和方向的磁场强度。本次比赛中,我们使用了10个电感分布在6个不同位置,因此每个周期都要采集10路ADC数据,每路ADC数据采集32次进行平均滤波。K60芯片中有两路ADC模块,为了最大程度的减少采集数据的时间,我们采
4、用两个ADC模块并行采集的方法。首先,将10路ADC分为两组,第一组6个使用ADC0模块采集,第二组4个使用ADC1模块采集,两个ADC模块同时采集数据。以第一组为例,依次采集6路ADC数据,循环32次。当两个ADC模块都完成任务时,ADC转换结束。最后进行平均滤波。控制算法1.定位算法A.两个电感定位算法在电磁组算法设计中,“差比和”(即用连个电感数据的差除以它们的和)是一个简单易用的定位算法,但是我们测量发现“差比和”算法得出的偏差距离用着较大非线性。如下图所示,其横轴为实际偏差(单位mm),其纵轴为“差比和”得出的偏差。可以发现,在实际偏差较小时,“差比和”算出的偏差变化较快
5、,实际偏差较大时“差比和”算出的偏差变化较缓。“差比和”定位与实际偏差比较图为了使定位具有更好的线性度,我们拟合出一个函数将差比和的值近似转换为离中心线的实际偏差。如下图所示,其横轴为实际偏差(单位mm),其纵轴为“差比和”得出的偏差,红线表示实测的曲线,蓝线表示用以非线性矫正的一个近似的曲线。非线性矫正曲线B.多个电感的定位算法使用上述的两个电感定位算法,可以使两个在同一直线上不同位置的电感两两算出一个距离偏差。由于两个电感的测距有效范围有限,我们采用三个横向电感取其中较准确的两个电感计算距离。记三个横向的电感对应的数值从左到右分别为Left、Mid、Right。当Left最大时
6、,使用Left和Mid两个电感值计算偏差;当Right最大时,使用Left和Mid两个电感值计算偏差;当Mid最大时,根据Left和Right计算出的偏差来计算Left-Right、Left-Mid、Mid-Right三组偏差E0,E1和E2的比重K0,K1和K2。最后通过(E0*K0+E1*K1+E2*K2)/(K0+K1+k2)计算出近似的实际偏差,使得三组数据计算值之间平滑过渡。2.基于增量式PID的速度控制A.电机特性的研究与建模本次比赛我们使用了B车模,相比于直立车模,B车模对电机的PID调节要求不是很高。但为了更好的理解PID控制算法和电机特性,我们通过电机的特性曲线近
7、似求出电机的传递函数。首先记录车在给电机20%恒定占空比时的速度和时间曲线,以此作为电机传递函数的阶跃响应,如下图所示。然后利用MATLAB得出曲线的近似表达式:e=91.1457-64.6742*e^(-t/3.4654)-13.6656*e^(-t/3.4654*2)-12.6844*e^(-t/3.4654*3);最后以此函数作为电机传递函数的阶跃响应,求得其传递函数:-0.733s^3+60.96s^2+119.7s+45.48----------------
此文档下载收益归作者所有