基于单片机的悬挂系统设计_第1页
基于单片机的悬挂系统设计_第2页
基于单片机的悬挂系统设计_第3页
基于单片机的悬挂系统设计_第4页
基于单片机的悬挂系统设计_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、摘 要 本次课题设计制作了一个单片机控制的悬挂系统,通过相关参数计算及程序的设计,使系统的各项性能指标满足课题要求。其核心部分是控制芯片单片机,由于其具有高集成度、高性价比、最简单外围电路、高效率等优点,所以能在实际生活中得到广泛的应用。悬挂轨迹控制系统是一套电机控制系统,控制物体在80cm100cm的范围内作直线、圆、寻迹等运动,并且在运动时能显示运动物体的坐标。本设计采用msp430f1611单片机对步进电机进行控制,通过多圈电位器实现对悬挂物位置的精确测量,并引入局部闭环反馈控制环节对误差进行修正,以达到对物体的控制和对坐标点的准确定位。控制信号经过l298驱动电路来驱动步进电机,完成相

2、应的规定动作;同时用键盘来控制任意坐标点的参数,并用液晶显示器显示悬挂物体中画笔所在位置的坐标;软件功能模块主要完成对步进电机运动的位置、速度、方向以及运动时间的控制。关键词:单片机 步进电机 算法abstractthis topic designed a suspension system which controlled by microprocessor, through the calculation of relevant parameters and procedures which designed to make the performance of the system to

3、 meet the subject requirements. its core part is the control chip microcontroller, since it has high level of integration, cost-effective, and the most simple buffer circuit,high efficiency etc, so that be widely applied in real life. suspension track control system is a set of motor control system,

4、 it controls the object in straight line, round, tracing, sports within the scope of 80 cm100 cm, and can show the coordinates of moving objects in sports by the time. this design uses the msp430f1611 microcontroller to control the stepper motor, achieving accurate measurement of the pedants positio

5、n through multi-turn potentiometer, and introduce local close-loop feedback control links to error correction, so that to achieve control the object and with a accurate location to coordinate. control signal drive stepping motor by l298 drive circuit, completing the corresponding regulations action;

6、 at the same time, using the keyboard to control any points of parameters, and display the coordinates of the brush in hanging objects with liquid crystal display. the software function module mainly completed control of the stepper motor in position, speed, direction and movement time.key words:sin

7、gle chip computer stepping motor arithmetic目 录摘要iabstractii绪论11 方案的比较与论证21.1 设计任务21.2 设计要求31.3 数学模型31.4 系统方框图41.5 方案的论证与选择41.5.1 单片机的选择与论证41.5.2 电机的选择与论证51.5.3 驱动电路的选择与论证51.5.4 显示模块的选择与论证51.5.5 红外探测器工作方式的选择与论证61.5.6 探测模块信号传输方式的选择与论证72 系统软件设计82.1 单片机系统简介82.2 msp430系列单片机介绍82.3 开发环境的简介102.4 开发语言的简介102.

8、5 算法分析112.5.1 软件设计原则112.5.2 脉冲与位移的关系112.5.3 位移/数据转换方法112.5.4 点到点运动122.6 步进电机控制方法132.7 步进电机控制程序的设计思想132.8 菜单程序的设计142.9 误差补偿142.10 程序流程152.10.1 主程序流程图152.10.2 定点运动子程序152.10.3 画圆子程序162.10.4 寻迹子程序172.10.5 液晶屏对运动物体坐标实时显示的实现182.10.6 单片机对步进电机的浮点型控制方法192.10.7 3*3点阵反射式红外光电传感器实现循线213 系统调试与数据记录223.1 测试指标223.2

9、测试仪器223.3 自行设定运动测试233.4 圆周运动测试233.5 定点运动测试233.6 循迹运动测试243.7 系统实现的功能24结论26致谢27参考文献2828绪 论 现代的车辆运动、医疗设备和工业控制等系统中,悬挂运动系统的应用越来越多,在这些系统中悬挂运动部件通常是具体的执行机构,悬挂部件的运动精确性是整个系统工作效能的决定因素,因而实际实现悬挂运动控制系统的精确控制具有极其重大的现实意义。步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步

