两相步进电机控制系统设计._第1页
两相步进电机控制系统设计._第2页
两相步进电机控制系统设计._第3页
两相步进电机控制系统设计._第4页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、综合课程设计题目学院专业班级学生姓名指导教师两相步进电机计信学院10 自动化2 班文远熔2012年12月28日1两相步进电机课程设计报告步进电机是一种进行精确步进运动的机电执行元件,它广泛应用于工业机械的数字控制,为使系统的可靠性、 通用性、可维护性以及性价比最优,根据控制系统功能要求及步进电机应用环境,确定了设计系统硬件和软件的功能划分,从而实现了基于8051 单片机的四相步进电机的开环控制系统。控制系统通过单片机存储器、I/O 接口、中断、键盘、 LED显示器的扩展、步进电机的环形分频器、驱动及保护电路、人机接口电路、中断系统及复位电路、单电压驱动电路等的设计,实现了四相步进电机的正反转,

2、急停等功能。为实现单片机控制步进电机系统在数控机床上的应用,系统设计了两个外部中断,以实现步进电机在某段时间内的反复正反转功能, 也即数控机床的刀架自动进给运动,随着单片机技术的不断发展,单片机在日用电子产品中的应用越来越广泛,自六十年代初期以来,步进电机的应用得到很大的提高。 人们用它来驱动时钟和其他采用指针的仪器,打印机、 绘图仪, 磁盘光盘驱动器、各种自动控制阀、各种工具,还有机器人等机械装置。此外作为执行元件,步进电机是机电一体化的关键产品之一, 被广泛应用在各种自动化控制系统中,随着微电子和计算机技术的发展, 它的需要量与日俱增,在各个国民经济领域都有应用。步进电机是机电数字控制系统

3、中常用的执行元件, 由于其精度高、 体积小、 控制方便灵活, 因此在智能仪表和位置控制中得到了广泛的应用,大规模集成电路的发展以及单片机技术的迅速普及,为设计功能强,价格低的步进电机控制驱动器提供了先进的技术和充足的资源。关键字 :步进电机单片机21 设计内容根据给定的任务要求选择合适的单片机和其他电子元件, 进行系统硬件电路设计和软件编程, 根据系统制作并调试电路板, 使之实现任务要求。 两相步进电机,步距角为 3 度,编程实现下列功能:( 1) 按键,步进电机按一定速度正转。( 2) 按键,步进电机按一定速度反转。( 3) 任何时候按一下“ STOP”键,步进电机停止转动。( 4) 点动:

4、按键,步进电机转过 3 度步距角;再按,再转过 3 度步距角 ( 5) 用 1602 显示屏显示转过的角度。( 6) 用 L298 芯片驱动。2 步进电机原理2.1 步进电机原理及控制技术步进电机一般分为永磁式 (PM)、反应式 (VR) 和混合式 (HB)3种类型。目前,二相混合式步进电机的应用最为广泛。图 5为二相六线式步进电机的工作原示意图。由图可知,它有 2个绕组,且每个绕组都有一个中间抽头。因此,二相步进电机也就有了 6根引线。当电机中的绕组通电后,其定子磁极产生磁场,将转子吸合到相应的磁极处。 若绕组在控制脉冲的作用下, 通电方向使定子在顺时针方向轮流产生磁场, 则电机可顺时针转动

5、; 通电方向使定子在逆时针方向轮流产生磁场,则电机可逆时针转动。控制脉冲每作用一次,通电方向就变化一次,使电机转动一步,即一个步距角。脉冲频率越高,电机转动也就越快。本次课设所使用的二相步进电机需要采用双极性的接法。双极性则是指步进电机线圈中电流的流动方向不是单向的, 即绕组线圈中的电流有时沿某一方向流动 , 有时按相反方向流动。步进电机的双极性驱动电路如图2-5 所示它使用 8个晶体管来驱动 2组相位。双极性驱动电路可以同时驱动四线式或六线式的二相步进电机。对于二相六线式步进电机而言, 2 个绕组的中间抽头 Vdd1和 Vdd2都悬空。根据步进电机的工作原理 , 当控制器给驱动器发出脉冲信号

