步进电机课程设计报告.docx

上传人:b****1 文档编号:2038666 上传时间:2023-05-02 格式:DOCX 页数:13 大小:90.22KB
下载 相关 举报
步进电机课程设计报告.docx_第1页
第1页 / 共13页
步进电机课程设计报告.docx_第2页
第2页 / 共13页
步进电机课程设计报告.docx_第3页
第3页 / 共13页
步进电机课程设计报告.docx_第4页
第4页 / 共13页
步进电机课程设计报告.docx_第5页
第5页 / 共13页
步进电机课程设计报告.docx_第6页
第6页 / 共13页
步进电机课程设计报告.docx_第7页
第7页 / 共13页
步进电机课程设计报告.docx_第8页
第8页 / 共13页
步进电机课程设计报告.docx_第9页
第9页 / 共13页
步进电机课程设计报告.docx_第10页
第10页 / 共13页
步进电机课程设计报告.docx_第11页
第11页 / 共13页
步进电机课程设计报告.docx_第12页
第12页 / 共13页
步进电机课程设计报告.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

步进电机课程设计报告.docx

《步进电机课程设计报告.docx》由会员分享,可在线阅读,更多相关《步进电机课程设计报告.docx(13页珍藏版)》请在冰点文库上搜索。

步进电机课程设计报告.docx

步进电机课程设计报告

步进电机控制设计(汇编语言)

1设计题目

步进电机控制设计(汇编语言)

2需求分析

2.1步进机介绍

步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。

在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。

可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下使用。

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

因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。

由此可见:

电机的位置和速度由导电次数(脉冲数)和频率成一一对应关系。

而方向由导电顺序决定。

2.2设计要求

1、控制步进电机运行的相序表存储在记录或结构或数组中。

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

相序数据在CRT上显示。

按下SW2按钮,步进电机运行停止。

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

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

2.3软硬件运行环境及开发工具

2.3.1硬件

MFID多功能接口实验平台(简称MFID)。

MFID由MFIDPCI驱动板、平台板实验区和可以添加的面包板实验区三大部分构成。

MFID总的特征有两个,其一,适用于PCI总线;其二,采用模块化开放式结构,整个平台的硬件资源全部向用户开放。

除了可以作为多门微机课程的实验平台外,还是基于微机应用系统的开发平台。

2.3.2软件

多功能微型计算机实验软件MFS(MultiFunctionSoft,简称MF)。

MF将实验程序开发工具(汇编语言、C/C++语言程序开发包),故障诊断程序和外设模块实验演示程序集成在一个环境中,构成一个用户应用程序集成开发环境(IDE)。

实验程序的编辑、编译、连接、调试、运行和修改的全过程都在这个IDE中完成。

2.3.3实验程序开发工具

实验程序开发工具包括编辑器、编译系统、连接程序和调试程序:

1.编辑器采用全屏幕多窗口编辑器,复制,粘贴,裁剪十分方便。

2.编译系统MF软件包含了C/C++语言和汇编语言两个编译系统,用户可按照自己所熟悉的语言,任选一个来编写程序,并在集成环境中进行程序的编译(汇编)、连接、运行与调试。

3.连接程序采用Tlink。

4.调试程序采用Tdebugger全屏幕调试程序,直观全面,使用方便。

2.3.4硬件故障诊断软件

故障诊断软件MFTest用于快速、准确检测平台系统的硬件故障。

利用MFTest软件,可以进行系统级、模块级和芯片级查错,直至芯片引脚的故障。

MFTest软件可以检测系统硬件有无错误,以及故障在哪里。

MFTest有两种查错方法,一是自动检测,二是人工检测,可选其中任意一种方法进行检测。

一般是先用自动检测方法,检测有/无故障,并提示故障标志;若发现故障,则再用人工检测方法,检测具体故障,以及故障产生的原因,然后采取相应的措施及时排除故障。

3概要设计

3.1设计原理

步进电机是一种能够将电脉冲信号转换成角位移或线位移的机电元件,它实际上是一种单相或多相同步电动机。