10、距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。虽然步进电机已被广泛地应用,但步进电机并不能像普通的直流电机,交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。msp430系列单片机是美国德州仪器1996年开始推向市场的一种16位超低功耗、具有精简指令集的混合信号处理器(mixed signal processor)。称之为混合信号处理器,是由于其针对实际应用需求,将多个不同功能的模拟电路、数字电路模块和微处理器集成在一个芯片上,以提供“单片”解决方案。该系列单片机多应用于需要电

11、池供电的便携式仪器仪表中。本系统采用低功耗msp430f1611统平台设计了悬挂运动控制系统,采用l298驱动步进电机,提高电源利用率;红外传感检测,提高纠错能力。由单片机产生脉冲信号驱动有精确步距的步进电动机,电机带动悬挂部件在平面上做特定的准确运动。通过完成基于msp430单片机的悬挂系统软件的设计,将自动化专业相关的理论融会贯通,理解msp430单片机、步进电机的运行原理,步进电机的启动、控制方式,学会分析问题、解决问题,掌握系统工程设计的方法,为今后从事相关领域的研究及技能工作奠定良好的基础。1 方案的比较与论证1.1 设计任务本课题要设计一电机控制系统,控制物体在倾斜(仰角100度)

12、的板上运动。具体为在一白色底板上固定两个滑轮,两只电机(固定在板上)通过穿过滑轮的吊绳控制一物体在板上运动,运动范围为80cm100cm。物体的形状不限,但质量大于100克。在物体上固定有浅色画笔,以便运动时能在板上画出运动轨迹。板上标有间距为1cm的浅色坐标线(不同于画笔颜色),左下角为直角坐标原点, 示意图如下图1-1所示。图1-1 任务示意图1.2 设计要求 (1) 控制系统能够通过键盘或其他方式任意设定坐标点参数;物体在80100cm的范围内可以作自行设定的运动,运动轨迹长度不小于100cm,物体在运动时能够在板上画出运动轨迹,且必须要在300秒内完成;控制物体作圆心可任意设定、直径为

13、50cm的圆周运动,且必须要在300秒内完成;物体从左下角坐标原点出发,在150秒内到达设定的一个坐标点(两点间直线距离不小于40cm)。(2) 能够显示物体中画笔所在位置的坐标;控制物体沿板上标出的任意曲线运动,曲线在测试时现场标出,线宽1.5cm1.8cm,总长度约50cm,颜色为黑色;曲线的前一部分是连续的,长约30cm;后一部分是两段总长约20cm的间断线段,间断距离不大于1cm;沿连续曲线运动限定在200秒内完成,沿间断曲线运动限定在300秒内完成。1.3 数学模型本设计要求悬挂物能够画一个圆,采用微分曲线直线逼近法。首先将圆周等分为n份,将每小份弧线段等效为直线段画出,n越大,曲线

14、就光滑。设所画圆的圆心坐标为(,)半径为固定的25cm,(,)为圆周上的任意一点,由此确定圆的方程为: (1-1)若直接使用该方程来求圆上点的坐标,算法比较复杂,采用了圆的参数方程: (1-2) (1-3) 这样,则圆的坐标仅与参数t有关,使角度t以某一设定的角度步长v累加,使t+q*v在周期t,t+2内变化,其中q为累加值。这样就可以采样到圆上均匀的点,显然,角度步长v越小,在圆周上取得点越多,控制也会更精确2 1。1.4 系统方框图 系统总方框图如图1-2所示键盘控制器 显示显示驱动多圈电位器a/d转换直流电机电机驱动 反射式 光电传感器图1-2 系统总方框图1.5 方案的论证与选择1.5

15、.1 单片机的选择与论证系统的控制单元是整个系统的大脑,是整个系统运行的核心部件,起着控制系统所有运行状态的作用。通常选用单片机作为系统的核心控制单元。根据题目的设计要求,本设计主要实现勾画设定轨迹和对设定轨迹的搜寻功能,并能实时的显示物体中画笔所在位置坐标。方案一:fpga/cpld方式。用fpga/cpld完成键盘定义与识别、电机工作状态选择与切换、液晶电路的驱动与控制等功能。这种方案的优点在于系统结构紧凑、操作方便,而且可以使用的i/o口线很多;缺点是调试时需要接很多接线,过程繁琐,而且使用cpld时,由于其内部没有rom,对功能的实现有所限制。方案二:单片机方式。由单片机、电机驱动电路

