基于单片机控制步进电机的设计
基于单片机的步进电机多轴运动控制系统设计

摘要步进电机是将电脉冲信号转变成角位移的执行机构,其转速、停止位置只与脉冲信号的频率和脉冲数有关,具有误差小,易控制等特点,广泛应用于机械、电子、纺织、化工、石油等行业。
尤其是在医疗行业中,比如在 X 光扫描方面,都会用到电机,步进电机的优点使其成为医疗行业里最为适用的电机。
本设计中的多轴控制系统可以运用在 X 光扫描仪等多种仪器上。
本设计选用 STC89C55RD+型单片机作为核心控制单元,实现 M35SP-7 型步进电机的多轴运动控制,并通过 RS232 串口实现与上位 PC 机通讯功能。
设计中运用单片机软件编程方式实现步进电机环形分配器功能,用 P1.0 口、P1.1 口、P1.2 口和P1.3 口分别控制四相步进电机的 A 相、B 相、C 相和 D 相绕组的通电顺序,软件上采用查表方法实现单双八拍工作方式环形脉冲分配。
步进电机驱动部分采用ULN2003A 驱动芯片,实现功率放大,驱动步进电机。
最后使用 Proteus 软件绘制了单片机控制步进电机多轴运动的原理图。
上述设计经实验验证是有效可行的。
关键词单片机,步进电机,多轴运动,串口通讯AbstractStepper motor is an implementing mechanism that convert the electronic pulse intoangle displacement.Its speed and the stop position only about the frequencyand pulseseveral of the pulse signal,its characteristics are minor error,easy to control and so on,itis widely applied to mechanical, electronic, textile, chemical, oil, etc. Especially in themedical industry,such as an x-ray scanning,need motors.Stepper motor'sadvantagesmake it become the most suitable medical industry machine.The multi-axiscontrolsystem in the design can be used on a variety of instruments such as an x-ray scanning.This design choose STC89C55RD + SCM as the core of the control unit,to realizeM35SP-7 type stepper motor's multi-axis control,and use RS232 serial torealize PCcommunication function.This design use SCM software programming realize steppermotor circular distribution function,P1.0, P1.1, P1.2 and P1.3 respectively controllingA, B, C and D phases' electricity order on the four phase step motor's.Software is usedon look-up table method teak eight single working way circular pulse distribution.Thisdesign use ULN2003A realize power amplifier to drive stepper motor.Finally Keywords:SCM, Stepper Motor, Multi-axis motion, serial communicationusingProteus to draw the principle diagram of the SCM control stepper motormulti-axismotion.The above design experiments showed is effective and feasible.基于单片机的步进电机多轴运动控制系统设计 目 录第一章 引言..........................................................................................................................1 1.1 选题背景............................................................................................ (1)1.2 研究意义 (1)1.3 发展状况 (2)1.4 课题主要研究的内容 ................................................... 3 第二章 控制系统硬件设计 ........................................................................................... (4)2.1 单片机控制系统原理............................................................................................ (4)2.1.1 单片机的种类............................................................................................ (4)2.1.2 单片机的发展历程............................................................................................ (4)2.1.3 51 单片机的引脚安排 (5)2.1.4 单片机的结构............................................................................................ (7)2.2 步进电机............................................................................................ (11)2.2.1 M35SP-7 步进马达的性能参数 (12)2.2.2 步进电机原理............................................................................................ (13)2.2.3 驱动控制系统组成..............................................................................................182.2.4 步进电机的应用............................................................................................ (21)2.2.5 步进电机的单片机控制 (22)2.2.6 步进电机的多轴联动 (23)2.3 ULN2003A 驱动芯片............................................................................................4.1 单片机程序设计........................................................................................... (34)4.2 程序实现与调试........................................................................................... (34)第五章结论与展望........................................................................................... . (37)5.1 结论........................................................................................... . (37)5.2 展望........................................................................................... . (37)参考文献 .......................................................................................... .. (38)致谢........................................................................................... . (40)附录........................................................................................... . (41)声明........................................................................................... . (48)第一章引言1.1 选题背景不仅在大型工业中,在医疗过程中也需要机械的帮助,利用步进电机的多轴控制可以让医疗设备精确的扫描人体的各个部位,为治疗带来更精确的数据来正确、快速的治疗病人。
基于单片机的步进电机器控制设计

