智能小车设计方案报告_第1页
智能小车设计方案报告_第2页
智能小车设计方案报告_第3页
智能小车设计方案报告_第4页
智能小车设计方案报告_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘要 自主反应式智能系统是一种应用广泛的控制系统。对电路的分析和验证工 作依靠智能化来完成,效率高。因此它的研究与开发是一项非常有意义的工作。 本小车以 MSP430 超低功耗单片机为核心,在 SHARK 二型小车的基础上研 究小车避障寻迹的设计和实现方法,完成障碍检测、避障、寻迹功能。充分运 用了 430 单片机的功能。本论文介绍了智能小车的机械结构及相应的硬件电路 和实现算法。在机械结构上,对普通的小车作了改进,即用一个万用轮来代替 两个前轮,使小车的转向更加灵敏。利用反射式红外传感器来寻迹、红外一体 化接收头来检测障碍物的位置,通过改变单片机产生的 PWM 方波的占空比,使 其能在设计范

2、围内可实现任意角度黑线和任意角度移动,还可以实现避障的功 能。在算法上,利用矢量分解法、PID 算法等对小车的运行进行控制并能有效 的改善其运行轨迹。 关键字:MSP430寻迹避障PWM Abstract Independences responding type intelligence system is a kind of applied extensive control system. Analyzing electric circuit and verifying a work depends on the intelligence to complete, its efficie

3、ncy is high. So its research and development is a very meaningful works. With the core of 430microcomputer and at the foundation of SHARK, the No.3 small car can complete an obstacle examination, avoiding stumbling block and looking for vestige function, making full use of 430microcomputer. This the

4、sis introduced machine structure, homologous hardware electric circuit and the calculate way of the intelligence small car .Making improvement to the common car on the machine structure, we use a perfect wheel to make the car turning more easily. And we use some sensors to look for vestige and avoid

5、 stumbling block. By change the empty ratio of PWM, the car can arbitrarily move with any angle of the black line within the scope of the design. On the calculate way, we use vector decomposition method、PID to control the car and improve its track. Key word: MSP430 looking for vestige avoiding stumb

6、ling block PWM PID 目录目录 第一章第一章绪论绪论.1 第二章第二章 各部件的工作原理各部件的工作原理.3 2.1 前轮(导向轮).3 2.2电机.4 2.3反射式红外传感器.5 2.4红外一体化接收头.6 第三章第三章硬件电路硬件电路.11 3.1电机驱动电路.11 3.2反射式红外传感器电路.13 3.3红外一体化接收头电路.14 3.4 处理器电路.16 第四章第四章电路原理图电路原理图.19 第五章第五章控制算法控制算法.21 5.1黑线位置判别.21 5.2巡线算法.21 5.3搜线算法.23 5.4障碍物位置判别.23 5.5转弯控制.25 5.6 迷宫探路控制.

7、26 第六章第六章 相关软件相关软件.29 第七章第七章 总结总结.35 7.1 本文总结.35 7.2 进一步的工作.35 致谢致谢.37 参考文献参考文献 .39 附录一附录一.41 附录二附录二.42 第一章绪论 当今社会,科学技术日新月异,时代前进的步伐越迈越宽,应用自动化设 备,计算机处理,现代化通讯,数字化信息,现代化显示设备等高新技术而建立的 现代化智能,监控等系统已经得到充分的发展与应用,智能机器人也就应运而生。 同时,在建设以人为本的和谐社会的过程中,智能服务机器人能够完成考古发 掘,海底揭密,宇宙探索等危险作业,以保证人身安全。 国家中长期科学和技 术发展规划纲要一文指出:

