




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
闽南师范大学毕业论文(设计)基于单片机的上下位步进电机控制设计 Design of Upper and Lower Computer Control Stepping Motor Based on Microcontroller 姓 名: 学 号: 系 别: 物理与信息工程 专 业: 电气工程及其自动化 年 级: 2013级 指导教师: 2016年 12 月 25 日闽 南 师 范 大 学学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权闽南师范大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。本学位论文属于1、保密,在_年解密后适用本授权书。2、不保密。(请在以上相应方框内打“”)作者签名:日期: 年 月 日导师签名:日期: 年 月 日-26-摘 要二维运动控制已经得到普及,本设计拟用二维运动的原理及其实现方式,此要点于上下位机的串口通信来达成对步进电机软硬件的设计。此设想由STC89C52为下位机及两个ULN2003组成控制环节,下位机所采用的是RS-232串口与上位机形成通信发送转动的距离,电机的转动和转向的消息是由驱动芯片MAX232形成。恒流源驱动ULN2003来实现对电机的操控,给定具体的驱动信号,由内部的功能结构使其关断,使电机根据上位机给定的路径及速率行进。关键词:步进电机;单片机;串口通信;运动控制全套图纸加扣 3012250582AbstractTwo-dimensional motion control has gained popularity, this design employs the principle of two-dimensional motion and its implementation approach, the key points in the up and down computer to achieve serial communication software and hardware of the stepper motor is designed. This idea by STC89C52 for the next bit machine and two ULN2003 control links, lower machine is adopted by the RS - 232 serial port and PC form send rotation distance communication, and rotation of the motor is formed by driving chip MAX232 to news. Constant current source driving ULN2003 to implement the control of motor, the drive signal of a given concrete, make it shut off by the function of the internal structure, make the motor according to the PC for a given path and the rate of progression.Keywords:Stepper motor; Microcontroller; Serial communication; Montion control 目录中英文摘要I1 引言11.1 选题背景及实际意义11.2 目前研究方法11.2未来发展11.3 本文研究任务22 系统设计方案32.1 整体设计方案32.2 上下位机32.2.1 上位机32.2.2 下位机42.3 通信42.3.1基本概念42.3.2通信协议42.3.3电气特性52.3.4MAX232简介62.4驱动模块选择72.4.1功能要求72.4.2概述与特点72.4.3主要特性72.5 步进电机概述82.5.1工作原理82.5.2选择82.5.3主要特性92.5.4实际应用中注意点93 软件程序设计与分析103.1上位机软件103.1.1界面设置103.1.2上位通信控制103.2下位机软件113.2.1下位通信编程123.3 步进电机控制设计133.4 联机调试144 硬件电路设计与分析164.1串口通信模块164.1.1原因164.1.2通信电路164.2 控制信号模块174.3 驱动模块185 实验过程195.1工作流程195.2 系统测试195.3 实验问题及处理215.4 改进方案216 结论22参考文献23致谢24附录25附录一:器件清单25附录二:实物图25附录三:电路原理图26附录四:PCB图271 引言1.1 选题背景及实际意义生活和生产的诸多领域,都对步进电机控制应用青睐有加。其应用的领域包含了:X-Y-Z(或X-Y)多位控制台、(2、3D)打印机等。在已有的系统当中,效能优良大部分由外国购进,而且其售价颇贵,构造繁杂,运作和维护不易。同时国内产品大多功能单一,品质一般,运作麻烦,价格一般也较贵,但相对性价比相对高。所以,开发了一个易于操作面板,完美的机能,真实可信性高,控制简单利锁,本钱花费廉价的电机运动控制器具备重要的现实意义。因为现实的日常工作生活的要求,要求增加工作效益必须操控多个电机一起或配合运转,即要使电机能够稳定可靠的运行,而且能够呈现使其运行情况来弄清楚系统的工作状态,以免造成可以避免的亏损1。 二维运动控制归属于基础的模式,本设计拟用步进电机的二维运动控制当做主要的讨论对象。在部分关于运动控制的电气设备当中,二三维的互动可以经常看到,经济型属于其中的经典案例,不仅布局简易、控制矫捷便利,而且资本低廉2。1.2 目前研究方法 二维运动系统可以将被控工具传送到平面中的各个特定的位置,并对路径规划,使其沿着确定的轨迹进行运动3。步进电机只能在给其一个脉冲后,能够转过特定的角度,其运动的角速度和距离与对应的脉冲的频率和脉冲的个数有关。因此只要控制其频率和脉冲时间,就能得到想要的运动轨迹4。大部分步进电机使用斩波恒流来驱动,因为此形式利用逻辑判别操纵电机启停,采纳的元件较多,以致硬件设计繁杂,不易使其到达平稳状态。5。其驱动技术就是以驱动级兑现对电机通断,并且也是对电压和电流进行操作6。1.2未来发展 步进电机以其构造简易、运转可靠、操作便利、操控性能杰出等特点,于越来越多领域中占据着重要地位,其控制方式是未来发展的重要对象。创新现今的技术和高新技术的进步是推进其进展的重要关键。笼统地说,运动控制进一步朝着数控方向快速的前进。控制的关键技术在于技术和产业革命。其是指使用可控力的效用,即电气、液压、气动等形式驱动的力,来完成对步进电机系统有用的驱动技术7。运动控制能够迅猛的发展,不单单得益于电脑和高速处理器、自控的普及和发展,而且还拥有广大的市场的需求。1.3 本文研究任务(1) 步进电机控制的软件设计,其包含了编译程序、通讯与调试程序、人机界面等。(2) 硬件设计,其包含通讯、步进电机控制、步进电机驱动模块等。(3) 上下位系统的调试及在坐标系控制中的应用。(4) 检测系统及总结。2 系统设计方案2.1 整体设计方案此设计拟用VB作为上位机、STC89C52R作为下位机、双步进电机及其驱动电路构成,图2-1为其结构框图。上位机是PC,将操作信息经由串行口传达到下位机。下位机接收来自PC的操作信息,不仅发出响应的数据信息,经由驱动电路使得两个电机根据预定义的方向行进。同时,经由软件编译,下位机控制X和Y轴电动机旋转方向、步骤和速率,以达到自动定位的目的。通信模块上位机步进电机驱动模 块x轴y轴图2-1 系统结构框图步进电机控制模块2.2 上下位机利用上下位机软件控制步进电机,不仅简单方便,而且能够巧妙的利用变换程序来修改控制方案8。2.2.1上位机Visual Basic6.0简称VB 6.0。利用编程软件建立可视化的窗口环境,现如今运用Visual Basic6.0可以完成方便迅捷地编译驱动界面9。本设计使用的上位机主要由以下三个方面组成:( 1) 串口设置,其核心是将上下位机的通信串口进行初始化设定,主要包括选择串口号,波特率,确定数据帧的格式,以确保正常的通信,上下位机设置必须是一致的。( 2) 指令发送区,主要完成对电动机操作控制命令,包括预置每个电动机转速,细分数的选择,能够实现电流调速,为了不让过失影响,可以在填写之前去掉的内容填充,以免不对的通信。( 3) 数据接收区,接收区核心将单片机处理完的反馈信息再次进行处理(处理的结果在设定的控件中显示出来、对历史信息的储存,便于观察也可经由子窗口显示其具体效能)。本设计仅接受其结果并保存。2.2.2 下位机下位机拟用STC89C52,依靠其控制电机运动,可以满足其低耗高能特点10。STC89C52使用传统的MCS-51,但做了很多的改进使得芯片具有传统51单片机不具备的功能。单片机内,因其包含便捷的八位处理器的在系统编程功能,能够将单片机以嵌入式控制有着高效便捷的完成方式。图2-2 STC89C82引脚图2.3 通信2.3.1基本概念串行通信多设备共用同一条物理通道。串口通信的两端中发信端发送信息,接收端接收,同时规定了物理接口,以保证信息精确输发信息。因此要在通信的路径上使用一定的手段。2.3.2通信协议通信协议是指双方实体完成通信或服务所必须遵循的规则和约定。协议定义了数据单元使用的格式,信息单元应该包含的信息与含义,连接方式,信息发送和接收的时序,从而确保网络中数据顺利地传送到确定的地方。协议主要由以下三个要素组成:1.语法:“怎么讲”,数据的格式、编码和信号等级(电平的高低)。2.语义:“讲什么”,数据内容、含义以及控制信息。3.定时规则(时序):明确通信的顺序、速率匹配和排序。本设计所使用的上位机通信协议设置通信控件为MSComm,利用自带的属性可以设置通信功能,本设计使用到的属性包括了:1. CommPort属性:设置从上位机连接的端口是哪个接出。2. Settings属性: 设置并返回波特率、奇偶校验、数据位、停止位参数。3. Error消息:当接到错误信息的时候进行跳转。4. PortOpen属性:开关通信。5. Output和Input属性:输发收信号。同时还需要在其端口ComPort设置InputLenhe和RThreshold使其接发收时产生事件。将坐标位置分为多个帧依次利用Timer使数据分多次传输给下位机。1.为使单片机与PC之间进行正常的传输本系统采用通信协议来规定双方通信协议具体值为(设置过程如本章3.1.2):波特率:4800数据位:8位校验位:无起始位:1位(二进制位0)停止位:1位(二进制位1)2.多帧数据传输:数据帧数:4单独帧传输间隔:20ms其下位机串行通信的实现单片机串行口工作方式1定时器1工作方式2,详细如本章3.2.1所述。相对坐标4字节数据数据1字节停起数据1字节停起数据1字节停起数据1字节停起y轴十分位坐标y轴个位坐标x轴十分位坐标x轴个位坐标3.通信帧设置如图2-3所示:图2-3 通信帧上位机以20ms的间隔向下位机连续发送坐标点的位置,由于每次只能向下位机发送一个字节,故需要设置4次发送。所使用的异步通信发通信的格式(UART)如图2-3所示。 起始位D0 D7 奇偶校验位停止位停止位图2-4 串行异步通信数据格式2.3.3电气特性在日常串口通信当中,常用串行通信接口有RS-232、RS-422以及RS-485。本设计采用RS-232作为通信协议,其传输为电信号二进制的物理层。对驱动器的控制采用上位机RS-232C串行端口。表2-1 RS-232端子端脚方向符号功能1输入DCD数据信号检测4输出DTR9输入RI2输入RXD接收数据3输出TXD发送数据5GND信号地6输入DSR数据设备准备好7输出RTS请求发送8输入CTS为发送清零RS-232C对于电气性能,逻辑电位,信号线的效用作用有着相应的明确规则。在TxD和RxD上:逻辑1(MARK)=-3V-15V逻辑0(SPACE)= 3 15V1 0 0 1 1 0 AT/s图2-5 信号电平RS-232C与TTL转换:RS-232C 以电平大小表示逻辑信号,但跟所设定的规矩不一样。所以,让上位机接口与下位机接收的TTL电路之间的信息交互就必须要改变其电信号,为了能够实现上下位机之间的信号交换就必须采用相应的电路。本设计拟用MAX232来完成该信号的变换。2.3.4MAX232芯片简介MAX232通常用于通信间的电平转换,由于上下位机的电平信号识别的格式不同,在其信号输送时要用信号转换。主要特点:1、可以使用任何的RS-232C接收。2、用+5V电压供电。3、拥有升压、反极性功能。可以生成10V电压由V输出。4、耗能低,供给电流可达5mA。5、里面集成2个RS-232C。GNDT1OUTR1INVccR1OUTT1INT2INR2OUT23415678V+C1-C2+C1+C2-V-T2OUTR2IN151413161211109MAX232图2-6 MAX232引脚图2.4驱动模块选择2.4.1功能要求用于步进电机的驱动方式百般,不单单可以应用专门的驱动器,该方式真实可信度高,而且控制简单11。本设计以ULN2003芯片作为驱动核心。经由下位机的控制并由ULN2003驱动完成对电机的变速、变向、启停等。2.4.2 概述与特点ULN2003其实就是一个集成电路,内部结构主要七个达林顿管和反向器电路,组成,有很强的弱电位驱动能力,可用于对步进电机的驱动,与此同时输入端为高电位时ULN2003输出端为弱电位12。2.4.3 主要特性1.达林顿管串接2.7K的电阻,在5V工作电源下它能与TTL和COMS电路直接相连。可以直接处理原先需要的标准逻辑缓冲器来处理数据。其内部结构由图2-3所示。2.在的情况下,灌电流最高可达到0.5A,同时在关断状态时候可以耐受50V的电压,输出还可以在大负荷电流下并行运行。3. ULN2003采用DIP-16或SOP-16塑料封装。16151413121110912345678图2-7 ULN2003内部结构图2.5 步进电机概述2.5.1 工作原理步进电机能够将脉冲信号转化为位移距离,它能够在简单的环路下实现准确的定位能力,性能与电路有着直接的关系。13,14。电机在收到脉冲后,并获得单个脉冲就会转过相应的角度数15。一般控制脉冲的多少来控制电机运行的距离,以频率控制其转速16。若脉冲的频率为,每分钟转过的角度为60。其对应的公式为 (2-1)式中的为距角,即电机在单个脉冲下运行过的角度。17 其的角位移经过操控脉冲多少来确定,用于实现准确目标的定位,并还能够经过设置脉冲的周期用此操控电机运行的速率,由此实现调速的目标。2.5.2 选择步进电机是由步距角、静转矩、及电流三大要素组成18,19。(1)步距角的选择由负荷精确值决定,通过负荷最小分辨率数值转换至机轴上,单独的电机需运行的角度数。(2)静力矩的选择根据电机运行负荷,负荷能够划分成惯性负载荷与摩擦负载。每个惯性负载荷每个摩擦负荷是相互依存的,不能单独地出现。(3)电流的选择拥有一致静力矩,因为电流值异别,特征区别较大。(4) 力矩与功率换算电机一般于大区域间变速时运用,功率是改变,通常仅运用力矩量度。力矩与功率换算如下: (2-1) (2-2) (2-3)其中P为功率单位为瓦,为角速度每秒,其单位为弧度,n为步进电机的转速,M为力矩,单位为牛顿米。 (2-4)其中为每秒脉冲数。 2.5.3 主要特性1 改变脉冲发送相顺序,可以改变其运行方向。表2-2 四相八拍步进电机相序表接线脚序号导线颜色分配顺序123456785红+4橙-3黄-2粉-1蓝-2 由5V电源运行的4相5线的减速步进电机,减速比为1:64,步进角为5.625/64度。如果需要转动1圈,那么需要360/5.625*64=4096个脉冲信号。3 此设计使用的相序为四相,使用的是正极性的电压源来供电。以适当的相序通断电源就能是电机正常工作21。4 电机具有瞬时开启与迅捷截止的良好特征。5 改变脉冲的延时即改变频率就能够使电机的转动速率改变,故只需改变延时就能改变转动速率。每走一步,必须延时一段时间20。2.5.4 实际应用中的注意点1 在运行时刻宜选用半步运行,如果用整部运行,由于其驱动过大会产生振动的现象。2 电机带动负载驱动的时候应根据负载而定,如若负载较大则该采用大电机。3 在高速、重负载情况下,禁止用一般的运行状态启动,必须采取缓加速的手段,它的好处:不仅能够让电机同步运行,而且能够降低噪声,增加了停止的定位准确度。4 在未经过处理的情况下,禁止运行与振动区域。5 服从先选电机后选驱动的准则。最佳的方式是用相同的厂家控制、驱动器和电机。6 应注重可靠性而轻性能,重品质而轻价格。3 软件程序设计与分析软件程序的选择和设计都直接的影响到了对系统性能的精确性和运行的稳定性。本设计所采用的软件编程程序为VB6.0编译上位机面板、利用keil软件编译下位机程序设计。3.1上位机软件这些年,利用上下位机进行串口通信以成为了风行的方式。本文叙述的采用MSComm控件来编制的由PC机完成对电机直接控制的应用软件。同时,这种控制方式和技巧还可使用于相关的工产设备操作等场合22。本设计所用的上位机程序编程功能主要包含了以下部分:下位机通信、图形绘制与管理、数据分析、命令发送等功能,上位机编程面板如图3-1所示。图3-1 上位机编程界面3.1.1界面设置设置三个按钮按键,包括停止、运行和坐标显示功能。一个MSComm控件:设置上下位机的数据传送;两个选项框:串口选择和波特率的选择,用于连接上下位和匹配单片机功能;五个文本框:A、B点坐标、位移距离、发送以及接受检测,显示相对应的数值变化。设置坐标轴界面,利于模拟实际的运动情况;一个时钟控件,用于延迟数据发送,防止数据传输错误。在绘制坐标轴的时候,使用VB中的PictureBox控件,并使用Line在坐标轴上画出直角坐标系,利用CurrentX 和CurrentY 选择X和Y的位置,用Print 在相应的位置标注。利用For语句和Line设置网格,使选择坐标点位置时更容易。3.1.2上位通信控制使用VB 6.0开发通信有多种方法, 而MSComm在串口编程时便捷快速,就能通过串行端口传输和接收数据23。首先设置On Error GoTo BLAK On Error Goto用于跳转到该部分的错误处理部分代码,当错误出现的时候由于设置了BLAK:MsgBox 串口不存在或者被占用!, vbOKOnly, 提示信息。即显示提示串口被占用的窗口。如果串口可以使用,MSComm1.PortOpen = True,即此时串口通信功能被打开,上位机可以发送信息给下位机。波特率选择的时候,在选好后由MSComm1.Settings = Combo2.Text & n,8,1,设置想要的波特率。在进行图形绘制的编写过程中采用了VB中的,利用PictureBox的事件Picture1 MouseDown完成对坐标轴的点击触发事件,在鼠标选定坐标系里的方位,并且根据公式计算出相应的坐标,并且使改坐标显示与TEXT内,在确定完两点后,直接给出两点相对位置以便观察。若是不须要,点击坐标或者刷新按钮,就可调用Call指令更新坐标。在确定运行后,上位机通过MSComm1.Output = Hex(Text.Text)向下位机发送A、B点位置坐标,单片机接到信息后执行任务,往上位机传送完成信号,用端口配置 ComPort.InputLen = 1(1 个字符产生接收事件)和ComPort.RThreshold = 1(1 个字符产生接收事件),上位机接收下位机传来的信息(本设计如下位机完成指令后向上位机传送0为结束信号),在执行Text.Text = ComPort.Input后文本显示0。开始打开并初始化串口设定电机控制指令按下启动发送数据结束否是图3-2 上位机发送数据程序流程图3.2下位机软件;下位机程序除串口编程外,还需要形成电机控制信号,让电机完成定位控制。使用keil设置下位机接收及驱动如图所示:图3-3 keil编程界面3.2.1下位通信编程上位机核心是承担人机交互作用,在界面面板设定完位移距离后,由串口输出,然后由接口电路输送给下位机,间接地控制电机。上位机能接受到下位机的参数并对其做出相应的设置。同时上位机经由串口向下位机输送数据,下位机接收并保存中断。本设计方案拟用下位机通信设置为串口设置工作1,一帧数据位为8,定时器T1形成波特率。能够获得每个电机操作需求存储区域,控制电机操作。本设计波特率为4800,其设置如下:SCON=0X50;/设置为工作方式1TMOD=0X20;/设置计数器工作方式2PCON=0X80;/波特率加倍TH1=0XF3;TL1=0XF3;ES=1;/打开接收中断EA=1;/打开总中断TR1=1;/打开计数器程序接收以及发送如下:unsigned char receiveData;receiveData=SBUF;/出去接收到的数据RI = 0;/清除接收中断标志位SBUF=receiveData;while(!TI);/等待发送数据完成TI=0; /清除发送完成标志位单片机设置完串口设置后,就可以从上位机接收上位机并保存到相应的变量中,供单片机计算运。N开始串口初始化设置波特率调用发送函数发送数据调用接收函数接收信息调用显示函数显示数据结束Y发送程序TI=1?NTI清零返回接收程序RI=1?YRI清零将数据移到SUBF返回FFH返回a.串行通信流程图 b.发送程序 c.接收程序图3-4下位机串口通信流程图3.3 步进电机控制设计本设计方案所使用的控制方式为点位控制。其方法就是把物体从一个开始的位置前进到达另一个给定的位置。这需要运行距离与实际所要求的距离相同,并且不容许有误差的存在。本设计拟用增量坐标。增量坐标就是以坐标的终点坐标与起始坐标的矢量差,以下为单个步进电机控制,多个步进电机控制时类似。首先设置电机的正反转控制输出表,然后电平输出以控制电机速率,再根据实际需求完成电机的实际驱动。正反转设置:unsigned char code FFW8=0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9; /反转unsigned char code FFZ8=0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1; /正转步进电机启动及方向:unsigned char i; for(i=0;i8;i+) if(Direction1=1) GPIO_MOTOR1 = FFWi; if(Direction1=2) GPIO_MOTOR1 = FFZi; DelayX(Speed1); 设置X轴方向的延迟,即设置脉冲频率,以此方式设置电机行进速率void DelayX(unsigned int t)unsigned int k;while(t-)for(k=0;k20;k+) 设定初值开始判断正反正转相序A-B-C-D反转相序D-C-B-A计算正转速度计算反转速度结束其运行驱动流程图如下所示:图3-5 步进电机驱动流程图3.4 联机调试联机调试时,需要在窗口界面上建立了一个X-Y轴上的10*10的坐标轴,确定物体需要的位移点,选择点位坐标并发送至下位机,并根据两点间的距离发送其运行时间,使电机带动物体运动在坐标轴的规定的路径上。图3-6 步进电机转动坐标轴以图3-6为例具体的调试方案为:1. 在坐标系面板中设定起点坐标A(4, 4)和开始坐标B(9, 6)。2. 上位机发送坐标A(4, 4)和B(9, 6)到下位机,下位判断X方向的电机运动步数和方向,然后再判断Y方向的电机运动步数和方向。3. 下位软件对比X、Y电机的行进距离后,确定X方向的电机速率为基础,利用斜率计算出Y方向电机的速率。4. 同时运行X、Y步进电机,使其延坐标规定的方向运行到B(9, 6),并返回0表示运行结束。经上下位机软件调试,表明系统运行是否能够正常工作,并切确实现了转向、停止等功能,检验其能否达到本设计给定的条件。4 硬件电路设计与分析本系统的硬件电路是由通信、控制信号发生、步进电机驱动模块组成。4.1 串口通信模块4.1.1原因串口模块的功能是实现上下位机通信的功能24。因由本系统需要传输的信息不多,所以拟用了简易的串行通信方式。虽然上下位机都有串行口,不可以让它们直接电路连接,要通过电平转换才可实现串口连接。4.1.2通信电路实现TTL与RS-232C之间的电位逻辑的方式多种多样,通常采取电位转换芯片。本设计拟用MAX232作为电位变换的核心元件,通过该器件将上位机信号变换为下位机可识别的信号,便可建立与上位机的RS-232通信连接。RS-232是为点对点(即仅用一对收、发设备)通信而使用的,特别符合设备间的通信,因此本系统采用该种通信方式25。图4-1 通信电路电容值:104,为去耦电容,接在电源与地之间。其功能为:1. 作为本集成电路的蓄能电容;2. 滤除该器件产生的高频噪声,切断其通过供电回路进行传播的通路;3. 防止电源的不稳定信号的滋扰。4.2 控制信号模块本系统中,采用STC89C52产生控制信号,首先满足其最小系统,再通过驱动电路控制电机的行进。最小系统,是最基本的硬件和软件环境,它包括了:1) 复位系统: 9脚多个机械周期的高电位时,单片机系统刷新,程序重新开始运行。2)时钟系统:由振荡电路发出晶振频率能够作为外部晶振的需求。能够作为外部单独此时XTAL2脚接地,时钟信号由XTAL1输入。3)电源系统:VCC引脚接4-5.5V,GND引脚接地。图4-2 控制信号模块本设计拟用常用的最小系统搭配12MHz的晶振来保证控制模块能够正常运行,同时在下位机完成上位机的命令输出的驱动信号,控制x轴电机信号由P0.0-P0.3口输出,y轴信号由P2.0-P2.3口输出。为防止单片机的错误运行,可以在单片机RST与电源间接复位开关,当复位开关按下时输入高电平,即单片机复位以保障正常工作。图4-3 上拉电阻因为单片机的P0口当成I/O口时,其输出电流或电压较低,为了增强P0口输出电流与工作电压,需要P0口加入上拉电阻。4.3 驱动模块本设计方案采用ULN2003作为驱动电路的核心。在驱动电压接到下位机的信号时即能够驱动步进电机运行,如P2.0口输出高电压的时候由于ULN2003内部的达林顿管信号放大和非门使其输出低电平时,该相不工作,P2.0输出低电位就有驱动模块变为高电位,此时电机方可工作。图为由P2.0口输出的驱动电路。2图4-4 步进电机驱动电路5 实验过程5.1工作流程1. 在网上寻找资料,包括软件设计以及硬件功能、模块。2. 利用现有的开发板以及驱动模块编写简单的步进电机程序,观察其运行状态和波形情况。3. 了解上位机,设置上位机运行面板和通信程序,收发简单的数字和字符。4. 上下位机软硬件相结合,研究利用上位机发送数据控制下位机进行步进电机的驱动。5. 不断地调试上下位机软件,使其能够满足设计的功能要求。6. 完成原理图和PCB,制版。7. 硬件模块的完成,采用分块调试,分别给各个模块单独通电,最终在将各个模块一起工作。8. 首先完成电路串口通信模块的测试,MAX232的2,3脚短路测试即检测能否进行自发自收功能。利用串口调试助手输出数据,观察能否接受到与接收相同的数据。9. 驱动模块的测试,首先单独接通驱动模块的电源,将开发板的信号引出到驱动模块的信号接受脚,并根据LED灯的闪烁观察步进电机相位运行状况,以此能够直接看出其故障情况。10. 将控制模块并入已有的模块,并利用已完成的程序运行,若步进电机能够正常驱动,则说明该驱动没有问题。11. 完成硬件部分后,完善上下位软件程序。5.2系统测试将上位机使用 VB 6.0编译后,首先是创建了控制面板。如图5-1 所示,在此界面中,在选定相应的串口以及波特率后,用户可以点击坐标轴确定所需要运行的始末位置A点、B点。上位机将A、B两点的坐标经由串口传送到单片机。图5-1 上位机驱动界面由上位机发出信号后,串口发送指令至下位机,由MAX232接收信号将上位机所发送的信号转换为STC89C52可识别的信号:图5-2 MAX232输出信号图5-2所示,其波形出现多个低电平表示上位机发送信号给下位机,下位机接收从上位机传来信号后,使其能够发送驱动信号:图5-3 STC89C52输出信号图5-3所示,其输出脉冲以控制驱动模块驱动电机的行进。ULN2003接收到信号后,送出相应的电压:图5-4 ULN2003输出电压ULN2003输出脉冲后,步进电机就会成功运行。经过系统测试结果即步进电机转动效果与设想几乎相符合。5.3实验问题及处理1.问题:上位机坐标轴界面的绘制和通信程序的设置。解决方案:通过查找VB相关书籍、网络查询和视屏教程,逐步完成。2. 问题:通信模块不能正常工作。解决方案:请教老师,下位串口的接地脚未接地。3. 问题:完成所有电路是,在调试过程中,X轴步进电机无法工作。解决方案:P0口作为I/O口时候要加入上拉电阻,使其稳定工作。4. 问题:控制模块不能正常稳定工作,P0口驱动运行状态与要求不符。解决方案:检测上拉电阻,电阻本应10K,实测为100与色环标注不符,致其不能正常工作。5.4改进方案1. 在每次单片机烧录的时候需要不断地拔插芯片,对芯片会造成损伤。可以在原有的硬件电路上增加一个烧录模块,不仅解决烧录问题,还可以由其接口供给电源,且不需要外加电源。 2. 上位机控制面板可以设置多个速率选择,便于控制电机运动。3.可以利用步进电机模拟一个制作绘图板,将其运动轨迹在图纸上绘制出来,也可绘制自己想要的图案。6 结论本文主要介绍利用上位机驱动步进电机以设定好的坐标系中定点运动,实验结果能够基本达到预期所设计的功能。单片机STC89C52作为控制步进电机运行,发挥了其低耗高能的特点。总而言之,该设计结构简单,安装方便,操作界面友好,定位精度高,运行平稳,重复定位精度高,功能较强。以MAX232芯片为上下位通信串口模块,由上位机和下位机控制步进电机的运行状态,上位机发送信息,下位机处理信息并控制步进电机的运行。利用上位机配合单片机及ULN2003驱动步进电机的功能充分发挥步进电机的稳步运行和定点传送。参考文献1 吴康,刘景林.多通道步进电机控制系统上位机设计J.微电机,2015,48(5):66-69.2 游达章,肖哲,李秋实.单片机+PC 二维数控系统的设计与实现 J.机械设计与制造, 2015(2).157-1603 刘鑫.基于单片机的双步进电机协调运动控制器设计J. 电气应用,2007,26(3):65-68.4 毛制怒,冯浩,李宪章.基于上位机与MCS-51单片机的X-Y 轴定位驱动系统J.制冷与空调, 200
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年丙二醇甲醚醋酸酯行业研究报告及未来行业发展趋势预测
- 2025年钉箱机行业研究报告及未来行业发展趋势预测
- 2025年搬运码垛机器人行业研究报告及未来行业发展趋势预测
- 多膛炉焙烧工技能巩固考核试卷及答案
- 2025年番石榴果汁行业研究报告及未来行业发展趋势预测
- 琴身箱体制作工异常处理考核试卷及答案
- 2025年保险监督行业研究报告及未来行业发展趋势预测
- 地毯络筒工测试考核试卷及答案
- 铸铁机工专项考核试卷及答案
- 偏钨酸铵制备工标准化作业考核试卷及答案
- 高中生物选择性必修1参考答案
- 2025-2030中国水上自动驾驶系统行业运营态势与投资动态预测报告
- 车辆维修团队管理制度
- 呼吸器官的进化
- 春考医学技术课件
- 公司理赔服务及管理制度
- 十五五中学学校五年发展规划(2025-2025)
- 华为公司文件管理制度
- 青少年交通安全教育
- 国企招投标考试题及答案
- 2025年安徽省第五届全省农民工职业技能大赛(汽车机械维修工)赛项备赛试题库
评论
0/150
提交评论