6、时, 驱动器经过环形分配器和功率放大后 , 电机绕组通电的顺序为 AA B B AABB , 其 4个状态按顺序周而复始进行变化 , 电机转动 ;若通电时序就变为 BBAA BB AA时 , 电机就逆向转动。步进电机运转时, 当达林顿管 Q1和 Q4导通时 , 线圈中电流方3向为 A A ; 当林顿管 Q2和 Q3导通时 , 线圈中电流方向为A A。可见 , 步进电机线圈中的电流方向在运转过程中是不断改变的。(1)图4-21二相步进电机原理图(2) 步进电机的速度控制如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。两个脉冲的间隔越短, 步进电机就转得越快。 调整送给步进电

7、机的脉冲频率, 就可以对步进电机进行调试。(3) 步进电机的起停控制步进电机由于其电气特性, 运转时会有步进感。为了使电机转动平滑,减小振动, 可在步进电机控制脉冲的上升沿和下降沿采用细分的梯形波,可以减小步进电机的步进角, 跳过电机运行的平稳性。 在步进电机停转时,为了防止因惯性而使电机轴产生顺滑,则需采用合适的锁定波形,产生锁定磁力矩,锁定步进电机的转轴,使步进电机转轴不能自由转动。(4) 步进电机的加减速控制在步进电机控制系统中, 通过实验发现, 如果信号变化太快, 步进电机由于 leizi888 2010惯性跟不上电信号的变化, 这时就会产生堵转和失步现象。所有步进电机在启动时, 必须

8、有加速过程, 在停止时波形有减速过程。 理想的加速曲线一般为指数曲线,步进电机整个降速过程频率变化规律是整个加速过程频率变化规律的逆过程。选定的曲线比较符合步进电机升降过程的运行规律, 能充分利用步进电机的有效转矩,快速响应性好, 缩短了升降速的时间,并可防止失步和过冲现象。在一个实际的控制系统中,要根据负载的情况来选择步进电机。步进电机能响应而不失步的最高步进频率称为“启动频率”,于此类似“停止频率”是指系统控制信号突然关断, 步进电机不冲过目标位置的最高步进频率。电机的启动频率、 停止频率和输出转矩都要和负载的转动惯量相适应,有了这些数据, 才能有效地对电机进行加减速控制。加速过程有突然施

9、加的脉冲启动频率f0。步进电机的最高启动频率(突跳频率)一般为 0.1 KHz 到 34KHz ,而最高运行频率则可以达到N*102KHz ,以超过最高启动频率的频率直接启动,会产生堵转和失步的现象。在一般的应用中,经过大量实践和反复验证,频率如按直线上升或下降,控制效果就可以满足常规的应用要求。用PLC 实现步进电机的加 P 减速控制,实践上就是控制发脉冲的频率。加速时,使脉冲频率增高,减速则相反。如果使用定时器来控制电机的速度,加减速控制就是不断改变定时中断的设定值。速度从v1v2 变化,如果是线性增加,则按给定的斜率加P 减速;如果是突变,则按阶梯加速处理。在此过程中要处理好两个问题:4

10、速度转换时间应尽量短。为了缩短速度转换的时间,可以采用建立数据表的方法。结合各曲线段的频率和各段间的阶梯频率, 就可以建立一个连续的数据表, 并通过转换程序将其转换为定时初始表。通过在不同的阶段调用相应的定时的初值,就可控制电机的运行。定时初值的计算是在定时中断外实现的,并不占用中断时间,保证电机的高速运行。保证控制速度的精确性。 要从一个速度准确达到另一个速度, 就要建立一个校验机制,以防超过或未达到所需速度。(5) 步进电机的换向控制步进电机换向时,一定要在电机降速停止或降到突跳频率范围之内在换向,以免产生较大的冲击而损坏电机。换向信号一定要在前一个方向的最后一个脉冲,结束后以及下一个方向

11、的第一个脉冲前发出。对于脉冲的设计主要要求其有一定的脉冲宽度、脉冲序列的均匀度及高低电平方式。在某一高速下的正、反向切换实质包含了降速换向加速3 个过程。步进电机有如下特点: 步进电机的角位移与输入脉冲数严格成正比,因此当它转一转后,没有累计误差,具有良好的跟随性。由步进电机与驱动电路组成的开环数控系统,既非常方便、廉价,也非常可靠。同时,它也可以有角度反馈环节组成高性能的闭环数控系统。步进电机的动态响应快,易于启停、正反转及变速。 速度可在相当宽的范围内平滑调节, 低速下仍能保证获得很大的转矩, 因此一般可以不用减速器而直接驱动负载。步进电机只能通过脉冲电源供电才能运行,它不能直接用交流电源