摘要本文应用单片机AT89C51和脉冲分配器PMM8713,步进电机驱动器,光电隔离器4N25等,构建了步进电机控制器和驱动器为一体的步进电机控制系统。
通过AT89C51和脉冲分配器PMM8713完成步进电机的各种运行控制方式,实现步进电机在3相6拍的工作方式下的正反转控制和加减速控制。
并通过步进电机丝杠连动,带动XY工作台的直线运动,实现从起点A点到预定点B点的位移控制。
整个系统采用模块化设计,结构简单,可靠,通过人机交互换接口可实现各功能设置,操作简单,易于掌握。
该系统可应用于步进电机在机电一体化控制等大多数场合。
关键词:步进电机单片机控制目录绪论 (1)1、步进电机及其发展 (1)1.1步进电机在我国的发展应用及前景 (2)1.2本文研究内容 (2)2、步进电机的分类、结构、工作原理及特性 (2)2.1步进电机的概念 (2)2.2步进电机的特点 (3)2.3步进电机的结构及工作原理 (3)2.4步进电机的常用术语 (4)3、步进电机的单片机控制 (5)3.1步进电机控制系统组成 (5)3.2步进电机控制系统原理 (6)3.3脉冲分配 (6)3.4步进电机与微型机的接口电路 (8)4、步进电机的运行控制 (9)4.1步进电机的速度控制 (9)4.2步进电机的位置控制 (9)4.3步进电机的加减速控制 (10)5、步进电机的程序设计 (11)5.1程序框图 (11)结论 (13)致谢辞 (13)参考文献 (13)绪论步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。
在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。
可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
毕业设计论文 基于单片机的步进电机控制器

第1章绪论 (2)1.1引言 (2)1.2步进电机常见的控制方案与驱动技术简介 (4)1.2.1常见的步进电机控制方案 (4)1.2.2步进电机驱动技术 (6)1.3本文研究的内容 (8)第2章步进电机概述 (9)2.1步进电机的分类 (9)2.2步进电机的工作原理 (10)2.2.1结构及基本原理 (10)2.2.2两相电机的步进顺序 (10)2.3 步进电机的工作特点 (13)2.4本章小结 (15)第3章系统的硬件设计 (16)3.1系统设计方案 (16)3.1.1系统的方案简述与设计要求 (16)3.1.2系统的组成及其对应功能简述 (16)3.2单片机最小系统 (18)3.2.1AT89S51简介 (18)3.2.2单片机最小系统设计 (23)3.2.3单片机端口分配及功能 (24)3.3串口通信模块 (24)3.4数码管显示电路设计 (25)3.4.1共阳数码管简介 (25)3.4.2共阳数码管电路图 (26)3.5电机驱动模块设计 (27)3.5.1L298简介 (27)3.5.2电机驱动电路设计 (28)3.6驱动电流检测模块设计 (30)3.6.1OP07芯片简介 (30)3.6.2ADC0804芯片简介 (32)3.6.3电流检测模块电路图 (35)3.7独立按键电路设计 (36)3.8本章小结 (36)第4章系统的软件实现 (37)4.1系统软件主流程图 (37)4.2系统初始化流程图 (38)4.3按键子程序 (39)结论 (43)1第1章绪论1.1引言步进电动机又称脉冲电动机或阶跃电动机,国外一般称为Steppingmotor、Pulse motor或Stepper servo,其应用发展已有约80年的历史。
步进电机是一种把电脉冲信号变成直线位移或角位移的控制电机,其位移速度与脉冲频率成正比,位移量与脉冲数成正比。
步进电机在结构上也是由定子和转子组成,可以对旋转角度和转动速度进行高精度控制。
基于单片机的步进电机控制系统设计方案

