步进机控制系统实验报告提交 - 图文

更新时间:2024-05-05 23:02:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

硬件课程设计报告

设计题目:专 业:班 级:成 员:王久龙

步进电机控制系统 计算机科学与技术 计算机09-5班 08093457

陶闯闯 08093456

第 1 页 共 22 页

摘 要

步进电机 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。 内容:利用微机原理试验箱的8279、8255和键盘LED显示模块、步进电机模

块,实现通过键盘控制步进电机,并在LED上显示必要信息。

实现举例:

1. 按下键盘的0到F键,步进电机将按不同的速度转动。同时6位LED的最后一位显示所按下的键值。

2. 按下键盘的HERE键,步进电机将顺时针转动,同时倒数第二位LED显示”+”。

3.按下键盘的EXEC键,步进电机将逆时针转动,同时倒数第二位LED显示”-”。

4.按下键盘的RST键,步进电机停止转动。

第 2 页 共 22 页

目 录

1 设计任务与要求 ................................................................................................................................ 4

1.1引言 .......................................................................................................................................... 4 1.2设计目的 ............................................................................................................................ 5 1.3设计内容 .................................................................................................................................. 5 1.4设备器材 .................................................................................................................................. 5 2 总体方案与说明 ................................................................................................................................ 6

2.1 设计思想 ................................................................................................................................. 6 2.2 实验原理介绍 ....................................................................................................................... 6 3 硬件框图与说明 ................................................................................................................................ 7

3.1 8279可编程键盘/显示接口芯片介绍 ................................................................................. 7 3.2 8255可编程并行接口芯片介绍 .......................................................................................... 8 3.3 步进电机介绍 ....................................................................................................................... 9 4 电路原理图与说明 ........................................................................................................................... 11

4.1 实验原理图 .......................................................................................................................... 11 4.2 实验步骤 ............................................................................................................................. 12

4.2.1 实验连线 .................................................................................................................. 12 4.2.2 编写调试程序,全速运行,观察实验结果 .......................................................... 12

5软件主要模块流程图 ....................................................................................................................... 13

5.1 软件设计思路 ..................................................................................................................... 13 5.2 软件流程图 ......................................................................................................................... 13 6 源程序清单与注释...........................................................................................................................13 7问题分析与解决方案 ....................................................................................................................... 20

7.1 实验设计前后面临的问题分析 ........................................................................................... 20

7.1.1 芯片的选择问题 ........................................................................................................ 20 7.1.2 芯片的连接和使用问题 ............................................................................................ 21 7.1.3 程序的编制和程序运行时出现的问题 .................................................................... 21 7.2 问题的解决方案 ................................................................................................................... 21

7.2.1 对于问题一与问题二 ................................................................................................ 21 .2.2 对于问题三 .................................................................................................................. 21

8 实验体会 .......................................................................................................................................... 21 参考资料 .............................................................................................................................................. 22

第 3 页 共 22 页

1 设计任务与要求

1.1引言

步进电机最早是在1920年由英国人所开发。1950年后期晶体管的发明也逐渐应用在步进电机上,这对于数字化的控制变得更为容易。以后经过不断改良,使得今日步进电机已广泛运用在需要高定位精度、高分解性能、高响应性、信赖性等灵活控制性高的机械系统中。在生产过程中要求自动化、省人力、效率高的机器中,我们很容易发现步进电机的踪迹,尤其以重视速度、位置控制、需要精确操作各项指令动作的灵活控制性场合步进电机用得最多。步进电机作为执行元件,是机电一体化的关键产品之一, 广泛应用在各种自动化控制系统中。随着微电子和计算机技术的

发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。

步进电机是将电脉冲信号变换成角位移或直线位移的执行部件。步进电机可以直接用数字信号驱动,使用非常方便。一般电动机都是连续转动的,而步进电动机则有定位和运转两种基本状态,当有脉冲输入时步进电动机一步一步地转动,每给它一个脉冲信号,它就转过一定的角度。步进电动机的角位移量和输入脉冲的个数严格成正比,在时间上与输入脉冲同步,因此只要控制输入脉冲的数量、频率及电动机绕组通电的相序,便可获得所需的转角、转速及转动方向。在没有脉冲输入时,在绕组电源的激励下气隙磁场能使转子保持原有位置处于定位状态。因此非常适合于单片机控制。步进电机还具有快速启动、精确步进和定位等特点,因而在数控机床,绘图仪,打印机以及光学仪器中得到广泛的应用。步进电动机已成为除直流电动机和交流电动机以外的第三类电动机。传统电动机作为机电能量转换装置,在人类的生产和生活进入电气化过程中起着关键的作用。步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。