12、或直流电源。3 硬件电路设计3.1 系统总体设计框图电源电路功率预置数脉冲序列放大控制方向控制信号信号清零驱动电路步进电机AT89C51按键输入单片机系统控制器同步显示角度及转速数码管显示3.2 LCD1602 显示器3.2.1 液晶显示器各种图形的显示原理线段的显示点阵图形式液晶由M × N 个显示单元组成,假设LCD 显示屏有64 行,每行有128 列,5每 8 列对应 1 字节的 8 位,即每行由16 字节,共16× 8=128 个点组成,屏上64× 16 个显示单元与显示RAM 区 1024 字节相对应, 每一字节的内容和显示屏上相应位置的亮暗对应。例如屏

13、的第一行的亮暗由RAM 区的 000H 00FH 的 16 字节的内容决定, 当( 000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8 个点;当( 3FFH) =FFH 时,则屏幕的右下角显示一条短亮线;当( 000H)=FFH ,( 001H )=00H ,( 002H )=00H , ( 00EH)=00H ,(00FH ) =00H 时,则在屏幕的顶部显示一条由8 段亮线和8 条暗线组成的虚线。这就是LCD 显示的基本原理。字符的显示:用 LCD 显示一个字符时比较复杂,因为一个字符由6× 8 或 8× 8 点阵组成,既要找到和显示屏幕上某几个位置对应的显示

14、RAM 区的 8 字节,还要使每字节的不同位为“1”,其它的为“ 0”,为“ 1”的点亮,为“ 0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在 LCD上开始显示的行列号及每行的列数找出显示RAM 对应的地址,设立光标,在此送上该字符对应的代码即可。汉字的显示:汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用字模提取软件) ,每个汉字占32B ,分左右两半,各占16B ,左边为1、 3、 5 右边为2、4、 6 根据在LCD 上开始显示的行列号及每行的列数可找出显示RAM 对应的地址,设立光

15、标,送上要显示的汉字的第一字节,光标位置加1,送第二个字节,换行按列对齐,送第三个字节 直到32B 显示完就可以LCD 上得到一个完整汉字3.2.2引脚功能说明1602LCD 采用标准的14 脚(无背光)或16 脚(带背光)接口,各引脚接口说明如表编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据 /命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极3.2.3 其与单片机的连接如下图所示61602 液晶模块内部的控制器共有11条控制指令,

16、如下表所示序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开 /关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到 CGRAM或10要写的数据内容DDRAM )11从 CGRAM 或 DDRAM 读11读出的数据内容数3.380C51 单片机外部中断中断控制4K字节128字节ROMRAMCPU定时/ 计数器1定时/

17、计数器0计数器输入振荡电路总线控制4个 I/0 口串行口XTAL1OSC XTAL2TAEESC1C2ER7NEP0 P2 P1 P3TXDRXDELPSA地址/ 数据总线3.4 时钟信号控制电路如图 3.3 所示,89C51芯片内部有一个高增益反相放大器, 用于构成振荡器。反相放大器的输入端为 XTAL1,输出端为 XTAL2,两端跨接石英晶体及两个电容就可以构成稳定的自激振荡器。 电容 C1 和 C2 可以稳定频率并对振荡频率有微调作用。振荡脉冲频率为 0 到 24。振荡信号从 XTAL2端输入到片内的时钟发生器上。图 3.3时钟信号控制电路3.5 驱动电路如图 3.5 所示,驱动电路用

18、L298来驱动步进电机, L298 所出产的双全桥步进电机专用驱动芯片, 内部包含 4信道逻辑驱动电路, 是一种二相 和四相步进电机的专用驱动器,可同时驱动 2个二相或 1个四相步进电机,内含二个 H-Bridge 的高电压、大电流双全桥式驱动器,接收标准 TTL 逻辑准位信号,可驱动 46V、2A 以下的步进电机,且可以直接透过电源来调节输出电压;此芯片可直接由单8片机的 IO 端口来提供模拟时序信号。图 3.5驱动电路引脚功能说明:引脚NameFunction功能说明1;15Sense A; Sense B电流监测端 ,1 、15 和 PowerSO 的 2、 19 用法一样, SEN1

