基于单片机的步进电机小车控制系统设计_第1页
基于单片机的步进电机小车控制系统设计_第2页
基于单片机的步进电机小车控制系统设计_第3页
基于单片机的步进电机小车控制系统设计_第4页
基于单片机的步进电机小车控制系统设计_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

1、第1章绪论基于单片机的步进电机小车驱动系统设计摘 要本设计以 STC89C52 单片机最小系统为核心,设计了一种两相四线步进电机的驱动器电路。整个系统通过单片机控制步进电机驱动器的输出信号,对步进电机的动作进行控制,进而实现小车的行走动作。文章包括了步进电机正转、反转、加速、减速这些基本旋转,以及在此基础之上同时控制两个步进电机,实现小车的前进、后退、左转与右转。并在小车上增加一些传感器模块,使单片机正常驱动步进电机,带动小车执行相应任务的同时,根据传感器模块的反馈,不断修正,直到任务实现小车循迹与避障功能。至此来证明所设计的驱动电路的可行性。文章中不仅包括了在步进电机驱动电路基础上的单片机扩

2、展电路,也包括了专门为单片机供电的5V稳压电路的分析与设计,以及使单片机串口与计算机USB接口直接进行通信的上位机电路的设计。关键词:STC89C52;步进电机;步进电机驱动电路;循迹;避障第1章绪论Stepping motor vehicles drive system design based on Single-Chip Microcomputer AbstractThis design with STC89C52 SCM smallest system as the core, designed a two phase four-wire stepping motor drive ci

3、rcuit. The whole system by single chip microcomputer control stepping motor drives the output signal, to control the motion of the stepper motor, and realizes the car to walk. Articles including the stepper motor are turning, inversion, acceleration, deceleration, these basic rotation, and on t

4、his basis at the same time control two stepper motors, implement the car move forward, backward, turn left and turn right. And add some on the car sensor module, MCU to normal driving stepping motor, drive car corresponding tasks at the same time, according to the feedback of sensor module, the corr

5、ection unceasingly, until the task to realize the car tracking and obstacle avoidance function. At this point to prove the feasibility of the designed driver circuit.Not only included in the article based on step motor drive circuit of single chip microcomputer extended circuit, also included for MC

6、U power supply 5 v voltage regulator circuit analysis and design, and make the microcontroller serial port and the computer USB interface directly communicate superior mechanical and electrical design of the road.Keywords: STC89C52; stepper motor; stepper motor drive circuit; tracking; obstacle avoi

7、dance第1章绪论目 录第1章绪论11.1课题背景11.2 课题研究的内容1第2章 系统总体设计22.1 系统设计要求22.2系统框图22.3设计规划2第3章系统硬件设计43.1单片机介绍43.1.1单片机概述43.1.2单片机的特点43.1.3单片机的应用领域43.1.4 单片机选用53.1.5控制电路设计63.1.6单片机供电模块设计93.2步进电机介绍103.2.1步进电机的概述103.2.2步进电机的特点103.2.3步进电机的工作原理113.2.4步进电机选用113.3步进电机驱动器的设计113.4系统功能设计133.4.1循迹功能133.4.2避障功能153.5上位机电路设计15

8、第4章系统软件设计194.1电机控制流程图194.2 电机方向控制194.3速度控制204.4循迹214.5避障流程图21第5章总结与展望235.1总结235.2展望23参考文献24 附录 程序清单25 1.电机旋转程序25 2.循迹程序27 3.避障程序31 附录 单片机驱动电机电路35 附录 外文文献翻译36 I附录 外文文献翻译第1章绪论- 1 -1.1课题背景步进电机是自动控制系统中常用的执行部件。步进电机的输入信号为脉冲电流,它能将输入的脉冲信号转换为阶跃型的角位移或直线位移,因而步进电机可看作是一个串行的数/模转换器。由于步进电机能够直接接受数字信号,而不需数 /模转换,所以使用微