第 4 页 共 22 页

现在比较常用的步进电机包括反应式步进电机(VR)、永磁式步进电机(PM)、混合式步进电机(HB)和单相式步进电机等。永磁式步进电机一般为两相,转矩和体积较小,步进角一般为7.5度 或15度;反应式步进电机一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。反应式步进电机的转子磁路由软磁材料制成,定子上有多相励磁绕组,利用磁导的变化产生转矩。混合式步进电机是指混合了永磁式和反应式的优点。它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为 0.72度。这种步进电机的应用最为广泛,也是本次

细分驱动方案所选用的步进电机。

1.2设计目的

通过课程设计使我们更进一步掌握微机原理与应用课程的有关知识,提高用汇

编语言编程的能力,加深对汇编语言的理解。

通过查阅资料,阅读程序,提高设计程序的能力及动手能力,使编程水平有一定的提高,同时也会提高我们通过动手进行硬件设计及程序设计从而提高解决实际

问题的能力。

通过实验的深入,进一步加强对微机接口与原理的实验箱的了解,充分了解其

内部结构,尤其加深对8279、8255芯片的原理与连线的了解。

1.3设计内容

在本实验中我们将用到可编程外围接口芯片8255、可编程键盘显示器接口芯片8279该系统显示直观,工作稳定,操作简单,具备较强的实用价值。

1.4设备器材

(1)PC微机一台

第 5 页 共 22 页

用于对程序的编译测试等,同时还需要对实验设备进行控制,提供整个程序的

运行平台,并且收集和释放硬件信号,实现程序功能。

(2)微机原理实验箱一台

此设备能提供8255,8279和数码管,键盘,步进电机等必要芯片和模块。并且能与PC机进行通信。通过键盘上不同按键来控制步进电机的转动速率和方向,

并能在LED上同步显示必要信息。

(3)导线若干条 用于电路和芯片之间的连接。

2 总体方案与说明

2.1 设计思想

8255器件:8255用作辅助装置。8255器件的C端口低四位PC0、PC1、PC5、

PC3依次轮番输出脉冲。

8279器件:作为控制部件,通过读取按键值,在六位LED上显示相关信息,同

时步进机按键值相对应的转速转动,正转或者反转。

2.2 实验原理介绍

由于反应式步进电机工作原理比较简单。下面先叙述三相反应式步进电机原理。

1、结构:

电机转子均匀分布着很多小齿,定子齿有三个励磁绕阻,其几何轴线依次分别与转子齿轴线错开。0、1/3て、2/3て,(相邻两转子齿轴线间的距离为齿距以て表示),即A与齿1相对齐,B与齿2向右错开1/3て,C与齿3向右错开2/3て,A’与齿5相对齐,(A’就是

A,齿5就是齿1)

2、旋转:

如A相通电,B,C相不通电时,由于磁场作用,齿1与A对齐,(转子不受任何力以下均同)。如B相通电,A,C相不通电时,齿2应与B对齐,此时转子向右移过1/3て,

第 6 页 共 22 页

此时齿3与C偏移为1/3て,齿4与A偏移(て-1/3て)=2/3て。如C相通电,A,B相不通电,齿3应与C对齐,此时转子又向右移过1/3て,此时齿4与A偏移为1/3て对齐。如A相通电,B,C相不通电,齿4与A对齐,转子又向右移过1/3て这样经过A、B、C、A分别通电状态,齿4(即齿1前一齿)移到A相,电机转子向右转过一个齿距,如果不断地按A,B,C,A……通电,电机就每步(每脉冲)1/3て,向右旋转。如按A,C,B,

A……通电,电机就反转。

由此可见:电机的位置和速度由导电次数(脉冲数)和频率成一一对应关系。而方向

由导电顺序决定。