D10-基于单片机旳步进电机控制系统一、理解什么是步进电机以及其工作原理步进电机是数字控制电机,步进电机旳运转是由电脉冲信号控制旳,其角位移量或线位移量与脉冲数成正比,每个一种脉冲,步进电机就转动一种角度(不距角)或前进、倒退一步。
步进电机旋转旳角度由输入旳电脉冲数确定,因此,也有人称步进电机为数字/角度转换器。
步进电机旳各相绕组按合适旳时序通电,就能使步进电机转动。
当某一相绕组通电时,对应旳磁极产生磁场,并与转子形成磁路,这时,假如定子和转子旳小齿没有对齐,在磁场旳作用下,由于磁通具有力图走磁阻最小途径旳特点,则转子将转动一定旳角度,使转子与定子旳齿互相对齐,由此可见,错齿是促使电机旋转旳原因。
二、步进电机旳特点(1)步进电机旳角位移与输入脉冲数严格成正比,因此当它转一转后,没有合计误差,具有良好旳跟随性。
(2)由步进电机与驱动电路构成旳开环数控系统,既非常以便、廉价,也非常可靠。
同步,它也可以有角度反馈环节构成高性能旳闭环数控系统。
(3)步进电机旳动态响应快,易于启停、正反转及变速。
(4)速度可在相称宽旳范围内平滑调整,低速下仍能保证获得很大旳转矩,因此一般可以不用减速器而直接驱动负载。
(5)步进电机只能通过脉冲电源供电才能运行,它不能直接用交流电源或直流电源。
(6)步进电机自身旳噪声和振动比较大,带惯性负载旳能力强。
三、步进电机旳控制步进电机旳控制重要包括换相次序旳控制、速度控制、速度控制、加减速控制等,控制系统就是运用单片机旳功能实现以上控制旳系统,即本次设计旳目旳。
四、示意图五、硬件设计计划本设计旳硬件电路只要包括控制电路、最小系统、驱动电路、显示电路四大部分。
最小系统只要是为了使单片机正常工作。
控制电路只要由开关和按键构成,由操作者根据对应旳工作需要进行操作。
显示电路重要是为了显示电机旳工作状态和转速。
驱动电路重要是对单片机输出旳脉冲进行功率放大,从而驱动电机转动。
(1)控制电路根据步进电机旳工作原理可以懂得,步进电机转速旳控制重要是通过控制通入电机旳脉冲频率,从而控制电机旳转速。
基于单片机的步进电机控制电路设计

基于单片机的步进电机控制电路设计
步进电机是一种应用广泛的电机,它的控制方式是通过逐步改变电流来驱动电机转动。
基于单片机的步进电机控制电路设计可以使步进电机的控制更加精确、方便和自动化。
下面将介绍一下如何设计一台基于单片机的步进电机控制电路。
首先,我们需要选择合适的单片机。
对于步进电机控制,需要一个I/O口数目足够的单片机,并且要求计算速度快、性能稳定。
常用的单片机有AT89C51、AVR、PIC、STM32等,其
中STM32拥有强大的计算能力和外设支持,非常适合用于步
进电机控制电路的设计。
接下来,我们需要考虑步进电机的驱动方式。
步进电机可以采用全步进或半步进两种方式驱动。
全步进控制方式会让电机一步步转动,步距为180度,转速慢但精确度高,而半步进控制方式可以让电机先半步,再进入全步进控制,提高了转速同时又保持了较高的精度。
最后,我们需要设计电路连接和代码编写。
在电路连接方面,需要将单片机输出引脚和驱动芯片的控制引脚相连,同时将驱动芯片输出端和电机的相应引脚相连。
在代码编写方面,需要根据所选单片机的指令集来编写步进电机控制引脚输出的程序,实现步进电机转速和方向的控制。
综上所述,基于单片机的步进电机控制电路设计需要选取合适的单片机,选择合适的步进电机驱动方式,并根据电路连接和
代码编写来实现电机的精确控制。
这样设计出的步进电机控制电路可以应用于各种机械设备控制,使之更加智能化和自动化。
基于单片机的步进电机控制系统实用设计