9、机控制步进电机显得非常方便1。步进电机有以下优点: (1)通常不需要反馈就能对位置和速度进行控制;(2)位置误差不会积累;(3)与数组设备兼容 ,能够直接接收数字信号;(4)可以快速启停。 步进电机的品种规格很多,按照它们的结构和工作原理可以划分为磁阻式(也称反应式或变磁阻式)电机、混合式电机、永磁式电机和特种电机等四种主要型式。步进电机不需位移传感器就可精确定位,所以在精确定位系统中应用广泛。目前打字机、计算机外部设备、数控机床、传真机等设备都使用了步进电机。随着电子计算机技术的发展,步进电机必将发挥它的控制方便、控制准确的特点,在工业控制等领域取得更为广泛的应用2。1.2 课题研究的内容步

10、进电机作为执行元件,是机电一体化的关键产品之一,广泛应用在各种自动化控制系统中。它是用电脉冲信号进行控制,将电脉冲信号转换成相应的角位移或线位移的微电动机,它最突出的优点是可以在宽广的频率范围内通过改变脉冲频率来实现调速,快速起停、正反转控制及制动等,并且用其组成的开环系统既简单、廉价,又非常可行,因此在打印机等办公自动化设备以及各种控制装置等众多领域有着极其广泛的应用。随着微电子和计算机技术的发展,步进电动机的需求量与日俱增,研制步进电机驱动器及其控制系统具有十分重要的意义。本次毕业设计选用的步进电机是两相步进电机,通过软件和硬件的结合首先实现步进电机的启停、正转、反转、调速功能,在此基础上

11、实现循迹、避障。可以通过控制脉冲个数来控制角位移量,从而精确地控制转动角度;同时可以通过控制脉冲频率来控制电机转动的角度和加速度,从而达到调速的目的。第2章 系统总体设计2.1 系统设计要求基于单片机的步进电机小车系统,就是在单片机最小系统的基础上,增加一些模块,使单片机正常驱动步进电机,带动小车执行相应任务的同时,根据传感器模块的反馈,不断修正,直到任务实现。为了实现任务,还需设计一些为系统服务的模块。2.2系统框图本系统单片机电路部分由供电电路、时钟电路、复位电路与I/O电路部分组成,再由单片机控制电机实现循迹功能与避障功能。本系统设计各部分框图如图2-1所示:图2-1 系统框图2.3设计

12、规划由于整个系统基于单片机,首先应该了解单片机的特点以及应用领域与应用方法。其次,单片机包括很多种类,在大致了解单片机之后应该为设计选择一款合适的单片机,之后再对这款单片机经行深入研究,了解这款单片机的各项参数与内部构造,才能知道单片机与其他芯片的连接方法。步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接受到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,它的旋转是以固定的角度是一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的正反与速度及两个电机之间的协调配合,从而达到控制目的。但单片机不能直接驱动步

13、进电机,最好的解决方法是设计一种步进电机驱动器,由单片机控制驱动器,再由驱动器驱动步进电机。单片机作为总控制芯片要有稳定合适的电压输入,所以在单片机与电源之间要接稳压电路。另外,为了能更方便的让计算机与单片机通信,还要设计一种上位机软件。到这里只是能让步进电机执行预定的动作,并没有体现单片机控制步进电机的灵活性。因此还可以让小车设计实现循迹与避障两个功能,让小车在接收传感器反馈信号的情况下,完成预想的任务。第3章系统硬件设计3.1单片机介绍3.1.1单片机概述单片微型计算机简称单片机,又称为微控制器(MCU Single-Chip Microcomputer),它的出现是计算机发展史上的一个重

14、要里程碑,它以体积小、功能全、性价比高等诸多优点而独具特色,在工业控制、尖端武器、通信设备、信息处理、家用电器等嵌入式应用领域中独占鳌头。51系列单片机 是国内目前应用最广泛的一种8位单片机之一3。经过20多年的推广与发展,51系列单片机形成了以个规模庞大、功能齐全、资源丰富的产品群。随着嵌入式系统、片上系统等概念的提出和普遍接受及应用,51单片机的发展又进入了以个新的阶段。许多专用功能芯片的内核集成了51单片机,与51系列单片机兼容的微控制器以IP核的方式不断地出现在FPGA的片上系统中。近年来,基于51单片机的嵌入式实时操作系统的出现与推广,表明了51系列单片机在今后的许多年中依然会活跃如