8、智能服务机器人是在非结构环境下为人类提供必 要服务的多种高技术集成的智能化装备。以服务机器人和危险作业机器人应用 需求为重点,研究设计方法、制造工艺、智能控制和应用系统集成等共性基础 技术。重点研究低成本的自组织网络,个性化的智能机器人。20062020 年, 既是国家中长期技术发展计划实现阶段,也是我们最具有活力和最激情洋溢的 时段。 该智能小车模型是一辆由 PCB 和车体拼装的小车。所有的机械结构和零部 件都安装固定在电路板上。因此完全不需要机械加工,非常适合实验阶段机器 人的研制。本文简述了智能巡线避障小车自主走迷宫的设计思路和实现过程。 包括小车的机械结构、电路、软件、控制算法、调试方

9、法等。可作为一般的设 计参考。 小车的左右轮分别由 2 只舵机提供动力,作为驱动轮和导向轮使。430 单片 机的 PWM 发生器产生 2 路(分为两组)占空比可变的方波,经三极管进行扩流 后分别驱动左右舵机。控制 2 路 PWM 的比例,不仅可以调节小车向前运动的速 度,还可通过 2 路 PWM 占空比的差异,改变小车运动方向。 5 只反射式红外传感器位于小车前下方,用于查找黑线位置并且实现寻迹。 小车前端还分布有 3 个红外一体化接收头,实现避障并完成走迷宫。 第二章第二章 各部件的工作原理各部件的工作原理 2.1 驱动轮(导向轮) 前轮亦为驱动轮,其决定小车能否灵活拐弯的关键部分。这辆小车

10、和汽车不 同,不是靠摆舵来控制转弯,而是靠左右后轮速度差来实现转弯控制。 图为小车的仰视图(未画出传感器)。小车的两前轮是靠舵机进行驱动的。 通过两路 PWM 波实现对其的控制。只要调整 PWM 波的占空比即可控制舵机的转 速。当小车左轮的速度高于右轮时,小车右转弯;反之,当小车右轮的速度高 于左轮时, 小车左转弯。 小车后轮属从动轮,质地较硬,其与地面磨擦力较小,与其动力相比可以 忽略不记。所以它可以自由偏移,而不影响小车的转向. 2.2 舵 机 舵机是一种位置伺服的驱动器。它接收一定的控制信号,输出一定的角度, 适用于那些需要角度不断变化并可以保持的控制系统。在微机电系统和航模中, 它是一

11、个基本的输出执行机构。 准的舵机有 3 条导线,分别是:电源线、地线、控制线,如图所示。 电源线和地线用于提供舵机内部的直流电机和控制线路所需的能源电压 通常介于 46V,一般取 5V。注意,给舵机供电电源应能提供足够的功率。控 制 线的输入是一个宽度可调的周期性方波脉冲信号,方波脉冲信号的周期为 20 ms(即频率为 50 Hz)。当方波的脉冲宽度改变时,舵机转轴的角度发生改变, 角度变化与脉冲宽度的变化成正比。 2.3反射式红外传感器 反射式红外传感器 ST188 采用高发射功率红外广电二极管和高灵敏度光电 晶体管组成。检测距离可调整范围为 415mm;采用非接触检测方式。可用于 IC 卡

12、电度表脉冲数据采集、集中抄表系统数据采集和传真机纸张检测等。 图 2.4反射式红外传感器工作原理 反射式红外传感器中包含一个发射器 LED 和一个光探测器(光敏二极管 光敏三极管) 。着两个元件被封装在同一个塑料壳体中,并且排列成适合他们工 作的理想位置。LED 发出的一束光被一个表面反射后又回到探测器中。 图 1.4 是反射式红外传感器的工作原理图。封装在矩形壳体中的是发射器 LED(由左侧的白色方块表示)和探测器装置(在右侧) 。虚线表示光线从发射 器 LED 中发出并反射回探测器;探测器检测到的光强大小取决于物体表面的反 射率,而这一光强就是传感器的输出值。 如图所示,选通信号(高电平)

