基于单片机的步进电机控制系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
J I A N G S U U N I V E R S I T Y
单片机课程设计
-----步进电机控制
所属学院:电气信息工程学院
专业班级:电气卓越
姓名:
学号:
指导教师:孙
日期: 2015年6月26日
一.设计任务
1.从键盘上输入正、反转命令,转速参数(16级)和转动步数显示在LED 显示器上。显示器上显示:第一位为0表示正转,为1表示反转;第二位0~F 为转速等级,第三到第六位设定步数。
2. 单片机依显示器上显示的正、反转命令,转速级数和转动步数进行相应动作,转动步数减为零时停止转动。
二.工作原理
1.步进电机原理
如图,当有一相绕组被通电激励时,磁通从正相齿,经过软铁芯的转子,并以最短路径流向负相齿,为使磁通路径最短,在磁场力的作用下,转子被迫移动,使最近的一对齿与被激励的一相对准。那么,通过对它每相线圈中电流的顺序切换可使电机作步进式旋转。
相数:产生不同对极N、S磁场的激磁线圈对数。
拍数:指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-BC-CD-DA-AB或A-B-C-D-A,四相八拍运行方式即A-AB-B-BC-C-CD-D-DA-A.
步距角:对应一个脉冲信号电机转子转过的角位移.
步距角=360/(转子齿数*拍数)=18度
2.LED显示器原理
LED数码管实际上是由七个发光管组成8字形构成的,这些段分别由字母a,b,c,d,e,f,g,dp来表示。LED显示器有共阳极和共阴极两种接法,共阴极显示器的发光二极管阴极LED连接在一起,通常此公共阴极接地,当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示;同样,共阳极显示器的发光二极管LED阳极连接在一起,通常此公共阳极接正电压,当某个发光二极管的阴极为低电平时,发光二极管点亮,相应的字段被点亮。
3.键盘接口原理
键盘实际上是由排列成矩阵形式的一系列按键开关组成,用户通过键盘可以向CPU输入数据,地址和命令。我们主要需要解决键的识别与键的抖动消除和键的保护等问题。采用8255A接口芯片构成的4*8键盘的接口电路,其中A口为输入,作为列线;C口为输入作为行线。当所有的键没有被按下时,C口输入均为高;若某列线为低时,恰好该列上有键被按下,则键所在的行线为低。
三.设计原理及步骤
系统中使用20BY-0型号步进电机,它使用+5V直流电源,步距角为18度,电机线圈由A、B、C、D四相组成。步进电机控制原理是通过对它每相线圈中的电流的顺序切换来使电机作步进式旋转,驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速。BA、BB、BC、BD即为脉冲信号输入插孔,驱动器输出A、B、C、D接步进电机。
步骤:
先根据书本的键盘扫描程序与数码管显示程序,设计了键盘显示程序,然后是数码管显示程序,把二者整合到一起,调试成功后,再设计了驱动电机程序,实现电机的正反转与调速控制。
四.硬件原理接线图
⏹步进电机模块插头接实验系统J3插座,(顺接)
⏹把P1.0~P1.3分别接到BA~BD插孔。
P1.0
P1.1P1.2
P1.3
8032
1234569
8
74LS04
75452
126735126735
VCC
A B
C D
J3
4.7kX4
BB BC BA BD
五.设计说明及流程图
1.数码管显示字形
LED显示器是由发光二极管构成的字段组成的显示器。
显示程序任务:
设置显示缓冲区(7EH-79 H),存放待显示数据和字符(位置码)。
显示译码:程序存储器中建立字形码常数表,查表得出对应数据和字符的字形码。
输出显示:输出字形码到显示端口。
2.字位口表(从高位起)
3.键盘显示原理图
(1)显示子程序模块
采用动态显示方式,即一位一位地轮流点亮(扫描)6位显示器。在8032RAM 存储器中设置六个显示缓冲区单元7EH-79H,分别存放6位显示器的显示数据(由高到低)。
(2)键盘输入模块
1.实验系统有4×8的键盘结构(见键扫显示原理图)。
2.键盘的行线通过电阻接+5V,当键盘上没有键闭合时所有的行线和列线都断开,行线都为高电平。当键盘上某一键闭合时,则该键所对应的行线和列线都短路。
3.CPU逐行逐列地检查键盘的状态,可判断键盘上有无键闭合。CPU对键盘上闭合键的键号确定,可根据行线和列线的状态计算求得,也可以根据行线和列线的状态查表求得。
键号=行首键号+列号。
键输入流程图
下图是实际的4*8键盘的分布图,每个方框代表一个键,中间的数字代表键值,即键盘上印的数值,每个键上方的小数字代表键在扫描时的键号。
3.步进电机控制
步进电机工作时序波形图
单四拍双四拍八拍
四相双四拍脉冲分配表
A B C D
N 1 1 0 0
N+1 0 1 1 0
N+2 0 0 1 1
N+3 1 0 0 1
根据表格得出控制步进电机正反转的控制字
RM: DB 03H,06H,0CH,09H,00H ;正转控制字
LM: DB 03H,09H,0CH,06H,00H ;反转控制字
步进电机采用四相四拍运行方式,即AB-BC-CD-DA-AB或A-B-C-D-A;程序中,控制对应激励一相即对该相置“1”,即置相应P1口为1;通过控制每一拍的间隔时间用延时子程序实现步进电机转速的控制。
如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会转出一步。两个脉冲的时间间隔越短,步进电机就转的越快。调整送给步进电机的脉冲频率,就可以对步进电机转速进行控制。