15、故,而且在很长一段时间中将占据嵌入式系统产品的低端市场。 3.1.2单片机的特点单片机就是将CPU,RAM,ROM,定时/计时器和多种接口集成在一块芯片上的微型计算机4。 其主要特点如下: (1)片内存储容量较小:原因是受集成度的限制。ROM一般小于8KB,RAM一般小于256B,但可以在外部扩展.通常ROM,RAM可分别扩展至64KB。(2)可靠性高:因为芯片是按工业测控环境要求设计的,故抗干扰的能力优于PC机。系统软件(如:程序指令,常数,表格)固化在ROM中,不易受病毒破坏。许多信号的通道均在一个芯片内,故运作时系统稳定可靠。(3)便于扩展:片内具有计算机正常运行所必需的部件,片外有很多

16、供扩展用的(总线,并行和串行的输入/输出)管脚,很容易组成一定规模的计算机应用系统。 (4)控制功能强:具有丰富的控制指令:如条件分支转移指令,I/O口的逻辑操作指令,位处理指令。 (5)实用性好:体积小,功耗低,价格便宜,易于产品化。3.1.3单片机的应用领域目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。 因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。单片机广泛应用于家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴5: (1)在工业控制中的应用 用单片机可以构成形式多样的控制系统、数据采集系

17、统。例如工厂流水线的智能化管 理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。 (2)在家用电器中的应用 可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。 (3)在计算机网络和通信领域中的应用 现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机 网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机 智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、 再到日常工作中随处可见的移动电话,集群移动通信,无线

18、电对讲机等。 (4)单片机在医用设备领域中的应用 单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超 声诊断设备及病床呼叫系统等等。此外,单片机在工商、金融、科研、教育、国防航空航 天等领域都有着十分广泛的用途。3.1.4 单片机选用目前应用广泛的单片机为51系列单片机,89C52单片机的内部RAM、ROM要大于89C51单片机,能允许更大的程序运行,并且其它一些指标要优于后者,故本设计选用了前者作为主控制芯片。本系统设计应用的是STC89C52单片机作为主处理芯片。这个芯片是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

19、它的主要功能特性如下6: 1.兼容MCS51指令系统  2.8k可反复擦写(大于1000次)Flash ROM;3.32个双向I/O口; 4.256x8bit内部RAM;  5.3个16位可编程定时/计数器中断;6.时钟频率0-24MHz;  7.2个串行中断,可编程UART串行通道; 8.2个外部中断源,共8个中断源;9.2个读写中断口线,3级加密位;  10.低功耗空闲和掉电模式,软件设置睡眠和唤醒功能;  11.有PDIP、PQFP、TQFP及PLC

20、C等几种封装形式,以适应不同产品的需求。本设计为了能让单片机的引脚更加容易接出,采用的是PDIP封装,它的引脚图与实物图如图3-1与3-2所示: 图3-2 STC89C52实物图图3-1 STC89C52引脚图3.1.5控制电路设计本系统是在单片机最小系统上进行设计的。单片机的最小系统就是让单片机能正常工作并发挥其功能时所必须的组成部分,也可理解为是用最少的元件组成的单片机可以工作的系统7。对51系列单片机来说,最小系统一般应该包括:单片机、时钟电路、复位电路、输入/输出设备等。单片机最小系统电路设计如下:1.单片机最小系统复位电路的极性电容C1的大小直接影响单片机的复位时间,一般采用1030

21、uF,单片机最小系统容值越大需要的复位时间越短。2.单片机最小系统晶振Y1也可以采用6MHz或者11.0592MHz,在正常工作的情况下可以采用更高频率的晶振,51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。3.单片机最小系统起振电容C2、C3一般采用1533pF,并且电容离晶振越近越好,晶振离单片机越近越好,不会受到电路的干扰。单片机最小系统图如图3-3所示:图3-3 单片机最小系统图在本设计中为了能更方便的实现较多的功能8,单片机的引脚可方便的与外部电路相连,在电路图中外加了排母,将单片机的所有引脚引到了排母上。但只有信号不能驱动外加模块,因此在外接引脚的旁