单相步进电动机有单路电脉冲驱动,输出功率一般很小,其用途为微小功率驱动。

多相步进电动机有多相方波脉冲驱动,用途很广。

使用多相步进电动机时,单路电脉冲信号可先通过脉冲分配器转换为多相脉冲信号,在经功率放大后分别送入步进电动机各相绕组。

每输入一个脉冲到脉冲分配器,电动机各相的通电状态就发生变化,转子会转过一定的角度(称为步距角)。

正常情况下,步进电机转过的总角度和输入的脉冲数成正比;连续输入一定频率的脉冲时,电动机的转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化的影响。

实验系统中的步进电机的四相由0x28000006的bit0~bit3控制,bit0对应于MOTOR_A,bit1对应于MOTOR_B,bit2对应于MOTOR_C,bit3对应于MOTOR_D。

通过编制脉冲分配表表控制步进电机。

3.2驱动控制系统的组成

使用、控制步进电机必须由环形脉冲,功率放大等组成的控制系统,其方框图

如下:

图1驱动控制系统组成图

3.3脉冲信号的产生

脉冲信号一般由单片机或CPU产生,一般脉冲信号的占空比为0.3-0.4左右,电机转速越高,占空比则越大。

3.4信号分配

这次的设计采用四相双八拍的方式控制步进电机运行,四相双八拍顺序:

AB->-ABC->BC->BCD->CD->CDA->DA->DAB,其具体顺序如下表所示:

表1

SETP

A

B

C

D

1

1

1

0

0

2

1

1

1

0

3

0

1

1

0

4

0

1

1

0

5

0

0

1

1

6

1

0

1

1

7

1

0

0

1

8

1

1

0

1

3.5功率放大

功率放大是驱动系统最为重要的部分。

步进电机在一定转速下的转矩取决于它的动态平均电流而非静态电流(而样本上的电流均为静态电流)。

平均电流越大电机力矩越大,要达到平均电流大这就需要驱动系统尽量克服电机的反电势。

因而不同的场合采取不同的的驱动方式,到目前为止,驱动方式一般有以下几种:

恒压、恒压串电阻、高低压驱动、恒流、细分数等。

为尽量提高电机的动态性能,将信号分配、功率放大组成步进电机的驱动电源。

步进电机一经定型,其性能取决于电机的驱动电源。

步进电机转速越高,力距越大则要求电机的电流越大,驱动电源的电压越高。

4详细设计

4.1硬件设计与实现

步进电机驱动模块板电路原理如图2所示。

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

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

4.1.1实验步骤

步骤一:

硬件连接

跳线设置:

模块电源L区JP8跳接。

 

单线连法如右图

图3

排线接法如右图:

 

图4

步骤二:

将平台的电源开关拔到“内”的位置上。

在配套集成环境下进行硬件检测,来达到初始化芯片的目的。

步骤三:

(演示实验步骤)打开集成环境在“演示实验”菜单下点开“基本接口实验”。

在“基本接口实验”中的“并行接口实验”中选择“步进电机”实验进行演示。

步骤四:

(学生实验步骤)打开集成环境在“文件”菜单下学生可以选择新建自己的C++/ASM文件或者集成环境自带的C++/ASM参考程序进行调试、运行。

步骤五:

观看实验现象得出结论。

4.1.2系统流程图

图5

4.2软件设计

详细汇编语言程序代码如下:

codesegment

assumecs:

code,ds:

code

org100h

start:

jmpbegin

pstadb05h,15h,14h,54h,50h,51h,41h,45h;相序表

messagedb'Presssw2tostart!

';系统提示

db0dh,0ah

db'Ifyouwanttoquit,presssw1!

'

db0dh,0ah,'$'

begin:

movax,cs

movds,ax

movah,09h;显示提示信息

movdx,segmessage

movds,dx

movdx,offsetmessage

int21h

movdx,303h;初始化8255A

moval,81h

outdx,al

moval,09h;置PC4=1关闭74LS373

outdx,al

L:

movdx,302h;查SW2按下?

(PC1=0)