19、、SEN2 分别为两个 H 桥的电流反馈脚,不用时可以直接接地2;3Out 1; Out 24VS5;7Input 1; Input 26;11Enable A; Enable B8GND9VSS10; 12Input 3; Input 413; 14Out 3; Out 4N.C.1Y1 、1Y2 输出端功率电源电压 , 此引脚 与地必须连接 100nF 电容器1A1 、 1A2 输入端, TTL 电平兼容TTL 电平兼容输入1EN 、 2EN 使能端,低电平禁止输出GND 地逻辑电源电压。此 引脚 与地必须连接 100nF 电容器2A1 、 2A2 输入端, TTL 电平兼容2Y1 、2Y

20、2输出端监测 引脚 15Not Connected空3.6 显示电路9如图 3.6 所示,步进电机的转速显示是通过 1602 来实现的。 1602 液晶也叫 1602 字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个 5X7 或者 5X11 等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。1602LCD是指显示的内容为16X2, 即可以显示两行,每行16 个字符液晶模块(显示字符和数字)。1602采用标准的16 脚

21、接口,其中:第 1 脚: VSS为电源地第 2 脚: VCC接 5V 电源正极第 3 脚: V0 为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个 10K 的电位器调整对比度)。第 4 脚: RS为寄存器选择,高电平1 时选择数据寄存器、低电平0 时选择指令寄存器。第 5 脚: RW为读写信号线,高电平 (1) 时进行读操作,低电平 (0) 时进行写操作。第 6 脚: E( 或 EN)端为使能 (enable) 端。第 7 14 脚: D0 D7 为 8 位双向数据端。第 1516 脚:空脚或背灯电源。 15 脚背光正极,

22、16 脚背光负极。3.7 键盘电路本次设计要对步进电机实现正转、反转和点动等功能, 所以设计了键盘按键分别进行步进电机的“正转” 、“反转”、“点动”和“停止” 。104 软件系统设计4.1 主程序流程图如图 4.1 是主程序流程图,初始化程序后,有键按下该按键对应值为0,其他按键则为 1 来进行按键的处理,并且进行控制步进电机的正反转及点动以及停转。在处理案件的过程中, 如有其他键按下, 则退出该键的循环改为进入更改过后的按键的处理程序然后调用显示程序显示转过的角度数。如此进行旋转和显示。开始初始化单片机否是否启动?是正 /反转?否是数码管显示设置转速电机开始设置转速电机开始数码管显示电机反

23、正向转动反向转动转速电机正转速是是否否是否是否11显示是否切换?显示是否切换?是否暂停?是否暂停?是否4.2键盘处理共设置 16 键,09 数字键设置电机转动转速及相关参数。EBTER/STOP确认和暂停DOP点动Z/F控制电机正反转BSELECT设置位数选择REST复位键5 Protues仿真平台简介Protues 软件是英国Labcenterelectronics公司出版的EDA 工具软件。它不仅具有其它 EDA 工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用1

24、2的科技工作者的青睐, Protues是一个能仿真模拟和数字电路,特别是能够仿真单片机、 ARM、DSP、FPGA等的软件,它还能和 KEIL 软件在同一台机子实现联调 Protues 可提供的仿真仪表资源:示波器、逻辑分析仪、虚拟终端、SPI 调试器、 I2C 调试器、信号发生器、模式发生器、交直流电压表、交直流电流表。理论上同一种仪器可以在一个电路中随意的调用PROTUES 不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上

25、替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。课程设计、毕业设计是学生走向就业的重要实践环节。由于PROTUES提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台。因此在不具备实验前可以利用protues进行仿真的检查。6 仿真的电路图7 课程设计总结本系统主要研究了一种基于单片机的步进电机控制及驱动的电路设计。设计采用 AT89C51单片机作为控制模块的核心, 利用单片机编程实现了对步进电机的控制。由单片机产生的信号经 ULN