22、边另接一排同样数量引脚的排母,并且接5V的电源,与同样数量的接地的排母。单片机的扩展电路如图3-4所示:图3-4 单片机的扩展电路图3.1.6单片机供电模块设计本设计采用6V可充电镍氢充电电池组作为单片机的电源,这种电源的优点是电容量大,可以支持步进电机的长时间运转。但众所周知,电池在放电过程中,电压会随着时间减小,运行过程中电压会渐渐达不到要求,而充满电时电压又过高,如图3-5所示,而单片机的工作电压最好为5V,如果不进行降压稳压处理,会对单片机造成损害,故要在电源与单片机之间加稳压芯片。图3-5 电池电压与电量的关系本设计中采用常见的AMS1117作为单片机的稳压芯片,它的概述如下:

23、60; AMS1117系列稳压器有可调版与多种固定电压版,设计用于提供1A输出电流且工作压差可低至1V。在最大输出电流时,AMS1117器件的压差保证最大不超过1.3V,并随负载电流的减小而逐渐降低。   AMS1117的片上微调把基准电压调整到1.5%的误差以内,而且电流限制也得到了调整,以尽量减少因稳压器和电源电路超载而造成的压力。   AMS1117器件引脚上兼容其他三端SCSI稳压器,提供适用贴片安装的SOT-223,8引脚SOIC,和TO-252(DPAK)塑料封装。 AMS1117芯片的特性如下:

24、60;1.三端口可调节或固定输出电压1.5V,1.8V,2.5V,2.85V,3.3V和5.0V  · 2.输出电流1A,工作压差低至1V  3.线荷载调节:0.2%Max 负载调节:0.4% Max. · 4.可选SOT-223,TO-252和SO-8封装的结温 5.片内过热切断保护电路提供了过载和过热保护,以防止环境温度造成过高 6.为了确保AMS1117的稳定性,对可调电压版本,输出需要连接一个至少22F的钽电容。对于固电压版本,可采用更小的电容,具体可根据实际应用确定

25、。通常线性调压器的稳定性随着输出电流增加而降低。单片机需要5V的稳定电压,故选择AMS1117 5.0的芯片经行降压,芯片的1管脚接电池的正极,2管脚接单片机的VCC端,3管脚与电池的负极与单片机GND相连并接地。在工作时单片机的VCC端有5V的电压,所以电路图中的发光二极管会导通并发亮,指示电路正在工作状态。如图3-6所示。图3-6 单片机稳压电路图3.2步进电机介绍3.2.1步进电机的概述步进电机是一种将电脉冲转化为角位移的执行机构9。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(即步进角)。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时

26、可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的10。步进电机也是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。3.2.2步进电机的特点步进电机有以下特点11:1不需要

27、反馈,控制简单。 2与微机的连接、速度控制(启动、停止和反转)及驱动电路的设计比较简单。3没有角累积误差。 4停止时也可保持转距。 5没有转向器等机械部分,不需要保养,故造价较低。 6即使没有传感器,也能精确定位。 7根椐给定的脉冲周期,能够以任意速度转动。 但是,这种电机也有自身的缺点。8难以获得较大的转矩 9、不宜用作高速转动 10在体积重量方面没有优势,能源利用率低。3.2.3步进电机的工作原理下面以四相步进电机最简单的四拍工作方式来说明步进电机的工作原理:图3-7 步进电机的工作原理以四相步进电机为例,SA、SB、SC与SD分别是四相步进电机的四个相的开关,开关接通时,磁极通电;开关断

28、开,磁极断电。SA通电时A磁极接通,产生磁场,吸引转子2靠近磁极A;之后SA断开,SB接通,产生磁场,吸引转子3靠近磁极B;接着SB断开,SC接通产生磁场,吸引转子4靠近磁极C,周而复始电机就会旋转。开关通电断电的时间和间隔越长,则转子换向需要的时间就越长,即电机转的越慢;反之则电机转的越快。电机的加速旋转与减速旋转也可以又各相定子通断电的频率改变12。3.2.4步进电机选用步进电机是以脉冲信号依次使定子激励,以数字电压输入来控制转速与转动方向。因此,步进电机可工作于单相通电,双相通电,以及双相交叉通电13。本设计中选用的是42HS02型两相四线步进电机,它有多种控制方式,本设计中采用的是双二