16、及电机等组成系统。使用单片机也可以完成键盘定义与识别、电机工作状选择与切换等功能,组成的系统规模较小,有一定灵活性,而且可以使用我们比较熟悉的单片机最小系统电路板,减少了工作量。该控制方式需要单片机具有较大的程序存储量,所以可选择的f1611单片机,有非常丰富的资源,大容量的ram和flash,可以存储大容量的程序2 4。基于以上分析,拟选用方案二。1.5.2 电机的选择与论证方案一:采用普通直流电机。直流电机具有优良的调速特性,调速平滑、方便,调整范围广;过载能力强,能承受频繁的冲击负载,可实现频繁的无级快速启动、制动和反转;能满足生产过程自动化系统不同的特殊运行要求。方案二:采用步进电机。

17、步进电机的一个显著特点就是具有快速启停能力,如果负载不超过步进电机所能提供的动态转矩值,就能够立即使步进电机启动或反转。另一个显著特点是转换精度高,正转反转控制灵活。基于以上分析,拟选择方案二。1.5.3 驱动电路的选择与论证方案一:采用电机驱动芯片l298n来驱动。l298n芯片可以驱动两个二相电机,输出电压最高可达50v,可以直接通过电源来调节输出电压;可以直接用单片机的io口提供信号。方案二:自制步进电机的驱动电路。 通过使用不同的放大电路和不同参数的器件,可以达到不同的放大的要求,放大后能够得到较大的功率。但是由于使用的是四相的步进电机,就需要对四路信号分别进行放大,当电机的功率较大时

18、运行起来会不稳定,而且电路的制作也比较复杂。基于以上分析,拟选择方案一。1.5.4 显示模块的选择与论证方案一:采用led数码管显示器。 led数码管亮度高、醒目,但是其电路复杂,占用资源较多且信息量小。方案二:采用led液晶显示器。 lcd有明显的优势:工作电流比led小几个数量级,故其功耗很低;尺寸小,厚度约为led的1/3;字迹清晰、美观、使人感觉舒服;寿命长,使用方便。 针对本课题,对信息量要求比较大,而对亮度的要求并不是很高,经过仔细比较,我们决定采用方案二。1.5.5 红外探测器工作方式的选择与论证 红外探测器由于发射功率大、抗干扰能力强而在工业生产中有着广泛的应用。红外探测器按其

19、工作模式可大致分为主动式与被动式。主动式红外探测器自带红外光源,通过对光源的遮挡、反射、折射等光学手段可以完成对被测物体位置的判别;被动式红外探测器本身没有光源,通过接受被探测物体的特征光谱辐射来测量被探测物的位置、温度或进行红外成像。 主动式红外传感器又可分为分立元件型、透射遮挡型和反射型。分立元件型发光管与接受管相互独立,用户在使用时可以 根据需要灵活的设定发光管与接受管的位置,并可利用棱镜、透镜等完成特殊的目的,其缺点是装置麻烦;透射遮挡型和反射型通过塑料模具将发光管与接受管封装在一起,非常方便用户使用。反射式光电判读器外型如图1-3所示。图1-3 反射式光电判读器 针对本课题,应该选择

20、主动式红外反射传感器,其驱动方式可以分为直流直接驱动方式与交流调制方式。 方案一:采用直流直接驱动方式。直流直接驱动方式装置简单,但检测距离和抗干扰能力都比较差。 方案二:采用交流调制方式。交流调制方式由于可以采用交流耦合方式,解决了放大器的直流漂移问题,从而大大提高检测的距离,同时由于环境光产生的干扰多数情况是信号的直流或低频分量,可以由滤波器加以隔离,因此交流调制方式抗干扰能力也比较强,其缺点是系统相对复杂。 在本题中,我们制作了一个小箱封装传感器,使传感器受环境光的影响较小,所以我们选择简单可靠的直流直接驱动方式即方案一。1.5.6 探测模块信号传输方式的选择与论证 循迹传感器是实现本课

