飞思卡尔智能车电磁组资料
- 格式: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)。
智能车制作F R E E S C A L E学院:信息工程学院班级:电气工程及其自动化132 学号:6101113078姓名:李瑞欣目录:1. 整体概述2.单片机介绍3.C语言4.智能车队的三个组5.我对这门课的建议一、整体概述智能车的制作过程包括理论设计、实际制作、整车调试、现场比赛等环节,要求学生组成团队,协同工作。
内容涵盖自动控制、模式识别、传感技术、电子、电气、计算机、机械与汽车等多学科多专业。
下面是一个智能车的模块分布:总的来说智能车有六大模块:信号输入模块、控制输出模块、数据处理模块、信息显示模块、信息发送模块、异常处理模块。
1、信号输入模块:智能车通过传感器获知赛道上的路况信息(直道,弯道,山坡,障碍物等),同时也通过传感器获取智能车自身的信息(车速,电磁电量等)。
这些数据构成了智能车软件系统(大脑)的信息来源,软件系统依靠这些数据,改变智能车的运行状态,保证其在最短的时间内按照规定跑完整个赛道。
2、控制输出模块:智能车在赛道上依靠转向机构(舵机)和动力机构(电机)来控制运行状态,这也是智能车最主要的模块,这个模块的好坏直接决定了你的比赛成绩。
电机和舵机都是通过PWM控制的,因此我们的软件系统需要根据已有的信息进行分析计算得到一个合适的输出数据(占空比)来控制电机和舵机。
3数据处理模块:主要是对电感、编码器、干簧管的数据处理。
信号输入模块得到的数据非常原始,有杂波。
基本上是不能直接用来计算的。
因此需要有信号处理模块对采集的数据进行处理,得到可用的数据。
4信息显示模块:智能车调试过程中,用显示器来显示智能车的部分信息,判断智能车是否正常运行。
正式比赛过程中可关闭。
主流的显示器有:Nokia 5110 ,OLED模块等,需要进行驱动移植。
5信息发送模块智能车的调试过程中,我们需要观察智能车的实时状态(采集的信号是否正常,输出是否正常),这个时候就需要用到信息发送模块,将智能车运行时的数据发送到电脑上就行分析处理。
飞思卡尔智能车电磁组程序员成长之路1.飞思卡尔智能车小车入门智能汽车电磁组简介:第五届全国大学“飞思卡尔杯”智能汽车竞赛新增加了“电磁组”。
根据比赛技术要求,电磁组竞赛,需要选手设计的智能车能够检测到道路中心线下电线中20KHz 交变电流产生的磁场来导引小车沿着道路行驶。
在平时调试和比赛过程中需要能够满足比赛技术要求的20KHz 的交流电源驱动赛道中心线下的线圈。
同时参赛选手需要自行设计合适的电磁传感器来检测赛道信息完成智能寻迹功能。
智能车制作是一个涵盖电子、电气、机械、控制等多个领域和学科的科技创新活动。
简单点来说可以将其分为硬件电路(包括电源、MUC 控制部分、电机驱动、传感器)、机械、算法三方面的设计。
电磁组在机械方面可以参照光电组的设计方案,这里不再赘述。
本设计指导只讲述20KHZ 电源、电磁传感器设计方案以及部分算法。
智能车对单片机模块需求:飞思卡尔单片机资源:智能车程序框架:智能车涉及到IO模块,中断模块,PWM模块,DMA模块,AD模块等。
在车模调试中还有必须的模块。
如SCI模块、定时器模块,SPI模块等。
其中还涉及到一些算法和数据的存储和搬移。
一个好程序框架对智能车的制作过程中会达到事半功倍的效果。
但是就智能车这样系统来说,如果完全专门移植一个操作系统或者写一个程序的bootload,感觉有一些本末倒置,如果有成熟的,可以借用的,那样会比较好。
2.电磁传感器的使用20KHz电源参考设计方案:电源技术指标要求:根据官网关于电磁组赛道说明,20KHz 电源技术要求如下:1.驱动赛道中心线下铺设的0.1-0.3mm 直径的漆包线;2.频率范围:20K±2K;3.电流范围:50-150mA;图2.1 是赛道起跑区示意图,在中心线铺设有漆包线。
首先分析赛道铺设铜线的电抗,从而得到电源输出的电压范围。
我们按照普通的练习赛道总长度50m,使用直径0.2mm 漆包线。
在30 摄氏度下,铜线的电阻率大约为0.0185 欧姆平方毫米/米。
飞思卡尔智能车大奖赛(电磁组2)软件控制系统设计与开发1、背景介绍全国大学生“飞思卡尔”杯智能汽车竞赛组委会提供一系列标准的汽车模型、直流电机和可充电式电池,参赛队伍要依靠符合大赛要求的元器件,制作能够自主循迹的智能车,在规定的跑道上自主循迹行驶。
其设计内容涵盖了控制、模式识别、程序算法、传感技术、汽车电子、电子电路、计算机、机械、能源等多个学科的知识[1]。
实际上,作为全球首屈一指的嵌入式电子解决方案供应商,飞思卡尔半导体从1994年起便与国内大学在技术培训应用研究方面的合作,目前汽车及标准电子产品分部已在清华、复旦大学、深圳大学、电子科技大学及同济大学建立了嵌入式处理器开发应用研究中心(简称MAC),自2000年又逐步在北航,浙江大学等学校建立了教学实验中心(简称MTC)。
大量的大学生,通过参加竞赛,为飞思卡尔先进的产品及开发工具获得专业培训,取得实际操作经验,为自身公司的发展起到重大的作用。
2000年智能车比赛首先由韩国汉阳大学承办开展起来,每年全韩国大约有100余支大学生队伍报名并准予参赛。
随着赛事的逐年开展,不仅有助于大学生自主创新能力的提高,对于高校相关学科领域学术水平的提升也有一定帮助,最终将有助于汽车企业的自主创新,得到企业的认可。
这项赛事在韩国的成功可以证明这一点。
同时,飞思卡尔公司开始协办国大学生"飞思卡尔"杯智能汽车竞赛。
首先,竞赛在各个分赛区进行报名、预赛,各分赛区的优胜队将参加全国总决赛。
每届比赛根据参赛队伍和队员情况,分别设立线性CCD组、摄像头组、电磁组、创意组等多个赛题组别。
全国大学生智能汽车竞赛一般在每年的10月份公布次年竞赛的项目和组织方式,并开始接受报名,次年的3月份进行相关技术培训,7月份进行分赛区竞赛,8月份进行全国总决赛。
飞思卡尔全国大学生竞赛,至今已举办10届,正是因为有如此优点于一身,得到了众多高校和大学生的欢迎,也逐渐得到了企业界的极大关注[2]。
电磁组技术总结:总的来说:小车设计应该遵循以下原则:硬件越简单越好,小车越轻越好,牢记机械结构要调好,轮子摩擦力要做足,程序要跟上和考虑小车状况。
经过最终的结论是:小车的机械结构非常重要!!!一、小车的机械结构可以分为以下几方面考虑:1、小车整体的重心:实践证明,小车要达到比较好的平均行驶性能,重心适当靠前!简单的确定方法是:用手踮起连接杆连接柱,如果小车靠前倒则证明重心是向前的。
改造小车重心:可以适当改变电池的摆放位置,可以适当放置细小的东西来加重。
但是最好的方法是在不加重的基础上改造,折中过弯和直道影响。
动态重心:广技师今年的小车做的比较好,尤其是动态调节重心,如图:在过弯时利用舵机来改变重心左右移动,可能会使得小车车盘挨到赛道,增加摩擦力,所以过弯可以很快很稳!!!!但不建议抄杂,要有自己的方法!2、车轮摩擦力问题:轮子摩擦力是越大越好的!新轮胎的摩擦力肯定比旧轮胎的摩擦力要大,但要改造一下:把新轮胎中间的那条凸出的黑条用剪甲钳剪平,使得轮胎整体平齐;还要适当用牙刷或者旧轮胎打磨以下,用牙刷+牙膏刷得5次左右,就可以在比赛中用上了。
以上是经验之谈!当在平时试车的过程中,如果程序正常,发现过弯老是滑出界,一是赛道问题,而是轮胎太旧的问题,这点要注意!3、要适当为小车减肥!车上能减的车部件尽量减,例如尾翼部分。
4、舵机臂长问题:不易过长,一般有3~5cm就可以了,过长摆力会减弱。
以上三点是比较重要的,其它机械结构调整可以参见《智能车底盘与机械结构设计》。
这里不再啰嗦。
二、小车硬件部分:在做电磁组的硬件时主要是传感器和驱动!传感器部分:值得参考的《电磁组车模设计》一文,里面有很详细的电路介绍和策略实现方法!!!1、电磁信号采集:LC振荡原理,出来的是正弦波,然后思路是把正弦波放大,然后整流或者检测峰值(推荐采用峰值检测)!放大电路可以用运放或者官网的推荐电路。
如果采用运放,是可行的,但是成本会比较高电路复杂,而且速度没有三极管快,但是放大可以放到比较大,注意失真问题!-5V电源解决方案:以上电路为一个线性度非常好的小信号放大,仅供参考,但是推荐官网电路,简单明了!另外,官网电路中:建议可调电阻最终用固定电阻代替!因为可调电阻一体积大,二里面结构其实是一个电感,是一个集成滤波器,但这点建议可能夸张了一点!建议后面的R3C4的参数不宜设得太大,会造成一定的延时,0.1uF+(10K<R4<50k).建议三极管+5V这里加滤波电容,最好组合10uF+104(一般而言,只要104+比104大100倍的电容组合滤波,滤波效果就能达到)。
校内“飞思卡尔”竞速小车电磁组参赛成员:08季庚午(物理)08栾忠飞(电气)09郭鹏(物理)09王丽颖(电气)10范乐鹏(电气)指导老师:小车指导团队目录1 摘要-----------------------------------------------------------------------22 系统完成功能-----------------------------------------------------------23 系统方案论证-----------------------------------------------------------23.1系统总体方案------------------------------------------------------------------------------2 3.2.1硬件部分-----------------------------------------------------------------------------------2 3.2.2机械部分-----------------------------------------------------------------------------------2 3.2.3软件部分-----------------------------------------------------------------------------------2 3.2方案比较与论证----------------------------------------------------------------------------34 硬件结构设计及实现-------------------------------------------------44.1单片机----------------------------------------------------------------------------------------4 4.2路径信息采集模块-------------------------------------------------------------------------4 4.3舵机及电机驱动模块----------------------------------------------------------------------4 4.4测速模块-------------------------------------------------------------------------------------4 4.5电源系统-------------------------------------------------------------------------------------44.6单片机最小系统电路----------------------------------------------------------------------45 软件结构设计及实现--------------------------------------------------75.1寻迹算法-------------------------------------------------------------------------------------7 5.2舵机转角控制算法-------------------------------------------------------------------------7 5.3电机转速控制算法-------------------------------------------------------------------------7 5.4测速算法-------------------------------------------------------------------------------------2 5.5舵机PID控制算法-------------------------------------------------------------------------25.6电机PID控制算法-------------------------------------------------------------------------26 作品检测数据-----------------------------------------------------------107 不足及今后改进方向-------------------------------------------------10 附1 源程序----------------------------------------------------------------11 附2 小车图片-------------------------------------------------------------231 摘要第五届飞思卡尔杯智能汽车大赛首次加入了基于电磁传感器的寻线智能车,在地面铺设通有交变电流的引导线,在引导线周围激起交变的磁场,从而通过检测此磁场引导车辆行驶。