29、拍整步方式,即采用通电次序两相,四拍:(+A)(+B)-(-A)(+B)-(-A)(-B)-(+A)(-B)。两相绕组同时通电时,同时对转子产生引力。与单二拍相比,双二拍不容易产生丢步的现象。3.3步进电机驱动器的设计常用的步进电机的驱动芯片有两种,一种是L297,另一种是L298n14。L298N是ST公司生产的一种高电压、大电流电机驱动芯片。一般的控制芯片起到控制作用,但是驱动能力不强,而电机(不单是步进电机)所需要的电流一般比较大,控制芯片的IO口不能提供大电流,所以一般不能直接驱动电机。L298n是驱动芯片,可以将控制芯片的输出转换成较高的电压和能够输出较大的电流。L297是意大利SG

30、S半导体公司生产的步进电机专用控制器,它能产生4相控制信号,可用于计算机控制的两相双极和四相单相步进电机,能够用单四拍、双四拍、四相八拍方式控制步进电机。所以将L297与L298n同时相连组成的步进电机驱动电路,无论对硬件的系统集成和控制软件,都是省时省力的事,因为组合后每只步进电机只需步进脉冲、正反转两个信号便行。如图3-7所示。图3-8 步进电机驱动电路在设计中,这样的步进电机有驱动器两个,分别驱动左右两个步进电机。在电路图中in1、in2与in3是分别接收由单片机输出的信号的端口,in1接收使能控制信号,in2接收方向控制信号,in3接收时钟控制信号,in1、in2与in3分别与单片机的

31、P10、P11、P12口相连。由于设计中有两个驱动器,另外一个驱动器的三个输入口分别与P13、P14、P15相连,这样单片机的6个口就可以控制步进电机的运动了。out1、out2、out3与out4分别是步进电机驱动器的四个输出口,为了步进电机能按要求转动,这四个输出口因该按顺序与步进电机的四条引线相连。单片机输出对应驱动器输入驱动器输出如表3-1,表3-2所示。表3-1 电机正转表A+B+A-B-驱动器输出电平正转1100011000111001表3-2 电机反转表A+B+A-B-驱动器输出电平反转11001001001101103.4系统功能设计3.4.1循迹功能循迹功能是步进电机小车沿着

32、一条黑色固定轨迹前进的功能,小车跟随轨迹就要用到光电传感器。光电传感器是利用被检测物对光束的遮挡或反射,由同步回路选通电路,从而检测物体有无的15。光电传感器在一般情况下,有三部分构成,它们分为:发送器、接收器和检测电路。发送器对准目标发射光束,发射的光束一般来源于半导体光源,发光二极管(LED)、激光二极管及红外发射二极管。光束不间断地发射,或者改变脉冲宽度。接收器有光电二极管、光电三极管、光电池组成。在接收器的前面,装有光学元件如透镜和光圈等。在其后面是检测电路,它能滤出有效信号和应用该信号16。光电传感器是一种能进行非接触检测的传感器,其具有检测范围广、检测距离远的优点。其最大检测距离往

33、往和被检物的尺寸、形状、颜色及表面状态有关。对环境条件要求不严格, 如高温区域、被检物半透明时均能正确检测, 但不适宜用在潮湿结露或灰尘很大的场合。如何选择检测方式应主要考虑以下几点因素检测距离被检物的尺寸被检物的反光情况如何, 如深色物体的反光能力弱被检物是否处于振动场合。被检物与背景的色差如何周围环境光强如何,是否存在自然光或人工照明检测线路上是否有灰尘,灰尘会大大减小光电传感器的检测距离。检测方式可分为对射式、反射式、偏振式、镜面式、漫反射式、会聚式和光幕式等。在本设计中用到的是反射式检测。反射式光电传感器的发射头和接收头安装于同一侧, 正常情况下,发光器发出的光源被反光板反射回来再被收

34、光器收到;一旦被检测物挡住光路,收光器收不到光时,光电开关就动作,输出一个开关控制信号。TCRT5000光电传感器模块是基于TCRT5000红外光电传感器设计的一款红外反射式光电开关。传感器采用高发射功率红外光电二极管和高灵敏度光电晶体管组成,输出信号经施密特电路整形,稳定可靠。应用场合: 1.电度表脉冲数据采样 2.传真机碎纸机纸张检测3.障碍检测 4.黑白线检测 图3-9 光电传感器如图3-9,光电传感器的发射头在小车行驶过程中以一定角度范围不断地向地面发射红外光,当小车在白色地面行驶时,红外光经白色反射后,被接收管接收;一旦接收管接收到信号,输出端将输出低电平;当小车行驶到黑线时,由于黑

