飞思卡尔智能车电磁组资料
- 格式:pdf
- 大小:323.80 KB
- 文档页数:10
本材料表一共有9页,每个宝贝后面都附带有链接第九届飞思卡尔智能车竞赛光电组材料表(XS128)序号名称单价(元)数量总计(元)链接1MC9S12XS128最小系统(16位)78.75178.75详情2BDM下载器(集成USB转串口)52.5152.5详情3线性CCD模块1201120详情4偏振片15115详情5线性CCD安装支架48148详情6碳素杆(10mm*8mm*500mm)12112详情7舵机支架40140详情8舵机转向舵盘39.6139.6详情9BTN7971电机驱动(4合1)1261126详情10BTN7971驱动芯片17.29469.16详情11LM2940电源芯片428详情12LM2940元件包0.320.6详情13200线编码器(单相)128.11128.1详情14编码器支架12112详情15编码器齿轮(B车)15.2115.2详情16OLED显示屏34.3134.3详情17第9届飞思卡尔竞赛指定B车模详情总计第九届飞思卡尔智能车竞赛光电组材料表(K60)序号名称单价(元)数量总计(元)链接1MK60DN512ZVLL10最小系统(32位)110.71110.7详情2OSJTAG下载器(集成USB转串口)84184详情3线性CCD模块1201120详情4偏振片15115详情5线性CCD安装支架48148详情6碳素杆(10mm*8mm*500mm)12112详情7舵机支架40140详情8舵机转向舵盘39.6139.6详情9BTN7971电机驱动(4合1)1261126详情10BTN7971驱动芯片17.29469.16详情11LM1117-3.3电源芯片428详情12LM1117-3.3元件包0.320.6详情13LM2940电源芯片428详情14LM2940元件包0.320.6详情15200线编码器(单相)128.11128.1详情16编码器支架12112详情17编码器齿轮(B车)15.2115.2详情18OLED显示屏34.3134.3详情19第9届飞思卡尔竞赛指定B车模详情总计第九届飞思卡尔智能车竞赛光电组材料表(MCF52255)序号名称单价(元)数量总计(元)链接1MCF52255最小系统(32位)110.71110.7详情2BDM下载器84184详情3线性CCD模块1201120详情4偏振片15115详情5线性CCD安装支架48148详情6碳素杆(10mm*8mm*500mm)12112详情7舵机支架40140详情8舵机转向舵盘39.6139.6详情9BTN7971电机驱动(4合1)1261126详情10BTN7971驱动芯片17.29469.16详情11LM1117-3.3电源芯片428详情12LM1117-3.3元件包0.320.6详情13LM2940电源芯片428详情14LM2940元件包0.320.6详情15200线编码器(单相)128.11128.1详情16编码器支架12112详情17编码器齿轮(B车)15.2115.2详情18OLED显示屏34.3134.3详情19第9届飞思卡尔竞赛指定B车模详情总计711.1元第九届飞思卡尔智能车竞赛摄像头组材料表(XS128)序号名称单价(元)数量总计(元)链接1MC9S12XS128最小系统(16位)78.75178.75详情2BDM下载器(集成USB转串口)52.5152.5详情3摄像头模块OV76201201120详情4偏振片15115详情5摄像头安装支架48148详情6碳素杆(10mm*8mm*500mm)12112详情7MMA7361加速度传感器模块(三轴)21121详情8ENC-03MB陀螺仪模块(双轴)75175详情9BTN7971电机驱动(4合1)1261126详情10BTN7971驱动芯片17.29469.16详情11LM2940电源芯片428详情12LM2940元件包0.320.6详情13200线编码器(双相)147.251147.25详情14编码器支架12112详情15编码器齿轮(D车)15.2115.2详情16OLED显示屏34.3134.3详情17第9届飞思卡尔竞赛指定D车模详情18第9届飞思卡尔竞赛指定E车模详情总计765.6元第九届飞思卡尔智能车竞赛摄像头组材料表(K60)序号名称单价(元)数量总计(元)链接1MK60DN512ZVLL10最小系统(32位)110.71110.7详情2OSJTAG下载器(集成USB转串口)84184详情3摄像头模块OV76201201120详情4偏振片15115详情5摄像头安装支架48148详情6碳素杆(10mm*8mm*500mm)12112详情7MMA7361加速度传感器模块(三轴)21121详情8ENC-03MB陀螺仪模块(双轴)75175详情9BTN7971电机驱动(4合1)1261126详情10BTN7971驱动芯片17.29469.16详情11LM1117-3.3电源芯片428详情12LM1117-3.3元件包0.320.6详情13LM2940电源芯片428详情14LM2940元件包0.320.6详情15200线编码器(双相)147.251147.25详情16编码器支架12112详情17编码器齿轮(D车)15.2115.2详情18OLED显示屏34.3134.3详情19第9届飞思卡尔竞赛指定D车模详情20第9届飞思卡尔竞赛指定E车模详情总计829.05元第九届飞思卡尔智能车竞赛摄像头组材料表(MCF52255)序号名称单价(元)数量总计(元)链接1MCF52255最小系统(32位)110.71110.7详情2BDM下载器84184详情3摄像头模块OV76201201120详情4偏振片15115详情5摄像头安装支架48148详情6碳素杆(10mm*8mm*500mm)12112详情7MMA7361加速度传感器模块(三轴)21121详情8ENC-03MB陀螺仪模块(双轴)75175详情9BTN7971电机驱动(4合1)1261126详情10BTN7971驱动芯片17.29469.16详情11LM1117-3.3电源芯片428详情12LM1117-3.3元件包0.320.6详情13LM2940电源芯片428详情14LM2940元件包0.320.6详情15200线编码器(双相)147.251147.25详情16编码器支架12112详情17编码器齿轮(D车)15.2115.2详情18OLED显示屏34.3134.3详情19第9届飞思卡尔竞赛指定D车模详情20第9届飞思卡尔竞赛指定E车模详情总计序号名称单价(元)数量总计(元)链接1MC9S12XS128最小系统(16位)78.75178.75详情2BDM下载器(集成USB转串口)52.5152.5详情310mH工字电感0.82016详情4 6.8nf电容0.2204详情5LM386运算放大器3412详情6NE5532运算放大器 3.5414详情7干簧管 2.525详情80.3mm漆包线(50米长)15115详情9碳素杆(5cm*3cm*1000mm)10.8110.8详情10碳素杆(6cm*4cm*1000mm)12224详情11碳素杆三通件(垂直) 4.829.6详情12碳素杆三通件(倾斜) 4.829.6详情13舵机支架40140详情14舵机转向舵盘39.6139.6详情15BTN7971电机驱动(4合1)1261126详情16LM2940电源芯片428详情17LM2940元件包0.320.6详情18200线编码器(双相)149.582299.16详情19编码器支架12112详情20编码器齿轮(D车)15.2115.2详情21OLED显示屏34.3134.3详情22第9届飞思卡尔竞赛指定C车模详情总计序号名称单价(元)数量总计(元)链接1MK60DN512ZVLL10最小系统(32位)110.71110.7详情2OSJTAG下载器(集成USB转串口)84184详情310mH工字电感0.82016详情4 6.8nf电容0.2204详情5LM386运算放大器3412详情6NE5532运算放大器 3.5414详情7干簧管 2.525详情80.3mm漆包线(50米长)15115详情9碳素杆(5cm*3cm*1000mm)10.8110.8详情10碳素杆(6cm*4cm*1000mm)12224详情11碳素杆三通件(垂直) 4.829.6详情12碳素杆三通件(倾斜) 4.829.6详情13舵机支架40140详情14舵机转向舵盘39.6139.6详情15BTN7971电机驱动(4合1)1261126详情16BTN7971驱动芯片17.29469.16详情17LM1117-3.3电源芯片428详情18LM1117-3.3元件包0.320.6详情19LM2940电源芯片428详情20LM2940元件包0.320.6详情21200线编码器(双相)149.582299.16详情22编码器支架12112详情23编码器齿轮(D车)15.2115.2详情24OLED显示屏34.3134.3详情25第9届飞思卡尔竞赛指定C车模详情总计第九届飞思卡尔智能车竞赛电磁组材料表(MCF52255)序号名称单价(元)数量总计(元)链接1MCF52255最小系统(32位)110.71110.7详情2BDM下载器84184详情310mH工字电感0.82016详情4 6.8nf电容0.2204详情5LM386运算放大器3412详情6NE5532运算放大器 3.5414详情7干簧管 2.525详情80.3mm漆包线(50米长)15115详情9碳素杆(5cm*3cm*1000mm)10.8110.8详情10碳素杆(6cm*4cm*1000mm)12224详情11碳素杆三通件(垂直) 4.829.6详情12碳素杆三通件(倾斜) 4.829.6详情13舵机支架40140详情14舵机转向舵盘39.6139.6详情15BTN7971电机驱动(4合1)1261126详情16BTN7971驱动芯片17.29469.16详情17LM1117-3.3电源芯片428详情18LM1117-3.3元件包0.320.6详情19LM2940电源芯片428详情20LM2940元件包0.320.6详情21200线编码器(双相)149.582299.16详情22编码器支架12112详情23编码器齿轮(C车)15.2115.2详情24OLED显示屏34.3134.3详情25第9届飞思卡尔竞赛指定C车模详情总计。
基于飞思卡尔芯片的电磁引导智能车设计飞思卡尔智能车竞赛是由教育部高等自动化专业教学指导分委员会主办的全国大学生智能汽车竞赛。
所使用的车模是一款带有差速器的后轮驱动模型车,由组委会统一提供。
比赛跑道为表面白色,中心有0.1 mm~0.3mm直径的连续漆泡线作为引导线,其中漆泡线通有100ma交流电流。
比赛规则限定了跑道宽度50cm和拐角最小半径50cm。
飞思卡尔智能车竞赛一、硬件设计1.电磁传感器对于电磁组来说,传感器的选择是尤为重要的,最原始的办法用线圈产生磁场的办法去切割跑到上的磁场来检测道路信息,开始因为线圈的缠绕是有要求的,电感的大小也是有要求的,漆泡线的粗细也是有要求的,基于上面的问题,我们实验没有成功。
后来,围绕传感器做了很多的实验,做了两个传感器:一个是用三极管做放大的,另一个是用运放做放大的,但结果用运放成本高,运放要双电源而且一般的放大器频带窄满足不了要求,所以选择用三极管做放大。
在距离导线50mm的上方放置垂直于导线的10mh 电感,为了能够更加准确测量感应电容式的电压,还需要将上述感应电压进一步放大,一般情况下将电压峰峰值放大到1v~5v左右,就可以进行幅度检测,所以需要放大电路具有100倍左右的电压增益(40db)。
最简单的设计,可以只是用一阶共射三极管放大电路就可以满足要求。
2.速度传感器车模的驱动力来源于一个直流电动机,为了能很好地控制车模的速度,我们引入了闭环控制系统,这就需要车体能实时地或者尽可能快地了解到速度变化,从而对驱动的电压电流进行调整,尽可能快地达到设定速度并且稳定在设定速度上。
从往届的参赛队伍经验得知,使用一个增量编码器能很好地解决以上问题,终选择了欧姆龙的180线增量型光电编码器。
这款编码器为2相输出。
在实际的测试中,让单片机每10ms返回一次传感器的值,当车模在1米/秒左右速度时能返回60~70多个脉冲,当大于2.5米能返回170多个脉冲,反复测试反馈准确,稳定。
第十届“飞思卡尔”杯全国大学生智能汽车竞赛技术报告学校:常熟理工学院队伍名称:物电电磁二队参赛队员:梅亚军、沈锦杰、黄志鹏、张峰带队老师:徐健、顾涵关于技术报告和研究论文使用授权的说明本人完全了解第十届“飞思卡尔”杯全国大学生智能汽车竞赛关保留、使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。
参赛队员签名:带队教师签名:日期:摘要本文介绍了常熟理工学院物电电磁二队电磁车的成果。
智能车的硬件平台采用带MK60DN256Vll10处理器,软件平台为IAR Embedded Workbench开发环境,车模采用大赛组委会统一提供的两辆B型车模。
文中介绍了智能车机械结构调整,传感器电路设计,舵机、电机控制算法以及起跑线的检测等。
车模以MK60DN256Vll10单片机为控制核心,以安装在车体前的工字电感作为循迹传感器,采用干簧管检测起跑线,以欧姆龙编码器检测速度信息。
车模系统的简单工作原理是MK60DN256Vll10单片机通过AD口采集电感检测的拟量,并通过算法处理,然后返回值用于舵机控制,根据编码器返回值进行电机的闭环控制。
通过串口,借用蓝牙等工具进行舵机PD参数,电机PID的调节,以及整定传感器参数的整合处理,再通过数字红外进行两车之间联系,保持车距。
关键字:机械结构、电磁寻线、舵机PD控制、电机PID控制目录第一章总体方案设计------------------------------------------------------------------- 7第二章智能车机械结构调整与优化----------------------------------------------------- 92.1主销内倾 --------------------------------------------------------------------- 92.2主销后倾 ------------------------------------------------------------------- 102.3外倾角 --------------------------------------------------------------------- 112.4车轮安装示意图如下:---------------------------------------------- 122.5舵机的安装----------------------------------------------------------------- 122.6舵机安装示意图如下: ----------------------------------------------------- 132.7 小结------------------------------------------------------------------------ 13 第三章电路设计说明---------------------------------------------------------------- 133.1 电源模块 ------------------------------------------------------------------- 133.2 传感器模块 ----------------------------------------------------------------- 143.3 电机模块 ------------------------------------------------------------------- 153.4 舵机模块 ------------------------------------------------------------------- 153.5 最小系统板设计 ------------------------------------------------------------ 153.6 系统主板设计--------------------------------------------------------------- 153.7 小结------------------------------------------------------------------------ 16 第四章智能车控制软件设计说明 ----------------------------------------------------- 174.1 软件设计总体框架 ---------------------------------------------------------- 174.2 电机PID控制 -------------------------------------------------------------- 174.3 舵机的控制----------------------------------------------------------------- 204.4 传感器数据的处理 ---------------------------------------------------------- 214.5 小结------------------------------------------------------------------------ 21 第五章开发工具、制作、安装、调试过程说明 --------------------------------------- 215.1软件编译环境--------------------------------------------------------------- 225.2显示模块 ------------------------------------------------------------------- 225.3蓝牙调试模块 -------------------------------------------------------------- 225.4上位机调试----------------------------------------------------------------- 235.5本章小结 ------------------------------------------------------------------- 23 模型车的主要技术参数说明 ----------------------------------------------------------- 23 结论 ---------------------------------------------------------------------------------- 24 参考文献 ----------------------------------------------------------------------------- 26 附录A:程序源代码 ------------------------------------------------------------------ 26引言智能车辆是一个集环境感知、规划决策、多等级辅助驾驶等功能于一体的综合系统,它集中运用了计算机、现代传感、信息融合、通讯、人工智能及自动控制等技术,是典型的高新技术综合体。
第五届飞思卡尔杯全国大学生智能汽车竞赛技 术 报 告学校:华中科技大学队伍名称:华中科技大学五队参赛队员:方华启张江汉诸金良带队教师:何顶新罗惠关于技术报告和研究论文使用授权的说明本人完全了解第五届全国大学生“飞思卡尔”杯智能汽车竞赛关保留、使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。
参赛队员签名:带队教师签名:日期:目录第1章引言 (1)1.1 概述 (1)1.2 全文安排 (2)第2章电路设计 (3)2.1 电路系统框图 (3)2.2 电源部分 (4)2.3 电机驱动部分 (5)2.4 电磁传感器 (6)第3章机械设计 (8)3.1 车体结构和主要参数及其调整 (8)3.2 舵机的固定 (10)3.3 传感器的固定 (11)3.4 编码器的固定 (11)第4章软件设计 (12)4.1 程序整体框架 (12)4.2 前台系统 (13)4.3 后台系统 (13)4.4 软件详细设计 (14)第5章调试 (15)第6章全文总结 (16)6.1 智能车主要技术参数 (16)6.2 不足与改进 (16)6.3 致谢与总结 (17)I参考文献 (18)附录A 源代码 (18)II第1章引言第1章引言教育部为了加强大学生实践、创新能力和团队精神的培养,在已举办全国大学生数学建模、电子设计、机械设计、结构设计等4大竞赛的基础上,委托教育部高等学校自动化专业教学指导分委员会主办每年一度的全国大学生智能汽车竞赛(教高司函[2005]201号文)[1]。
为响应教育部的号召,本校积极组队参加第五届“飞思卡尔”杯全国大学生智能汽车竞赛。
从2009 年12 月开始着手进行准备,历时近8 个月,经过设计理念的不断进步,制作精度的不断提高,经历 2 代智能车硬件平台及相关算法的改进,最终设计出一套完整的智能车开发、调试平台。
小车代码源程序RouteTest.c#include <hidef.h> /* common defines and macros */#include <MC9S12XS128.h> /* derivative information */#include "main.h"#define uint unsigned intuint AD0,AD1,AD2,AD3,AD4,AD5,AD6,AD7,AD8,AD9,ADFULL=0; uint A0=0,A1=0,MAXTEMP0,MINTEMP0,MAXTEMP1,MINTEMP1; uint A2=0,A3=0,MAXTEMP2,MINTEMP2,MAXTEMP3,MINTEMP3; uint A4=0,A5=0,MAXTEMP4,MINTEMP4,MAXTEMP5,MINTEMP5; uint A6=0,A7=0,MAXTEMP6,MINTEMP6,MAXTEMP7,MINTEMP7; uint A8=0,A9=0,MAXTEMP8,MINTEMP8,MAXTEMP9,MINTEMP9;void RouteTest(void){while(!ATD0STAT2_CCF0); //判断通道0是否转换完成AD0=ATD0DR0;if(A0==0){MAXTEMP0=AD0;MINTEMP0=AD0;}else{if(MAXTEMP0<AD0) MAXTEMP0=AD0;if(MINTEMP0>AD0) MINTEMP0=AD0;}A0++;if(A0==LENGTH) {MAXTEMP0=MAXTEMP0-MINTEMP0;}while(!ATD0STAT2_CCF1); //判断通道1是否转换完成 AD1=ATD0DR1;if(A1==0){MAXTEMP1=AD1;MINTEMP1=AD1;}else{if(MAXTEMP1<AD1) MAXTEMP1=AD1;if(MINTEMP1>AD1) MINTEMP1=AD1;}A1++;if(A1==LENGTH) {A1=0;MAXTEMP1=MAXTEMP1-MINTEMP1;}while(!ATD0STAT2_CCF2); //判断通道2是否转换完成 AD2=ATD0DR2;if(A2==0){MAXTEMP2=AD2;MINTEMP2=AD2;}else{if(MAXTEMP2<AD2) MAXTEMP2=AD2;if(MINTEMP2>AD2) MINTEMP2=AD2;}if(A2==LENGTH) {A2=0;MAXTEMP2=MAXTEMP2-MINTEMP2;}while(!ATD0STAT2_CCF3); //判断通道3是否转换完成 AD3=ATD0DR3;if(A3==0){MAXTEMP3=AD3;MINTEMP3=AD3;}else{if(MAXTEMP3<AD3) MAXTEMP3=AD3;if(MINTEMP3>AD3) MINTEMP3=AD3;}A3++;if(A3==LENGTH) {A3=0;MAXTEMP3=MAXTEMP3-MINTEMP3;}while(!ATD0STAT2_CCF4); //判断通道4是否转换完成 AD4=ATD0DR4;if(A4==0){MAXTEMP4=AD4;MINTEMP4=AD4;}else{if(MAXTEMP4<AD4) MAXTEMP4=AD4;if(MINTEMP4>AD4) MINTEMP4=AD4;}A4++;if(A4==LENGTH) {A4=0;MAXTEMP4=MAXTEMP4-MINTEMP4;}while(!ATD0STAT2_CCF5); //判断通道5是否转换完成 AD5=ATD0DR5;if(A5==0){MAXTEMP5=AD5;MINTEMP5=AD5;}else{if(MAXTEMP5<AD5) MAXTEMP5=AD5;if(MINTEMP5>AD5) MINTEMP5=AD5;}A5++;if(A5==LENGTH) {A5=0;MAXTEMP5=MAXTEMP5-MINTEMP5;}while(!ATD0STAT2_CCF6); //判断通道6是否转换完成 AD6=ATD0DR6;if(A6==0){MAXTEMP6=AD6;}else{if(MAXTEMP6<AD6) MAXTEMP6=AD6;if(MINTEMP6>AD6) MINTEMP6=AD6;}A6++;if(A6==LENGTH) {A6=0;MAXTEMP6=MAXTEMP6-MINTEMP6;}while(!ATD0STAT2_CCF7); //判断通道7是否转换完成 AD7=ATD0DR7;if(A7==0){MAXTEMP7=AD7;MINTEMP7=AD7;}else{if(MAXTEMP7<AD7) MAXTEMP7=AD7;if(MINTEMP7>AD7) MINTEMP7=AD7;}A7++;if(A7==LENGTH) {A7=0;MAXTEMP7=MAXTEMP7-MINTEMP7;}while(!ATD0STAT2_CCF8); //判断通道8是否转换完成if(A8==0){MAXTEMP8=AD8;MINTEMP8=AD8;}else{if(MAXTEMP8<AD8) MAXTEMP8=AD8;if(MINTEMP8>AD8) MINTEMP8=AD8;}A8++;if(A8==LENGTH) {A8=0;MAXTEMP8=MAXTEMP8-MINTEMP8;}while(!ATD0STAT2_CCF9); //判断通道9是否转换完成 AD9=ATD0DR9;if(A9==0){MAXTEMP9=AD9;MINTEMP9=AD9;}else{if(MAXTEMP9<AD9) MAXTEMP9=AD9;if(MINTEMP9>AD9) MINTEMP9=AD9;}A9++;if(A9==LENGTH) {A9=0;MAXTEMP9=MAXTEMP9-MINTEMP9;}ADFULL=ADFULL+1;}CarControl.c#include <hidef.h> /* common defines and macros */ #include <MC9S12XS128.h> /* derivative information */ #include "SetPwm.h"#include "main.h"#include "RouteTest.h"#define uint unsigned int#define uchar unsigned char#define value01L -43#define value23L -94#define value45L -90#define value67L -120#define value89L -60#define value01R 43#define value23R 90#define value45R 110#define value67R 130#define value89R 60//#define bentspeed 45//#define dirspeed 45#define valueDL -220#define valueDR 220uint SPEED;//小车速度int CARREL01=0,CARREL23=0,CARREL45=0,CARREL67=0,CARREL89=0; //小车偏移量int ERROR=4050,D_ERROR=0,LASTERROR=4050,E_ERROR=4050,ERRORREL=0; int speedrel=0;uint setspeed=60,realspeed=0;void Delay10us(uint m) //延时10us{uint u;for(;m>0;m--)for(u=0;u<38;u++);}void CarControl(void){//采样100个数据if(ADFULL==LENGTH) {ADFULL=0;//***********************************************CARREL01=MAXTEMP0-MAXTEMP1;CARREL23=MAXTEMP2-MAXTEMP3;CARREL45=MAXTEMP4-MAXTEMP5;CARREL67=MAXTEMP6-MAXTEMP7;CARREL89=MAXTEMP8-MAXTEMP9;if(CARREL01>value01R)//01右转处理{ERROR=4050+CARREL01-value01R;if(ERROR>=4100)ERROR=4100;setspeed=dirspeed;}if(CARREL23>value23R)//23右转处理{ERROR=4100+2*(CARREL23-value23R);if(ERROR>=4264)ERROR=4264;setspeed=dirspeed;}if(CARREL45>value45R)//45右转处理{ERROR=4264+6*(CARREL45-value45R);if(ERROR>=4411)ERROR=4411;setspeed=40;}if(CARREL67>value67R)//67右转处理{ERROR=4411+6*(CARREL67-value67R);if(ERROR>=4600)ERROR=4600;setspeed=bentspeed;}//以上是右转弯处理//******************************************************************* ******//以下是左转弯处理if(CARREL01<value01L)//01{ERROR=4050+CARREL01-value01L;if(ERROR<=4000)ERROR=4000;setspeed=dirspeed;}if(CARREL23<value23L)//23{ERROR=4000+3*(CARREL23-value23L);if(ERROR<=3886)ERROR=3886;setspeed=dirspeed;}if(CARREL45<value45L)//45{ERROR=3886+4*(CARREL45-value45L);if(ERROR<=3794)ERROR=3794;setspeed=(dirspeed+bentspeed)/2;}if(CARREL67<value67L){ERROR=3794+8*(CARREL67-value67L);if(ERROR<=3600)ERROR=3600;setspeed=bentspeed;}D_ERROR=D_ERROR+ERROR-LASTERROR; //误差累积计算 if(D_ERROR>valueDR || D_ERROR<valueDL ) {ERRORREL=D_ERROR;}LASTERROR=ERROR; //保存前一次误差E_ERROR=ERROR+ERRORREL; //叠加误差累计值if(E_ERROR>4600) E_ERROR=4600;if(E_ERROR<3600) E_ERROR=3600;PWMDTY23=E_ERROR;ERRORREL=0;//PWMDTY01=bentspeed;//**************速度控制*************************realspeed=(xishu+1)*speed;speedrel=setspeed-realspeed;if(speedflag==0){if(speedrel<=-10 && (E_ERROR>4400 ||E_ERROR<3800)){PWMDTY45=90; //反转迅速减速PWMDTY01=0;}else{PWMDTY45=0;PWMDTY01=setspeed;}}else{PWMDTY01=setspeed;PWMDTY45=0;}}}Main.c#include <hidef.h> /* common defines and macros */#include <MC9S12XS128.h> /* derivative information */#include "RouteTest.h"#include "CarControl.h"#include "SetPwm.h"#define uint unsigned int#define uchar unsigned char//#define dirspeed 60uint STOPCAR=0,speed,speedsum=0,xishu=0,flag=0,jishi=0; uint bentspeed=0,dirspeed=0;uint speedflag=0;void Delay10(uint m) //延时10us{uint u;for(;m>0;m--)for(u=0;u<38;u++);}void Delay(int k) //延时k*1ms{int u;for(;k>0;k--)for(u=0;u<3998;u++);}//总线时钟设置void setbusclock(void){SYNR = 0x02;REFDV = 0x01;while (!(CRGFLG&0x08));CLKSEL =0x80;}/*****************************************************功能:时基中断初始化,实现5ms中断500us进行一次测速。
飞思卡尔智能车电磁组分区算法介绍写在之前的话:1、⽬前我是⼀名在校学⽣,这也是我第⼀次写博客,不周之处,请多谅解;2、此算法并⾮原创,借鉴⾃⼭东德州学院第⼋届⽩杨队(PS:个⼈看法,对于⼀些⼈把别⼈的开源东西改头换⾯⼀下就说是⾃⼰的原创⾏为⼗分鄙视);3、对于此算法的理解和说明并⾮纸上谈兵,算法已经被我运⽤到了⼩车⽐赛中并取得好的成绩(具体就不多说了,⽐赛时车莫名其妙坏了,⽐赛前调试的速度绝对能进国赛,⽐较遗憾),总之这算法是我尝试过的最好的算法;4、这⼀次所介绍的只是路径算法和⼀些知识普及,后⾯有时间会介绍其余部分算法及许多好的思路(舵机电机控制思路(不只是简单的PID),双车策略);5、希望对于这⽅⾯有涉及的⼈能与我联系并交流或指出不⾜之处。
---------------------------------------------------------------分割线-----------------------------------------------------------------------------⼀、没有这⽅⾯了解的可以看看 飞思卡尔智能车分为三组:摄像头、光电、电磁,我做的是电磁车,三种车队区别在于传感器的不同,所以获得路径信息的⽅法也不⼀样,摄像头和光电识别的是赛道上的⿊线(⽩底赛道),⽽电磁车则是检测埋在赛道下的通⼊100mh电流的漆包线,摄像头和光电采⽤的是摄像头和ccd作为传感器,电磁则是⽤电感放在漆包线周围,则电感上就会产⽣感应电动势,且感应电动势的⼤⼩于通过线圈回路的磁通量成正⽐,⼜因为漆包线周围的磁感应强度不同,因此不同位置的电感的感应电动势就不同,因此就可以去确定电感位置;因此在车⼦前⾯设置了50cm的前瞻,电感布局如下(怎么发不了图⽚):分为两排,前排3个,编号0,1,2(前期还加了两个竖直电感⽤来帮助过直⾓弯,后来改为了⼋字电感);后排2个,编号3,4;现在车⼦获得了不同位置的感应电动势的⼤⼩了,但这些值是不能处理的:1、感应电动势太微弱;2、是模拟信号,信号太微弱就放⼤它;这就涉及到模拟电路的知识了,就不多说了(因为要把这讲完到PCB绘制的篇幅就⾜够写另开⼀号专门写这些⽅⾯来(PS:题外话(我的题外话⽐较多)):放⼤部分外围你设计的再好也抵不过⼀个更好的芯⽚,有两个例⼦,⼀个是我⾃⼰的:之前⽤的是NE5532,但是效果不理想,加了好多什么滤波,补偿,都⽤上,没⽤,软件⾥处理后⾯再说,后来⼀狠⼼换了AD620,感觉像是春天来了,因为它是仪⽤放⼤器,还有就是贵。
电磁组竞赛车模路径检测设计参考方案(竞赛秘书处2010-1,版本 1.0)一、前言第五届全国大学生智能汽车竞赛新增加了电磁组比赛。
竞赛车模需要能够通过自动识别赛道中心线位置处由通有100mA 交变电流的导线所产生的电磁场进行路径检测。
除此之外在赛道的起跑线处还有永磁铁标志起跑线的位置。
具体要求请参阅《第五届智能汽车竞赛细则》技术文档。
本文给出了一种简便的交变磁场的检测方案,目的是使得部分初次参加比赛的队伍能够尽快有一个设计方案,开始制作和调试自己的车模。
本方案通过微型车模实际运行,证明了它的可行性。
微型车模运行录像参见竞赛网站上视频文件。
二、设计原理1、导线周围的电磁场根据麦克斯韦电磁场理论,交变电流会在周围产生交变的电磁场。
智能汽车竞赛使用路径导航的交流电流频率为20kHz,产生的电磁波属于甚低频(VLF)电磁波。
甚低频频率范围处于工频和低频电磁破中间,为3kHz~30kHz,波长为100km~10km。
如下图所示:图1:电流周围的电磁场示意图导线周围的电场和磁场,按照一定规律分布。
通过检测相应的电磁场的强度和方向可以反过来获得距离导线的空间位置,这正是我们进行电磁导航的目的。
由于赛道导航电线和小车尺寸l远远小于电磁波的波长 ,电磁场辐射能量很小(如果天线的长度l远小于电磁波长,在施加交变电压后,电磁波辐射功率正比于天线长度的四次方),所以能够感应到电磁波的能量非常小。
为此,我们将导线周围变化的磁场近似缓变的磁场,按照检测静态磁场的方法获取导线周围的磁场分布,从而进行位置检测。
由毕奥-萨伐尔定律知:通有稳恒电流I长度为L的直导线周围会产生磁场,距离导线距离为r处P点的磁感应强度为:B = +sin ⎝ d ⎝ (⎧0 = 4 ⋅10 7 TmA 1 ) ( cos ⎝1 2 ) 。
4 r图 2 直线电流的磁场⎝1 4 r 由此得: B = cos ⎝ 4 r对于无限长直电流来说,上式中⎝1 = 0 ,⎝ 2 = ,则有 B = (1)。