基于51单片机步进电机的控制及细分驱动电路-简易软件
基于51单片机的步进电机控制系统设计
基于51单片机的步进电机控制系统设计中文摘要步进电机是一种受脉冲信号控制,并且能将脉冲信号转化为相应的角位移或者线位移的数字电动机。
由于步进电机具有步距误差不积累、运行可靠、结构简单、惯性小、成本低等优点,因此,被广泛使用于计算机外围电路、自动化控制装置以及其他的数字控制装置中,如打印机、钟表、数模转换设备等装置中。
随着科学技术的快速发展,相应的控制系统也产生了很多种类,步进电机的身影在众多领域中可以看到。
其中采用单片机作为控制核心的控制系统,由于其电路简单、成本低、可靠性强等优点,满足众多领域的需求,得到了大量的运用。
因此,研究基于单片机的步进电机控制系统,具有重要的现实意义。
本设计研究的是基于51单片机对步进电机的控制系统。
通过单片机的I/O端口输出时序方波作为控制信号,信号经过芯片ULN2003驱动芯片驱动步进电机进行不同的指令进行工作。
根据不同的需要,通过按键电路来控制步进电机的启停、正反转和加减速等功能,并在数码管上实时显示步进电机的工作状态。
本文给出了电路各个模块的电路图,并用Proteus的ISIS软件对控制系统的各个功能进行了仿真,并给出了相应的仿真结果图像。
关键词:单片机;步进电机;电机驱动;控制系统AbstractStepper motor controlled by a pulse signal, and a pulse signal can be converted to the corresponding angular displacement or linear displacement of the digital motor. As the stepper motor has a step error does not accumulate, reliable, simple structure, small inertia, low cost, and therefore, are widely used in computer peripheral circuits, automatic control devices and other digital control devices, such as printers, watches and clocks , digital to analog conversion equipment, and other devices. With the rapid development of science and technology, the corresponding control system also produced many types of stepper motor figure can be seen in many areas. Which uses microcontroller as the control of the control system, because of its simple circuit, low cost, high reliability, etc., to meet the needs of many fields, we get a lot of use. Therefore, based on single-chip stepper motor control system has important practical design study is 51 single-chip stepper motor control system. As a control signal, the signal through the chip ULN2003 stepper motor drive to work through the microcontroller I / O port output timing square wave. Depending on the need, through the key circuit to control the start and stop, reversing and ramp functions such as stepper motors, stepper motors in real-time display and digital working condition. In this paper, the circuit diagram of each module, and with the ISIS Proteus software for each function control system simulation, and the simulation results are given corresponding image.Key words: microcontroller; stepper motor; motor drive; control system目录中文摘要 (I)Abstract (II)1 绪论 (1)步进电机及其发展过程 (1)步进电机在我国的应用及前景 (2)本设计的研究内容 (2)步进电机的性能指标及工作原理 (3)步进电机的特点 (3)步进电机的种类 (4)步进电机的主要性能指标 (4)步进电机的工作原理 (6)步进电机控制系统的原理 (7)2 总体方案设计 (9)设计思路的选择 (9)单片机芯片的选择 (11)驱动电机芯片的选择 (12)显示电路的选择 (12)步进电机的选择 (13)3 控制系统的硬件电路设计 (14)键盘控制电路 (14)单片机最小系统电路 (15)数码管显示电路 (16)步进电机的驱动电路 (17)步进电机的其他电路 (18)4 控制系统的软件设计 (19)主程序流程图 (19)读按键子程序流程图 (20)按键处理子程序流程图 (21)电机控制中断程序流程图 (22)5 仿真与测试 (24)仿真软件介绍 (24)仿真的操作步骤 (24)电路板的焊接 (25)电路板的测试 (25)6 结论与展望 (27)致谢 (29)参考文献 (30)附录:系统总体电路图 (31)系统仿真原理图 (31)PCB打印图 (32)原件清单 (32)程序 (33)1 绪论步进电机及其发展过程步进电机是一种受脉冲信号控制,并且能将脉冲信号转化为相应的角位移或者线位移的数字电动机。
51单片机细分驱动步进电机
51单片机细分驱动步进步进电机一、引言步进电机是一种将电脉冲转化为角位移的执行机构。
步进电机与普通电机最大的不同就是步进电机能很好地控制电机的旋转角度。
当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。
您可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时您可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
步进电机原理说明请参考/Article.asp?id=1699533。
大家看到配单片机学习开发板的大多是小巧的那种两相步进电机(六线、也称四相),而实际上应用最广泛的就是工业或专用设备的24V/2~4A的步进电机,这类电机则需要专门制作或购买带细分功能的步进驱动器来驱动,所以了解和学会使用这种驱动器是单片机应用的必修课。
不过无论电机大小,原理是一样的。
二、工业用步进电机典型介绍看到网上不少单片机初学者不知道如何用驱动器去驱动大的步进电机,其实并不难,笔者前不久从仓库中翻出一个BS(白山牌)的步进驱动器和步进电机一套,特用单片机控制实验示范给狼友,下面是步进电机和驱动器外观及参数图。
电机主要参数:步距角----- 1.8°(200步/1圈,即360° / 1.8° = 200)保持转矩----- 0.9N.m电压/电流----- 24V/3.0A相电阻----- 0.75Ω相电感----- 1.1mH转子惯量----- 300g.cm2步进驱动器主要参数:反应频率 ----- 200Kpps (最高)驱动电流 ----- 0.5~4A连续可调电压范围----- DC12~40V 特殊功能:双极恒流斩波方式;步进脉冲停止超过100ms 时,电机线圈自动减半。
设有12/8档等角度恒力矩细分,最高200细分。
细分数1248163264128 D0ON OFF ON OFF ON OFF ON OFF D1ON ON OFF OFF ON ON OFF OFF D2ON ON ON ON OFF OFF OFF OFF D3无效D4ON, 双脉冲:PU为正向步进脉冲信号,DR为反向步进脉冲信号OFF, 单脉冲:PU为步进脉冲信号,DR为方向控制信号D5自检测开关(OFF时接收外部脉冲,ON时驱动器内部发7.5KHz脉冲)二、用单片机驱动步进电机经过测试和电路了解,此驱动器内部各信号输入端具有光耦隔离电路,而且只需10MA左右即可驱动,因此单片机I/O直接接到驱动器即可。
基于51单片机的步进电机控制-设计报告(说明书)及源程序
步数
Q1
Q2
Q3
Q4
1
1
0
1
0
2
1
0
0
1
3
0
1
0
1
4
0
1
1
0
5
1
0
1
0
表1
二
2.
该系统中只运用到三个控制按钮,即 “正反”,“换挡”,“启停”,由于按钮较少,所以采用独立键电路,这种按键电路的按键结构相对行列式按键电路更简单,更使人易懂。
单片机的晶振为12MHZ;
(3)、系统电路图:
南京XX大学
指导老师:张X
课 程 设 计
基于51单片机的步进电机控制
机械电子工程学院
测控技术与仪器
XXXXX
Xxx
2012年1年4日
步进电机控制系统
[摘要]本课程设计的内容是利用51单片机,达到控制步进电机的启动、停止、正转、反转、两档速度和状态显示的目的,使步进电机控制更加灵活。步进电机驱动芯片采用ULN2803,ULN2803具有大电流、高电压,外电路简单等优点。利用四位数码管增设电机状态显示功能,各项数据更直观。实测结果表明,该控制系统达到了设计的要求。
2.
如图2.31,采用LED数码管动态显示数据与个项参数,方法简单,容易控制,成本低。
设计如下图
图2.31
2.4驱动电路设计
驱动电路可分为:三极管直接驱动(图3),采用斩波恒流驱动方式(图2.41)和芯片驱动电路等。驱动电路的性能直接关系到步进电机走步的准确与稳定。本电路采用驱动芯片ULN2803。ULN2803是一种大电流高电压型器件,外电路简单(图2.42)。
基于51单片机控制步进电机毕业设计论文
基于51单片机控制步进电机毕业设计论文LTDesign of stepping motor control system based on single chip microcomputerAbstractStepping motor is a kind of by electric pulse signal to control actuator, because it is easy to control, small size and other characteristics, so in the CNC system, automatic production lines, automatic instrument, drawing machine and printer has a widely application. The popularization and application of microelectronic technology and rapid development of micro computer, and gradually into the application field of the motor, which makes before hardware circuit controller of large and complex can now be used software to achieve. This not only reduces the cost of hardware, but also improves the flexibility, reliability and functionality of the control. Because of the stepper motor with instantaneous start, rapid stop, high accuracy, and with the composition of the open loop system is simple, cheap, and very practical. Therefore, the design of based on single-chip stepper motor control system has great value and broad application.This paper mainly studies the design of the stepper motor system based on single chip microcomputer. The content of the subject includes the principle of step motor and single chip microcomputer, the stepper motor drive circuit is analyzed, and the system hardware circuit and program are designed and tested. The design of stepping motor control system adopts the method of software and hardware co simulation, which can effectively reduce the time and cost of the system development. Using Protues simulation software to complete the motor positive inversion, deceleration and stop start and other basic functions, using single chip microcomputer, stepping motor drive chip, character type LCD and keyboard array element module, the design of the controller and the driver for one step into the simulation of motor control system, realizes the function of the stepper motor range setting, position control and real-time display of a step into the working state of the motor. The hardware of the system consists of control circuit, display circuit, alarm feedback circuit and drive circuit, the corresponding software program is designed according to the hardware circuit, and the debugging and analysis are carried out. The design system has the characteristics of clear thinking, high reliability, strong stability and so on.Keywords: stepping motor ;drive circuit;single chip microcomputer;simulation and control system目录第一章绪论 (1)1.1课题背景 (1)1.2课题的目的和意义 (1)1.3课题的内容 (2)第二章步进电机的结构与特点 (3)2.1步进电机的构造 (3)2.2步进电机的工作原理 (4)2.3步进电机的主要特征 (5)2.4步进电机绕组的电气特性 (7)2.5步进电机的选型 (8)第三章设计原理分析 (9)3.1设计目的 (9)3.2设计要求 (9)3.3总体设计方框图 (10)3.4设计方案论证 (10)3.4.1系统控制方案 (10)3.4.2驱动模块方案选择 (13)3.4.3最终方案确定 (15)第四章步进电机控制系统硬件设计 (15)4.1单片机最小系统 (15)4.2 控制电路 (17)4.3 驱动电路 (19)4.4 显示电路 (20)4.5 位移越界报警电路 (21)4.6 状态指示灯显示电路 (22)第五章步进电机控制系统软件设计 (23)5.1主程序设计 (23)5.2 LCD显示程序设计 (25)5.3转速控制程序设计 (27)5.4程序设计 (28)5.5角度设定程序设计 (29)5.6位移设定程序设计 (31)第六章仿真结果与分析 (34)6.1整体硬件设计图 (34)6.2测试 (34)6.3误差分析 (39)第七章总结 (40)参考文献 (42)致谢 (45)第一章绪论1.1课题背景步进电机作为控制执行器,广泛应用于各种控制领域[1]。
基于51单片机的步进电机控制系统设计
基于51单片机的步进电机控制系统设计步进电机是一种特殊的直流电动机,具有定角度、定位置、高精度等特点,在许多领域得到广泛应用,如机械装置、仪器设备、医疗设备等。
本文将基于51单片机设计一个步进电机控制系统,主要包括硬件设计和软件设计两部分。
一、硬件设计步进电机控制系统的硬件设计主要包括51单片机、外部电源、步进电机驱动模块、以及其他辅助电路。
1.51单片机选择由于步进电机控制需要执行复杂的算法和时序控制,所以需要一个性能较高的单片机。
本设计选择51单片机作为主控芯片,因为51单片机具有丰富的外设接口、强大的计算能力和丰富的资源。
2.外部电源步进电机需要较高的电流供给,因此外部电源选择稳定的直流电源,能够提供足够的电流供电。
电源电压和电流的大小需要根据具体的步进电机来确定。
3.步进电机驱动模块步进电机驱动模块是连接步进电机和51单片机的关键部分,它负责将51单片机输出的脉冲信号转化为对步进电机的驱动信号,控制步进电机准确转动。
常用的步进电机驱动芯片有L297、ULN2003等。
4.其他辅助电路为了保证步进电机控制系统的稳定运行,还需要一些辅助电路,如限流电路、电源滤波电路、保护电路等。
这些电路的设计需要根据具体的应用来确定。
二、软件设计1.系统初始化系统初始化主要包括对51单片机进行外部中断、定时器、串口和IO 口等初始化设置。
根据实际需求还可以进行其他模块的初始化设置。
2.步进电机驱动程序步进电机的驱动程序主要通过脉冲信号来控制电机的转动。
脉冲信号的频率和脉冲宽度决定了电机的转速和运行方向。
脉冲信号可以通过定时器产生,也可以通过外部中断产生。
3.运动控制算法步进电机的运动控制可以采用开环控制或闭环控制。
开环控制简单,但无法保证运动的准确性和稳定性;闭环控制通过对电机转动的反馈信号进行处理来调整脉冲信号的生成,从而实现精确的运动控制。
4.其他功能设计根据具体的应用需求,可以加入其他功能设计,如速度控制、位置控制、加速度控制等。
基于51单片机的步进电机控制原理
1步进电机设计模块1.1步进电机的基本工作原理及选型步进电机有三线式、五线式和六线式,但是其控制方式均相同,都要以脉冲信号电流来驱动,假设每转动一圈要200个脉冲信号来励磁,可以计算出每个励磁信号能使步进电机前进1.8°,其旋转的角度与脉冲的个数成正比。
因为六线式四相步进电机控制简单,步进精确,因此我们选用六线式四相步进电机进行设计。
他的控制等效电路如图1.1所示,他有四条励磁信号引线A,A*,B,B*, 通过控制这四条引线上的励磁脉冲产生的时刻,即可控制步进电机的转动,每出现一个脉冲信号,步进电机只走一步,因此,只要依照顺序不断地送出脉冲信号,步进电机就能实现连续转动。
A1A2B1B2A1A2红红黑B1B2绿绿白(a)等效电路(b)绕组说明图1.1步进电机的控制等效电路1.2励磁方式选择步进电机的励磁方式主要分为全步励磁和半步励磁两种,其中全步励磁又有一相励磁和二相励磁之分:半步励磁又称一-二相励磁。
1.2.1一相励磁在每一瞬间,步进电机只有一个线圈导通。
每送出一个励磁信号,步进电机旋转1.8°,这是三种励磁方式中最简单的一种。
其特点是:精确度好、消耗电力小,但输出转矩小,震动较大。
1.2.2二相励磁在每一瞬间,步进电机有两个线圈同时导通。
每送一个励磁信号,步进电机旋转1.8°。
其特点是:输出转矩大,振动小。
1.2.3一-二相励磁为一相励磁与二相励磁交替导通的方式。
每送一个励磁信号,步进电机旋转0.9°。
其特点是:分辨率高,运转平滑。
1.2.4 小结本次设计中,步进电机的工作任务是带动载物台做精确的水平移动,综合考虑各种励磁方式的优点与缺点,最终选择一-二相励磁方式,励磁顺序见表1.1。
励磁顺序说明:1-2-3-4-5-6-7-8-11.3步进电机的驱动步进电机的驱动可以选用专用的点击驱动模块,如L298,FT5754等,这类驱动模块接口简单,操作方便,它们既可以驱动步进电机,也可驱动直流电机。
基于51单片机的步进电机控制系统设计与实现
步进电机工作原理
步进电机是一种基于磁场的控制系统,工作原理是当电流通过定子绕组时,会 产生一个磁场,该磁场会吸引转子铁芯到相应的位置,从而产生一定的角位移。 步进电机的角位移量与输入的脉冲数量成正比,因此,通过控制输入的脉冲数 量和频率,可以实现精确的角位移和速度控制。同时,步进电机具有较高的分 辨率和灵敏度,可以满足各种高精度应用场景的需求。
二、系统设计
1、硬件设计
本系统主要包括51单片机、步进电机、驱动器、按键和LED显示等部分。其中, 51单片机负责接收按键输入并控制步进电机的运动;步进电机用于驱动负载运 动;驱动器负责将51单片机的输出信号放大,以驱动步进电机。LED显示用于 显示当前步进电机的状态。
2、软件设计
软件部分主要包括按键处理、步进电机控制和LED显示等模块。按键处理模块 负责接收用户输入,并根据输入控制步进电机的运动;步进电机控制模块根据 按键输入和当前步进电机的状态,计算出步进电机下一步的运动状态;LED显 示模块则负责实时更新LED显示。
三、系统实现
1、按键输入的实现
为了实现按键输入,我们需要在主程序中定义按键处理函数。当按键被按下时, 函数将读取按键的值,并将其存储在全局变量中。这样,主程序可以根据按键 的值来控制步进电机的转动。
2、显示输出的实现
为了实现显示输出,我们需要使用单片机的输出口来控制显示模块的输入。在 中断服务程序中,我们根据设定的值来更新显示模块的输出,以反映步进电机 的实时转动状态。
基于单片机的步进电机控制系统需要硬件部分主要包括单片机、步进电机、驱 动器、按键和显示模块等。其中,单片机作为系统的核心,负责处理按键输入、 控制步进电机转动以及显示输出等功能。步进电机选用四相八拍步进电机,驱 动器选择适合该电机的驱动器,按键用于输入设定值,显示模块用于显示当前 步进电机的转动状态。
基于51单片机的步进电机控制系统-单片机课程设计报告
9.牵入转矩:≥34.3mN.m(120Hz) 10.自定位转矩:≥34.3mN.m 11.绝缘电阻:>10MΩ (500V) 12.绝缘介电强度:600VAC/1mA/1S 13.绝缘等级:A 14.温升:<50K(120Hz) 15.噪音:<40dB(120Hz) 16.重量:大约 40g 17.未注公差按:GB1804-m 18.转向:CCW
2.2.2 步进电机 24BYJ48 的相关电气参数
1.额定电压:12VDC(另有电压:5V、6V、24V) 2.相数:4 3.减速比:1/64(另有减速比:1/16、1/32) 4.步距角:5.625°/64 5.驱动方式:4 相 8 拍 6.直流电阻:200Ω ±7%(25℃)(按客户要求而定:80、130 欧姆) 7.空载牵入频率:≥600Hz 8.空载牵出频率:≥1000Hz
三、 ULN2003 达林顿陈列芯片
步进电机的驱动采用 ULN2003 芯片。 ULN2003 是高耐压、大电流达林顿陈列,由七个硅 NPN 达林顿管组成。 ULN2003 的每一对达林顿都串联一个 2.7K 的基极电阻, 在 5V 的工作电压下 它能与 TTL 和 CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器 来处理的数据。ULN2003 工作电压高,工作电流大,灌电流可达 500mA ,并 且能够在关态时承受 50V 的电压,输出还可以在高负载电流并行运行。 其引脚及内部原理图如下:
口作输入口使用时, 因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电 流(������������L ) 。 P2 端口(P2.0~P2.7,21~28 引脚) :P2 口是一个带内部上拉电阻的 8 位双 向 I/O 端口。 P2 的输出缓冲器可以驱动(吸收或输出电流方式)4 个 TTL 输入。 对端口写入 1 时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。 P2 作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会 输出一个电流(������������L ) 。 在访问外部程序存储器和 16 位地址的外部数据存储器(如执行“MOVX @DPTR” 指令) 时, P2 送出高 8 位地址。 在访问 8 位地址的外部数据存储器 (如 执行“MOVX @R1”指令)时,P2 口引脚上的内容(就是专用寄存器(SFR) 区中的 P2 寄存器的内容) ,在整个访问期间不会改变。 在对 Flash ROM 编程和程序校验期间, P2 也接收高位地址和一些控制信号。 P3 端口(P3.0~P3.7,10~17 引脚) :P3 是一个带内部上拉电阻的 8 位双向 I/O 端口。P3 的输出缓冲器可驱动(吸收或输出电流方式)4 个 TTL 输入。对端 口写入 1 时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3 做输入口使用时, 因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一 个电流(������������L ) 。 在对 Flash ROM 编程或程序校验时,P3 还接收一些控制信号。 P3 口除作为一般 I/O 口外,还有其他一些复用功能,如下表所示: 表 XX 引脚号 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3 口引脚复用功能 复用功能 RXD(串行输入口) TXD(串行输出口) ������NT0(外部中断 0) ������NT1(外部中断 1) T0(定时器 0 的外部输入) T1(定时器 1 的外部输入) ������R(外部数据存读选通) RST(9 引脚) :复位输入。当输入连续两个机器周期以上高电平时为有效,
基于C51单片机步进电机综合控制实验
重庆工商大学计算机与信息工程学院学院《单片机原理及应用》课程实验报告实验名称:步进电机综合控制实验实验班级:2010级自动化专业班级:2010级自动化三班指导老师:文远熔组员:陶园2010133330 王路2010133344江洋2010133335陈娅2010133326张琴芳2010133317张丹2010133320(组长)一、摘要:本实验利用8051单片机达到控制步进电机的启动、停止、正转、反转、点动、转过指定角度、状态显示和数据指示的目的,使步进电机控制更加灵活。
步进电机驱动芯片采用ULN2003,ULN2003具有大电流、高电压,外电路简单等优点。
利用ZLG7290模块驱动LED数码管显示速度设定值。
通过这个单片机控制系统的设计来掌握步进电机的工作原理和驱动过程以及LED显示原理和ZLG7290模块的使用方法,用LED数码管显示实验要求的状态结果,设计电路的硬件接线图和实现上述要求的程序。
关键词:51单片机步进电机ZLG7290 ULN2003二、设计内容与要求:1、任务介绍:实现步进电机按规定的速度正转、反转,转过指定的角度,要有点动功能。
所有命令通过键盘输入,步进电机在运行过程中要有状态和数据指示。
2、每套设计文档应包括:系统原理说明、程序框图、电路原理图和程序清单。
三、实验器件介绍及原理:本实验采用单片机来控制步进电机,实现了软件与硬件相结合的控制方法。
在单片机环境下,用ULN2003驱动芯片驱动步进电机,用ZLG7290芯片作用下的按键控制步进电机的运行,从而达到实验要求。
其控制框图(图一)为:图一:控制框图1、系统硬件介绍1.1步进电机1.1.1相关的技术指标:a、相数:指电机内部的线圈组数,目前常用的有二相、三相、四相、五相步进电机,本实验用的是四相步进电机。
电机相数不同,其步距角也不同。
b、步距角:表示控制系统每发一个步进脉冲信号,电机所转动的角度。
本实验程序运行前要先测量步进电机的步距角。
51单片机驱动步进电机电路及程序
51单片机驱动步进电机电路及程序(总4页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--51单片机驱动步进电机电路及程序在这里介绍一下用51单片机驱动步进电机的方法。
这款步进电机的驱动电压12V,步进角为度 . 一圈 360 度 , 需要 48 个脉冲完成!!!该步进电机有6根引线,排列次序如下:1:红色、2:红色、3:橙色、4:棕色、5:黄色、6:黑色。
采用51驱动ULN2003的方法进行驱动。
ULN2003的驱动直接用单片机系统的5V电压,可能力矩不是很大,大家可自行加大驱动电压到12V。
;*********************************************************************************;********** ******************步进电机的驱动***************************************; DESIGN BY BENLADN911 FOSC = 12MHz ;---------------------------------------------------------------------------------; 步进电机的驱动信号必须为脉冲信号!!! 转动的速度和脉冲的频率成正比!!!; 本步进电机步进角为度 . 一圈 360 度 , 需要 48 个脉冲完成!!!;---------------------------------------------------------------------------------; A组线圈对应; B组线圈对应; C组线圈对应; D组线圈对应; 正转次序: AB组--BC组--CD组--DA组 (即一个脉冲,正转度);----------------------------------------------------------------------------------;----------------------------正转--------------------------ORG 0000HLJMP MAINORG 0100HMAIN:MOV R3,#144 正转 3 圈共 144 脉冲START:MOV R0,#00HSTART1:MOV P2,#00HMOV A,R0MOV DPTR,#TABLEMOVC A,@A+DPTRJZ START 对 A 的判断,当 A = 0 时则转到STARTMOV P2,ALCALL DELAYINC R0DJNZ R3,START1MOV P2,#00HLCALL DELAY1;-----------------------------反转------------------------MOV R3,#144 反转一圈共 144 个脉冲START2:MOV P2,#00HMOV R0,#05START3:MOV A,R0MOV DPTR,#TABLEMOVC A,@A+DPTRJZ START2 MOV P2,ACALL DELAYINC R0DJNZ R3,START3MOV P2,#00HLCALL DELAY1LJMP MAINDELAY: MOV R7,#40 步进电机的转速M3: MOV R6,#248DJNZ R6,$DJNZ R7,M3RETDELAY1: MOV R4,#20 2S 延时子程序DEL2: MOV R3,#200DEL3: MOV R2,#250DJNZ R2,$DJNZ R3,DEL3DJNZ R4,DEL2RETTABLE:DB 30H,60H,0C0H,90H 正转表DB 00 正转结束DB 30H,90H,0C0H,60H 反转表DB 00 反转结束END。
基于51单片机的步进电机驱动电路设计
基于51单片机的步进电机驱动电路设计
步进电机在控制系统中具有广泛的应用。
它可以把脉冲信号转换成角位移,并且可用作电磁制动轮、电磁差分器、或角位移发生器等。
有时从一些旧设备上拆下的步进电机(这种电机一般没有损坏)要改作它用,一般需自己设计驱动器。
本文介绍的就是为从一日本产旧式打印机上拆下的步进电机而设计的驱动器。
本文先介绍该步进电机的工作原理,然后介绍了其驱动器的软、硬件设计。
1. 步进电机的工作原理
该步进电机为一四相步进电机,采用单极性直流电源供电。
只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。
图1 是该四相反应式步进电机工作原理示意图。
图1 四相步进电机步进示意图
开始时,开关SB 接通电源,SA、SC、SD 断开,B 相磁极和转子0、3 号齿对齐,同时,转子的1、4 号齿就和C、D 相绕组磁极产生错齿,2、5 号齿就和D、A 相绕组磁极产生错齿。
当开关SC 接通电源,SB、SA、SD 断开时,由于C 相绕组的磁力线和1、4 号齿之间磁力线的作用,使转子转动,
1、4 号齿和C 相绕组的磁极对齐。
而0、3 号齿和A、B 相绕组产生错齿,
2、5 号齿就和A、D 相绕组磁极产生错齿。
依次类推,A、B、C、D 四相绕组轮流供电,则转子会沿着A、B、C、D 方向转动。
四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。
单四拍与双四拍的步距角相等,但单四拍的转动力矩小。
八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制。
基于51单片机实现的步进机控制系统设计
基于51单片机实现的步进机控制系统摘要步进电机是一种进行精确步进运动的机电执行元件,它广泛地用于工业机械的数字控制。
为使系统的可靠性,通用性,可维护性以及性价比最优,根据控制系统功能要求及步进电动机应用环境,确定了设计系统硬件和软件的功能划分,从而实现了基于8051单片机的四相步进电动机的开环控制系统。
控制系统通过单片机存储器、I/O口、中断、键盘、LED显示器的扩展,步进电动机的环形分配器、驱动及保护电路、人机接口电路、中断系统及复位电路、单电压驱动电路等的设计。
实现了四相步进电动机的正反转、急停等功能。
为实现单片机控制步进电动机系统在数控机床上的特殊应用,系统设计了两个外部中断,以实现步进电动机在某段时间内的反复正反转功能,也即数控机床的刀架自动进给运动。
关键词:8051单片机;四相步进电动机;控制Realizes based on single chip microcomputer 51 the stepping motor the control systemABSTRACTThe stepping motor is a precision electromechanical incremental actuator.It widely uses the digital approach for control of industrial machines.For dependable,in general use that make system,can support sex an sex price ratio superior,divide the line according to control system funcion request and a function for entering electric motor applying environment,making sure designing system hardware with softwares, from but realizes to base on single chip microcomputer 8051 of four mutually the step enters the dynamoelectric opening the wreath the control the system.The control system passes the single saving maching,I/O in a machine, break off,the keyboard, thedisplay of LED expands, a wreah for entering elecreic motor form assigns the machine,drive and the design of its protection electric circuit, man-machine connection electric circuit,interrupt system and reset circuit, single-voltage driver circuit and so on,realizes four mutually the step enters the electric motor positive and negative to turn, nasty stop to wait the function.For realizing single chip microcomputer control a special application for entering electric motor system in severalth contorling machine bed, the system designed two exteriors breaks off,toing realize a the step enters electric motor is in a certain time of again and again positive and negative turn the function, also count namely the knife that control the machine bed is automatic to enter to the sport.KEYWORD:single chip microcomputer 8051;four-phase stepper motor ;control第一章绪论1.1 课题背景当今社会,电动机在工农业生产、人们日常生活中起着十分重要的作用。
基于51单片机的步进电机小车的控制程序
voidmove_left(uintspeed_l,ucharcw,ucharen);//左电机运动函数
voidmove_right(uintspeed_r,ucharcw,ucharen);//右电机运动函数
void delay(unsignedintk);//延时函数
speed=speed_l;
if(cw==1)
{
cw_left=1;
}
else
{
cw_left=0;
}
if(en==1)
{
en_left=1;
}
else
{
en_left=0;
}
}
voidmove_right(uintspeed_r,ucharcw,ucharen)
{//speed_r速度控制变量cw方向控制变量en使能控制变量
speed=speed_r;//speed数值与速度成反比请结合实际情况进行调节,
if(cw==1)//但速度不能无限加快因为步进电机有速度上限
{//而且速度加快是力矩会下降,容易导致丢步现象
cw_right=1;//所以实际应用当中应调节到速度可力矩比较合适的数值
}//应考虑到电池电压,轮胎直径等因素
{
move_left(15,0,1);
move_right(15,0,1);
delay(800);
}
if(ir_left==0&&ir_mid==0&&ir_right==1)
{
move_left(15,0,1);
move_right(15,0,1);
delay(400);
基于51单片机的步进电机控制系统设计与实现
基于51单片机的步进电机控制系统设计与实现步进电机控制系统是基于51单片机的一种控制系统,它主要用来控制步进电机的转动方向和转速等参数。
下面详细解释一下这个系统的设计和实现。
1. 系统硬件设计步进电机控制系统的硬件主要包括51单片机、驱动电路、步进电机和电源等部分。
其中,驱动电路是控制步进电机的关键,它通常采用L298N芯片或ULN2003芯片等常用的驱动模块。
在硬件设计方面,主要需要考虑以下几个方面:(1)步进电机的种类和规格,以便选择合适的驱动电路和电源。
(2)驱动电路的接线和参数设置,例如步进电机的相序、脉冲频率和电流大小等。
(3)电源的选取和参数设置,以满足系统的供电要求和安全性要求。
2. 系统软件设计步进电机控制系统的软件设计主要包括编写控制程序和调试程序。
其中,控制程序是用来实现步进电机的正转、反转、加速和减速等控制功能,而调试程序则用来检测系统的电路和程序的正确性和稳定性。
在软件设计方面,主要需要考虑以下几个方面:(1)确定控制程序的算法和流程,例如使用“循环控制法”或“PID控制法”等控制方法。
(2)选择编程语言和编译器,例如使用汇编语言或C语言等。
(3)编写具体的控制程序和调试程序,并进行测试和调试,以确保程序的正确性和稳定性。
3.系统实现步进电机控制系统的实现主要包括硬件组装和软件烧录两个部分。
在硬件组装方面,需要按照硬件设计图纸进行零部件的选取和电路的组装,同时进行电源和信号线的接入。
在软件烧录方面,需要使用专用的编程器将程序烧录到51单片机的芯片中,并进行相应的设置和校验。
总之,基于51单片机的步进电机控制系统是一个功能强大、应用广泛的控制系统,可以实现精密控制和自动化控制等多种应用,具有很高的实用价值和研究价值。
基于51单片机的步进电机的控制设计
勘电槽洗电借专理单片机应用系统设计报告设计题目:步进电机控制器设计专业班级: _____________________________ 学生姓名:____________________________________ 指导教师:____________________________________ 设计时间:2016^ 12 月设计要求及方案可以实现步进电机正转和反转控制及速度的控制,同时实现步进电机步数的控制。
2、设计方案本次设讣采用AT89C51单片机控制一个四相步进电机。
单片机输出脉冲序列, 驱动步进电机转动;并设置开关、按键电路,来控制步进电机的2挡转速,即加速、减速;以及步数的变化,即四拍驱动方式、八拍驱动方式,同时控制步进电机的转动方向,即正转、反转。
设讣方案总体框图:单片机最小系统开关、按键电路二、步进电机简介K步进电机工作原理步进电机是一种将电脉冲转化为角位移的执行机构。
当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。
可以通过控制脉冲个数来控制角位移量,从而达到准确定位的LI的:同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的LI的。
步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。
步进电机是一种感应电机,它的工作原理是利用电子电路,将直流电变成分时供电的,多相时序控制电流,用这种电流为步进电机供电,步进电机才能正常丄作,驱动器就是为步进电机分时供电的多相时序控制器。
虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下使用。
它必须山双环形脉冲信号、功率驱动电路等组成控制系统方可使用。
因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。
步进电机作为执行元件,是机电一体化的关键产品之一,广泛应用在各种自动化控制系统中。
基于单片机的步进电机细分驱动控制系统
基于单片机的步进电机细分驱动控制系统摘要:运用自趋圆算法,通过51单片机实现对步进电机的细分控制系统设计。
关键词:细分驱动;近似函数法;单片机引言步进电机是一种用电脉冲进行控制,将电脉冲信号转换成相应角位移的电机,其机械位移和转速分别与输入电机绕组的脉冲个数和脉冲频率成正比,每一个脉冲信号可使步进电机旋转一个固定的角度.脉冲的数量决定了旋转的总角度,脉冲的频率决定了电机运转的速度。
步进电机细分驱动技术是70年代中期发展起来的一种可以显著改善步进电机综合使用性能的驱动技术。
细分驱动技术的广泛应用,使得电机的相数不受步距角的限制,为产品设计带来了方便。
本文采用单片机作为控制中心设计了采用细分驱动技术的步进电机控制系统。
1.细分驱动原理与特点细分驱动的基本思想是:细分是通过驱动器精确控制步进电机的相电流实现的,与电机本身无关。
可以在每次输入脉冲切换时,不是将定子绕组电流全部通入或切除,而是只改变相应定子绕组电流的一部分,则电动机的合成磁势也只旋转步距角的一部分,转子的每步运行也只有步距角的一部分。
这里,定子绕组电流不是一个方波,而是阶梯波,定子绕组电流是台阶式的投入或切除,电流分成多少个台阶,则转子就以同样的步数转过一个步距角。
这种将一个步进角细分成若干步的驱动方法,即为细分驱动,又称微步驱动。
采用细分驱动技术有许多优点:(1)采用细分驱动技术后,在不改变步进电机整体结构的前提下,可以大幅度提高步进电机的分辨率。
(2)由于电机绕组中的电流变化幅度变小了,所以引起低频振荡的过冲能量降低了,即改善了低频性能,减小了开环运动的噪声,提高了运行稳定度。
(3)在数控系统中,加工误差难以提高的原因很大一部分是由于减速箱的存在,采用细分驱动技术后,可以采用步进电机直接同丝杠相连的形式,这样可以在很大程度上消除了由减速机构产生的回程误差及爬行等。
(4)采用细分驱动技术后,可以改善步进电机运行的矩频特性,控制频率也可相应提高。
基于C51单片机步进电机综合控制实验
重庆工商大学计算机与信息工程学院学院《单片机原理及应用》课程实验报告实验名称:步进电机综合控制实验实验班级:2010级自动化专业班级:2010级自动化三班指导老师:文远熔组员:陶园2010133330 王路2010133344江洋2010133335陈娅2010133326张琴芳2010133317张丹2010133320(组长)一、摘要:本实验利用8051单片机达到控制步进电机的启动、停止、正转、反转、点动、转过指定角度、状态显示和数据指示的目的,使步进电机控制更加灵活。
步进电机驱动芯片采用ULN2003,ULN2003具有大电流、高电压,外电路简单等优点。
利用ZLG7290模块驱动LED数码管显示速度设定值。
通过这个单片机控制系统的设计来掌握步进电机的工作原理和驱动过程以及LED显示原理和ZLG7290模块的使用方法,用LED数码管显示实验要求的状态结果,设计电路的硬件接线图和实现上述要求的程序。
关键词:51单片机步进电机ZLG7290 ULN2003二、设计内容与要求:1、任务介绍:实现步进电机按规定的速度正转、反转,转过指定的角度,要有点动功能。
所有命令通过键盘输入,步进电机在运行过程中要有状态和数据指示。
2、每套设计文档应包括:系统原理说明、程序框图、电路原理图和程序清单。
三、实验器件介绍及原理:本实验采用单片机来控制步进电机,实现了软件与硬件相结合的控制方法。
在单片机环境下,用ULN2003驱动芯片驱动步进电机,用ZLG7290芯片作用下的按键控制步进电机的运行,从而达到实验要求。
其控制框图(图一)为:图一:控制框图1、系统硬件介绍1.1步进电机1.1.1相关的技术指标:a、相数:指电机内部的线圈组数,目前常用的有二相、三相、四相、五相步进电机,本实验用的是四相步进电机。
电机相数不同,其步距角也不同。
b、步距角:表示控制系统每发一个步进脉冲信号,电机所转动的角度。
本实验程序运行前要先测量步进电机的步距角。
基于51单片机的步进电机控制系统单片机课程设计报告
微机原理与接口技术课程设计报告基于51单片机的步进电机控制系统毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:日期:年月日导师签名:日期:年月日注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于51单片机步进电机的控制及细分驱动电路悬赏分:20|解决时间:2009-6-22 21:11 |提问者:sailorman123我的邮箱sailor3848352@拜求高手指点,希望能附带相应的电路图,和一定的说明。
谢谢给位大虾了!!!最佳答案参考:/chary8088/blog/item/177332ce39cef70a92457ea9.html接触单片机快两年了,不过只是非常业余的兴趣,实践却不多,到现在还算是个初学者吧。
这几天给自己的任务就是搞定步进电机的单片机控制。
以前曾看过有关步进电机原理和控制的资料,毕竟自己没有做过,对其具体原理还不是很清楚。
今天从淘宝网买了一个EPSON的UMX-1型步进电机,此步进电机为双极性四相,接线共有六根,外形如下图所示:拿到步进电机,根据以前看书对四相步进电机的了解,我对它进行了初步的测试,就是将5伏电源的正端接上最边上两根褐色的线,然后用5伏电源的地线分别和另外四根线(红、兰、白、橙)依次接触,发现每接触一下,步进电机便转动一个角度,来回五次,电机刚好转一圈,说明此步进电机的步进角度为360/(4×5)=18度。
地线与四线接触的顺序相反,电机的转向也相反。
如果用单片机来控制此步进电机,则只需分别依次给四线一定时间的脉冲电流,电机便可连续转动起来。
通过改变脉冲电流的时间间隔,就可以实现对转速的控制;通过改变给四线脉冲电流的顺序,则可实现对转向的控制。
所以,设计了如下电路图:C51程序代码为:代码一#include <AT89X51.h>static unsigned int count;static unsigned int endcount;void delay();void main(void){count = 0;P1_0 = 0;P1_1 = 0;P1_2 = 0;P1_3 = 0;EA = 1; //允许CPU中断TMOD = 0x11; //设定时器0和1为16位模式1 ET0 = 1; //定时器0中断允许TH0 = 0xFC;TL0 = 0x18; //设定时每隔1ms中断一次TR0 = 1; //开始计数startrun:P1_3 = 0;P1_0 = 1;delay();P1_0 = 0;P1_1 = 1;delay();P1_1 = 0;P1_2 = 1;delay();P1_2 = 0;P1_3 = 1;delay();goto startrun;}//定时器0中断处理void timeint(void) interrupt 1{TH0=0xFC;TL0=0x18; //设定时每隔1ms中断一次count++;}void delay(){endcount=2;count=0;do{}while(count<endcount);}将上面的程序编译,用ISP下载线下载至单片机运行,步进电机便转动起来了,初步告捷!不过,上面的程序还只是实现了步进电机的初步控制,速度和方向的控制还不够灵活,另外,由于没有利用步进电机内线圈之间的“中间状态”,步进电机的步进角度为18度。
所以,我将程序代码改进了一下,如下:代码二#include <AT89X51.h>static unsigned int count;static int step_index;void delay(unsigned int endcount);void gorun(bit turn, unsigned int speedlevel);void main(void){count = 0;step_index = 0;P1_0 = 0;P1_1 = 0;P1_2 = 0;P1_3 = 0;EA = 1; //允许CPU中断TMOD = 0x11; //设定时器0和1为16位模式1 ET0 = 1; //定时器0中断允许TH0 = 0xFE;TL0 = 0x0C; //设定时每隔0.5ms中断一次TR0 = 1; //开始计数do{gorun(1,60);}while(1);}//定时器0中断处理void timeint(void) interrupt 1{TH0=0xFE;TL0=0x0C; //设定时每隔0.5ms中断一次count++;}void delay(unsigned int endcount){count=0;do{}while(count<endcount);}void gorun(bit turn,unsigned int speedlevel) {switch(step_index){case 0:P1_0 = 1;P1_1 = 0;P1_2 = 0;P1_3 = 0;break;case 1:P1_0 = 1;P1_1 = 1;P1_2 = 0;P1_3 = 0;break;case 2:P1_0 = 0;P1_1 = 1;P1_2 = 0;P1_3 = 0;break;case 3:P1_0 = 0;P1_1 = 1;P1_2 = 1;P1_3 = 0;break;case 4:P1_0 = 0;P1_1 = 0;P1_2 = 1;P1_3 = 0;break;case 5:P1_0 = 0;P1_1 = 0;P1_2 = 1;P1_3 = 1;break;case 6:P1_0 = 0;P1_1 = 0;P1_2 = 0;P1_3 = 1;break;case 7:P1_0 = 1;P1_1 = 0;P1_2 = 0;P1_3 = 1;}delay(speedlevel);if (turn==0){step_index++;if (step_index>7)step_index=0;}else{step_index--;if (step_index<0)step_index=7;}}改进的代码能实现速度和方向的控制,而且,通过step_index静态全局变量能“记住”步进电机的步进位置,下次调用gorun()函数时则可直接从上次步进位置继续转动,从而实现精确步进;另外,由于利用了步进电机内线圈之间的“中间状态”,步进角度减小了一半,只为9度,低速运转也相对稳定一些了。
但是,在代码二中,步进电机的运转控制是在主函数中,如果程序还需执行其它任务,则有可能使步进电机的运转收到影响,另外还有其它方面的不便,总之不是很完美的控制。
所以我又将代码再次改进:代码三#include <AT89X51.h>static unsigned int count; //计数static int step_index; //步进索引数,值为0-7static bit turn; //步进电机转动方向static bit stop_flag; //步进电机停止标志static int speedlevel; //步进电机转速参数,数值越大速度越慢,最小值为1,速度最快static int spcount; //步进电机转速参数计数void delay(unsigned int endcount); //延时函数,延时为endcount*0.5毫秒void gorun(); //步进电机控制步进函数void main(void){count = 0;step_index = 0;spcount = 0;stop_flag = 0;P1_0 = 0;P1_1 = 0;P1_2 = 0;P1_3 = 0;EA = 1; //允许CPU中断TMOD = 0x11; //设定时器0和1为16位模式1 ET0 = 1; //定时器0中断允许TH0 = 0xFE;TL0 = 0x0C; //设定时每隔0.5ms中断一次TR0 = 1; //开始计数turn = 0;speedlevel = 2;delay(10000);speedlevel = 1;do{speedlevel = 2;delay(10000);speedlevel = 1;delay(10000);stop_flag=1;delay(10000);stop_flag=0;}while(1);}//定时器0中断处理void timeint(void) interrupt 1{TH0=0xFE;TL0=0x0C; //设定时每隔0.5ms中断一次count++;spcount--;if(spcount<=0){spcount = speedlevel;gorun();}}void delay(unsigned int endcount) {count=0;do{}while(count<endcount);}void gorun(){if (stop_flag==1){P1_0 = 0;P1_1 = 0;P1_2 = 0;P1_3 = 0;return;}switch(step_index){case 0: //0P1_0 = 1;P1_1 = 0;P1_2 = 0;P1_3 = 0;break;case 1: //0、1P1_0 = 1;P1_1 = 1;P1_2 = 0;P1_3 = 0;break;case 2: //1P1_0 = 0;P1_1 = 1;P1_2 = 0;P1_3 = 0;break;case 3: //1、2P1_0 = 0;P1_1 = 1;P1_2 = 1;P1_3 = 0;break;case 4: //2P1_0 = 0;P1_1 = 0;P1_2 = 1;P1_3 = 0;break;case 5: //2、3P1_0 = 0;P1_1 = 0;P1_2 = 1;P1_3 = 1;break;case 6: //3P1_0 = 0;P1_1 = 0;P1_2 = 0;P1_3 = 1;break;case 7: //3、0P1_0 = 1;P1_1 = 0;P1_2 = 0;P1_3 = 1;}if (turn==0){step_index++;if (step_index>7)step_index=0; }else{step_index--;if (step_index<0)step_index=7;}}在代码三中,我将步进电机的运转控制放在时间中断函数之中,这样主函数就能很方便的加入其它任务的执行,而对步进电机的运转不产生影响。
在此代码中,不但实现了步进电机的转速和转向的控制,另外还加了一个停止的功能,呵呵,这肯定是需要的。
步进电机从静止到高速转动需要一个加速的过程,否则电机很容易被“卡住”,代码一、二实现加速不是很方便,而在代码三中,加速则很容易了。