怎么设计循迹小车?
1. 小车控制及驱动单元的选择 此部分是整个小车的大脑,是整个小车运行的核心部件,起着控制小车所有运行状态的作用。
通常选用单片机作为小车的核心控制单元,在这里用台湾凌阳公司的SPCE061A单片机来做小车的控制单元。
SPCE061是一款拥有2K RAM、32KFlash、32 个I/O 口,并集成了AD/DA功能强大的16位微处理器,它还拥有丰富的语音处理功能,为小车的功能扩展提供了相当大的空间。
只要按照该单片机的要求对其编制程序就可以实现很多不同的功能。
小车驱动电机一般利用现成的玩具小车上的配套直流电机。
考虑到小车必须能够前进、倒退、停止,并能灵活转向,在左右两轮各装一个电机分别进行驱动。
当左轮电机转速高于右轮电机转速时小车向右转,反之则向左转。
为了能控制车轮的转速,可以采取PWM调速法,即由单片机的IOB8、IOB9输出一系列频率固定的方波,再通过功率放大来驱动电机,在单片机中编程改变输出方波的占空比就可以改变加到电机上的平均电压,从而可以改变电机的转速。
左右轮两个电机转速的配合就可以实现小车的前进、倒退、转弯等功能。
2. 小车循迹的原理 这里的循迹是指小车在白色地板上循黑线行走,通常采取的方法是红外探测法。
红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。
单片机就是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线。
红外探测器探测距离有限,一般最大不应超过15cm。
对于发射和接收红外线的红外探头,可以自己制作或直接采用集成式红外探头。
(1)自制红外探头电路如图1所示,红外光的发送接收选用型号为ST168的对管。
当小车在白色地面行驶时,装在车下的红外发射管发射红外线信号,经白色反射后,被接收管接收,一旦接收管接收到信号,那么图中光敏三极管将导通,比较器输出为低电平;当小车行驶到黑色引导线时,红外线信号被黑色吸收后,光敏三极管截止,比较器输出高电平,从而实现了通过红外线检测信号的功能。
将检测到的信号送到单片机I/O口,当I/O口检测到的信号为高电平时,表明红外光被地上的黑色引导线吸收了,表明小车处在黑色的引导线上;同理,当I/O口检测到的信号为低电平时,表明小车行驶在白色地面上。
此种方法简单,价格便宜,灵敏度可调,但是容易受到周围环境的影响,特别是在图1较强的日光灯下,对检测到的信号有一定的影响。
(2)集成式红外探头可以采用型号为E3F-DS10C4集成断续式光电开关探测器,它具有简单、可靠的工作性能,只要调节探头上的一个旋钮就可以控制探头的灵敏度。
该探头输出端只有三根线(电源线、地线、信号线),只要将信号线接在单片机的I/O口,然后不停地对该I/O口进行扫描检测,当其为高电平时则检测到白纸,当为低电平时则检测到黑线。
此种探头还能有效地防止普通光源(如日光灯等)的干扰。
其缺点则是体积比较大,占用了小车有限的空间。
3.红外探头的安装 在小车具体的循迹行走过程中,为了能精确测定黑线位置并确定小车行走的方向,需要同时在底盘装设4个红外探测头,进行两级方向纠正控制,提高其循迹的可靠性。
这4个红外探头的具体位置如图2所示。
图中循迹传感器共安装4个,全部在一条直线上。
其中InfraredMR与InfraredML 为第一级方向控制传感器,InfraredSR 与InfraredSL 为第二级方向控制传感器。
小车行走时,始终保持黑线(如图2 中所示的行走轨迹黑线)在InfraredMR和InfraredML这两个第一级传感器之间,当小车偏离黑线时,第一级探测器一旦探测到有黑线,单片机就会按照预先编定的程序发送指令给小车的控 制系统,控制系统再对小车路径予以纠正。
若小车回到了轨道上,即4个探测器都只检测到白纸,则小车会继续行走;若小车由于惯性过大依旧偏离轨道,越出了第一级两个探测器的探测范围,这时第二级动作,再次对小车的运动进行纠正,使之回到正确轨道上去。
可以看出,第二级方向探测器实际是第一级的后备保护,从而提高了小车循迹的可靠性。
4.软件控制 其程序控制框图如图3。
小车进入循迹模式后,即开始不停地扫描与探测器连接的单片机I/O口,一旦检测到某个I/O口有信号,即进入判断处理程序(switch),先确定4个探测器中的哪一个探测到了黑线,如果InfraredML(左面第一级传感器)或者InfraredSL(左面第二级传感器)探测到黑线,即小车左半部分压到黑线,车身向右偏出,此时应使小车向左转;如果是InfraredMR(右面第一级传感 器)或InfraredSR(右面第二级传感器)探测到了黑线,即车身右半部压住黑线,小车向左偏出了轨迹,则应使小车向右转。
在经过了方向调整后,小车再继续向前行走,并继续探测黑线重复上述动作。
由于第二级方向控制为第一级的后备,则两个等级间的转向力度必须相互配合。
电动循迹小车设计1. 小车控制及驱动单元的选择 此部分是整个小车的大脑,是整个小车运行的核心部件,起着控制小车所有运行...
有知道利用单片机控制的5路循迹小车的电路图吗?
摘 要 80C51 单片机是一款八位单片机,他的易用性和多功能性受到了广大使用者的好评。
这里介绍的是如何用 80C51 单片机来实现长春工业大学的毕业设计,该设计是结合科研项目而确定的设计类课题。
本系统以设计题目的要求为目的,采用 80C51 单片机为控制核心,利用超声波传感器检测道路上的障碍,控制电动小汽车的自动避障,快慢速行驶,以及自动停车,并可以自动记录时间、里程和速度,自动寻迹和寻光功能。
整个系统的电路结构简单,可靠性能高。
实验测试结果满足要求,本文着重介绍了该系统的硬件设计方法及测试结果分析。
采用的技术主要有: (1)通过编程来控制小车的速度; (2)传感器的有效应用; (3)新型显示芯片的采用。
关键词 :80C51 单片机;光电检测器;PWM 调速;电动小车。
ABSTRACT 80C51 is a 8 bit single chip computer. Its easily using andmulti-function suffer large users. This article introduces the CCUTgraduation design with the 80C51 single chip computer. This designcombines with scientific research object. This system regards the request ofthe topic adopting 80C51 for controlling core super sonic sensor for testthe hinder. It can run in a high and a low speed or stop automatically. It alsocan record the time distance and the speed or searching light and markautomatically the electric circuit construction of whole system is simple thefunction is dependable. Experiment test result satisfy the request this textemphasizes introduced the hardware system designs and the result analyze. The adoption of technique as: 1 Reduce the speed by program the engine; 2 Efficient application of the sensor 3 The adoption of the new display chip.Key words:80C51 single chip computer light electricitydetector PWM speed adjustingElectricity motive small car. 目 录1 绪 论...................................................................................................................................... 4 1.1 本课题研究的背景和意义................................................................................................ 4 1.2 智能循迹小车设计原理.................................................................................................... 52 方案设计与论证...................................................................................................................... 5 2.1 直流调速系统.................................................................................................................... 5 2.2 检测系统............................................................................................................................ 63 智能寻迹小车模块设计........................................................................................................ 10 3.1 总体方案.......................................................................................................................... 10 3.2 传感检测单元.................................................................................................................. 11 3.2.1 小车循迹原理 ........................................................................................................... 11 3.2.2 传感器的选择及检测电路设计 ............................................................................... 11 3.2.3 传感器的安装 ........................................................................................................... 12 3.3 软件控制单元.................................................................................................................. 13 3.3.1 单片机选型及程序流程 ........................................................................................... 13 3.3.2 车速的控制 ............................................................................................................... 13 3.3.3 电机驱动单元 ........................................................................................................... 14 3.3.4 蜂鸣器电路设计 ....................................................................................................... 15 3.3.5 稳压电源设计 ........................................................................................................... 154 系统功能测试........................................................................................................................ 15 4.1 测试仪器及设备 .............................................................................................................. 16 4.2 功能测试 .......................................................................................................................... 165 结束语.................................................................................................................................... 17致 谢........................................................................................................................................ 18参考文献.................................................................................................................................... 19附 录........................................................................................................................................ 20 1 相关芯片介绍..................................................................................................................... 20 1.1 单片机概述 .................................................................................................................. 20 1.2 LM339 芯片介绍........................................................................................................ 24 1.3 L298N 芯片介绍 ........................................................................................................ 27 1.4 7805 芯片介绍............................................................................................................ 28 2 小车控制程序源代码(C) .............................................................................................. 30 1 绪 论 1.1 本课题研究的背景和意义 随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。
全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目...
东谷智能无线循迹小车是应用那些原理的?
光电探头循迹小车特点:反应速度快,速度最快可达40cm/s,但交叉路口识别率相对较低,探头需要定期调节灵敏度;摄像头循迹小车特点:交叉路口识别率相对较高,基本无需维护,但因系统处理时间较长,反应速度相对较慢,速度最快可达30cm/s。
智能无线循迹小车适合在直线、曲线、一分二交叉路口,二合一交叉路口,停车场倒车入位路线等。
东谷软件是一家专注物联网应用系统开发的软件公司,拥有软件开发的人才资源和技术储备。
所研发的智能无线循迹小车具有:无线通信,支持Zigbee及LoRa等无线方式;四路驱动,可前进,后退,原地转弯,倒车等;循迹方式有两种,一种为光电探头循迹,另一种为摄像头循迹共两种循迹模式;系统从前端到后台,再到应用展现,均采用物联网标准拓扑结构设计,非一般的电气联锁。
本系统已应用在众多高校中,系统稳定可靠,配套有大量的教学资源。
智能循迹小车制作方法是什么?
没完全分析你的程序,不过已经发现了几点错误第一个,你的这条语句 H=(uint)h1+3*(uint)h2+5*(uint)h3+(uint)h4*10;能通过编译吗在程序的开头,你定义了使用 uint 替换 unsigned int 的语句就是这个 #define uint unsigned int而你这里又使用 uint 做什么第二个,你的定时器中断中有个变量 count 并没有防止溢出的语句每一次定时器的中断进来,都会把 count 的值加一如此无限循环下去,count 的值就是无限大,已经溢出了你的那两个判断语句还能起到作用吗第三个,你使用了两个定时器,是不是有点浪费呢再有,你的两个定时器初值都是一样的,为嘛还要使用两个两个定时器中断都是用,会有影响的,单片机不是多线程运行的CPU所以,直接使用一个定时器中断就可以了一个定时器中断内,放两个变量,同时加一,再分开判断就是删掉一个定时器中断,然后把删掉的那个里面的判断语句放在保留的里面第四个,你只打开了总中断开关,并没有打开定时器的中断开关所以,你的两个定时器中断是不会执行的纯手打,望采纳,谢谢
AT89C51红外循迹小车C程序(5红外,两个直流电机,四轮履带要...
展开全部 #include #define uchar unsigned char #define uint unsigned int unsigned char zkb1=0 ; //**左边电机的占空比**// unsigned char zkb2=0 ; //**右边电机的占空比**//unsigned char t=0; //**定时器中断计数器**//sbit LSEN1=P2^0;sbit LSEN2=P2^1;sbit MSEN1=P2^2; sbit RSEN1=P2^3;sbit RSEN2=P2^4; //**传感器***/sbit IN1=P1^0; sbit IN2=P1^1; sbit IN3=P1^2;sbit IN4=P1^3; sbit ENA=P1^4; sbit ENB=P1^5; //**********初始化定时器?中断***********// void init() { TMOD=0x01; TH0=(65536-100)/256; TL0=(65536-100)%256; EA=1; ET0=1; TR0=1; } //***********中断函数+脉宽调制***********// void timer0() interrupt 1 { if(t=50) {t=0;} }//******************直行******************// void qianjin() { zkb1=30; zkb2=30;} //***************小左转函数***************// void turn_left1() { zkb1=10; zkb2=25; } //***************大左转函数***************// void turn_left2() { zkb1=5; zkb2=25; }//***************中左转函数***************// void turn_left3() { zkb1=10; zkb2=20; } //***************小右转函数***************// void turn_right1() { zkb1=25; zkb2=10;}//***************大右转函数***************// void turn_right2() { zkb1=25; zkb2=5;}//***************中右转函数***************// void turn_right3() { zkb1=20; zkb2=10;}//***************循迹函数*****************// void xunji() { uchar flag; if((RSEN1==1)&&(RSEN2==1)&&(MSEN1==0)&&(LSEN1==1)&&(LSEN2==1)) { flag=0; } //*******直行*******// else if((RSEN2==0)&&(RSEN1==1)&&(LSEN1==1)&&(LSEN2==1)&&(MSEN1==1)) { flag=1;} //***左偏1,小右转***// else if((RSEN1==1)&&(RSEN2==1)&&(LSEN1==1)&&(LSEN2==0)&&(MSEN1==1)) { flag=2; } //***右偏1,小左转***// else if((RSEN1==1)&&(RSEN2==1)&&(LSEN1==0)&&(LSEN2==1)&&(MSEN1==1)) { flag=3; } //***右偏2,大左转***// else if((RSEN2==1)&&(RSEN1==0)&&(LSEN1==1)&&(LSEN2==1)&&(MSEN1==1)) { flag=4;} //***左偏2,大右转***// else if((RSEN1==1)&&(RSEN2==1)&&(LSEN1==0)&&(LSEN2==0)&&(MSEN1==1)) { flag=5; } //***右偏3,中左转***// else if((RSEN1==0)&&(RSEN2==0)&&(LSEN1==1)&&(LSEN2==1)&&(MSEN1==1)) { flag=6; } //***左偏3,中右转***// switch (flag) { case 0: qianjin(); break; case 1: turn_right1(); break; case 2: turn_left1(); break; case 3: turn_left2(); break; case 4: turn_right2(); break; case 5: turn_left3(); break; case 6: turn_right3(); break; default: break; } } //****************主程序****************// void main() { init(); zkb1=30; zkb2=30; while(1) { IN1=1; //******给电机加电启动******// IN2=0; IN3=1; IN4=0; ENA=1; ENB=1; while(1) { xunji(); //*********寻迹**********// } } }
由光电传感器感应的单片机控制电动机系统
楼主你这里的光电开关又叫光电对管(一个红外发射管和一个基极内接的感光三极管) 因为这是循迹小车我选用rpr220,我以上传电路图展开全部我补充一句光电耦合器原理也类似光电对管只不过把发光管和感光管镶嵌在内部,而且值得注意的是光电耦合器规格只有多少电压的,我没有听说有多少电流的,要用光耦还不如用三极管更直接。
其实不推荐使用光耦做驱动,我的电路就是使用l298n驱动12v电机顺便说一下,电路图里有一个电机接一个电容主要是针对电机调速,而我的电机灵敏度不好,加一个电容起缓冲作用,而l298芯片的电路典型法中没有。
我最近做了个循迹小车结题报告如下。
。
。
其实是否用光电隔离取决于你驱动的电机的电流大小如果电流不到1安不用光电耦合也行。
。
。
光耦驱动好像不行,不太稳定测速用码盘的话最好做的越密越好,否则实际运行中轮子会晃动等等很多原因使结果误差很大,因为一般光电开关都会有聚光器,很小的晃动都能感觉到循迹小车制作人:李静摘要:通过制作小车可以加深对单片机控制的熟练程度,同时初步学习项目开发的过程。
小车按照给定的路线行走,有定时,显示运行时间,计时,粗测行走距离等功能。
一、 设计任务:1、设计要求(1)自动寻迹小车开始处于设置模式下,通过按键设置运行时间,完成设置时间后,按下开始键小车启动,同时显示当前运行的时间。
(2)小车按指定路线运行,自动区分直线轨道和弯路轨道,在指定弯路处拐弯,实现灵活前进、转弯等功能。
(3)小车行走在预设的时间后,自动停止,数码管显示行走的时间,3秒后显示行走距离。
(4)中途可以按右键强制停止,提前结束,显示行走时间,距离。
2、小车循迹的原理这里的循迹是指小车在白色地板上循黑线行走,通常采取的方法是红外探测法。
红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。
单片机就是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线。
红外探测器探测距离有限,一般最大不应超过3cm。
二、 方案论证:根据设计要求,本系统主要由控制器模块、电源模块、寻迹传感器模块、直流电机及其驱动模块、电压比较模块等模块构成。
为较好的实现各模块的功能,我们分别设计了几种方案并分别进行了论证。
3.1车体设计方案1:购买玩具电动车。
购买的玩具电动车具有组装完整的车架车轮、电机及其驱动电路。
但是一般的说来,玩具电动车具有如下缺点:首先,这种玩具电动车由于装配紧凑,使得各种所需传感器的安装十分不方便。
其次,这种电动车一般都是前轮转向后轮驱动,不能适应该题目的方格地图,不能方便迅速的实现原地保持坐标转90度甚至180度的弯角。
再次,玩具电动车的电机多为玩具直流电机,力矩小,空载转速快,负载性能差,不易调速。
而且这种电动车一般都价格不菲。
因此我们放弃了此方案。
方案2:自己制作电动车。
经过反复考虑论证,我们制定了左右两轮分别驱动,前万向轮转向的方案。
即左右轮分别用两个转速和力矩基本相同的直流电机进行驱动,车体首部装一个万向轮。
由此可以轻松的实现小车坐标不变的90度转弯。
在安装时我们保证两个驱动电机同轴。
当小车前进时,左右两驱动轮与前万向轮形成了三点结构。
这种结构使得小车在前进时比较平稳,可以避免出现后轮过低而使左右两驱动轮驱动力不够的情况。
为了防止小车重心的偏移,前万向轮起支撑作用。
对于车架材料的选择,我们经过比较选择了铝合金。
用有铝合金做的车架比塑料车架更加牢固,比铁制小车更轻便,美观。
3.2控制器模块方案1:采用stc宏晶公司的stc89c52单片机作为主控制器。
stc89c5是一个低功耗,高可靠性,超低价,无法解密,高性能的8位单片机,片内含32k空间的可反复擦写100,000次的Flash只读存储器, 32个IO口,且stc系列的单片机可以在线编程、调试,方便地实现程序的下载与整机的调试。
从方便使用的角度考虑,我们选择了此方案。
3.3电源模块方案1:采用12V蓄电池为直流电机供电,将12V电压降压、稳压后给单片机系统和其他芯片供电。
蓄电池具有较强的电流驱动能力以及稳定的电压输出性能。
虽然蓄电池的体积过于庞大,在小型电动车上使用极为不方便,但由于我们的车体设计时留出了足够的空间,并且蓄电池的价格比较低。
因此我们选择了此方案。
综上考虑,我们选择了此方案。
3.4稳压模块方案1:用一个7805直接降压,用大散热片。
虽然结构,原理简单,但电流过大,使电路不稳定,容易烧坏稳压块我们放弃了此方案。
方案2:直接用两7805把电压直接稳压到5V,理论上由于降压过大容易烧稳压块,用两个7805并联。
但两个稳压块出现馈赠问题,后用修改电路解决此问题,我们最后选择了此方案3.5寻迹传感器模块方案1:用光敏电阻组成光敏探测器。
光敏电阻的阻值可以跟随周围环境光线的变化而变化。
当光线照射到白线上面时,光线发射强...
求简易智能小车c51程序
系统的单片机程序 #include "reg52.h" #define det_Dist 2.55 //单个脉冲对应的小车行走距离,其值为车轮周长/4 #define RD 9 //小车对角轴长度 #define PI 3.1415926 #define ANG_90 90 #define ANG_90_T 102 #define ANG_180 189 /*============================全局变量定义区============================*/ sbit P10=P1^0; //控制继电器的开闭 sbit P11=P1^1; //控制金属接近开关 sbit P12=P1^2; //控制颜色传感器的开闭 sbit P07=P0^7; //控制声光信号的开启 sbit P26=P2^6; //接收颜色传感器的信号,白为0,黑为1 sbit P24=P2^4; //左 sbit P25=P2^5; //右 接收左右光传感器的信号,有光为0 unsigned char mType=0; //设置运动的方式,0 向前 1 向左 2 向后 3 向右 unsigned char Direction=0; //小车的即时朝向 0 朝上 1 朝左 2 朝下 3 朝右 unsigned sX=50; unsigned char sY=0; //小车的相对右下角的坐标 CM(sX,sY) unsigned char StartTask=0; //获得铁片后开始执行返回卸货任务,StartTask置一 unsigned char Inter_EX0=0; // 完成一个完整的任务期间只能有一次外部中断 // Inter_EX0记录外部中断0的中断状态 // 0 动作最近的前一次未中断过, // 1 动作最近的前一次中断过 unsigned char cntIorn=0; //铁片数 unsigned char bkAim=2; //回程目的地,0为A仓库,1为B仓库,2为停车场, //(在MAIN中接受铁片颜色判断传感器的信号来赋值) unsigned char Light_Flag=0;//进入光引导区的标志(1) unsigned int cntTime_5Min=0;//时间周期数,用于 T0 精确定时 unsigned int cntTime_Plues=0; //霍尔开关产生的脉冲数 /*============================全局变量定义区============================*/ /*------------------------------------------------*/ /*-----------------通用延迟程序-------------------*/ /*------------------------------------------------*/ void delay(unsigned int time) // time*0.5ms延时 { unsigned int i,j; for(j=0;j { for(i=0;i {;} } } /*-----------------------------------------------*/ /*-------------------显示控制模块----------------*/ /*-----------------------------------------------*/ /*数码管显示,显示铁片的数目(设接在P0,共阴)*/ void Display(unsigned char n) { char Numb[12]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x37,0x77}; P0=Numb[n]; } /*-----------------------------------------------*/ /*-------------------传感器模块------------------*/ /*-----------------------------------------------*/ /*光源检测程序: */ /*用于纠正小车运行路线的正确性*/ unsigned char LightSeek() { void Display(unsigned char); bit l,r; l=P24; r=P25; if(l==0&&r==1) { //Display(1); return (3); //偏左,向右开 } if(r==0&&l==1) { //Display(3); return(1); //偏右,向左开 } if((l==1&&r==1)||(l==0&&r==0)) {//Display(9); return(0); //没有偏离,前进 } } /*铁片检测程序: */ /*判断铁片的颜色,设定bkAim,0为A仓库,1为B仓库,2为停车场*/ void IornColor() { delay(4000); bkAim=(int)(P26); Display((int)(P26)+2); } /*-----------------------------------------------*/ /*------------------运动控制模块-----------------*/ /*-----------------------------------------------*/ /*====基本动作层:完成基本运动动作的程序集====*/ /*运动调整程序: */ /*对小车的运动进行微调*/ void ctrMotor_Adjust(unsigned char t) { if(t==0) { P2=P2&240|11; //用来解决两电机不对称的问题 delay(6); } if(t==3) { P2=P2&250; //向左走 delay(1); } if(t==1) { P2=(P2&245); delay(1); //向右走 } P2=((P2&240)|15); delay(10); } /*直走程序: */ /*控制小车运动距离,dist为运动距离(cm),type为运动方式(0 2)*/ /*只改变小车sX 和 sY的值而不改变Direction的值. */ void ctrMotor_Dist(float dist,unsigned char type) {unsigned char t=0; mType=type; P2=((P2&240)|15); cntTime_Plues=(int)(dist/det_Dist); while(cntTime_Plues) { if(Inter_EX0==1&&StartTask==0) { cntTime_Plues=0; break; } if(Light_Flag==1) t=LightSeek(); if(type==0) //向前走 { P2=P2&249; delay(40); ctrMotor_Adjust(t); } if(type==2) //向后退 { P2=P2&246; delay(50); ctrMotor_Adjust(t); } P2=((P2&240)|15); if(mType==2) delay(60);//刹车制动 0.5ms else delay(75); } } /*拐弯程序: */ /*控制小车运动角度,type为运动方式(1 3) */ /*只改变小车Direction的值而不改变sX 和 sY的值*/ void ctrMotor_Ang(unsigned char ang,unsigned char type,unsigned char dir) { unsigned char i=0; mType=type; P2=((P2&240)|15); cntTime_Plues=(int)((PI*RD*90/(180*det_Dist)*1.2)*ang/90); while(cntTime_Plues) { if(Inter_EX0==1&&StartTask==0) { cntTime_Plues=0; break; } if(type==1) //向左走 { P2=P2&250; delay(100); ctrMotor_Adjust(0); } if(type==3) //向右走 { P2=P2&245; delay(100); ctrMotor_Adjust(0); } P2=((P2&240)|15); delay(50);//刹车制动 0.5ms } if(!(Inter_EX0==1&&StartTask==0)) { Direction=dir; } } /*====基本路线层:描述小车基本运动路线的程序集====*/ /*当小车到达仓库或停车场时,放下铁片或停车(0,1为仓库,2为停车场)*/ void rchPlace...
什么是车身稳定系统
展开全部ESP是车身电子稳定控制系统(Electronic Stability Program)的简称,是一种在紧急驾驶条件下防止车辆打滑的制动系统,其最主要的特点就是它的主动性,如果说ABS是被动地作出反应,那么ESP却可以做到防患于未然。
ESP最早由德国博世(Bosch)公司于1997年研制成功,并首先由奔驰公司应用与其A级轿车上。
之后,其他公司也分别研究各自的车身电子稳定控制系统,只不过名字有所不同,其实原理都是一样的。
比如奔驰、大众、奥迪、雪铁龙、标致、现代叫做ESP,宝马、马自达叫做DSC,本田叫做VSA,丰田叫做VSC,日产叫做VDC。
ESP工作原理简介: ESP系统由中央控制单元(ECU)及转向传感器、车轮传感器、侧滑传感器、横向加速度传感器和执行器组成,其目的是在电脑实时监控汽车运行状态的前提下,对发动机及制动系统进行干预和调控。
在汽车行驶过程中,转角传感器感知驾驶者转弯方向和角度,车速传感器感知车速、油门开度和转速力矩,刹车传感器感知刹车力,而摆角传感器则感知车子的倾斜度和侧倾速度。
ECU了解这些信息之后,通过计算后判断汽车要正常安全行驶和驾驶者操纵汽车意图的差距,然后,由ECU发出指令,调整发动机的转速和车轮上的刹车力,从而修正汽车的过度转向或转向不足,以避免汽车打滑、转向过度、转向不足和抱死,从而保证汽车的行驶安全。
从严格的角度来讲,ESP系统实际上包括ABS和TCS(牵引力控制系统)两大系统的功能,但又不是两者简单的叠加。
它们之间的差别主要是ABS和TCS只能被动的作出反应,而ESP则能够探测和分析车况并纠正驾驶的错误,防患于未然。
ESP的作用可以在以下三种工况体现出来:在"多变的路面上行驶"ESP作用效果"避让障碍物"ESP作用效果"驾驶员转弯过快"ESP作用效果ESP的重要作用: 欧洲每年有5万人死于交通事故,130万人因交通事故受伤。
德国的一项研究表明造成重伤的事故中,25%由打滑引起。
ESP可以稳定车辆并降低打滑危险,研究显示ESP可减少50%的严重交通事故。
如今,欧洲已经有超过35%的轿车装配了ESP技术,奥迪更是每辆车标配ESP,ESP成了主动安全的象征。
在世界汽车工业中心的美国,代表美国政府的运输部与NHTSA国家高速公路交通安全局,已于今年4月纽约车展时发布了一项影响全球汽车安全动向的重要政策:自2011年9月开始,所有在美销售的2012年式新车,必须配备ESC电子车身稳定系统(Electronic Stability Control),才能获准于美国市场销售,可见美国对ESP等主动安全装备的巨大作用更加看重。
ESP 车身电子稳定系统 ESP和博世公司 车身电子稳定系统(Electronic Stability Program,简称ESP),是博世(Bosch)公司的专利[1]。
10年前,博世是第一家把电子稳定程序(ESP)投入量产的公司。
因为ESP是博世公司的专利产品,所以只有博世公司的车身电子稳定系统才可称之为ESP。
在博世公司之后,也有很多公司研发出了类似的系统,如日产研发的车辆行驶动力学调整系统(Vehicle Dynamic Control 简称VDC)[2],丰田研发的车辆稳定控制系统(Vehicle Stability Control 简称VSC)[3],本田研发的车辆稳定性控制系统(Vehicle Stability Assist Control 简称VSA)[4],宝马研发的动态稳定控制系统(Dynamic Stability Control 简称DSC)[5]等等。
ESP概述 ESP系统实际是一种牵引力控制系统,与其他牵引力控制系统比较,ESP不但控制驱动轮,而且可控制从动轮。
如后轮驱动汽车常出现的转向过多情况,此时后轮失控而甩尾,ESP便会刹慢外侧的前轮来稳定车子;在转向过少时,为了校正循迹方向,ESP则会刹慢内后轮,从而校正行驶方向。
ESP系统包含ABS(防抱死刹车系统)及ASR(防侧滑系统),是这两种系统功能上的延伸。
因此,ESP称得上是当前汽车防滑装置的最高级形式。
ESP系统由控制 单元及转向传感器(监测方向盘的转向角度)、车轮传感器(监测各个车轮的速度转动)、侧滑传感器(监测车体绕垂直轴线转动的状态)、横向加速度传感器(监测汽车转弯时的离心力)等组成。
控制单元通过这些传感器的信号对车辆的运行状态进行判断,进而发出控制指令。
有ESP与只有ABS及ASR的汽车,它们之间的差别在于ABS及ASR只能被动地作出反应,而ESP则能够探测和分析车况并纠正驾驶的错误,防患于未然。
ESP对过度转向或不足转向特别敏感,例如汽车在路滑时左拐过度转向(转弯太急)时会产生向右侧甩尾,传感器感觉到滑动就会迅速制动右前轮使其恢复附着力,产生一种相反的转矩而使汽车保持在原来的车道上。
当然,任何事物都有一个度的范围,如果驾车者盲目开快车,现在的任何安全装置都难以保全; ESP的组成部分 1、传感器:转向传感器、车轮传感器、侧滑传感器、横向加速度传感器、方向盘油门刹车踏板传感器等。
这些传感器负责采集车身状态的数据。
2、ESP电脑:将传感器采集到的数据进行计算,算出车身状态然后跟存储器里面预先设定的数据进行比对。
当电脑计算数据超出存储器预存的数值,即车身临近失控或者已经失控的时候则命令...
转载请注明出处51数据库 » 5路循迹小车软件系统设计