35、色对光吸收强,接收管接收到红外光少,接收管没有导通,集电极在上拉电阻的作用下输出高电平,从而实现了检测黑线的功能。步进电机小车的驱动电机只有两个,在前后各有一个从动万向轮,小车的转向还是很灵活的,故在小车的循迹功能中只设置了两个光电传感器,一左一右分布在车底前部,它们之间的距离要大于黑色轨迹的宽度,利于小车走偏时有足够的空间调整自身的位置。如图3-10所示。由光电传感器的自身构造可知检测到黑色物体时输出为高电平,检测到白色物体时输出为低电平。设高电平为1,低电平为0。 图3-10 光电传感器位置图3.4.2避障功能避障功能是步进电机小车在行进的过程中自动躲避障碍并前行的功能,实现避障功能要用到

36、红外传感器。红外反射式传感器是集发射与接收于一体的光电传感器.具有探测距离远(最远可达到80 cm)、受可见光干扰小、体积小、功耗低、应用方便等特点.而且它检测障碍物的距离可以根据实际要求通过尾部的电位器旋钮进行调节,非常适用于小车避障.在本设计中选用红外反射式传感器,它的使用非常方便,只需将传感器检测到的开关信号直接送入单片机处理即可,无障碍物时传感器输出高电平,有障碍物时输出低电平,并且传感器尾部指示灯亮起.图3-11 红外传感器位置图本设计中为避障功能设计了三个红外传感器,分别放置在车身的正前方、左前方和右前方,水平互成 60o角,如图3-11所示,这样就可以把发射的红外线排布在小车的前

37、方任何范围,提高小车反应及增强避障的能力。当三个中的一个或多个(障碍物较大)接收部分的传感器,就能根据反射回来的红外线进行自动的调整,从而使小车的运行轨迹达到自动避障的目的。下图是传感器的驱动及接受电路,其中侦测前方障碍的距离,可以通过调节滑动变阻器的阻值,经比较处理后,将对应的电压输出给红外发射管,达到调节距离的目的。距离可以根据场地的实际情况调节,障碍比较少的情况可以将距离调节调节的大些;障碍比较复杂时可以将距离调节小些,这样就可以避免在原地打转的情况,经行精确避障。3.5上位机电路设计对于一些需要计算机与单片机通信的场合来说,电脑的串口非常重要,例如很多设备都必须采用串口和电脑端软件连接

38、,很多电路模块可以非常直观方便地利用串口调试软件进行调试,很多仪器必须通过串口进行通讯和数据交换17。但是目前笔记本电脑因为空间的限制和其他方面考虑的原因都没有串口,甚至一些台式电脑也取消了串口配置,这就很大程度的限制了串口的应用。USB转串口模块全称为USB to Serial port Module,它可以将USB接口虚拟成一个串口,解决无串口的苦恼18。如果要设计这样一种电路,通过比较,在满足下载需求、价格合理的情况下,最为适中的就是PL2303。它可以稳定下载,并可以支持多种操作系统。PL2303HX的特点是:1.采用28脚贴片SOIC封装2.工作为12MHZ 3.完全符合USB规范2

39、.0,可以直接将USB信号转换成串口信号4.波特率从751228800,有22种波特率可以选择,并支持5、6、7、8、16共5种数据比特位,是一款相当不错的USB转串口芯片。这是PL2303芯片开发的USB转串口模块,引脚电平为TTL,引脚定义如下:P3.0 TXD 、P3.1 RXD、GND 地线 。PL2303需要一个12MHz 的外部晶体为自己提供时钟, 外部并联的两个匹配起振电容。为了防止高速信号在端口附近产生反射现象, 需要在USB端口引脚 D1 和 D2 上分别接上一个阻值为18左右的终端匹配电阻。D1接一个上拉电阻以帮助实现枚举功能。此外考虑到防止USB口短路问题,串入 R24,