21、题扩展部分,即实现循迹功能。传感器我们采用反射式光电传感器fs359f为核心组成探测模块。由于探测模块要安装在绳子牵引的物体上,所以传感器部分与主机的信号传输就成了一个大问题。 方案一:采用无线电传输模块。 将无线传输发射模块固定在物体上,而将接收模块安装在主机机箱里。这样,实现了探测模块与主机的无线通信,解决了有线传输对物体运动的影响。但无线电传输模块重量较大,加上传感器及其驱动电路的重量将给电机驱动带来巨大的困难;无线电传输模块价格较高,不太适用于本系统。 方案二:采用红外传输模块。 红外传输模块同样可以解决有线传输对物体运动的影响问题,且结构较无线电模块要简单不少。但红外传输容易受环境光

22、的影响,而我们设计的系统对这种扰动有比较敏感。 方案三:采用有线传输。 红外传输的最大缺点在于导线对运动物体影响较大,有可能影响物体的准确定位。但有线传输稳定、可靠,且易于实现。综合以上分析,我们认为步进电机性能较好,能够在一定程度上克服导线对物体的影响,所以选择了稳妥的有线传输即方案三。 2 系统软件设计2.1 单片机系统简介本课题选用msp430系列单片机为主控芯片。虽然51系列单片机是目前市场上最流行的机型,也先于msp430系列问世,但相比之下,msp430系列单片机具有许多51系列单片机所不具备的性能15 5。首先,msp430系列单片机的存储器统一分布在0000h-ffffh地址内

23、,不论是flash、ram还是sfr都在这个统一地址范围内,而且没有可位寻址的内存单元,以便用户查找;而51系列则有idata、bdata、xdata、pdata、code等诸多不同的存储类型,需要使用一系列复杂的指令来分别寻址,让初学者很难搞清楚这些概念之间的区别,从而抬高了入学的门槛,一定程度上阻碍了其广泛应用15 0。其次,msp430系列单片机拥有简化了的指令。与拥有110多条指令的51系列相比,msp430仅有27条,大大简化了繁琐的指令区分。另外,从开发工具方面来看,430系列的开发只需要一条jtag下载电缆,而51的开发需要编程器、仿真器,开发过程中,仿真是一个必不可少的过程,m

24、sp430的在线仿真功能能够实现实时ram查看和修改,这点让51望尘莫及。2.2 msp430系列单片机介绍超低功耗msp430系列单片机的电源采用1.83.6v低电压,在ram数据保持方式下仅耗电0.1a,其中活动耗电250a/mips(每秒百万条指数),i/o输入端口的最大漏电流量仅50na。msp430系列单片机有独特的时钟系统设计,包括两个不同的时钟系统:基本时钟系统、锁频环(fll和fll+)时钟系统或数字振荡器时钟系统。由时钟系统产生 cpu和各功能模块所需的时钟,并且这些时钟可以在指令的控制下打开或关闭,从而实现对总体功耗的控制。由于系统运行时使用的功能模块不同,即采用不同的工作

25、模式,芯片的功耗有明显的差异。在系统中共有一种活动模式(am)和五种低功耗模式(lpm0lpm4)。另外,msp430系列单片机采用矢量中断,支持十多个中断源,并可以任意嵌套。用中断请求将cpu唤醒只需要6s。通过合理编程,既可以降低系统功耗,又可以对外部事件请求做出快速响应。msp430系列单片机具有如下几点特性:(1) msp430系列单片机具有强大的处理能力。msp430系列单片机是16位单片机,采用了目前最流行的、颇受学术界好评的精简指令集(risc)结构,一个时钟周期可以执行一条指令(传统的mcs51单片机要12个时钟周期),使msp430在8mhz晶振工作时,指令速度可以达到8mi

26、ps。同样,msp430系列单片机中的某些型号,采用了一般只有dsp中才有的16位多功能硬件乘法器、dma等一系列先进的体系结构,大大增加了它的数据处理和运算能力,可以有效地实现一些数字信号处理的算法(如fft、dtmf等)。这些结构在其他系列单片机中尚未使用。(2) msp430系列单片机具有丰富的外围模块。单片机结合ti的高性能模拟技术,各成员都集成了较丰富的片内外设。视型号不同可能组合有以下模块:看门狗(wdt),模拟比较器a,定时器a(timer_a),定时器b(timer_b),串口0,1(usart0,1),硬件乘法器,液晶驱动器,10/12/14 位adc,12位dac,i2c总