不过,出于对力矩、平稳、噪音及减少角度等方面考虑。往往采用A-AB-B-BC-C-CA-A这种导电状态,这样将原来每步1/3て改变为1/6て。甚至于通过二相电流不同的组合,使

其1/3て变为1/12て,1/24て,这就是电机细分驱动的基本理论依据。

不难推出:电机定子上有m相励磁绕阻,其轴线分别与转子齿轴线偏移1/m,2/m……(m-1)/m,1。并且导电按一定的相序电机就能正反转被控制——这是步进电机旋转的物理条件。只要符合这一条件我们理论上可以制造任何相的步进电机,出于成本等多

方面考虑,市场上一般以二、三、四、五相为多。

3 硬件框图与说明

3.1 8279可编程键盘/显示接口芯片介绍

8279是可编程的键盘、显示接口芯片。它既具有按键处理功能,又具有自动显示功能。8279内部有键盘FIFO/传感器、双重功能的64BRAM,键盘控制部分可控制8*8=64个按键或控制8*8阵列方式的传感器。该芯片能自动消除键抖动并具有双键

第 7 页 共 22 页

锁定保护功能。本次实验我们将利用8279的以上功能设计点阵广告屏。

首先介绍一下8279芯片:

DB0~DB7:8位数据总线与系统数据总线相连,用CPU和8279间的数据/命令传

送。

CS:片选信号CS=0时,8279被选中。

WR:WR=0.控制8279写操作。

A0:数据选择输入线,A=0,CPU读出为数据;A=1,CPU写入数据为命令字,读

出数据为状态字。

BD:消隐输出线,BD=0有效,在切换显示数据或使用消令时,该信号将显示器

熄灭。

CLK:外部时钟信号输入线,8279通过内部定时器将该信号变为内部时钟,内部时钟频率的高低直接决定显示器的扫描时间,通常与编程设置为100Hz,此时,每位显示数码管的选通时间为0.64ms,设定显示字符8位和16位时,显示扫描周期分为

5.1ms和10.2ms.

OUTA0~OUTA3:A组显示数据输出线。 OUTB0~OUTB3:B组显示数据输出线。

两组数据输出线可独立使用,也可合并使用,合并使用时OUTA3为最高位,OUTB0

为最低位。

SL0~SL3:扫描输出线,有2种工作方式,即译码和编码输出,方式选择可通

过编程设定。

RL0~RL7:输入线,它们是键盘矩阵或传感器矩阵的列或行信号输入线。

3.2 8255可编程并行接口芯片介绍

8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连

接部分、与外设连接部分、控制部分。

RESET:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄

第 8 页 共 22 页

存器)均被清除,所有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

第 9 页 共 22 页

位的数据输入缓冲器。 端口C可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入

端口。'

5 4 3 2 1 1 + - 2 + - - 3 + - 4 + - - 5 + - 6 + - - 7 + - 8 + - - A0,A1:地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器.

3.3 步进电机介绍

步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。 虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下使用。

它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。

本实验采用的步进电机为35BYJ46型四项八拍电机,电压为DC12V,其励磁线圈及其励顺 序如图5.1所示及表5.3所示。实验中,PA端口各线的电平在各步中的情况如表5.4所示

表5.3 步进电机励磁顺序

42135

图5.1 步进电机

表5.4

步序 1 2 3 4 5 PA3 0 0 0 0 0 PA2 0 0 0 1 1 PA1 0 1 1 1 0 PA0 1 1 0 0 0 对应A口输出值 01H 03H 02H 06H 04H

第 10 页 共 22 页

6 7 8 1 1 1 1 0 0 0 0 0

0 0 1 0CH 08H 09H 4 电路原理图与说明

4.1 实验原理图

第 11 页 共 22 页

4.2 实验步骤

4.2.1 实验连线

8279CS----208H-20FH 。将8279的片选与译码电路相应的插孔相连。

8255CS----200H-207H 。 8255的C0端口----DA 。 8255的C1端口----DB 。 8255的C2端口----DC 。 8255的C3端口----DD 。

4.2.2 编写调试程序,全速运行,观察实验结果

第 12 页 共 22 页

5软件主要模块流程图

5.1 软件设计思路

