激光传感器飞思卡尔智能车
更新时间:2023-12-22 12:55:01 阅读量: 教育文库 文档下载
合肥工业大学 计算机与信息学院 计算机系2008级 方向综合设计报告
方向:分布式控制与嵌入式系统
课题题目:基于随动光电传感器智能车控制系统的
研究与实现
姓名:
专业班级: 学号:
指导教师:
方向综合设计内容
一. 设计目的和内容
目的:通过这次综合实训,对随动光电传感器智能车控制系统有充分的认识,对激光传感器控制小车方向有进一步的了解,并掌握飞思卡尔比赛用到的智能车的各个结构和总体设计。完成光电传感器智能车综合实训锻炼亲自动手做项目的能力,之前对智能车一直很感兴趣,借综合设计的机会好好的了解一下。
内容:全国大学生智能车比赛项目,设计随方向转动的光电路径传感器智能车,进一步设计光电路径识别算法以及相应的方向控制算法、配套的速度控制算法。本次研究主要关于智能车各大部件以及之间的联系工作,主要包括以下几大部件:
随动方向控制方面: 1.路面识别激光传感器 2.摇头舵机 3.转向舵机
智能车速度控制方面: 4.电机
5.速度控制PID算法 6.单片机 二. 背景知识
赛道路面用专用白色基板制作,在初赛阶段时,跑道所占面积在5m×7m左右,决赛阶段时跑道面积可以增大。
赛道宽度不小于45cm。赛道与赛道的中心线之间的距离不小于60cm。如下图1所示:
图1.赛道宽度以及间距
跑道表面为白色,赛道两边有黑色线,黑线宽25mm+-5,沿着赛道边缘粘贴,
如图2所示。
图2.赛道颜色以及边线
赛道中心下铺设有直径0.1-0.8mm漆包线,其中通有20kHz,100 mA的交变电流。频率范围20k±1k,电流范围(100±20mA)。
在严格遵守规则中对于电路限制条件,保证智能车可靠运行的前提下,电路设计尽量简洁紧凑,以减轻系统负载,提高智能车的灵活性,同时以发挥创新为原则,并以稳定性为首要前提,实现智能车快速运行。小车控制系统从硬件上分为电源管理模块、传感器模块、直流电机驱动模块、转向伺服电机驱动模块、摆头伺服电机驱动模块和单片机模块。各个模块设计有各自不同的要求:
(1)电源模块为系统其他各个模块提供所需要的电源,以保证各模块的正常工作,是智能车运行的基础。
(2)寻迹传感器采集道路信息,为智能车提供前进方向,使车始终不偏离赛道。所以首先要对传感器选型,即选择适合系统的传感器。在此基础上要考虑传感器的分布位置及其安装方法,这些都是智能车寻迹方案的硬件基础。
(3)测速传感器采集小车速度信息,为小车的速度控制提供反馈依据,使小车始终按照给定的速度行驶。选择测速传感器时需要考虑:测速的精度稳定程度以及传感器的安装等因素。
(4)直流电机驱动模块控制直流电机两端电压,使电机在给定的速度下运行,控制电机加减速,是小车的执行机构。小车在启动过程中往往会产生很大的冲击电流,一方面会对其他电路产生电磁干扰;另一方面由于电池内阻造成电池两端的电压下降,甚至会低于稳压电路所需要的最低电压值,产生单片机复位现象,所以必须克服启动冲击电流的影响。
(5)转向和摆头伺服舵机驱动模块,即舵机在单片机给定的 PWM 波下进行转向,亦是小车的执行机构。
(6)单片机模块在小车控制系统中扮演核心的位置,好比人的大脑,从硬件设计的角度来说, 首先要保证其供电稳定, 其次要对其部分功能模块如 PWM 通道,定时器通道的进行编程,写入驱动程序,使其工作良好。 S12 是一款飞思卡尔 16 位的单片机,其开发方法和工作特点都与常用的 8051 单片机有一定的区别。如何开发这款单片机,如何为单片机多个模块写入底层的驱动程序和编写优良的上层控制算法是这一模块的核心。 三. 系统方案和实现
1. 传感器
光电车路径传感器的选择
从实际试验中可以看出,光电传感器具有前瞻距离短,容易受外界光线影响等弱点,这对于智能车的快速性和稳定性无疑是很大的影响。再加之A车舵机严重滞后等因素的影响,前瞻成为光电车提速的重要因素之一。智能车的稳定性要求智能车在不同的环境下都能平稳的运行,对外界光线等因素不具有较高要求。基于以上两个重要的因素,路径传感器决定选择激光管。激光管和红外线的特性比较如表1:
表1.红外线与激光传感器的比较
路径传感器类型 红外线传感器 优点 1电路设计相对简单 2检测信息速度快 3成本低 缺点 1. 道路参数检测精度低种类少 2. 检测前瞻距离短 3. 耗电量大 4. 占用MCU端口资源较多 5. 容易受外界光线影响 1. 电路设计相对复杂 2. 成本高 3. 质量大 激光传感器 1. 检测前瞻距离远 2. 受外界光干扰小 3. 检测信号数字化 从表中可以看出,激光具有大前瞻和受外界光干扰小等优点。 检测信号的数字化具有比红外线传感器检测到的模拟电压信号更高的可靠性,所以本控制系统采用激光传感器。而激光传感器主要面临的就是大质量的问题,传感器的质量直接影响小车本身的重心,所以激光传感器的安放高度和位置都必须合理。 激光传感器的工作原理
其中发射管(如图3):通过接收端口接受信号使发射管发光,发射管连接的电压产生电压差值使整体相当于一个二级发光管。
调制管:调制管与发光管连接,调制管的作用是可以通过载波调节发射管发光的频率为180KHZ。
图3.发射管原理图
接收管(如图4所示):用来接收发射管发射出来的光线,放大,然后解调、整形如果光线照在跑道的黑线上,那么接收管输出数字信号显示1,如果光线照在跑道的白线上,则接收管输出数字信号显示0.
图4.接收管原理图
传感器的工作原理是:发射管经过一个180KHZ频率的载波调制后发射。接收管接收到反射回来的光线后,先进行放大,然后进行解调、整形。在经过比较,就输出一个开关量信号。整个过程可以参照上面的发射管、调制管、接收管的图。 单排激光传感器布局
由于往届竞赛对光电传感器排布方式研究已经比较深入,传统的“一”字型排布方式在众多排布方式中效果显著,是最常用的一种排布方式。激光发射管的排布是均匀的,这样便于激光管精确的固定与定位。具体的传感器布局的PCB版电路图如图5、6:
图5.激光传感器PCB图右半部分
图6.激光传感器PCB图左半部分
整体的传感器一共有四个接收管,十二个发射管,和两个调制管,在实际制作中将右半部分和左半部分形成一个角度a,这个角度a是在不断的实际测试使小车达到最佳状态时来确定的。
具体的PCB电路分析:
右半部分图,最上层:JLED3、JLED4是两个接收管,旁边的C3、C4及电阻组成的电路起到滤波、放大的作用。中间层:三角形的白色部件是六个发射管,旁边Q7---Q12及各电阻是来保护及判断发射管是否发光,最边上的P2是插槽,将各部件与处理器相连接。最下层:J2是调制管,附近的电阻及三极管起到保护电路及放大的作用,U2是三八译码器。
左半部分图,最上层:JLED1、JLED2是两个接收管,旁边的C1、C2及电阻组成的电路起到滤波、放大的作用。中间层:三角形的白色部件是六个发射管,旁边Q1---Q6及各电阻是来保护及判断发射管是否发光,最边上的P1是插槽,将各部件与处理器相连接。最下层:J2是调制管,附近的电阻及三极管起到保护电路及放大的作用。U1是三八译码器。 2.摆头舵机控制模块 摆头舵机
摆头舵机用于上面一排激光管的摆动,是操控车模行驶的方向盘。舵机的输出转角通过连杆传动控制前轮转向,其转角精度直接影响到智能车模能否准确按赛道路线行驶。舵机如图7所示
图7.摆头舵机
摆头舵机的工作原理
舵机由舵盘、位置反馈电位计、减速齿轮组、直流电机和控制电路组成,内部位置反馈减速齿轮组由直流电动机驱动,其输出轴带动一个具有线性比例特性的位置反馈电位器作为位置检测。当电位器转角线性地转换为电压并反馈给控制电路时,控制电路将反馈信号与输入的控制脉冲信号相比较,产生纠正脉冲,控制并驱动直流电机正向或反向转动,控制转向角度的目的。
摆头舵机之所以要摇头是因为由于激光前瞻较远,所以只要车辆轻微偏移赛道就偏出检测范围,而激光板不能做无限宽,因此使用摇头来弥补,并以此提高弯道速度。每个管子的光都经过调制,发射出去后只要是在白色的跑道上,好几个接收头都可以同时接收到信号,而黑线上则反射较弱,这样将激光管依次点亮就可以精确的知道对应激光管指向位置是黑线还是白色路面。舵机在6v电压下正常工作,而大赛统一提供的标准电源输出电压为7.2v则需一个外围电压转换电路将电源电压转换为舵机的工作电压6v。 摆头舵机的安装
摆头舵机是道路检测子系统中的主要部件。摆头舵机的稳定性,重心分布和水平程度是安装过程中所需要考虑的主要因素。下面仅对我们所采用的安装方式进行简略介绍。我们所采用的摇头机构的安装方式的优点是:
一: 平衡重心:由于车模固有驱动结构的影响,致使车模总体重心便向车中心线的左方。利用舵机结构的不对称性,可以有效的平衡重心。
二:安装独立性高:可以独立拆卸而不影响其他结构。 这点在调试过程中给重心的前后平衡调整带来了极大的方便。
三: 水平性好:摇头传感器的水平性是影响道路检测效果的重要因素。 如果安装不水平,那么在传感器摆动过程中前瞻距离会随着摆动角度的不同而不断变化,给程序调试以及车体稳定性带来了极大的消极影响。 控制脉冲(PWM)
PWM 调制波有8 个输出通道,每一个输出通道都可以独立的进行输出。每 一个输出通道都有一个精确的计数器(计算脉冲的个数),一个周期控制寄存器 和两个可供选择的时钟源。每一个PWM 输出通道都能调制出占空比从0—100% 变化的波形。
PWM 的主要特点有:
1、它有8个独立的输出通道,并且通过编程可控制其输出波形的周期。 2、每一个输出通道都有一个精确的计数器。
3、每一个通道的PWM 输出使能都可以由编程来控制。 4、PWM输出波形的翻转控制可以通过编程来实现。
5、周期和脉宽可以被双缓冲。当通道关闭或PWM计数器为0时,改变周期和脉宽才起作用。
6、8 字节或16字节的通道协议。
7、有4个时钟源可供选择A、SA、B、SB他们提供了一个宽范围的时钟频率。 8、通过编程可以实现希望的时钟周期。 9、具有遇到紧急情况关闭程序的功能。
10、每一个通道都可以通过编程实现左对齐输出还是居中对齐输出。 3.转向舵机控制模块 转向舵机的安装
度致使转向过程中拉力过小,而且车体重心靠前对前轮转向舵机安装的好坏决定了车体在弯道时所能达到的极限速度。方向控制舵机安装时主要考虑的因素有:重心,最大转角,等效力臂长度,响应速度,极限拉力等因素。目前比较主流的安装方式主要有:
靠前立式安装: 将转向舵机安装在车头前轮差速器上方。经实验验证,该法限制了舵机力臂长压力过大降低了转向性能。
靠后立式安装: 将转向舵机安装在智能车前传动轴上方。经实验验证,该法限制了舵机力臂长度致使转向过程中拉力过小,带来的消极影响车体稳定性较低,重心过高等问题。
传统安装: 这种方式是目前采用的安装方式,我们尝试过改进车体原有机械结构安装,该安装方式的优点是能够提供比较大的转向拉力,在调试过程发现加长舵机臂可以加强舵机转向速度,有利于过弯性能的提高。通过仿真和测试,我们发现舵机臂的加长有一个相对合适的长度,超过这个长度会使转向负荷过大,打坏舵机齿轮。 转向舵机
转向舵机和摇头舵机相似,都是统一的s3010的,工作原理是控制电路接收信号源的控制脉冲,并驱动电机转动;齿轮组将电机的速度成大倍数缩小,并将电机的输出扭矩放大响应倍数,然后输出;电位器和齿轮组的末级一起转动,测
量舵机轴转动角度;电路板检测并根据电位器判断舵机转动角度,然后控制舵机转动到目标角度或保持在目标角度。模拟舵机需要一个外部控制器(遥控器的接收机)产生脉宽调制信号来告诉舵机转动角度,脉冲宽度是舵机控制器所需的编码信息。舵机的控制脉冲周期 20ms,脉宽从 0.5ms-2.5ms,分别对应 -90 度到 +90 度的位置。如下图8所示 输入正脉冲宽度(周期为20ms) 伺服马达输出臂位置 图8. 舵机转角与脉冲周期对应位置
4.电机直流驱动电机控制电路主要用来控制直流电动机的转动方向和转动速度。改变直流电动机两端的电压可以控制电动机的转动方向;而控制直流电动机的转速,则通过单片机发出的PWM控制。 电机驱动及原理
赛车采用380电机作为全车的驱动,电机由竞赛主办方提供。齿轮传动机构对赛车的驱动能力有很大的影响。齿轮传动部分安装位置的不恰当会大大增加电机驱动后轮的负载,从而影响到最终成绩。调整的原则是:两传动齿轮轴保持平
行,齿轮间的配合间隙要合适,过松容易打坏齿轮,过紧又会增加传动阻力 ;传动部分要轻松、顺畅,容易转动。 判断齿轮传动是否调整好的一个依据是 :听一下电机带动后轮空转时的声音。声音刺耳响亮,说明齿轮间的配合间隙过大, 传动中有撞齿现象;声音闷而且有迟滞,则说明齿轮间的配合间隙过小,咬合过 紧 ,或者两齿轮轴不平行,电机负载加大。调整好的齿轮传动噪音小 ,并且不 会有碰撞类的杂音。同时在电机传动齿轮上安装速度测试模块,我们采取的是42 齿光电编码器,通过编码器,MCU得到赛车的时时速度反馈,从而进一步地实行速度控制。由于今年是四驱驱动电机与中差速都在车模中央不利于编码器 的安装,所以我们使用定制的编码器,它的体积相对较小,可以减少占用的空间 。 我们将编码器安装 于电机的左下角,齿轮直接与电机齿轮啮合。 电机驱动原理图如图9:
图9.电机驱动原理图
电机电枢两端电压的极性影响电机的转向,电压的大小影响电机的转速。通过微控制器输出不同占空比的PWM信号来近似不同幅度的电压,以达到控制速度的目的。
5.速度控制PID算法 PID算法--速度控制
在控制系统中,控制器最常用的控制规律是PID控制。为了说明控制器的工作原理,先看一个例子。(如图10)所示是一个小功率直流电机的调速原理图。给定速度n1(t)与实际转速进行比较n(t),其差值e(t)=n1(t) – n(t),经过 PID 控制器调整后输出电压控制信号u(t),u(t)经过功率放大后,驱动直流电动机改变其转速。
N1(t) E(t) PID控制 直流电机
N(t) 图.10小功率直流电机调速原理图
常规的模拟PID控制系统原理框图(如图11)所示。该系统由模拟PID控制器和被控对象组成。图中,r(t)是给定值,y(t)是系统的实际输出值,给定值与实际输出值构成控制偏差e(t),e(t)=r(t)–y(t)。e(t)作为 PID控制的输入,作为PID 控制器的输出和被控对象的输入。所以模拟PID控制器的控制规律为u(t)=Kp[e(t)+???? 0?? ?? ????+????
1
??
????(??)????
]。
其中Kp :控制器的比例系数。Ti:控制器的积分时间(积分系数)。Td:控制器的微分时间(微分系数)。
r(t) + + _ e(t) 比例 积分 微分 + + + u(t) 被控对象 y(t) 图11.PID控制系统原理框图 比例部分:
比例部分的数学式表示是: Kp* e(t)。在PID控制器中,比例环节的作用是对偏差瞬间作出反应。偏差一旦产生控制器立即产生控制作用,使控制量向减少偏差的方向变化。控制作用的强弱取决于比例系数,比例系数越大,控制作用越强,则过渡过程越快,控制过程的静态偏差也就越小;但是越大,也越容易产生振荡,破坏系统的稳定性故而,比例系数Kp选择必须恰当,才能过渡时间少,静差小而又稳定的效果。 积分部分:
积分部分的数学表达式是:???? 0??(??)????。只要存在偏差,则它的控制作用就不断的增加;只有在偏差e(t)=0时,它的积分才能是一个常数,控制作用才是一个不增加的常数。可见, 积分部分可以消除系统的偏差。 积分环节的调节作用虽然会消除静态误差,但也会降低系统的响应速度,增加系统的超调量。积分常数Ti越大,积分的积累作用越弱,这时系统在过渡时不会产生振荡; 但是增大积分常数Ti会减慢静态误差的消除过程,消除偏差所需的时间也较长,但可以减少超调量,提高系统的稳定性。当Ti较小时,则积分的作用较强,这时系统过渡时间中有可能产生振荡,不过消除偏差所需的时间较短。所以必须根据实际控制的具体要求来确定Ti。
????
??
微分部分:
微分部分的数学式表示是:Kp?????
???? ?? ????
。实际的控制系统除了希望消除静态误差外,还要求加快调节过程。在偏差出现的瞬间,或在偏差变化的瞬间, 不但要对偏差量做出立即响应(比例环节的作用),而且要根据偏差的变化趋势预先给出适当的纠正。为了实现这一作用,可在PI控制器的基础上加入微分环节,形成PID控制器。微分环节的作用使阻止偏差的变化。它是根据偏差的变化趋势(变化速度)进行控制。偏差变化的越快, 微分控制器的输出就越大,并能在偏差值变大之前进行修正。微分作用的引入, 将有助于减小超调量,克服振荡, 使系统趋于稳定, 特别对髙阶系统非常有利, 它加快了系统的跟踪速度。但微分的作用对输入信号的噪声很敏感,对那些噪声较大的系统一般不用微分, 或在微分起作用之前先对输入信号进行滤波。微分部分的作用由微分时间常数Td决定。Td越大时,则它抑制偏差变化的作用越强;Td越小时,则它反抗偏差变化的作用越弱。微分部分显然对系统稳定有很大的作用。 适当地选择微分常数Td,可以使微分作用达到最优。 6.单片机
系统的核心控制采用比赛统一规定的16位HCS12系列单片机MC9S12DGl28。其主要特点是高度的功能集成,易于扩展,低电压检测复位功能,低电压低功耗,自带PWM输出功能等。系统I/O口具体分配如下:PORTA0、PTH0~PTH7共9位用于小车前面路径识别的输人口;PACN0用于车速检测的输入口;PORTB0~PORTB7用于显示小车的各种性能参数;PWM01用于伺服舵机的PWM控制信号输出;PWM23、PWM45用于驱动电机的PWM控制信号输出。 中断
S12默认中断处理状态:在进入中断服务程序时,I位自动置1,禁止其他可屏蔽中断。即使有优先级更高的中断请求,也必须等当前中断服务程序执行后才能响应。优先级的作用只有在多个中断源同时请求中断时在能体现无法实现中断嵌套。
在可屏蔽中断服务程序中:如果在进入中断服务程序时,手动对I位清零,任何其他可屏蔽中断都可以被响应,无论其优先级有多高。中断响应由时间控制,可以实现中断嵌套。对中断执行无法预测。
中断优先处理机制:在中断服务程序中,首先对I位清零。选择优先级更高的中断源可以进入响应中断。设置优先等级:1.两级:一个中断源为低优先级,其他为高优先级。在低优先级中断服务程序中,对I位清零。在高优先级中断服务程序中,不清零。2.多级:利用局部的中断屏蔽位。 四. 设计结果(包括必要的截图)
这次设计主要体现了激光传感器的检测前瞻距离远,受外界光影响小,检测信号数字化等优点,相比红外线传感器,在小车性能上有了进一步的提高。
激光传感器信号读取方式
激光接收管接收到反射光之后,以数字量的形式将反射光的强弱反映给单片机。此时,单片机只需要使用普通的 IO 口读取接受管传回来的0、1信号即可知道当前发射管照射到黑色中心线上,还是白色赛道上。其中,需要注意的是激光管的点亮方式,上文以及提到激光接收管不仅能够接受其正上(下)方的发射管的反射光,而且可以接收相邻发射管的反射光,如果距离太近的发射管同时发射,势必会产生互相影响,从而产生错误的检测结果。故采用循环点亮的方式,即每次只点亮一个发射管和其对应的接收管,从而需要试验获得每个激光管需要点亮的时间。这样,就避免了相近发射管互相干扰的情况,使检测结果正确。激光传感器首先要设计电路图,本次用protel2004来绘画激光传感器的原理图如图13所示:
图13.激光传感器电路图截图
五. 设计总结和体会
本论文主要介绍了可自主寻迹智能小车控制系统的设计,包括控制系统的硬件组成和软件控制算法,以及传感器的选择和驱动电路的选择。控制系统是一个双输入双输出的系统,其硬件主要包括:
1、赛道路径检测传感器,该传感器的选择可以是摄像头、光电管或者激光管,从光电车的角度考虑,远前瞻是提速的关键,所以选择了激光传感器;
2、舵机,从机械方面增大舵机左右转角的最大值,有利于转大弯,然后建立起舵机的数学模型,为后续调节舵机参数做铺垫;
3、摆头舵机,为了更好地跟上黑线并且保证尽量不丢黑线,以达到很好的获取赛道信息的目的,故采用了大赛统一的S3010舵机;
4、测速传感器,可以是自制的法兰盘直接测车轮转速,也可以是光电编码器测电机的转速然后转化为车轮转速,由于后者具有更好的安装位置, 所以定为本系统的测速方式;
5、电机控制模块中,由于BTS7960 驱动具有更好的加减速特性,所以定为本系统的驱动方式。
软件控制算法,最重要的是让小车能够得到正确的偏差 E,这是后续舵机控制和速度控制的基础,所以运用了数字滤波、条件判断等方法来得到正确的E,同时对不同的赛道类型进行识别,使小车能够稳定又快速的运行。舵机控制采用了 PD 控制,而电机控制采用了bangbang控制和 PID 控制相结合的方式。不管是舵机的 PD 参数,还是电机的 PID 参数,都需要试验反复调整,期间可以用到各种不同的调试工具。试验结果表明,小车能够达到平稳又快速行驶的设计目的。
附各部分初始化代码
#include
#include \int max1=0; int max2=0; int max3=0; int max4=0; int max5=0; int max6=0; int max7=0; int max8=0; int max9=0;
intAD_Value[9]; int a0[9]; int a1[9]; int a2[9];
// 倍频。。。。。。。。。。。。。。。。。。 voidbian() {
SYNR=0xC5;
REFDV=0x81; POSTDIV=0x00; while(CRGFLG_LOCK!=1); CLKSEL_PLLSEL=1; }
voidintiPB(){ DDRB=0xff; PORTB=0xff; }
//初始化舵机。。。。。。。。。。。。。 voidintiDirection() {
PWMPRCLK = 0x00; // 预分频后:A=B=CLKbus=40M
PWMSCLB = 0x05; // CLKsb = CLKb/(2*PWMSCLB) = 4M
PWMCTL_CON23 = 1;//组合PWM23,组合PWM2和PWM3后使用PWM3的控制信号控
制PWM23
PWMCLK_PCLK3 = 1; // 选择CLKsb作为PWM3的时钟
PWMPOL_PPOL3 = 1; // 极性选择寄存器1-占为高电平0-占为低电平 PWMCAE_CAE3 = 0; // 左对齐
PWMPER23 = 40000;// 舵机周期3.3ms,用PWMDTY3 设置占空比来控制
舵机转角
PWME_PWME3 = 1; // PWM3 使能开启
PWMDTY23 = 6432; // 占6432 - 转角为零(起始状态) }
//初始化电机。。。。。。。。。。。。。。。 voidinti_Motor(){
PWMCLK_PCLK0=1;//选择 CLKSA 作为PWM0 的时钟 PWMPRCLK=0;//预分频到40M
PWMSCLA=0x0A; //再分频到5M/2*100
PWMPOL_PPOL0=1; //设置0通道极性开始为高电平 PWMCAE_CAE0=0;//设置左对齐 PWMPER0=255; //设置频率 PWMDTY0=0;
PWME_PWME0= 1; // PWM0 使能开启 }
//时钟模块输出比较。。。。。。。。。。。。。。。 voidintTime_OUTPUT(){
TIOS_IOS1=1;//选择输出比较方向output //TCTL4_EDG1B=0; //选择捕捉形式上升沿 //TCTL4_EDG1A=1;
TSCR2_PR2=0; //预分频到5M TSCR2_PR1=1; TSCR2_PR0=1;
TC1=50000; //要比较的数 TIE_C1I=1;//时钟使能
TSCR1_TEN=1;//整个使能时钟使能 }
//去杂点
int cleaned(inti){ intj,k;
k=AD_Value[i]-a1[i]; j=AD_Value[i]-a2[i];
if((k>50)||(k<(-50))||(j>50)||(j<(-50))){ a0[i]=0; return 0; }
return 1; }
void main(void) { bian(); intiPB();
intiDirection(); intiAD();
//ISCInt(); inti_Motor();
intTime_OUTPUT(); PWMDTY0=0;
EnableInterrupts;
for(;;) { } }
#pragma CODE_SEG NON_BANKED #pragma TRAP_PROC void Interrupts(){ staticint j=0; staticint s=0; inti=0 ;
TFLG1_C1F=1;//接受中断信号 DisableInterrupts;
AD_GetValue();//每10毫秒测试一个数据 TC1+=50000; if(j<500) { j++;
AD_MAXget();
}
else{PWMDTY0=85;
if(AD_Value[0]>(max1-8)) { i=cleaned(0); if(i){
PWMDTY23=7450; PORTB=0xfe; } }
if(AD_Value[0]>(max1-8)&&AD_Value[1]>(max2-8)) { i=cleaned(1); if(i){
PWMDTY23=7367; PORTB=0xfc; } }
if(AD_Value[1]>(max2-8)) { i=cleaned(1); if(i){
PWMDTY23=7234; PORTB=0xfd; } }
if(AD_Value[1]>(max2-8)&&AD_Value[2]>(max3-8) ) { i=cleaned(2);
if(i){
PWMDTY23=7101; PORTB=0xf9; } }
if(AD_Value[2]>(max3-8)) { i=cleaned(2); if(i){
PWMDTY23=6968; PORTB=0xfb; } }
if(AD_Value[2]>(max3-8)&&AD_Value[3]>(max4-8)) { i=cleaned(3); if(i){
PWMDTY23=6835; PORTB=0xf3; } }
if(AD_Value[3]>(max4-8)) { i=cleaned(3); if(i){
PWMDTY23=6702; PORTB=0xf7; } }
if(AD_Value[3]>(max4-8)&&AD_Value[4]>(max5-8)) { i=cleaned(4); if(i){
PWMDTY23=6569; PORTB=0xe7; } }
if(AD_Value[4]>(max5-8)) { i=cleaned(4); if(i){
PWMDTY23=6432; PORTB=0xef;
} }
if(AD_Value[4]>(max5-8)&&AD_Value[5]>(max6-8)) { i=cleaned(5); if(i){
PWMDTY23=6303; PORTB=0xcf; } }
if(AD_Value[5]>(max6-8)) { i=cleaned(5); if(i){
PWMDTY23=6170; PORTB=0xdf; } }
if(AD_Value[5]>(max6-8)&&AD_Value[6]>(max7-8)) {
i=cleaned(6); if(i){
PWMDTY23=6037; PORTB=0x9f; } }
if(AD_Value[6]>(max7-8)) { i=cleaned(6); if(i){
PWMDTY23=5904; PORTB=0xbf; } }
if(AD_Value[6]>(max7-18)&&AD_Value[7]>(max8-18)) { i=cleaned(7); if(i){
PWMDTY23=5731; PORTB=0x3f; } }
if(AD_Value[7]>(max8-8))
正在阅读:
激光传感器飞思卡尔智能车12-22
国际经济法第二、三章练习题09-15
天津地铁建设工程监控量测管理办法(TJDTZY-AQ-19) - 图文10-18
合成氨变换工段工艺设计01-28
年度变电运行工作总结06-12
单手持枪卧倒、起立04-23
部编教材语文七年级上册第十二课《论语十二章》 - 图文12-23
微观经济学6-10章试题03-20
识字1 206-23
6层框架结构 计算书 - 图文04-26
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 卡尔
- 传感器
- 激光
- 智能
- 园林工程复习题201306
- 排烟温度高的原因分析
- 道路勘测设计试卷和答案
- 滕王阁序+注音版
- “三明治”让数学课堂更“快乐”
- 基于Flash的游戏设计与开发
- 酱腌菜生产技术及成本
- 2014高考化学最后冲刺每日提升(共30天)第08天 钠及其化合物
- 2010届高三历史专题复习思考与计划
- 石灰石-石膏湿法烟气脱硫工艺的化学原理
- 2010年山西省公务员申论考试十大社会热点解析
- 河南省扶沟县高级中学2015届高三下学期押题考试语文试题
- 人教版小学五年级语文上册第1-8单元教学反思
- 办公家具采购清单及报价表
- 江苏-2015年会计从业资格考试《财经法规》模拟试题及答案24P - 图文
- 北师大版三年级数学上册里程表(二)优秀 教学设计
- 车辆停放管理规定
- 哪些坏习惯会导致色斑哪些坏习惯会引起色斑
- 关于印发《河南理工大学关于硕士研究生申请提前毕业的暂行规定》的通知
- 数字化教室环境建设学习心得体会