13、经过三极管扩流后送到传感器的 K 脚,如 果检测到黑线,传感器 C 脚输出高电平;否则输出为低电平。 图 2.5反射式红外传感器及其检测距离与转换效率的关系图 反射式传感器在高度受控的理想环境下的工作性能更好,因为影响它输出 的外界因素有很多,如环境光的变动、传感器与被探测物体之间的距离,以及 被探测物体的反射率等。为了减少环境光的干扰,首先需要调整传感器的方位 使环境光不能直接射到探测器。 反射式红外传感器 ST188 的最佳探测距离为 6-14mm。所以将传感器垂直于 地面并且调整传感器与地面的距离,大约在 10mm 左右。 2.4红外一体化接收头 电视机、唱机等家电中广泛使用红外线遥控器

14、。红外遥控器发出 38KHz 调 制的红外线,在接收端,被一体化红外接收头接收,解调出原始键码值。 因为红外遥控使用广泛、成熟、大批量,所以相关红外接收、发射元件价 格很低。本方案使用通用遥控器的一体化红外接收头作为检测元件。 图 2.7 一体化红外接收头工作原理 一体化接收头内部集成有带通滤波器,它只允许大约 38 kHz 的红外信号通 过。这种仅对 38KHz 敏感的特性,有助于消除环境光对遥控器接收的影响。如 图,当红外线发射管 IR LED)发出的 38KHz 的红外线被一体化接收头接收时, 接收头输出“0” 。当没有侦测到红外线,或非 38KHz 红外线(如日光灯干扰) , 输出“1

15、” 。 第三章第三章硬件电路硬件电路 3.1舵机驱动电路 此部分是整个小车的大脑,是整个小车运行的核心部件,起着控制小车所 有运行状态的作用。通常选用单片机作为小车的核心控制单元。这里选用 MSP430F425 单片机. 考虑到小车必须能够前进、倒退、停止,并能灵活专性, 在左右两轮各装一个舵机分别进行驱动。当左轮电机转速高于右轮电机转速时 小车向右转,反之则向左转。为了能控制车轮的转速,左右两轮的转速,可以 采取 PWM 调速法,即由单片机的 TA1 和 TA2 输出一系列频率固定的方波,再通 过功率放大来驱动舵机,在单片机中编程改变输出方波的占空比,从而可以改 变电机的转速。左右两轮两个电

16、机转速的配合就可以实现小车的前进、倒退、 转弯等功能。 驱动电路如图: 需要注意的是:被二极管分流到电源两端的电力将造成主板电压的瞬变或 噪声。更严重的是当采用 PWM 信号控制电机时,每次关断都会产生这种影响。 如果导通三极管又重新开启,同时反向电动势电流仍然存在,结果三极管将直 接导通电源正极和地。这一现象时间的长短取决于续流二极管的关断时间。这 一电流称作过冲电流,它同样会产生噪声。因此需在离接口慢近的地方加一旁 路电容来消噪。旁路电容的作用是平滑电流脉动和电源电压的瞬变。当电压出 现尖峰时,电容将迅速地吸收这一能量,从而使电压保持恒定。当电压降低时, 电容将向电路中回馈能量,从而使电压

17、有所回升。 经试验验证,从单片机出来的 PWM 电压大约在 3.5V 左右,加到舵机两边最 多只有 3V,这远远低于其耐压,因此转速也很慢,稍有摩擦就转不动了。因此 需要再增加两个三极管来进行扩流,还可以起保护单片机的作用。 3.2反射式红外传感器电路 这里的寻迹是指小车在白色地板上寻黑线行走,通常采用的方法是红外探 测法。即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小 车行驶过程中不断地向 地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被安 装在小车上的接收管接收;如果遇到黑线则红外光被吸收,小车上的接收管接 收不倒红外光。单片机就是否反射回来的红外光为依据来确