40、从而保护USB口19。如图3-12所示。这个模块的接线如下:1. 地连接,要将PL2303的GND与单片机的GND共地;2. PL2303 芯片的 TXD 管脚与单片机的P3.0管脚连接 ;3. PL2303 芯片的 RXD 管脚与单片机的P3.1管脚连接 ;4. 电脑端的 USB 电源作为单片机系统的电源。图3-12 USB转串口电路图图3-13 STC 单片机的串口烧写软件电路连接准备好之后,打开 STC 单片机的串口烧写软件 STC_ISP,如图3-13所示。下载的步骤如下 :1. 选择 STC 单片机型号(STC89C52)。2. 选中要烧写的文件(.hex 文件)。3. 下载串口选择

41、。4. 点击下载,此时单片机需要冷启动。在下载完程序之后,单片机就可以按设想运行了。第4章系统软件设计4.1电机控制流程图电机旋转受使能控制位en、方向控制位cw控制20,如图4-1所示。具体程序见附录。图4-1 电机控制流程图4.2 电机方向控制电机旋转方向受方向控制位cw控制。例如cw_left=1可使电机顺时针旋转,只要将旋转的子函数中cw_left=0,电机就变为逆时针旋转。方向控制主函数如下:while(1)move_left(10,0,1);方向控制子函数:void move_left(uint speed_l,uchar cw,uchar en)speed=speed_l; /s

42、peed_l速度控制变量 cw方向控制变量 en使能控制变量if(cw=1)cw_left=1;elsecw_left=0;if(en=1)en_left=1;elseen_left=0;4.3电机速度控制在中断中,n不断累加,当你增加到预设的数之后clk_left与clk_right就会置为高电平,就会发出一个脉冲,使两个电机旋转一步;或clk_left与clk_right置为低电平,这时电机不转。之后n被置为0,重新开始累加,进入下一轮循环。n或speed的数值越大clk_left与clk_right改变的时间间隔就会越大,电机的步与步的间隔就大,电机的旋转速度就会变慢,反之亦然21。vo

43、id timer1_serve() interrupt 3TH1=(65536-100)/256;TL1=(65536-100)%256;n=n+1;if(n=speed)clk_left=clk_left;clk_right=clk_right;n=0;4.4循迹动作表由光电传感器的自身构造可知检测到黑色物体时输出为高电平,检测到白色物体时输出为低电平。设高电平为1,低电平为0,电机的转向由表4-1可知。具体具体程序见附录。表4-1 电机转向表传感器左右传感器所处位置循迹动作传感器输出电平11黑黑前进10黑白左转01白黑右转00白白前进4.5避障流程图为了实现避障功能,小车上装了三个红外传感

44、器,则有三种感应情况,如图4-2所示。具体具体程序见附录。小车在遇到障碍时设置了转弯的避障方式。既然是转弯,则转弯的过程要消耗一定时间,因此在程序中加入了delay()这个延时子程序,延时越长,转弯角度越大。delay(800)是转180°,delay(400)是转90°,在连续转弯后就可以达到要求了。图4-2 避障流程图第5章总结与展望5.1总结本设计主要实现了STC89C52单片机控制步进电机运行,由电机的基本正转、反转,到小车的前进、后退、转弯,再到最后根据传感器的反馈控制步进电机小车进行循迹与避障,并为实现这些功能设计了稳压电路与上位机电路,最终实现了任务。这次毕业

45、设计,从最初的查阅图书资料,到最后的运行,这中间有很多值得思考的地方。让我对单片机与步进电机有了更深的认识,并将其紧密结合在一起,锻炼了自己独立处理问题的能力,学习要一丝不苟,要以积极的态度对待问题,不能有侥幸心理,一但遇到问题,必须严谨对待,所以我学到了课本上没有的知识。对机电这个专业有了更深一步的理解,但这只是很小一方面罢了,今后要继续学习。5.2展望克服了很多困难之后,虽然勉强完成了毕业设计,但其中还是存在许多不足,例如:没有考虑到小车在行进过程中,由于打滑对行进的影响;没有精确测量电机的转速与小车在行进过程中的速度,同时反馈给单片机经行调节;避障距离不够精确,只能由肉眼设定,如果用其他