数 而不受负载变 化的影 响 , 即给 电机 加一个 脉 冲信号 , 电机 则
转 过 一 个 步 距 角 。这 一 线 性 关 系 的 存 在 , 加 上 步 进 电 机 只有 周
来改变定 时初值 , P O口接 L E D数码管 , 可 以显示 当前的电机转 速和按钮状态 , 具体 结构 如图 2 所示 。
当开 关 S C接 通 电 源 , S A、 S B 、 S D断开时 , 由于 C相 绕 组 的 磁力线和 1 、 4号 齿 之 间 磁力 线 的作 用 , 会使转子转动 , 1 、 4 号 齿 和 C相 绕 组 的磁 极 对 齐 。 而 0 、 3号齿 和 A、 B相 绕 组 磁 极 产 生
l 1 0 B Y G 和 国 内标 准 的 7 0 B YG、 9 0 B Y G、 1 3 O B YG等 。
能够通过键盘设置步 进 电机 的转 向和转 速 , 并在 L E D显 示器 上显示步进 电机的转速和工作状态。具体要求 如下 :
( 1 )按 下 不 同 的键 , 分 别 使 步 进 电机 实 现 顺 时针 和 逆 时 针 旋转 。
错齿 , 2 、 5 号齿就和 A、 D相绕组磁极 产生错齿 。依次类 推 , A、 B 、 C、 D 四相绕组 轮流供 电, 则转子会沿着 A、 B、 C、 D方向转动 。
转子 O 、 3号齿 对齐 , 同时 , 转 子的 1 、 4号齿 就和 C、 D相绕组磁
极产生错齿 , 2 、 5 号 齿 就 和 A、 D相绕组磁极产生错齿。
以作 四相运行 , 也可以作两相运行 , 而反应式电机则不能如此 。 感应子式步进 电机 按相数 可分为 两相 电机、 三相 电机 、 四
设计 及程 序设计 。该 系统 可 以实现 步进 电机 正转 、 反转 、 加速 、 减 速 以及 速度 实时 显示 等功 能 , 设计 思路 明确 、 可靠性 高 、 稳 定性 强 。 关键 词 : 步进 电机 ; 单片机; 控 制 系统 ; 设 计
基于51单片机的步进电机控制系统设计

基于51单片机的步进电机控制系统设计步进电机是一种特殊的直流电动机,具有定角度、定位置、高精度等特点,在许多领域得到广泛应用,如机械装置、仪器设备、医疗设备等。
本文将基于51单片机设计一个步进电机控制系统,主要包括硬件设计和软件设计两部分。
一、硬件设计步进电机控制系统的硬件设计主要包括51单片机、外部电源、步进电机驱动模块、以及其他辅助电路。
1.51单片机选择由于步进电机控制需要执行复杂的算法和时序控制,所以需要一个性能较高的单片机。
本设计选择51单片机作为主控芯片,因为51单片机具有丰富的外设接口、强大的计算能力和丰富的资源。
2.外部电源步进电机需要较高的电流供给,因此外部电源选择稳定的直流电源,能够提供足够的电流供电。
电源电压和电流的大小需要根据具体的步进电机来确定。
3.步进电机驱动模块步进电机驱动模块是连接步进电机和51单片机的关键部分,它负责将51单片机输出的脉冲信号转化为对步进电机的驱动信号,控制步进电机准确转动。
常用的步进电机驱动芯片有L297、ULN2003等。
4.其他辅助电路为了保证步进电机控制系统的稳定运行,还需要一些辅助电路,如限流电路、电源滤波电路、保护电路等。
这些电路的设计需要根据具体的应用来确定。
二、软件设计1.系统初始化系统初始化主要包括对51单片机进行外部中断、定时器、串口和IO 口等初始化设置。
根据实际需求还可以进行其他模块的初始化设置。
2.步进电机驱动程序步进电机的驱动程序主要通过脉冲信号来控制电机的转动。
脉冲信号的频率和脉冲宽度决定了电机的转速和运行方向。
脉冲信号可以通过定时器产生,也可以通过外部中断产生。
3.运动控制算法步进电机的运动控制可以采用开环控制或闭环控制。
开环控制简单,但无法保证运动的准确性和稳定性;闭环控制通过对电机转动的反馈信号进行处理来调整脉冲信号的生成,从而实现精确的运动控制。
4.其他功能设计根据具体的应用需求,可以加入其他功能设计,如速度控制、位置控制、加速度控制等。
基于51单片机的步进电机控制系统设计与实现