18、定黑线的位置和小 车的行走路线。红外探测器探测的距离有限,一般最大不应超过 15cm。 这里用反射式红外传感器 ST188。当小车在白色地面行驶时,装在车下的红 外发射管发射红外线信号,经白色反射后,被接收管接收,一旦接收管接收到 信号,输出端将输出低电平;当小车行驶到黑线时,红外线信号被黑色吸收后, 将输出高电平,从而实现了通过红线检测信号的功能。将检测到的信号送到单 片机的 I/O 口,当 I/O 口检测到的信号为高电平时,表明红外光被地上的黑线 吸收了,表明小车处在黑色的引线上;同理,当 I/O 口检测到的信号为低电平 时,表明小车行驶在白色地面上。 传感器采取脉冲扫描式读。例如某时刻

19、P_SEN1 高电平,其余 P_SEN2 至 5 低, 这样 1、4 号传感器的红外发射管亮,其余传感器不发射红外线。等待数据稳定 后,读取 1、4 号传感器的数据。然后关闭 1、4 号传感器,打开 2、5 号传感器 电源,依次类推,读取 5 个传感器的数据。这样可以保证任何时刻都不会有临 近的传感器同时工作。从而保证了相邻传感器之间不会互相干扰。同时,红外 发射管是除了电机之外耗电最大的器件,脉冲工作方式可以大大减少耗电量。 3.3红外一体化接收头电路 传感器排布采用如下结构: 每个传感器组由一只红外发射管、一只一体化红外接收头,和一只电容构 成。可以测量该方向是否存在障碍物和判断障碍物的距

20、离。电容用来稳定电路, 防止电源和地发生短路。 硬件原理:采用一片 MSP430F245 作为控制器。利用 BasicTimer 的定时中 断,产生 38KHz 附近的若干频率,从 P1.1 输出方波。该方波经过三极管扩流来 增加驱动能力,给 3 个红外 LED 供电。为防止互相干扰,3 只 LED 轮流点亮, 每次只亮一只 LED,由 IRE 选择哪支红外 LED 被点亮。如果接收到反射回来的 红外线,接收端将输出 TTL 电平,被单片机接收,然后执行相应的避障措施。 如果未接收到任何信号,将一直输出高电平。 因为一体化接收头只对 38kHz 的方波敏感,而且它内部带有带通滤波器, 所以需要

21、在发送 38kHz 的时候发送一段时间关闭一段时间,否则传感器会认为 它是外界光而将返回的信号当作干扰信号而忽略掉。 为了避免各个传感器之间的相互干扰,需要轮流打开接收器。另外,因为 发光管发出的光是沿四面八方发送的,而且只要打开电源发射管就会工作,所 以也为了避免因别的发光管带来的干扰,需要将发光管包的严严实实的 这三个传感器所起的作用是不同的。这三个传感器用来检测前方、左边还 有右边是否有障碍物。通过对三方向的障碍物完成走迷宫的路线寻找。 3.4 处理器电路 小车采用一片 MSP430F245 作为控制器。MSP430F425 的特点是:有五种节电 模式;2 个 8 位,1 个 6 位并行

22、端口,全部端口均具有中断能力;保密熔丝的程 序代码保护;具有 1 个捕获比较寄存器的 16 位定时器 TIMER_A;多达 16KB FLASH ROM 和 512RAM 等等。 系统采用 32.768KHz 晶振作为定时采样用。另外留有 JTAG 口可以现场编程。 并且还有液晶引脚未用到,将来还可以扩展其功能。在做 PCB 板时已将这些引 脚引出,可以直接使用。 TIMERA 共有 4 种计数模式:停止模式、增计数模式、连续计数模式和增 减计数模式。我们用 TIMERA 的增计数模式来产生 38KHZ 的方波。具体原理为: 捕获比较寄存器 TACCR0 用作 TIMERA 增计数模式的周期寄