27、线,直接内存访问(dma),端口16(p1p6),基本定时器(basic timer)等。其中,看门狗可以在程序失控时迅速复位;模拟比较器进行模拟电压的比较,配合定时器可以设计出高精度(1011位)的a/d转换器;16位定时器具有捕获/比较功能;大量的捕获/比较寄存器,可用于时间计数、时序发生、pwm等;多功能串口(usart)可实现异步、同步通信和i2c串行通信,可方便地实现多机通信等应用;具有较多的i/o,最多可达48条i/o口线,i/o输出时,不管是灌电流还是拉电流多大,每个端口的输出晶体管都能限制输出电流最大约为6ma,保证系统安全;p1、p2端口能够接收外部上升沿或下降沿的中断输入;

28、12位a/d转换器具有较高的转换速率,最高可达200kbps,能够满足大多数数据采集应用;lcd驱动模块能直接驱动液晶多达160段;f15x和f16x系列有两路12位高速dac,可实现直接数字波形合成等功能;硬件i2c串行总线可以扩展i2c接口器件;dma功能可以提高数据传输速度,减轻cpu的负荷。msp430系列单片机的丰富片内外设,在目前所有单片机系列产品中式非常突出的,为系统的单片解决方案提供的极大的方便。(3) msp430系列单片机系统工作稳定。上电复位后,首先由doc_clk启动cpu,以保证程序从正确的位置开始执行,保证晶体振荡器有足够的起阵及稳定时间。然后软件可以设置适当的寄存

29、器的控制位来确定最后的系统时钟频率。如果晶体振荡器在用作cpu时钟mclk时发生故障,dco会自动启动,以保证系统正常工作。这种结构和运行机制,在目前各系列单片机中是绝无仅有的。另外,msp430 系列单片机均为工业级器件,运行温度范围为-40+85c,运行稳定、可靠性高,所以设计的产品适用于各种民用和工业环境。(4) msp430系列单片机具有方便高效的开发环境。对于flash型有十分方便的开发调试环境,因为器件内有jtag调试接口,还有可电擦写的flash存储器,因此采用先通过jtag接口下载程序到flash内,再由jtag接口控制程序运行、读取片内cpu状态,以及存储器内容等信息供设计者

30、调试,整个开发(编译、调试)都可以在统一软件集成环境中进行。这种方式只需要一台pc机和一个jtag调试器,而不需要专用仿真器和编程器。开发语言有汇编语言和c语言。目前比较好用的软件开发工具是iar workbench。这种以flash技术、jtag调试、集成开发环境结合的开发方式,具有方便、廉价、实用等优点,在单片机开发中还较少见。其他系列单片机的开发一般需要专用的仿真器或编程器11。2.3 开发环境的简介集成开发环境(简称ide integrated develop environment)是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。就是集成了代码

31、编写功能、分析功能、编译功能、debug功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫做ide。本系统采用c语言进行程序指令的编写。iar embedded workbench开发环境支持msp430、msp430x系列,能产生非常紧凑、高效的代码,其标准版包含各种硬件调试系统和rtos的插件,是高度优化的msp430 c/c+编译器。其具体操作步骤如下:(1) 运行iar embedded workbench集成化开发环境;(2) 添加一个工作区,并在工作区中添加一个项目;(3) 在项目中添加自己的程序代码,最后编译,模拟调试;(4) 将程序下载到单片机中,将硬

32、件与软件一起进行联机调试。2.4 开发语言的简介c语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序,是一种明显优于其它解释型高级语言的语言。因此,它的应用范围非常广泛,甚至一些大型应用软件也是用c语言编写的9。总的来说,c语言具有强大的绘图能力、数据处理能力和可移植性,因此适用于编写系统软件、二维或三维图形和动画,是数值计算的高级语言并发展成为最受欢迎的语言之一。c语言程序所拥有的完整的程序模块结构为软件开发中模块化程序的设计和代码的移植提供了有力保障,同时缩短了开发人