46、更先进的传感器或者避障理论,是否可以经行精确避障;使用的元器件是否可以更精确等等,这都是值得注意的地方。在今后的学习中,我会吸取经验教训,应用于各个地方。参考文献1刘宝廷.步进电机及其驱动控制系统M.哈尔滨工业大学出版社,19972陈理壁.步进电机及其应用M.上海:上海科学技术出版社,2010.23宏晶科技STC89C51芯片技术资料.http:/www.MU-4郭文川.单片机原理与接口技术M.北京:中国农业出版社,2007.85李蒙.毛建东.单片机原理及应用M.中国轻工业出版社,2010.26张友德,赵志英,涂时亮.单片微型机原理、应用与实验(第三版)M.上海:复旦大学出版社,20007杨宁

47、.胡学军.单片机与控制技术M.北京:北京航空航天大学出版社,20058郝建国.赵英杰.集成电路大全M.北京:人民邮电出版社,19979王宗培.任雷.混合式步进电机转矩指标的研究J.嗲弄技术杂志,200010王自强.步进电机应用技术M.中国轻工业出版社 2010.211陈隆昌.控制电机(第三版)M.西安:西安电子科技大学出版社,199312孟武盛,李亮.基于AT89C52单片机的步进电机控制系统设计M.测控技术,2006.1113程宪平.电机传动与控制M.武汉:华中科技大学出版社,199714刘国永.陈杰平.单片机控制步进电机系统设计J.安徽:安徽技术师范学院,2002,16(4)15段颖康.基

48、于MC9S12XS128单片机的智能循迹J.新特器件应用,2010,1216周斌,李立国.智能光电传感器布局对路径识别的影响研究J.产品世界,200617Open Host Controller Interface Specification for USBz.Compaq,microsoft,National Semiconductor,199818USB Specification 1.1z.199819MOTOROLA DSP56f803 Technical Dataz.200220余永权,李小青,陈林康.单片机应用系统的功率型接口技术.北京航空航天大学出版社,199221刘乐善,胡盛斌

49、,叶济中.微型计算机接口技术.电子科技大学出版社,1993附录 程序清单1.电机旋转程序#include "reg51.h" #include "stdio.h"#include < intrins.h >#include<math.h>#define uchar unsigned char#define uint unsigned int /*管脚定义*/sbit en_left = P10;/左电机使能控制位sbit cw_left= P11;/左电机方向控制位sbit clk_left= P12;/左电机脉冲控制位sbit

50、en_right = P13;/右电机使能控制位sbit cw_right= P14;/右电机方向控制位sbit clk_right= P15;/右电机脉冲控制位/函数声明/void timer1_init(); /定时器1初始化函数void move_left(uint speed_l,uchar cw,uchar en);/左电机运动函数void move_right(uint speed_r,uchar cw,uchar en);/右电机运动函数void delay(unsigned int k);/延时函数/变量定义/uint n;/进定时器1中断次数计数uint speed;/电机速

51、度控制变量/*函数体*/void delay(unsigned int k)unsigned int i,j;for(i=0;i<k;i+)for(j=0;j<121;j+);/*/void timer1_init()TMOD=0X10;ET1=1;EA=1;TH1=(65536-100)/256;TL1=(65536-100)%256;TR1=1;/定时器启动后 运动控制脉冲将一直产生 小车的运动方式受 cw 和en控制void move_left(uint speed_l,uchar cw,uchar en) /speed_l速度控制变量 cw方向控制变量 en使能控制变量sp

52、eed=speed_l;if(cw=1)cw_left=1;elsecw_left=0;if(en=1)en_left=1;elseen_left=0;void move_right(uint speed_r,uchar cw,uchar en)/speed_r速度控制变量 cw方向控制变量 en使能控制变量speed=speed_r; /speed数值与速度成反比 请结合实际情况进行调节,if(cw=1) /但速度不能无限加快因为步进电机有速度上限 /而且速度加快是力矩会下降,容易导致丢步现象cw_right=1; /所以实际应用当中应调节到速度可力矩比较合适的数值 /应考虑到电池电压,轮胎直径等因素elsecw_right=0; /cw 控制电机正反转,1与0各代表一个方向if(en=1) /en 为使能位 1:能 0:不能en_right=1;elseen_right=0;void main (void) delay(10); timer1_init(); w

温馨提示

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

评论

0/150

提交评论