23、存器,因为 TACCR0 为 16 位寄存器,所以该模式适用于定时周期小于 65536 的连续计数情况。计数 器 TAR 可以增加计数到 TACCR0 的值,当计数值与 TACCR0 的值相等(或定时器 值大于 TACCR0 的值)时,定时器复位并从 0 开始重新计数。图 2.8 说明了增计 数模式的计数过程。当定时器的值等于 TACCR0 的值时,设置标志位 CCIFG0(捕 获比较中断标志)为 1,而当定时器从 TACCR0 计数到 0 时,设置标志位 TAIFG(定时器溢出标志)为 1。 计数过程中还可以通过改变 TACCR0 的值来重置技术周期。当新周期大于旧 周期时,定时器会直接增计

24、数到新周期;当新周期小于旧周期时,改变 TATACCR0 时的定值器时钟相位会影响定时器响应新周期的情况。时钟为高时改 变 TACCR0 的值,则定值器会在下一个时钟上升沿返回到 0,如果时钟为低时 改变 TACCR0 的值,则定时器接受新周期并在返回到 0 之前,继续增加一个时钟 周期。 可以随时间变化任意改变 PWM 信号的占空比,具体的做法是: 保持 TACCR0 的值不变(周期不变) 改变 TACCRx 值(改变占空比) 增计数模式时的输出实例 TIMERA 的输出模式由模式控制位 OUTMODEx 决定,共有 8 种输出模式。除模 式 0 外,其他的输出都在定时器时钟上升沿时发生变化

25、。这里我们将输出模式 选为输出模式 7。用该方式产生占空比为 50的 38KHZ 的方波;也可以通过改 变 TACCRx 的值来改变电机的转速,使其实现转弯、后退等动作。 第五章控制算法 5.1黑线位置判别 地面的黑线是导引线,位置读取和计算的准确度、稳定性将直接影响小车的 控制和运行。下图是实际运行中出现的情况,黑块表示感应到黑线的传感器。 传感器的排列比较密,可能 12 个传感器都能踩到黑线;转弯处车身倾斜甚至 23 个传感器都能踩到黑线。应该求黑线的中心位置作为结果。 图 5.1反射式红外传感器的运算图 计算的方法是从左数,找到第一个黑色传感器编 i,再从右数,找到第一个 黑色传感器编

26、j。(i+j)*10/2-20 就是黑线中心位置。 这样算出来的结果中有小数部分,用起来不太方便,因此我们将结果放大 10 倍,再减去之间位置时算出来的值。 5.2巡线算法 小车是一个非常典型的惯性系统。对于这一类被控对象,PID 算法能简单有 效的进行控制。对 PID 算法做个简单的说明: Position=0 Position= -15 Position=0.5 Posit= (i+j)*10/2-20 假设小车中心线在黑线中心线上,偏差为 0,小车正常行驶。如果某时刻检 测到黑线偏左,就要向左转弯;如果检测到黑线偏右,就要向右转。偏得越多, 就要向黑线方向打越大的舵角。这就是比例控制(P

27、) 遗憾的是,这种方法并不能将小车稳定在线上,因为小车有惯性。假设黑 线偏左,说明小车偏右了,需要左传舵,等到小车回到中心的时候,停止转舵, 可是小车的惯性会使车身继续左转,直到冲过黑线,黑线又偏右。然后控制过 程反复,车身是在左右摇摆中向前行走的。这种摇摆叫做“超调” ,超调越大, 控制越不稳定,容易出轨。 为了克服惯性,最简单的办法是任何控制动作都提前一点。适当调整提前 量可以抵消惯性;另外,即使偏移量相同的情况下,在不同半径的弯道,也需 要不同的舵角。这些都是比例控制不能实现的。我们除了位置信息之外,还需 要知道轨迹的变化趋势。 为了实现提前控制,在时间上,除非延长传感器,否则没有办法提