33、员的开发周期。c语言编程深受开发人员的青睐。本系统就是使用c语言来编写系统的软件程序,通过单片机和外部的硬件电路来实现无线数据的接收与发送。2.5 算法分析2.5.1 软件设计原则程序设计时应遵循以下基本原则:正确性、可靠性、简明性、有效性、可维护性、可移植性。随着软件规模的扩大和复杂化,人们体会到在整个软件生命周期中,程序不仅仅要被计算机理解和执行,还要经常被人阅读。程序编码的风格是指程序的易读性、易理解、易修改性和程序的资料文档化等。2.5.2 脉冲与位移的关系 位移/脉冲转换方法:给步进电机一定频率的脉冲,使电机拖动一个载体移位100cm,记录下此期间所给脉冲总数z, 由此则可计算步进电

34、机拉动载体位移1mm所需的脉冲数(注意给定的频率不要太高,否则会出现丢步。多测几次,取脉冲数相近的那个脉冲数z),因此,直接可将拉线的位移转化为送给电机的脉冲个数。脉冲的频率决定转速,脉冲个数决定位移。2.5.3 位移/数据转换方法首先记录初始a/d转换出来的数据,再使电机1工作,电机2停止,使电机拖动一载体移位100cm,再记录下此期间所变化的a/d转换出的数据,由此则直流电机拉动载体位移1mm所需的数据,因此,直接可将拉线的位移转化为单片机检测a/d转换出来的数值。a/d转换的数值决定位移。2.5.4 点到点运动结合图2-1说明,假设(,), (,)为给定平面范围上的任意两点,作辅助线(图

35、中虚线部分),在直角三角形abe中为ae长, (2-1)在直角三角形cde中为ce长, (2-2) 同理对于f点,为af长,为cf长,则两拉线长分别为: (2-3) (2-4)因此当悬挂物从e点运动到f点时: 电机1的收放线长度为c(当c0时,电机反转(或拉线收缩) (2-5)电机2的收放线长度为d(当d0时,电机正转(或拉线伸长) (2-6)根据c,d的正负分别确定电机1,电机2的正反转向。设绳索位移1mm对应的ad变化值为p,而根据c,d 的绝对值来确定电位器1,电位器2所要变化的值:电位器1所分配的数值m: (2-7)电位器2所分配的数值n: (2-8)图2-1 点到点运动示意图由此,利

36、用软件实现以上算法来分别控制两个步进电机的步进a,b,这样就可以向控制系统输入起点坐标和终点坐标让物体在画板置任意行走。因此物体可以由自行设定的两点坐标走直线2。2.6 步进电机控制方法在设计步进电机的控制程序时,我们首先实现了左移、右移、正转、反转功能,并在此基础上设计了goto(x,y)函数,使物体能够到达设定的任意点。goto(x,y)函数是程序的核心部分,通过它可以实现画指定图形、画圆、到达任意指定点等高级功能。 2.7 步进电机控制程序的设计思想我们设计了一个正解和一个反解的函数来实现物体要到达的坐标(x,y)与两电机要移动的长度(l1,l2)之间的换算。由于步进电机的步距角是1.8

37、度,也就是说要对步进电机施加200个脉冲步进电机才能转一周。我们还制作了一个直径d为1厘米的绕线轮。设单片机发出的脉冲信号数为n,电机移动长度差为l,则有: 200nd=l (2-9)这样就实现了位移信息与单片机输出信号的联系,单片机就可以稳定且准确地控制物体6。2.8 菜单程序的设计 我们仅利用六个键就实现了对这个复杂系统的自动控制,这是因为我们设置了丰富的模式,具体模式如表2-1所示: 表2-1 菜单键模式mode=1 按enter:执行fun1mode=2按enter:画圆mode=3 按enter:到达锁定点mode=4左电机微调mode=5右电机微调mode=6圆心x调节mode=7

38、圆心y调节mode=8dst_x调节mode=9dst_y调节2.9 误差补偿为了使运动轨迹更加平滑,采用脉冲宽度调制技术控制直流电机驱动芯片l298,以实现对电机的转速工作状态进行快速而准确的控制,设电机1所运行的线值为n,电机2所运行的线值为m,则输出到电机1和电机2的定时器初值比例为n/m,这样可使电机1和电机2同步到达目标点。在点到点运行中,假设电机2的定时器初值为t,则电机1的定时器初始为n/m*t,该算法可能会造成电机所运行的路径为一条曲线,可以让单片机不断计算当前点到目标点的距离,不断改变定时器初值,也可以将直线分成几个线段来运行,使得所运行轨迹精度更高,直线更平滑8。2.10

39、程序流程2.10.1 主程序流程图本系统软件设计采用汇编语言与c语言交叉使用,为达到题目要求的控制精度和响应时间,针对各项功能设计相应的巧妙算法,采用了汇编语言与c语言交叉使用。系统软件主程序流程图如图2-2所示:开始初始化设置判断是否有键按下归位定点运动自设运动循迹设置确认否画圆返回 图2-2 主程序流程图2.10.2 定点运动子程序 键盘读入功能键和起始坐标值(,),将(,)带入式5-1和式5-2中计算出和。再从键盘读入终点坐标值(,),也将其带入式5-3和式5-4中计算出和,程序流程图如图2-3所示。 开始计算当前左边相对目的坐标的位置,计算出相对亮点为其所要变化的值输出脉冲,启动电机自

40、动模数转换转化结果等于计算值否返回图2-3 定点运动子程序流程图2.10.3 画圆子程序根据圆的参数方程的计算圆上点的坐标,通过调用定点程序来实现,画圆程序流程图如图2-4所示。开始计算圆上的点调用定点子程序画完否?返回图2-4 画圆子程序2.10.4 寻迹子程序通过判断传感器的不同状态值,作出相应的处理动作,当遇到断点时,多角度检测下段的黑线,直到再次检测到黑线。寻迹子程序流程图如图2-5所示。 开始初始化偏离黑线否?纠偏,使传感器回到黑线内沿四十五度方向移动偏离黑线?计数器加一累加到50次?调用断点子程序返回图2-5 循迹子程序流程图2.10.5 液晶屏对运动物体坐标实时显示的实现在物体的

41、运动过程中,单片机1精确地计算出物体的坐标,并每隔一段时间向单片机2传输一次物体的坐标信息,由单片机控制液晶屏显示。液晶屏对运动物体坐标实时显示如图2-6所示。此外,液晶屏还担负着显示控制模式、显示设定位置等任务。显示圆心坐标位置到圆心点o从0度开始画结束转化结果等于计算值否 图2-6 液晶屏对运动物体坐标实时显示的实现2.10.6 单片机对步进电机的浮点型控制方法在利用单片机控制步进电机的转动时,我们先后采取了两套方案,现分别予以介绍:方案一:每一个脉冲信号控制步进电机转动一个步距角,这样的控制方法易于实现,但也有其突出的缺点。若两个电机同时实现同样的位移,则此算法对物体的影响不大,但如果两

42、个电机在相同时间内位移量不相同,则容易出现很明显的抖动。如图2-7所示,虚线为物体想要运动轨迹,而实线为物体实际的运动轨迹,虽然两者的大体趋势是相同的,但可以发现物体发生了明显的抖动。图2-7 物体的不理想运动轨迹方案二:浮点型控制方法,所谓浮点型控制方法就是在一定的时间内看起来物体只走了一个小数步,现举例说明:如左电机要实现一百步的位移而右电机只要实现60步的位移,那我们就设定在一个单位时间内左电机只走半步,而右电机只走0.3步,当电机的步数积累超过1时,步进电机才向前真正地迈出一步。也就是说,我们所说的半步,0.3步都是虚拟计算出来的,并不是步进电机真正地走了半步。因为我们知道,一个脉冲只

43、能使步进电机走一步,其具体过程如下图2-8如示:三角计算求解卷线线求解卷线浮点步进比例计算左电机浮点步进角计算步进角计算右电机浮点数步进角走完图2-8 浮点型控制方法2.10.7 3*3点阵反射式红外光电传感器实现循线对于本课题挥部分-运动物体的循线,我们进行了仔细的分析,我们为,本要求虽然属于循线,但不同于前几年的循线小车,难度更加的大,为了实现更精确的控制,我们采用了3*3点阵反射式红外光电传感器实现循线。对于循迹小车,之所以易于控制,是因为小车可以实现转弯,这样只用一排传感器就可以实现寻线。而对于此悬挂物体,控制就十分麻烦。在软件算法中,除了中央的传感器一定在黑线上之外,其他8个传感器都

44、有可能检测到黑线。如图2-9所示。图2-9 3*3点阵反射式红外光电传感器为了处理各传感器的信息,在程序中建立一个堆栈。存储连续的十点的位移信息。当有多个传感器检测到黑线时,系统控制物体向最靠近十点曲线的方向前进。3 系统调试与数据记录3.1 测试指标设计题目所要求的各基本功能和发挥部分进行分项测试。本系统的调试主要包括硬件调试及软件调试两部分,调试的工作量比较大。系统的硬件调试和软件调试是密切相关的,两者密不可分。例如许多硬件错误都是在软件调试中被发现和纠正的。系统的调试通常是先排除明显的硬件故障以后,再和软件结合起来调试以进一步排除故障。硬件的调试是基础,如果硬件调试不通过,软件设计则是无

45、从做起。而软件调试则与所选用的软件结构和程序设计技术有关。软件的仿真调试过程如下:程序编写完成后,先在iar embedded workbench集成开发环境中选择:projectoptionsdebuggerdriversimulator,即选择模拟调试。在调试过程中,如发现类似端口配置出现错误、中断结束没有清零进入死循环、发送地址与接收地址不匹配等问题后,必须进行单步调试。具体联机调试过程如下:待完成模拟调试后选择:projectoptionsdebugger driver fet debugger,即选择联机调试,再用下载线将单片机与电脑连接,将程序下载到控制芯片msp430f1611中

46、。经过联机调试,整个系统的软件和硬件能够正确的运行。3.2 测试仪器使用的仪器设备如表3-1所示。表3-1 测试使用的仪器设备序号 名称、型号、规格 数量 / 台 备注 1 数字万用表: vc9806 1 胜利公司 2 微机稳压电源: 1 启东计算机总厂 3 双踪示波器 ds5022m 1 rigol 4 米尺 1 - 5 秒表 1 - 3.3 自行设定运动测试将物体放在坐标原点,控制物体作自行设定的运动。运动距离设定为136cm,完成时间为55.86s。表3-2是多次测试的纪录。表3-2 自行设定运动测量数据 测试次数 1 2 3 行程 /cm 136 136 136 全程运动时间 /s 5

47、5.86 55.45 55.65 3.4 圆周运动测试首先设定圆心坐标,根据给定半径,单片机控制物体运动到画圆的起始位置,并语音提示开始画圆。经测试所画圆的最大轨迹误差为0.5cm,所用时间为48.56s。经过多次测试完成良好。表3-3为测试记录。 表3-3 圆周运动测量表测试次数 / 次 设定圆心坐标(x,y) 画笔位置坐标显示情况 完成时间 /s 完成情况 误差 /cm 其他发挥 1 40.00 ,50.00实时显示 48.83 良好 0.10 语音提示 2 45.00 ,55.00实时显示 48.56 良好 0.10 语音提示 3 35.00 , 50.00实时显示 47.85 良好 0

48、.10 语音提示 3.5 定点运动测试首先设定物体所要到达的一个点的坐标,控制物体总左下角原点出发,在规定时间内较好的完成了题目要求。表3-4是多次测试的纪录。表3-4 定点运动测量数据 序号 设定坐标(x,y) 实际测量 误差 /cm 完成时间 /s 其他发挥 1 45.00 , 55.00 44.80, 54.80 0.200.50 22.55 语音提示 2 40.00 , 40.00 39.80 , 39.70 0.230.45 16.80 语音提示 3 70.00 , 85.00 69.80 , 84.40 0.240.38 28.33 语音提示 3.6 循迹运动测试利用光电测试模块,由单片机控制物体作任意形状的寻迹运动,并能判断间断线段,表3-5为多次测试的结果。表3-5 寻迹测量数据序号 连续线段循迹情况完成时间 /s 间断线段循迹情况 完

温馨提示

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

评论

0/150

提交评论