摘要
步进电机是工业生产过程控制及仪表中的主要控制元件之一。例如,在机械结构中,可以用丝杠把角度变成直线位移,也可以用它带动螺旋电位器,调节电压和电流,从而实现对执行机构的控制。在数字控制系统中,由于它可以直接接受计算机输出的数字信号,而不需要进行数/模/转换,可以用起来非常方便。步进电机角位移与控制脉冲间精确同步,若将角位移的改变转变为线性位移、位置、体积、流量等物理量的变化,便可通过硬件电路和软件编程实现对它们的控制。 步进电机作为执行元件的一个显著特点,就是具有快速启停能力。如果负荷不超过步进电机所提供的动态转矩值,就能使步进电机在“一刹那”间启动或停转。一般步进电机的步进速率为每秒200~1000步,如果步进电机是以逐渐加速到到最高转速,然后再逐渐减速到零的方式工作,其步进速率增加1~2步,仍然不会失掉一步。
步进电机的另一个显著特点是精确度高。在没有齿轮转动的情况下,步距角可以由每步90°低到每步0.36°。
正因为步进电机具有快速启停、精确步进以及能直接接受数字量的特点,所以使其在定位场合中得到了广泛的应用。如在绘图机、打印机及光学仪器中,都采用步进电机来定位绘图笔、印字头或光学镜头。特别是在工业过程控制的位置控制系统中,由于步进电机精度高以及不用位移传感器即可达到精确地定位,应用越来越广泛。
关键词:步进电机;特点;定位场合;广泛应用
Stepper motor control system design
Abstract
Stepper motor is the industrial production process control and instrumentation in one of the major control components. For example, in the mechanical structure, can screw into a linear displacement of the point of view, you can also use it to drive spiral potentiometer to regulate voltage and current in order to achieve the implementation of institutional control. In the digital control system, because it can accept the computer output of digital signals without the need for D / / converter can be used is very convenient. Stepper motor angular displacement and precise synchronization between the control pulse, hence the change in angular displacement into linear displacement, position, volume, and other physical changes can be programmed by hardware circuitry and software to achieve control over them. Stepper motor as the actuator, a notable feature is a quick start and stop capability. If the load does not exceed the dynamic stepper motor provides the torque values, can make the stepper motor in the \"moment\" between the start or stop. General stepping motor stepping rate of 200 to 1000 steps per second, if the stepper motor is to gradually accelerate to maximum speed, then slow down gradually to zero way to work, the step rate increased by 1 to 2 steps, still will not lose a step.
Stepper motor is another notable feature is the high accuracy. In the absence of gears in the case, step angle can be as low as 90 ° per step per step 0.36 °.
Because the stepper motor with a quick start and stop, step, and can directly receive accurate digital features, so it occasions in the positioning has been widely used. Such as plotters, printers and optical instruments, stepper motors are used to locate the pen, the print head or optical lenses. Especially in the industrial process control position control system, due to high precision stepper motor and position sensor can be achieved without precise positioning, and more widely.
Keywords: stepper motor; characteristics; positioning occasions; widely used
第一章 系统分析
本系统采用TDN-AC/ACS计算机控制技术实验箱中的35BYJ46型四相八拍步进电机为设计对象,设计以8088为核心的步进电机控制系统。编写软件实现四相异步电机的正反转运转和变速运行。采用的硬件有8088CPU,8255,ULN2803驱动模块和35BYJ46型四相八拍异步电机。
TDN-AC/ACS系统简介:
TD-AC/ACS自动控制原理/计算机控制原理教学实验系统可对系统单元电路灵活组态,构造出各种形式和阶次的模拟环节、控制系统,支持自控原理的实验教学,还支持以微机为控制平台的计算机控制技术实验教学。此外,利用系统配套的集成操作软件,通过PC示波器功能可实时、清晰的观察控制系统的各项静、动态特性,方便对模拟控制系统特性的研究。 TDN- AC /ACS系统由如下各单元电路构成:
信号源发生单元电路 Ul SG& Ul5 SIN 采样保持器及单稳单元电路 U2 SH 运算模拟单元电路 U3~U8 非线性用单元电路 U9 NC 数/模转换单元电路 U10 DAC 模/数转换单元电路 U12 ADC 状态指示灯单元 U11 D 单节拍脉冲发生单元· U13 SP 电位器单元 U14 P -5v电源发生单元 U16 A 信号测量单元 U19 SC 驱动单元 U17 DRIVER 电机单元 U18 MOTOR 高效开关电源
8088CPU板和PC机进行通讯的串口。
第二章 系统硬件介绍
2.1 8088CPU芯片介绍
内部原理图:
8088CPU是一个Intel以8086为基础的微处理器,拥有16位元暂存器和8位元外部资料总线。
如图所示:8088微处理器内部分为两个部分:执行单元(EU)和总线接口单元(BIU)。EU单元负责指令的执行。它包括ALU(运算器)、通用寄存器和状态寄存器等,主要进行16位的各种运算及有效地址的计算。BIU单元负责与存贮器和I/O设备的接口。它由段寄存器、指令指针、地址加法器和指令队列缓冲器组成。地址加法器将段和偏移地址相加,生成20位的物理地址。
8088CPU是一块具有40条引出线的集成电路芯片。为了减少芯片的引线,有许多引线具有双重定义和功能,采用分时复用方式工作,即在不同时刻,这些引线上的信号是不相同的。同时,8088CPU上的MN/MX=1时,8088CPU工作在最小模式之下。此时,构成的微型机中只包括一个8088CPU,且系统总线由CPU的引线形成,微型机所用的芯片最少。当MN/MX=0时,8088CPU工作在最大模式之下。在此模式下,构成的微型计算机中除了有8088CPU之外,还可以接另外的CPU(如8087),构成多微处理器系统。同时,这时的系统总线要由8088CPU的引线和总线控制器(8288)共同形成,可以构成更大规模的系统
2.2 8255接口芯片介绍
引脚图:
8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。 其各口可由软件选择,使用,通用性强。8255可作为单片机与多种外设连接时的中间接口电路。 8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为三个部分:与CPU连接部分、外设连接部分、控制部分。
引脚功能:
RESET:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。 /CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输 。 /RD:读信号线,当这个输入引脚为低电平时,即/RD=0且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。
/WR:写入信号,当这个输入引脚为低电平时,即/WR=0且/CS=0时,允许CPU将数据或控制字写入8255。
D0~D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。
PA0~PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入锁存器。
PB0~PB7:端口B输入输出线,一个8位的I/O锁存器, 一个8位的输入输出缓冲器。
PC0~PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。 A1,A0:地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器。 当A1=0,A0=0时,PA口被选择; 当A1=0,A0=1时,PB口被选择; 当A1=1,A0=0时,PC口被选择;
当A1=1,A0=1时,控制寄存器被选择。
2.3 驱动模块ULN2803介绍
引脚图:
1/8ULN2803内部电路图:
八路NPN达林顿连接晶体管阵系列特别适用于低逻辑电平数字电路和较高的电流/电压要求之间的接口,广泛应用于计算机,工业用和消费类产品中的灯、继电器、打印锤或其它类似负载中。所有器件具有集电极开路输出和续流箱位二极管,用于抑制跃变。ULN2803的设计与标准TTL系列兼容。
ULN2803特性介绍:
包含8个NPN达林顿管 ; 高耐压,大电流;
封装类型:AP=DIP16,AFW=SOL16 ; 无铅/RoHS认证 ;
输出击穿电压: 50(V); 输出电流: 500(mA) ; 输入电阻 :2.7k(Ω); 推荐输入电压:5(V) ;
温度范围:-40℃~+85℃; 包装规格:AFW:Tape&Reel; 卷带AP:Tube管装;
不要超过每个驱动器的电流的限制。
2.4步进电机35BYJ46介绍
本设计所采用的是国产35BYJ46步进电机,电机线圈由四相组成,即A、B、C、D四相,驱动方式为二相激磁方式,步进电机实际上是一个数字/角度转换器。电动机定子上有八个等分的磁极,相对两个磁极组成一组。当定子的小齿与转子的小齿没有对齐,则在磁场的作用下,转子转动一定的角度,使转子齿和定
子齿对齐。若按照A→AB→B→BC→C→CD→D→DA→A顺序通电电机示意图、结构图和各线圈通电顺序如图和表所示 : 示意图:
通电顺序表: 相顺序 0 1 2 3 4 5 6 7 D 0 0 0 0 0 1 1 1 C 0 0 0 1 1 1 0 0 B 0 1 1 1 0 0 0 0 A 1 1 0 0 0 0 0 1 结构图如图所示:
第三章 详细设计
3.1试验线路图
3.2步进电机控制电路设计框图
3.3 实验原理图
见附表1
由实验原理图知8255的口地址如下:
A 口:60H; B 口:61H; C 口:62H; 控制口:63H。
3.4B口输出值
根据接线图和转动相序知B口输出值如下: 步序 1 2 3 4 5 6 7 8
PB13 0 0 0 0 0 1 1 1 PB12 0 0 0 1 1 1 0 0 PB11 0 1 1 1 0 0 0 0 PB10 1 1 0 0 0 0 0 1 对应B口输出值 01H 03H 02H 06H 04H 0CH 08H 09H 3.5程序流程图
否
3.6参考程序
STACK SEGMENT STACK ;定义堆栈段 DW 256 DUP(?) STACK ENDS
DATA SEGMENT ;定义数据段 TABLE1 TABLE2
DB 01H,03H,02H,06H,04H,0CH,08H,09H ;四相八拍控制模型 DB 09H,08H,0CH,04H,06H,02H,03H,01H ;反向控制模型
DATA ENDS
CODE SEGMENT ;代码段 ASSUME CS:CODE,DS:DATA START: MOV AX,DATA
MOV OUT
DS,AX 63H,AL
CX,0014H ;定义外循环次数为20次,实现步进160步 BX,OFFSET TABLE1 ;表1偏移地址送BX,正转 CX,0008H ;定义内循环次数,实现步进8步 AL,[BX]
61H,AL ;8255输出
MAIN: MOV AL,90H ;初始化8255B口为输出 A0: MOV A1: MOV
MOV OUT
PUSH CX ;将CX压栈保护
A2: MOV
CALL DALLY1 ;调用延时子程序1 INC BX ;查表中下一数据
LOOP A2 ;若内循环没结束,继续执行A2 POP CX
LOOP A1 ;若外循环没结束,继续执行A1 MOV
CX,001EH ;定义外循环次数,实现步进240步 BX,OFFSET TABLE2 ;表2地址送BX,反转 CX,0008H AL,[BX] 61H,AL
B1: MOV
MOV OUT INC BX
PUSH CX
B2: MOV
CALL DALLY2 ;调用延时子程序2 LOOP B2 POP CX LOOP B1
JMP A0 DALLY1: PUSH CX ;延时子程序1 MOV CX,150H
T1: PUSH AX
POP AX LOOP T1 POP CX RET DALLY2: PUSH CX MOV CX,300H T2: PUSH AX
POP AX LOOP T2 POP CX RET CODE ENDS
END
START
;程序结束第四章 结果分析
编好程序,调试正确后,装入程序,下载运行。运行结果:步进电机以一定的速度正转160步以后,又以另一速度反转240步,如此循环运行,符合之前的设计构想,说明设计成功。改变延时子程序中CX的值,可进一步改变步进电机的转速。
第五章 感想
通过这次课程设计,我充分的认识到了对待学习必须严谨认真,绝对不能敷衍了事。课设绝不是编一编程序那么简单的事,我们应从中努力挖掘更深层次的知识。闫老师的问题让我充分认识到了自己对知识理解的还不够深,对于一些问题的原理与本质还没有更确切的认识。这让我们认识到了我们平时学知识就应该多问自己几个为什么,在寻求答案的过程中不断地提升自己。我以前的学习在一定程度上是比较盲目的:对待问题只要理解了即可,很少深究。通过这次课设,我明白了我们必须多思考,多与别人交流,多提问,才能不断地提升彼此。
这次课设也是我对步进电机的工作原理有了进一步的了解,对其正反转和调速序的编制有了进一步的熟悉。这又一次让我们认识了实践的重要性,可见理论联系实际是我们学习的一个很好的方法。
这次课设让我收获良多,在此对老师的悉心指导表示衷心的感谢
参考文献
[1]《微型计算机控制技术》潘新民 王艳芳主编 [2]《计算机控制技术实验指导书》 [3]《微机原理与接口技术》马春燕主编
因篇幅问题不能全部显示,请点此查看更多更全内容