inal,dx

andal,02h;未按下,等待

jnzL

movdx,303h;置PC4=0,打开74LS37

moval,08h

outdx,al

reload:

movsi,offsetpsta;设相序表指针

movcx,8;设8拍循环次数

lop:

movdx,302h;查SW1按下?

(PC0=0?

inal,dx

andal,01h

jzquit;已按下,退出

moval,[si];未按下,送相序代码到PA口

movdx,300h

outdx,al

movdi,0afh

movbx,0ffffh;延时

delay:

decbx

jnzdelay

movbx,0ffffh;延时

delay1:

decbx

jnzdelay1

movbx,0ffffh;延时

delay2:

decbx

jnzdelay2

movbx,0ffffh;延时

delay3:

decbx

jnzdelay3

movbx,0ffffh;延时

delay4:

decbx

jnzdelay4

movbx,0ffffh;延时

delay5:

decbx

jnzdelay5

movbx,0ffffh;延时

delay6:

decbx

jnzdelay6

movbx,0ffffh;延时

delay7:

decbx

jnzdelay7

movbx,0ffffh;延时

delay8:

decbx

jnzdelay8

movbx,0ffffh;延时

delay9:

decbx

jnzdelay9

decdi

jnzdelay

incsi;相序表指针+1

deccx;循环次数-1

jnzlop;未到8次,继续

jmpreload;已到8次,重新赋值

quit:

movdx,303h;置PC4=1,关闭74LS373

moval,09

outdx,al

movah,4ch;程序退出

int21h

codeends

endstart

5调试

调试步骤:

1、按照实验接线图连接好硬件线路。

2、进入实验环境后,使用环境上面的工具箱中的硬件检测功能对实验平台进行检测。

这种硬件检测工具可以检测到从模块到芯片到引脚。

如果硬件正确的话会出现“OK”字样;如果错误的话会出现“错误”字样,并提示您怎么样去检测芯片的引脚。

3、打开程序开发环境写入准备好的实验程序,并进行程序的编译以发现程序中存在的错误,然后对程序进行修改。

6操作说明

1连接好实验电路,将平台的电源开关拔到“内”的位置上。

2打开程序开发软件,写入程序,进行编译。

3编译成功后按下实验箱上的SW2,实验箱上P区的LED灯会按相序不停的循环亮灭,并且步进电机会顺时钟转动。

4按下T区的SW1键,程序将会停止运行,步进电机停止运转。

7总结与体会

本次课设,是结合了硬件设计和软件设计以及调试,是一个综合性比较强的课程设计。

要想完成好这次课程设计,首先要弄懂步进电机的工作原理,与外部电路的连接,单片机原理,汇编语言等。

这其中有以前课堂上学过的也有需要我们自学研究的,因此,我们不仅需要去复习以前学过的相关知识,而且我们还必须去学习了解实验要用到而我并没有接触过的知识,这也就大大加强了课程设计的难度。

对之前所学的知识和自学能力都是一大挑战。

在具体设计的过程中,我遇到很多的困难。

我不断地给自己提出新的问题,然后去论证、推翻,再接着提出新的问题。

在这个循环往复的过程中,我这篇稚嫩的设计日臻完善。

虽然我的设计作品不是很成熟,即使借鉴前人的很多资料仍然还有很多不足之处,但我仍然心里有一种莫大的幸福感,因为我实实在在地走过了一个完整的设计所应该走的每一个过程,并且享受了每一个过程。

这是自己付出努力的结果,所以我感到非常的欣慰,知识总是在不断的运用中得到巩固,而能力总是在不断的磨练中得到提升,对于我们这些在校学生来说,不断地思考与动手是我们提升能力的唯一方法,因此,我们必须认真对待每一个课程设计,因为这是我们提升能力的途径,对大多数同学来说也是唯一的途径。

通过这次课程设计,我对电机的了解扩宽了,对单片机和外围电路的认识也更为清晰了,这为我以后工作提供了坚实的基础。

同时感谢老师的指点和同学的帮助使我成功的完成了这次课

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2