本程序由主程序和控制芯片输出程序组成。主程序主要负责系统初始化,控制

芯片输出程序主要负责数码管的亮灭。

8253开始定时后,每一秒控制相应的数码管的亮灭。

主程序初始化:

主程序负责系统的初始化,系统初始化包括8253的初始化、8255的初始化和

8279的初始化。8253定时的时间是一秒。

5.2 软件流程图

6 源程序清单与注释

系统程序:

第 13 页 共 22 页

C8279 EQU 20AH

;8279控制口地址

;

D8279 EQU 208H

C8255 EQU 203H

;8255控制口地址

P8255C EQU 202H ;8255C端口地址

CODE SEGMENT ASSUME CS:CODE,DS:CODE

START:PUSH CS

POP DS INI:MOV DX,C8255

MOV AL,90H ; C端口低四位输出脉冲

OUT DX,AL ;8255初始化

MOV DX,C8279 MOV AL,00H OUT DX,AL MOV AL,2AH ;扫描频率 OUT DX,AL ;8279初始化 MOV AL,0D1H

;显示清0

OUT DX,AL ;关显示

WAIT1:IN AL,DX MOV AH,AL AND AL,80H

JNZ WAIT1 ;FIFO正在清除期间则跳转等待

MOV AL,AH AND AL,0FH CMP AL,00H

JE WAIT1 ;无键按下则跳转等待

LEA BX,STEP

第 14 页 共 22 页

RUN:CALL CHKKEY ;检测键盘 CALL DISPLAY ;LED回显 MOV CX,08H ;步进电机控制

LOOP3:MOV DX,P8255C

MOV AL,[SI]

OUT DX,AL

;C口输出脉冲信号 INC SI CALL DELAY ;延迟

LOOP LOOP3 JMP RUN

CHKKEY PROC NEAR

RDKEY:MOV DX,C8279

IN AL,DX MOV AH,AL AND AL,80H CMP AL,80H JE RDKEY MOV AL,AH AND AL,0FH CMP AL,00H JE RTN MOV AL,40H

OUT DX,AL ;读FIFO/传感器RAM命令

MOV DX,D8279

;读入键值

;读键盘 ;循环

IN AL,DX CHK:CMP AL,38H JE QUIT ;RST 退出

第 15 页 共 22 页

CMP AL,30H ;键值大于30H,为方向控制键

JNC DIRE MOV DELAYTIME,AL

JMP RTN

DIRE:CMP AL,32H ;HERE 顺时针

JNE NEXT MOV DIRDSP,40H LEA BX,STEP JMP RTN

NEXT:CMP AL,33H ;EXEC 逆时针

JNE RTN MOV DIRDSP,46H LEA BX,STEP

ADD BX,08H ;逆时针控制表地址

RTN: MOV SI,BX RET CHKKEY ENDP

QUIT:MOV DX,C8279 MOV AL,0D2H OUT DX,AL jmp $

DELAY PROC NEAR

PUSH CX

;判断键值,获得相应延时循环值

第 16 页 共 22 页

MOV AL,20H ;\

SUB AL,DELAYTIME

JNZ L1 MOV CX,04H

L1: MOV AL,08H ;\

SUB AL,DELAYTIME

JNZ L2 MOV CX,05H

L2: MOV AL,00H ;\

SUB AL,DELAYTIME

JNZ L3

L3: MOV AL,21H ;\

SUB AL,DELAYTIME MOV CX,07H JNZ L4 MOV CX,08H

L4: MOV AL,09H ;\

SUB AL,DELAYTIME

JNZ L5 MOV CX,09H

L5: MOV AL,01H ;\

SUB AL,DELAYTIME

JNZ L6 MOV CX,0AH

L6: MOV AL,22H ;\

SUB AL,DELAYTIME

JNZ L7 MOV CX,10H

第 17 页 共 22 页

L7: MOV AL,0AH ;\

SUB AL,DELAYTIME

JNZ L8 MOV CX,20H

L8: MOV AL,02H ;\

SUB AL,DELAYTIME

JNZ L9 MOV CX,30H L9: MOV AL,03H SUB AL,DELAYTIME ;\

