步进电机控制设计(C程序设计语言)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

接口课程设计任务书

学生姓名专业班级

指导老师工作单位计算机学院

题目:步进电机控制设计(C程序设计语言)

一、内容:

在MIFID微机实验台上以双八拍的方式控制步进电机运行,用按钮控制启动和停止。接口硬件电路图见说明书。

二、要求:

1、控制步进电机运行的相序表存储在文件中。

2、按下SW1按钮,从文件中取出一个相序数据,从并行接口8255A的PA

口输出,使步进电机运行。相序数据在CRT上显示。按下SW2按钮,步进电机运行停止。

3、SW1按钮的数字量由PC1输入,SW2按钮的数字量由PC0输入,

4、设计程序运行时的界面友好。

三、进度安排:

指导教师签名:年月日

系主任(责任教师)签名:年月日

一.设计目的和内容

目的:通过步进电机控制实验,学习并行接口电路及其控制程序的设计原理与方法。

内容:

在MIFID微机实验台上以双八拍的方式控制步进电机运行,用按钮控制启动和停止。

接口硬件电路图见说明书。

要求:

1、控制步进电机运行的相序表存储在文件中。

2、按下SW1按钮,从文件中取出一个相序数据,从并行接口8255A的PA口输出,

使步进电机运行。相序数据在CRT上显示。按下SW2按钮,步进电机运行停止。

3、SW1按钮的数字量由PC1输入,SW2按钮的数字量由PC0输入,

4、设计程序运行时的界面友好。

二、实验预备知识

可编程并行接口8255是一个具有两个8位(A端口和B端口)和两个4位(C端口)并行I/O端口的芯片。在与外设进行数据传输时,把A、B、C3个端口分为两组。A组由A端口和C端口的高4位组成。B组由B端口和C端口的低4位组成。为了满足多种数据传输的要求,可以通过对8255的编程用方式控制字设置3种工作方式来实现。这3种工作方式为:方式0(基本I/O工作方式);方式1(选通I/O工作方式);方式2(双向传送方式)。8255的控制字有工作方式控制字和C端口的位置位/复位控制字。工作方式控制字是必须要预先设定的,C端口的位置位/复位控制字可视需要而定。一般来说,在方式0中,C端口除在特殊场合用作联络信号外,如:双机通信,基本上都作为数据端口参与I/O操作。但在方式1或方式2下,C端口的相应位可用来作为I/O操作的控制和同步信号,也可用作对CPU的中断请求信号。

为了更好地完成本次实验,要求实验者掌握8255控制寄存器,8255方式0、方式1的工作原理及工作过程;熟悉方式1(输入和输出)下A端口的方式字、C端口的位置位/复位控制字以及状态字的设置方法。

三.实验原理

1.步进电机驱动模块板电路原理如图1.1.2所示。模块板上包括接口的对象永磁式四相步进电机和驱动电路达林顿管TIP,保护电路74LS373,相序指示灯以及开关SW1和SW2等。

2.步进电机接口设计原理与方法的详细阐述。步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。您可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时您可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机控制原理:步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。步进电机可分为反应式步进电机(简称VR)、永磁式步进电机(简称PM)和混合式步进电机(简称HB)。

步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。

步进电机的驱动电路根据控制信号工作,控制信号由单片机产生。其基本原理作用如下:

(1)控制换相顺序

通电换相这一过程称为脉冲分配。例如:三相步进电机的三拍工作方式,其各相通电顺序为A-B-C-D,通电控制脉冲必须严格按照这一顺序分别控制A,B,C,D相的通断。

(2)控制步进电机的转向

如果给定工作方式正序换相通电,步进电机正转,如果按反序通电换相,则电机就反转。

(3)控制步进电机的速度

如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转得越快。调整单片机发出的脉冲频率,就可以对步进电机进行调速。

图1.1.2 步进电机驱动模块电路原理框图

四、实验配置

1.电源:机内供电,将平台的电源开关拔到“内”的位置上,并将模块电源JP2接通2.电缆线:采用单线/20芯扁平线,将J3与J4连接

3.开关:O区的SW1、SW2和SW3可以配置为用来控制步进电机的运行方向、速度和启动/停止

4.本实验所涉及的模块:I(8255模块),P(步进电机),O(按键开关),模块电源四个模块

5.I/O端口地址:8255的4个端口地址为300H~303H。其中A口=300H,B口=301H,C口=302H,命令口=303H

6.软件资源:MF2KI集成开发环境软件提供了丰富的汇编语言和C/C++语言程序开发工具

五、实验调试与运行

硬件连接

跳线设置:模块电源L区 JP8跳接。

单线连法如右图

排线接法如右图:

①流程图如图所示。

图1.1.3 步进电机程序流程图

程序

#include

#include

#include //delay,outportb,inportb

#include

void main()

{

int xu[8]={0x05,0x15,0x14,0x54,0x50,0x51,0x41,0x45}; //相序表unsigned int i=0;

unsigned char recv;

printf("\nPress sw2 to start!\n");

printf("If you want to quit,press sw1!\n");

outportb(0x303,0x81); //初始化

outportb(0x303,0x09); //置PC4=1关闭74LS373

do

{

相关文档
最新文档