26、2003A芯片进行功率放大, 驱动步进电机工作,同时由数码管同步显示预置数和所转角度,由相应的按键实现预置转速、控制、13清零功能。系统能够实现:(1)预设步进电机转速;(2)启动停止、正转反转等功能的基本控制;(3)同步显示转过角度;(4)步进电机处于停止状态时可以对预置数进行清零操作。在系统设计过程中, 力求硬件电路简单, 充分发挥软件部分的优势, 编程灵活方便来满足系统的要求。 通过实际测试表明本设计系统的性能优于传统步进电机控制器,具有结构简单、可靠性高、实用性强、人机接口简单方便、性价比高等特点。本设计作品,就是单片机在智能化仪表方面的具体应用, 充分体现了单片机的优越之处。本论文,

27、从硬件设计到软件设计, 根据硬件的工作原理及设计原理,对设计的设计方案做了仔细的分析。8 程序源代码#include <reg51.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned int#define ink P3#define LCDPORT P0sbit RS=P20;sbit RW=P21;sbit E=P22;unsigned int buffer32;uchar buffer23;uchar Point,KeyValue=16,NUM,s1,xc;14uchar co

28、de dc_s9=0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09,0x01;unsigned char code ASCII=0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39;uint cnt,cnt1,dcc1;uchar dc,a,dcs;uint cnt,cnt1,an,dcc,dca,dcc1;uint ge,shi,bai,qian,wan;void DELAY(unsigned int N)unsigned int i;for(i=0;i<N;i+);void WRITE_CMD(unsigne

29、d char CMD_BYTE)LCDPORT=CMD_BYTE;RS=0;RW=0;E=1;_nop_();E=0;_nop_();void WRITE_DAT(unsigned char DAT_BYTE)LCDPORT=DAT_BYTE;RS=1;RW=0;E=1;_nop_();E=0;_nop_();15void INIT(void)WRITE_CMD(0x38);DELAY(1000);WRITE_CMD(0x06);DELAY(1000);WRITE_CMD(0x0F);DELAY(1000);WRITE_CMD(0x0c);DELAY(1000);WRITE_CMD(0x01)

30、;DELAY(1000);void main(void) TMOD=0x11;TH1=0xFC; /1ms time constant12M TL1=0x18;ET1=1;TR1=1;TH0=0xfc;/10ms time constant12MTL0=0x18;ET0=1;TR0=1;PT0=1;EA=1;buffer3=0x53;buffer4=0x50;buffer5=0x45;buffer6=0x45;16buffer7=0x44;buffer9=0x30;buffer10=0x30;buffer11=0x30;buffer12=0x2f;buffer13=0x4d;buffer14=

31、0x49;buffer15=0x4e;buffer24=0x30;buffer25=0x30;buffer26=0x30;buffer27=0x30;buffer28=0x30;buffer29=0x30;buffer30=0x30;buffer31=0xdf;INIT();s1=5;a=-1;cnt1=100;while(1)if(KeyValue<10)/输入值 NUM=KeyValue; KeyValue=16;switch(s1)case 1:buffer1=ASCIINUM;17break;case 2:buffer2=ASCIINUM;break;case 3:buffer9

32、=ASCIINUM;break;case 4:buffer10=ASCIINUM;buffer21=NUM;break;case 5:buffer11=ASCIINUM;buffer22=NUM;break;if(KeyValue=10) /位选KeyValue=16;s1-;NUM=0;if(s1=3) s1=5;switch(KeyValue)case 15:if(a=-1)if(dc=0) +dcs; if(dcs>3) dcs=0;P1=dc_sdcs;dcc+;18else-dcs;if(dcs<0) dcs=3;P1=dc_sdcs;dcc+;KeyValue=16;b

33、reak;/ 键盘中断扫描 /void T1_ISR(void) interrupt 3static unsigned char i,k,in,n,m;static unsigned char CNT=0,KeyCNT=0;TH1=0xFC; /1ms time constant12MTL1=0x18;ink=0xf0;i+;if(i=16)WRITE_CMD(0xc0);DELAY(1000);if(i=32)i=0;WRITE_CMD(0x80);DELAY(1000);19WRITE_DAT(bufferi);if(CNT%5=0)/ 键盘扫描if(P3&0xf0)!=0xf0)&&(KeyCNT=0)KeyCNT+;switch(KeyCNT)case 0:break;case 1:if(P3&0xf0)!=0xf0)for(m=0;m<4;m+)ink=(0x01<<m)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论