JNZ LOOP1 MOV CX,40H LOOP1:PUSH CX MOV CX,0155H LOOP2:NOP LOOP LOOP2 POP CX LOOP LOOP1 POP CX RET DELAY ENDP

DISPLAY PROC NEAR

PUSH BX MOV DX,D8279 MOV AL,DELAYTIME

LEA BX,LED ;查表显示速度值

XLAT

第 18 页 共 22 页

OUT DX,AL MOV AL,DIRDSP

OUT DX,AL ;显示电机转动方向 MOV CX,0006H ;显示界面\

LEA BX,DSP LOOP4:MOV AL,[BX]

OUT DX,AL INC BX LOOP LOOP4 MOV DX,C8279 MOV AL,0C2H OUT DX,AL POP BX RET DISPLAY ENDP

LED DB 07H,66H,06H,3FH DB 00H,00H,00H,00H

;LED显示

;按键值对应的表

DB 7FH,6DH,5BH,71H DB 00H,00H,00H,00H

DB 00H,00H,00H,00H DB 00H,00H,00H,00H DB 00H,00H,00H,00H DB 00H,00H,00H,00H

DB 6FH,7DH,4FH,79H DB 00H,00H,00H,00H

第 19 页 共 22 页

DB 77H,7CH,39H,5EH DB 00H,00H,00H,00H

DB 06H,5BH,4FH,66H DB 00H,00H,00H,00H DB 06H,5BH,4FH,66H DB 00H,00H,00H,00H

DSP DB 00H,00H,73H,79H,31H,6DH,00H

DELAYTIME DB 01H DIRDSP DB 40H

STEP DB 01h,03H,02h,06H,04h,0cH,08h,09H

DB 09H,08h,0cH,04h,06H,02h,03H,01h

CODE ENDS END START

;顺时针转表

;逆时针转表

7问题分析与解决方案

7.1 实验设计前后面临的问题分析

7.1.1 芯片的选择问题

在芯片选择上,有8253,8255,8279可供选择,开始的时候想使用这三者联合。使用8253作为定时时钟,输出给8255作为延时。后来发现在实验过程中,自己没有掌握汇编语言,不会编程序。所以最终选择8255与8279联合,由8279作

定时。

第 20 页 共 22 页

7.1.2 芯片的连接和使用问题

这个较简单,按电路图用导线把各个接口连上就行。

7.1.3 程序的编制和程序运行时出现的问题

在实验进行的最后,我们碰到最棘手的问题就是延时问题。

7.2 问题的解决方案

7.2.1 对于问题一与问题二

我们通过上网查找大量的有关资料来解决。尤其对于8279来说,我们从最初的完全不懂,到最后的熟练运用,其中经历漫长的探索与研究过程。

7.2.2 对于问题三

我们对软件中每一段代码进行了仔细的排查,最终在程序的末尾发现了因为电

平判断错误而导致了时间的缩短。

8 实验体会

通过这次课程设计,使我对硬件电路的工作原理有了进一步的学习,进一步的认识;在软件方面,在程序的设计,程序的调试方面都学到了很多东西,很有成就感。在这次课程设计中我遇到了一些困难,但在老师的指导和同学的帮助,再加上自己查阅了些许资料的情况下都解决了。虽然课程设计进行的不够顺利,但还是完成了任务,使自己的专业知识又得到了提升。

21世纪是计算机全面发展应用的时代,很多人不是在制造计算机而是在使用计算机,在使用计算机的人群中只有从事嵌入式系统应用的人才真正地进入到计算机系统内部软硬件体系中,才能真正领会计算机的智能化本质并掌握智能化设计的知识。通过这次难得的实践机会给了我很大的收获,不仅巩固了原有的知识,并增强了动手能力,培养了面对问题的分析能力以及遇到困难如何面对。

第 21 页 共 22 页

参考资料

[1] 周荷琴 吾秀清主编《微机原理与接口技术》 合肥:中国科学技术出版社 2007 [2] 李恩林 陈斌生主编《微机接口技术300例》 北京:机械工业出版社 2003

[3] 贾金铃主编《微型计算机原理及应用—理论,实验,课程设计》 重庆:重庆大学出版社 2006

第 22 页 共 22 页

本文来源:https://www.bwwdw.com/article/pr2g.html

Top