步进电机工作原理
步进电机是一种基于磁场的控制系统,工作原理是当电流通过定子绕组时,会 产生一个磁场,该磁场会吸引转子铁芯到相应的位置,从而产生一定的角位移。 步进电机的角位移量与输入的脉冲数量成正比,因此,通过控制输入的脉冲数 量和频率,可以实现精确的角位移和速度控制。同时,步进电机具有较高的分 辨率和灵敏度,可以满足各种高精度应用场景的需求。
二、系统设计
1、硬件设计
本系统主要包括51单片机、步进电机、驱动器、按键和LED显示等部分。其中, 51单片机负责接收按键输入并控制步进电机的运动;步进电机用于驱动负载运 动;驱动器负责将51单片机的输出信号放大,以驱动步进电机。LED显示用于 显示当前步进电机的状态。
2、软件设计
软件部分主要包括按键处理、步进电机控制和LED显示等模块。按键处理模块 负责接收用户输入,并根据输入控制步进电机的运动;步进电机控制模块根据 按键输入和当前步进电机的状态,计算出步进电机下一步的运动状态;LED显 示模块则负责实时更新LED显示。
三、系统实现
1、按键输入的实现
为了实现按键输入,我们需要在主程序中定义按键处理函数。当按键被按下时, 函数将读取按键的值,并将其存储在全局变量中。这样,主程序可以根据按键 的值来控制步进电机的转动。
2、显示输出的实现
为了实现显示输出,我们需要使用单片机的输出口来控制显示模块的输入。在 中断服务程序中,我们根据设定的值来更新显示模块的输出,以反映步进电机 的实时转动状态。
基于单片机的步进电机控制系统需要硬件部分主要包括单片机、步进电机、驱 动器、按键和显示模块等。其中,单片机作为系统的核心,负责处理按键输入、 控制步进电机转动以及显示输出等功能。步进电机选用四相八拍步进电机,驱 动器选择适合该电机的驱动器,按键用于输入设定值,显示模块用于显示当前 步进电机的转动状态。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
河南职业技术学院毕业设计(论文)题目基于单片机在电机控制技术中的设计系(分院)机械电子工程系学生姓名侯洋威学号09111026专业名称机电一体化指导教师李小强2011年1月31日河南职业技术学院机械电子工程系(分院)毕业设计(论文)任务书姓名侯洋威专业机电一体化班级091毕业设计(论文)题目基于单片机在电机控制技术中的设计毕业设计(论文)选题的目的与意义当今,科学技术的日益进步,引领者各个行业的飞速发展,而在工业领域中,电机是带动世界运转的枢纽,电机的发展使在运输和控制方面更加的灵活和准确,为更加迅速发展的科技提供了前提,而单片机的出现无疑是把它的准确度带到了更高的一个层次。
单片机在价格上优越于PLC,这就提高了单片机在工业中的应用。
应用单片机技术能更好、更加准确地定位电机的运行距离,从而更好的控制电机。
毕业设计(论文)的资料收集情况(含指定参考资料)①李传军:单片机原理及应用.郑州:河南科学技术出版社,2010.2②张永枫、王静霞:单片机应用实训教程. 北京:清华大学出版社,2008.12③雷丽文:微机原理与接口技术[M].北京:电子工业出版社,1997.2毕业设计(论文)工作进度计划2011年10月20日-10月31日:通过查阅资料确定论文的题目2011年11月1日-11月10日:通过各种途径查询相关芯片的使用方法及应用2011年11月11日-12月25日:在硬件基础上根据相关要求编写程序2011年02月13日-2月28日:按照论文格式对论文相关细节进行修改接受任务日期 2011年11 月11日要求完成日期 2012年 3月 5日学生签名:侯洋威2012年 3 月 5 日指导教师签名:年月日系(分院)主任(院长)签名:年月日毕业设计(论文)指导教师评阅意见表姓名侯洋威学号09111026性别男专业机电一体化班级091毕业设计(论文)基于单片机在电机控制技术中的设计题目评阅意见成绩指导教师签字年月日毕业设计(论文)答辩意见表姓名侯洋威学号09111026性别男专业机电一体化班级091毕业设计(论文)题目基于单片机在电机控制技术中的设计答辩时间地点答辩小组成员姓名职称学历从事专业组长成员秘书答辩小组意见答辩成绩:答辩小组组长签名:年月日基于单片机在电机控制技术中的设计侯洋威摘要:随着科学技术的发展,在工业领域中其自动化程度越来越高,不仅提高了生产的效率,还在一定程度上解放了劳动力。
特别是在工厂里我们看到了许多具有高自动化的机械手或者机器人,它们无论是在效率上还是在精确度方面都有很大的提高,电机的运行准确而到位,特别是步进电动机,那么是什么是这些原本不可及的事情成为可能?汇编语言及高级语言的出现使他成为现实。
本系统采用MCS-51系列单片机控制步进电动机,通过P1口的输入,P2口输出,来实现步进电动机的正转与反转。
本系统实用性强、操作简单、扩展功能强。
关键词:单片机步进电动机汇编语言一、引言随着数字化技术发展,数字控制技术得到了广泛而深入的应用。
步进电机是一种将数字信号直接转换成角位移或线位移的控制驱动元件, 具有快速起动和停止的特点。
因为步进电动机组成的控制系统结构简单,价格低廉,性能上能满足工业控制的基本要求,所以广泛地应用于手工业自动控制、数控机床、组合机床、机器人、计算机外围设备、照相机,投影仪、数码摄像机、大型望远镜、卫星天线定位系统、医疗器件以及各种可控机械工具等等。
二、硬件部分处理(1)步进电动机原理步进电机本质上是一个数字角度转换器。
以三相电机为例, 其结构原理见图1。
各相夹角为120°的定子磁极上均匀分布了5个矩形小齿, 没有绕组的转子圆周上也均匀的分布着40个小齿(相邻齿夹角为9°)。
利用电磁学的性质, 在某相绕组通电时, 相应的磁极产生磁场, 与转子形成磁路如此时定子的小齿与转子的小齿没有对齐, 则在磁场作用下, 转子就转动一定角度, 达到齿的对齐。
在单三拍控制方式下, 若A相通电, B、C相不通电, 在磁场作用下使转子齿和A相定子齿相对假设此时为初态并且令与A相中心对齐的转子齿为0号齿, 因为B 相与A相相差120°,可知120°/9°=13 3⁄9, 不为整数, 即此时转子齿与B相不对齐, 只是13号齿靠近相的中心, 且相差3°。
如果此时突然变为B相通电, 而A、C相都不通电, 那么, 13号齿会在磁场的作用下转到与相中心对齐的位置, 这就是常说的走一步, 此时,转子转了。
这样, 按照A一B一C一A顺序通电次, 可以使转子转动9°。
那么步进电机的步距角Q=(360/NZ)°(式中N=MC为运行拍数;M为控制绕组相数;C为状态系数, 单三拍或双三拍时C=1, 单六拍或双六拍时C=2为转子齿数)。
(2)步进电机驱动电路步进电动机多采用专用的集成电路,L293D就是步进电机集成电路中的一种。
它适用于驱动感性负载,输出电流最高可达1.2A,其引脚如图3.1.2所示。
其引脚功能如表3.1.1所示。
引脚号功能引脚号功能19 4,5,12,13 8,16 通道IN1,IN2使能端;通道IN3,IN4使能端接地端电源端2,37,610,1114,15通道IN1输入、输出端通道IN2输入、输出端通道IN3输入、输出端通道IN4输入、输出端有4个输入—输出通道,分别为IN1-OUT1、IN2-OUT2、IN3-OUT3和INT4-OUT4;2个通道控制使能端EN1、EN2;EN1对应通道IN1-OUT1、IN2-OUT2的选通控制;EN2对应通道IN3-OUT3和INT4-OUT的选通控制。
只有当控制使能端EN1和EN2为高电平时,所对应的驱动通道才被选通,各输入、输出引脚状态与使能控制端状态的对应关系如表3.1.2所示。
表3.1.2 通道驱动状态真值表INPUT状态EN(1、2)状态OUTPUT状态H L H L HHLLHL高阻抗高阻抗可用单片机的P2.0-P2.3分别接驱动芯片L293D的4个输出端,再用L293D 的4个输出端去控制步进电动机的4个相控制端。
(3)电器件清单如表3.1.3所示。
表3.1.3 电路器件清单元件名称参数数量元件名称参数数量IC插座单片机瓷片电容步进电机DIP4089C5133Pf86BYG1021121步进电机驱动芯片晶体振荡器按键L293D12MHz113(4)电路图单片机控制步进电动机驱动电路如图3.1.3所示。
通过S1正转、S2反转、S3停止控制按键对单片机是否输出脉冲及发送脉冲码的顺序进行按键。
单片机P1.0-P1.2为按键输入端口,P2.0-P2.3为脉冲输出端口,端口资源分配如表3.1.4所示。
图3.1.3 单片机控制步进电机驱动电路P1.0P1.1+5V表3.1.4 单片机端口资源分配表 端口功能 端口功能IN1 OUT1IN2 OUT2IN3 OUT3IN4 OUT4 1,2EN GND 3,4EN GND Vcc2 GND Vcc1 GND+5V 步进电机21 2 22 7 23 102415 19 8 163611144 5 12 13 45 6S1正转 S2反转S3停止 VccEA12MHzC1C2 30pF30pF10KR31 239K1+5V22uF181920L293DP1.0 P1.1 电机正转控制输入端 电机反转控制输入端 P1.2 P2.0-P2.3 电机停止控制输入端 驱动脉冲输出端三、控制程序编程的设计思路为:根据控制按键状态的查询结果,调用对应的电机运转控制子程序。
例如,当查询到S1键按下时,调用电机正转控制子程序,通过P2口依次依次循环送出01H,02H,04H,08H 步进电机正转控制代码;若查询到S2按键按下则通过P2口依次循环送出08H,04H,02H,01H 步进电机控制反转控制代码;若查询到S3键按下,P2口则停止脉冲代码,电机停转。
程序参考流程如图3.1.4所示。
; ****************步进电机控制程序STEP_M************************* ; 程序名:STEP_M PM3_1_1.asm; 程序功能:查询控制按键状态,控制步进电机的正转、反转及停止开始正转按键是否按下?反转按键是否按下?停止按键是否按下?电机反转电机反转电机反转NYYYNN;出口参数:P2.0-P2.3ORG 0000HLJMP STEP_MSTEP_M: MOV P1,#0FFHNEXT0: JB P1.0,NEXT1 ;正转键是否按下?MOV R1,#4 ;设置循环查表次数MOV R0,#0 ;设置正转查表修正初值LCALL RUN ;调用转动控制子程序NEXT1: JB P1.1,NEXT2 ;反转按键是否按下?MOV R1,#4MOV R0,#4 ;设置正转查表修正初值LCALL RUN ;调用转动控制子程序NEXT2: JB P1.2,NEXT0 ;停止键是否按下?MOV P2,#00H ;调用转动控制子程序LJMP NEXT0; *******************步进电机控制正反转子程序RUN**************;程序名:RUN;程序功能:控制步进电机正反转RUN: MOV DPTR,#TABZD: MOV A,R0MOVC A,@A+DPTRMOV P2,AACALL DELAYINC R0DJNZ R1,ZDRETDELAY: MOV R4,10DE1: MOV R5,#250DE0: NOPNOPDJNZ R5,DE0DJNZ R4,DE1RETTAB: DB 01H,02H,04H,08H ;正转代码DB 08H,04H,02H,01H ;反转代码END根据上面的控制程序,按键只有保持按下状态时,控制功能才有效,所以要采用带有机械锁定的按键。
若采用普通的点动按键,手按下时电机转动,松开时电机停止。
当然也可在程序中通过设置按键状态标志位来实现,即只要控制键按下,则将其对应的状态标志位置“1”,否则置“0”。
然后再通过判断阿年标志位的状态控制电机的转动状态。
四、结束语本系统就是利用单片机中的汇编语言来控制电动机的正反转,系统统采用MSC-51系列单片机89C51和L293D来实现的,CPU时间少, 效率高; 易控制步进电机的转速; 易控制电机的转向; 提高了步进电机的步进精度等。
通过这次的课程设计,使我们更深入的对我对硬件电路图、流程图设计、程序设计、软件设计有了深入的了解。
通过这次毕业设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。
使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。