1、-I-基于单片机的上下位步进电机控制设计摘 要二维运动控制已经得到普及,本设计拟用二维运动的原理及其实现方式,此要点于上下位机的串口通信来达成对步进电机软硬件的设计。此设想由STC89C52 为下位机及两个 ULN2003 组成控制环节,下位机所采用的是 RS-232 串口与上位机形成通信发送转动的距离,电机的转动和转向的消息是由驱动芯片 MAX232 形成。恒流源驱动 ULN2003 来实现对电机的操控,给定具体的驱动信号,由内部的功能结构使其关断,使电机根据上位机给定的路径及速率行进。关键词:步进电机;单片机;串口通信;运动控制Design of Upper and Lower Compu
2、ter Control Stepping Motor Based on MicrocontrollerAbstractTwo-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 hardwa
3、re 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 curre
4、nt 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
5、; Montion -II-control -III-目录中英文摘要 .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 工作原理 .8
6、2.5.2 选择 .82.5.3 主要特性 .92.5.4 实际应用中注意点 .93 软件程序设计与分析 .103.1 上位机软件 .103.1.1 界面设置 .103.1.2 上位通信控制 .103.2 下位机软件 .113.2.1 下位通信编程 .123.3 步进电机控制设计 .13-IV-3.4 联机调试 .144 硬件电路设计与分析 .164.1 串口通信模块 .164.1.1 原因 .164.1.2 通信电路 .164.2 控制信号模块 .174.3 驱动模块 .185 实验过程 .195.1 工作流程 .195.2 系统测试 .195.3 实验问题及处理 .215.4 改进方案 .
7、216 结论 .22参考文献 .23致谢 .24附录 .25附录一:器件清单 .25附录二:实物图 .25附录三:电路原理图 .26附录四:PCB 图 .27-1-1 引言1.1 选题背景及实际意义生活和生产的诸多领域,都对步进电机控制应用青睐有加。其应用的领域包含了:X-Y-Z(或 X-Y)多位控制台、(2、3D )打印机等。在已有的系统当中,效能优良大部分由外国购进,而且其售价颇贵,构造繁杂,运作和维护不易。同时国内产品大多功能单一,品质一般,运作麻烦,价格一般也较贵,但相对性价比相对高。所以,开发了一个易于操作面板,完美的机能,真实可信性高,控制简单利锁,本钱花费廉价的电机运动控制器具备
8、重要的现实意义。因为现实的日常工作生活的要求,要求增加工作效益必须操控多个电机一起或配合运转,即要使电机能够稳定可靠的运行,而且能够呈现使其运行情况来弄清楚系统的工作状态,以免造成可以避免的亏损 1。 二维运动控制归属于基础的模式,本设计拟用步进电机的二维运动控制当做主要的讨论对象。在部分关于运动控制的电气设备当中,二三维的互动可以经常看到,经济型属于其中的经典案例,不仅布局简易、控制矫捷便利,而且资本低廉 2。1.2 目前研究方法 二维运动系统可以将被控工具传送到平面中的各个特定的位置,并对路径规划,使其沿着确定的轨迹进行运动 3。步进电机只能在给其一个脉冲后,能够转过特定的角度,其运动的角
9、速度和距离与对应的脉冲的频率和脉冲的个数有关。因此只要控制其频率和脉冲时间,就能得到想要的运动轨迹 4。大部分步进电机使用斩波恒流来驱动,因为此形式利用逻辑判别操纵电机启停,采纳的元件较多,以致硬件设计繁杂,不易使其到达平稳状态。 5。其驱动技术就是以驱动级兑现对电机通断,并且也是对电压和电流进行操作 6。1.2未来发展 步进电机以其构造简易、运转可靠、操作便利、操控性能杰出等特点,于越来越多领域中占据着重要地位,其控制方式是未来发展的重要对象。创新现今的技术和高新技术的进步是推进其进展的重要关键。笼统地说,运动控制进一步朝着数控方向快速的前进。控制的关键技术在于技术和产业革命。其是指使用可控
10、力的效用,即电气、液压、气动等形式驱动的力,来完成对步进电机系统有用的驱动技术 7。运动控制能够迅猛的发展,不单单得益于电脑和高速处理器、自控的普及和发展,而且还拥有广大的市场的需求。-2-1.3 本文研究任务(1)步进电机控制的软件设计,其包含了编译程序、通讯与调试程序、人机界面等。(2)硬件设计,其包含通讯、步进电机控制、步进电机驱动模块等。(3)上下位系统的调试及在坐标系控制中的应用。(4)检测系统及总结。-3-2 系统设计方案2.1 整体设计方案此设计拟用 VB 作为上位机、STC89C52R 作为下位机、双步进电机及其驱动电路构成,图 2-1 为其结构框图。上位机是 PC,将操作信息
11、经由串行口传达到下位机。下位机接收来自 PC 的操作信息,不仅发出响应的数据信息,经由驱动电路使得两个电机根据预定义的方向行进。同时,经由软件编译,下位机控制 X 和 Y 轴电动机旋转方向、步骤和速率,以达到自动定位的目的。2.2 上下位机利用上下位机软件控制步进电机,不仅简单方便,而且能够巧妙的利用变换程序来修改控制方案 8。2.2.1上位机Visual Basic6.0 简称 VB 6.0。利用编程软件建立可视化的窗口环境,现如今运用 Visual Basic6.0 可以完成方便迅捷地编译驱动界面 9。本设计使用的上位机主要由以下三个方面组成:( 1) 串口设置,其核心是将上下位机的通信串
12、口进行初始化设定,主要包括选择串口号,波特率,确定数据帧的格式,以确保正常的通信,上下位机设置必须是一致的。( 2) 指令发送区,主要完成对电动机操作控制命令,包括预置每个电动机转速,细分数的选择,能够实现电流调速,为了不让过失影响,可以在填写之前去掉的内容填充,以免不对的通信。( 3) 数据接收区,接收区核心将单片机处理完的反馈信息再次进行处理(处理的结果在设定的控件中显示出来、对历史信息的储存,便于观察也可经由子窗口显示其具体效能)。本设计仅接受其结果并保存。通信模块上位机步进电机驱动模 块x 轴y轴图 2-1 系统结构框图步进电机控制模块-4-2.2.2 下位机下位机拟用 STC89C5
13、2,依靠其控制电机运动,可以满足其低耗高能特点 10。STC89C52 使用传统的 MCS-51,但做了很多的改进使得芯片具有传统 51 单片机不具备的功能。单片机内,因其包含便捷的八位处理器的在系统编程功能,能够将单片机以嵌入式控制有着高效便捷的完成方式。图 2-2 STC89C82 引脚图2.3 通信2.3.1基本概念串行通信多设备共用同一条物理通道。串口通信的两端中发信端发送信息,接收端接收,同时规定了物理接口,以保证信息精确输发信息。因此要在通信的路径上使用一定的手段。2.3.2通信协议通信协议是指双方实体完成通信或服务所必须遵循的规则和约定。协议定义了数据单元使用的格式,信息单元应该
14、包含的信息与含义,连接方式,信息发送和接收的时序,从而确保网络中数据顺利地传送到确定的地方。协议主要由以下三个要素组成:1.语法:“怎么讲”,数据的格式、编码和信号等级(电平的高低)。2.语义:“讲什么”,数据内容、含义以及控制信息。3.定时规则(时序):明确通信的顺序、速率匹配和排序。本设计所使用的上位机通信协议设置通信控件为 MSComm,利用自带的属性可以设置通信功能,本设计使用到的属性包括了:1.CommPort 属性:设置从上位机连接的端口是哪个接出。1234ABCD4321D C B ATitleNumberRevisionSize A4Date:30-Dec-2016Sheet
15、ofFile:C:UserswengjianweiDesktop串串串串串串串串串串串PCBE315串串串X1.1028.DdbDrawn By:P1.0/T21P1.1/T2 EX2P1.23P1.34P1.45P1.5/MOSI6P1.6/MISO7P1.7/SCK8RST9P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.5/T115P3.6/WR16P3.7/RD17XTAL218XTAL119GND20P2.021P2.122P2.223P2.324P2.425P2.627P2.526P2.728PSEN29ALE/PROG3
16、0EA/VPP31P0.732P0.633P0.534P0.435P0.336P0.237P0.138P0.039VCC40STC89C52V+2C1+1C1-3C2+4C2-5V-6T1OUT14T2OUT7R1OUT12R2OUT9R2IN8R1IN13T1IN11T2IN10VCC16GND15U2C15C14C16+5VC17T1T1 P3.0R1R1P3.1-5-2.Settings 属性: 设置并返回波特率、奇偶校验、数据位 、停止位参数。3.Error 消息:当接到错误信息的时候进行跳转。4.PortOpen 属性:开关通信。5.Output 和 Input 属性:输发收信号。同
17、时还需要在其端口 ComPort 设置 InputLenhe 和 RThreshold 使其接发收时产生事件。将坐标位置分为多个帧依次利用 Timer 使数据分多次传输给下位机。1.为使单片机与 PC 之间进行正常的传输本系统采用通信协议来规定双方通信协议具体值为(设置过程如本章 3.1.2):波特率:4800数据位:8 位校验位:无起始位:1 位(二进制位 0)停止位:1 位(二进制位 1)2.多帧数据传输:数据帧数:4单独帧传输间隔:20ms其下位机串行通信的实现单片机串行口工作方式 1 定时器 1 工作方式 2,详细如本章3.2.1 所述。3.通信帧设置如图 2-3 所示:图 2-3 通
18、信帧上位机以 20ms 的间隔向下位机连续发送坐标点的位置,由于每次只能向下位机发送一个字节,故需要设置 4 次发送。所使用的异步通信发通信的格式(UART)如图 2-3 所示。 图 2-4 串行异步通信数据格式2.3.3电气特性在日常串口通信当中,常用串行通信接口有 RS-232、RS-422 以及 RS-485。本设计采用 RS-232 作为通信协议,其传输为电信号二进制的物理层。对驱动器的控制采用上位机RS-232C 串行端口。起始位 D0 D7 奇偶校验位停止位 停止位相对坐标4 字节数据 数据 1 字节 停起数据 1 字节 停起数据 1 字节 停起数据 1 字节 停起y 轴十分位坐标
19、y 轴个位坐标x 轴十分位坐标x 轴个位坐标-6-表 2-1 RS-232 端子RS-232C 对于电气性能,逻辑电位,信号线的效用作用有着相应的明确规则。在 TxD 和 RxD 上:逻辑 1(MARK)=-3V-15V逻辑 0(SPACE)= 3 15VRS-232C 与 TTL 转换:RS-232C 以电平大小表示逻辑信号,但跟所设定的规矩不一样。所以,让上位机接口与下位机接收的 TTL 电路之间的信息交互就必须要改变其电信号,为了能够实现上下位机之间的信号交换就必须采用相应的电路。本设计拟用 MAX232 来完成该信号的变换。2.3.4MAX232芯片简介MAX232 通常用于通信间的电平转换,由于上下位机的电平信号识别的格式不同,在其信号输送时要用信号转换。主要特点:1、可以使用任何的 RS-232C 接收。2、用+5V 电压供电。3、拥有升压、反极性功能。可以生成10V 电压由 V输出。4、耗能低,供给电流可达 5mA 。 5、里面集成 2 个 RS-232C。端脚 方向 符号 功能1 输入 DCD4 输出 DTR9 输入 RI数据信号检测2 输入 RXD 接收数据3 输出 TXD 发送数据5 GND 信号地6 输入 DSR 数据设备准备好7 输出 RTS 请求发送8 输入 CTS 为发送清零1 0 0 1 1 0AT/s图 2-5 信号电平