28、前获知 转弯。那么我们只能在控制量上想办法。一个函数的导数,反映了该函数的变 化趋势。同样我们可以用黑线位置的微分值来提前得到变化趋势。用本次位置 减去前次位置求出差值,就大致知道偏移量的变化趋势。将该差值和比例相加 后一起作为控制量,即可实现提前控制。这就叫做比例微分控制(PD 控制) 下图是小车的控制系统框图: 图 5.2PID 控制算法 传感器位置求出后,减去中心值,得到和中心的偏差量。该偏差量乘以比 例系数得到比例控制量。并且计算相邻若干次偏差量之间的差值,乘以微分系 数,得到微分控制量。将比例控制量和微分控制量相加,作为最终的舵角控制 量。 积分控制在此系统中没有使用,原因是舵角到位

29、置之间本身就是积分关系 的,另外积分控制有相当大的滞后,对控制稳定性不利。 一般在调节 P 和 D 时需要先调节 P 的值,因为比例系数较微分系数对 小车的影响更大。在调节 P 的值时可以先将 D 的值置为 0。当发现小车在偏离 黑线却可以很快的转回来时,P 就调的差不多了;D 的调节相对简单。 5.6 迷宫探路控制 对于迷宫寻路程序,如果迷宫不太复杂,且主要为纵横方向的直线,我们采 用让小车在路口始终左转或者始终右转的方法走迷宫,也就是让小车沿迷宫的 边沿走。 利用小车前面三个传感器来检测障碍,设置向前,向左,向右三个转向优 先级的高低,来进行自主搜索。左转优先级最高,其次是向前,最后是右转

30、。 通过延时使得小车每隔一段时间寻找左边界。在找到左边界的地方直行。倘若 未找到边界,则再向左偏移一定的角度,继续寻找,直至找到为止。 对于不太复杂的迷宫,使用该方法,一直沿着左边就可以走出迷宫了。 第六章第六章 相关软件相关软件 软件部分我分为两步来单独实现寻迹和避障功能。寻迹部分使用了前面的 五个反射式红外传感器,对于单独进行寻迹功能来说这已经足够了。红外一体 化接收头用到前面的三个,用来执行走简单迷宫的功能。 关于硬件的调试:一)用万用表进行一些简单的测试,可以检测出是否有 短路,断路,以及一些元器件的好坏。二)用示波器检测传感器的好坏,以及 能否正常工作,对于传感器的正常工作与否,还要

31、通过软件的调试与检测,以 便知道 CPU 能控制传感器的工作和接受传感器的信号,对整个系统进行控制 关于软件的调试: 一)对电机的控制运行调试; 二)对寻迹传感器的检测; 附: #define P_SEN14_H P1OUT |= (BIT5) /P1.5 #define P_SEN14_L P1OUT /声明数组,用于依次存放前 5 次的黑线 位置。 /* * 名 称:Sensor_Init() * 功 能:对反射式红外传感器进行初始化设置 * 入口参数:无 * 出口参数:无 */ void Sensor_Init() P1DIR |= (BIT5+BIT6+BIT7); P1OUT _DI

32、NT(); /将 IO 设为输出,其它默认为输入 /* * 名 称:DELAY() * 功 能:程序延时 * 入口参数:无 * 出口参数:无 */ void Delay(unsigned int j) for(unsigned int k=0;kj;k+); /* *名 称:Caculate_Position() *功 能:计算黑线位置 *入口参数:SensData,5 个传感器的返回值 *出口参数:SensorPosition *说 明: 通过计算黑线与中心位置的偏差来控制小车 */ signed char Caculate_Position(unsigned char *SensData)

33、 signed char i,j,SensorPosition; /存储 5 个的传感器的值 for(i=0;i=0;j-) /从右往左数,找第一个读到黑线的传感器编号 j if(SensDataj!=0) break; if(i=5) return(0 x80); SensorPosition=(i+j)*10/2-20; /黑线中心位置就是(i+j)/2 /定点数表示不了 0.5,所以除之前先乘 10,这样 0.5 就对应 5 /黑线位置值域就是 040。为便于表示偏差,零值应该在中间 /所以再减 20,变成-200+20 表示黑线最左中间最右 /如果全白(找不到黑线),就返回-128,作

34、为出错标志。 return(SensorPosition); /将计算结果返回 /* *名 称:ReadSensor() *功 能:读取黑线位置 *入口参数:无 *出口参数:Position,小车偏移量 */ signed char ReadSensor()/从传感器读取小车当前位置 signed char position; unsigned char i; unsigned char SensorData5; P_SEN14_H ; /打开 1、6 号传感器电源 Delay(400); /略延迟,等待数据稳定 SensorData0=SEN1_IN; /读 1 号传感器 SensorDat

35、a3=SEN4_IN; /读 6 号传感器(注意数组下标从 0 开始,编号少 1) P_SEN14_L; /关闭 1、6 号传感器电源 P_SEN25_H ; /打开 2、7 号传感器电源 Delay(400); /略延迟,等待数据稳定 SensorData1=SEN2_IN; /读 2 号传感器 SensorData4=SEN5_IN; /读 7 号传感器 P_SEN25_L ; /关闭 2、7 号传感器电源 P_SEN3_H ; Delay(100); SensorData2=0; P_SEN3_H ; /读取的 5 个传感器的状态,存入了 SensorData5里面 for(i=0;i0

36、) /Rotation 大于 0 是右转 /1 是左轮,2 是右轮 if(Rotation 5) Rotation = 5; TACCR1=601; /左轮全速前进 TACCR2=611-Rotation; /右轮减速 else /Rotation 小于 0 是左转 if(Rotation 4000) Temp_PID = 4000; if(Temp_PID-4000) Temp_PID = -4000; Temp_PID=Temp_PID/500; / -44 SetRotation(Temp_PID); void PWM_Init(void) P1SEL |= BIT2; /占空比为 7.

37、5%即 1.5ms 时,舵机停转 P2SEL |= BIT0; P1DIR |= BIT2; P2DIR |= BIT0; TACTL |= TASSEL_1 + TACLR; /TIMER_A 时钟源设为 ACLK,并清 TAR TACCTL1 =OUTMOD_7; TACCTL2 =OUTMOD_7; TACCR0 = 655; /TACCR0 中断周期约为 20ms TACCR1=601; TACCR2=611; TACTL |= MC_1; /TIMER_A 工作于增计数方式 /75 时占空比是 7.5% void Start_Wait() /加电源后延迟几秒 unsigned int

38、 i; for(i=0;i32000;i+); void main() WDTCTL = WDTPW + WDTHOLD; /系统初始化 FLL_CTL0 |= XCAP18PF; Start_Wait(); Sensor_Init(); PWM_Init(); signed char Position; while(1) Position=ReadSensor(); PID_Control(Position); Delay(1000); 三)对于避障传感器的检测。 附: #include msp430 x42x.h #define IRE1 (P1OUT unsigned char n,Fl

39、ag=0; void Delay1(unsigned int j) for(unsigned int i=0;ij;i+); void PWM_Init(void) P1SEL |= BIT2; /占空比为 7.5%即 1.5ms 时,舵机停转 P2SEL |= BIT0; P1DIR |= BIT2; P2DIR |= BIT0; TACTL |= TASSEL_1 + TACLR; /TIMER_B 时钟源设为 ACLK,并清 TAR TACCTL1 =OUTMOD_7; TACCTL2 =OUTMOD_7; TACCR0 = 655; /TACCR0 中断周期约为 20ms TACCR1=604; /小于 606 正转 TACCR2=608; /大于 606 正转 TACTL |= MC_1; /TIMER_B 工作于增计数方式 void Start_Wait() /加电源后延迟几秒 unsigned int i; for(i=0;i25) Backward(); Delay1(8000); T45L(); Forward()

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论