计算机控制课程设计步进电机的控制设计.docx

上传人:b****5 文档编号:6413470 上传时间:2023-01-06 格式:DOCX 页数:19 大小:155.19KB
下载 相关 举报
计算机控制课程设计步进电机的控制设计.docx_第1页
第1页 / 共19页
计算机控制课程设计步进电机的控制设计.docx_第2页
第2页 / 共19页
计算机控制课程设计步进电机的控制设计.docx_第3页
第3页 / 共19页
计算机控制课程设计步进电机的控制设计.docx_第4页
第4页 / 共19页
计算机控制课程设计步进电机的控制设计.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

计算机控制课程设计步进电机的控制设计.docx

《计算机控制课程设计步进电机的控制设计.docx》由会员分享,可在线阅读,更多相关《计算机控制课程设计步进电机的控制设计.docx(19页珍藏版)》请在冰豆网上搜索。

计算机控制课程设计步进电机的控制设计.docx

计算机控制课程设计步进电机的控制设计

目录

1设计目的及意义-1-

1.1设计目的-1-

1.2设计意义-1-

2方案论证-2-

2.1设计要求-2-

2.2方案论证-2-

3硬件电路设计-3-

3.1设计思路,元件选型-3-

3.2控制原理图-5-

3.3硬件连线图-6-

4软件设计-8-

4.1.1微机方案的软件设计-8-

4.1.2单片机方案的软件设计-8-

4.2方框图-9-

4.3程序清单-11-

5总结-16-

6参考文献-17-

1设计目的及意义

1.1设计目的

1.巩固和加深课堂所学知识;

2.学习掌握一般的软硬件的设计方法和查阅、运用资料的能力;

3.通过步进电机控制系统设计与制作,深入了解与掌握步进电机的运行方式、方向、速度、启/停的控制以及单三拍、双三拍和三相六拍等工作方式的控制。

1.2设计意义

步进电机是工业过程控制及仪表中的主要控制元件之一。

在数字控制系统中,由于它可以可以直接接受计算机来的数字信号,不需要进行数模转换,所以用起来更方便。

步进电机角位移与控制脉冲间的精确同步。

若将角位移的改变转变为线性位移、位置、体积、流量等物理量的变化,便可实现对它们的控制。

正因为步进电机具有快速启停,精确步进以及能直接接收数字量等特点,所以使其在定位场合中得到了广泛的应用。

特别在工业过程控制系统中,使用开环控制模式,微型计算机可以很容易控制步进电机的位置和速度,而不用使用位移传感器,所以应用越来越广泛。

学会使用微型计算机控制步进电机也就显得很重有必要了。

2方案论证

2.1设计要求

控制步进电机正转、反转,加速,减速。

完成步进电机单三拍、双三拍和三相六拍等工作方式的控制,画出控制步进电机的电路图,并编程完成软件部分。

 

2.2方案论证

方案一:

使用微机+8255A,外加驱动电路使用循环查表法实现

因为步进电机是通过改变其输入脉冲来改变步进电机的输出状态的,所以此方案考虑选择用开关电路来改变其调用的子程序已达到改变其输入的脉冲。

故此方案使用开关电路,8255A的若干端口来进行。

由步进电机的原理可以知道其状态的特点,所以,可以考虑通过改变其脉冲的顺序来改变步进电机的转向,实现正转与反转,通过均匀地改变其脉冲时间间隔的长短来实现步进电机的加速与减速。

故此方案可以用8255的PA口和开关电路来选择各种状态的改变。

方案二:

使用单片机,外加驱动电路使用循环查表法实现

与方案一的区别不大,就是不需要8255,AT89C51直接与开关、接口电路相接,电路更简单。

 

3硬件电路设计

3.1设计思路,元件选型

用控制器输出接口的每一位控制一相绕组。

三种控制方式的数学模型分别为如下所述。

表3-1-1三相单三拍

表3-1-2三相双三拍

步序

控制位

工作状态

控制模型

P1.7

P1.6

P1.5

P1.4

P1.3

P1.2

C相

P1.1

B相

P1.0

A相

1

0

0

0

0

0

0

0

1

A

01H

2

0

0

0

0

0

0

1

0

B

02H

3

0

0

0

0

0

1

0

0

C

04H

步序

控制位

工作状态

控制模型

P1.7

P1.6

P1.5

P1.4

P1.3

P1.2

C相

P1.1

B相

P1.0

A相

1

0

0

0

0

0

0

1

1

AB

03H

2

0

0

0

0

0

1

1

0

BC

06H

3

0

0

0

0

0

1

0

1

CA

05H

表3-1-3三相六拍

步序

控制位

工作状态

控制模型

P1.7

P1.6

P1.5

P1.4

P1.3

P1.2

C相

P1.1

B相

P1.0

A相

1

0

0

0

0

0

0

0

1

A

01H

2

0

0

0

0

0

0

1

1

AB

03H

3

0

0

0

0

0

0

1

0

B

02H

4

0

0

0

0

0

1

1

0

BC

06H

5

0

0

0

0

0

1

0

0

C

04H

6

0

0

0

0

0

1

0

1

CA

05H

本次设计我选择三相六拍的控制设计

微机控制部分:

步进电机接口的硬件部分主要是提供输送相序代码的并行数据线(6根),以及保护电机绕组的器件,所以接口电路以8255A为主芯片,将PA口作数据口,传送加电代码,再加上锁存器74LS373作绕组保护。

另外,还有功率驱动管TIP122,以及二极管、开关K0、K1、K2、K3。

本实验采用A口作为控制口,B口作为输出口,PA0、PA1、PA2、PA3分别接开关的K0、K1、K2、K3,PB0、PB1、PB2分别接步进电机的ABC。

单片机控制部分:

使用单片机控制的电路与使用微机实现的电路很相似,主要由:

AT89C51、TIP122驱动管,以及二极管、开关K0、K1、K2、K3组成。

3.2控制原理图

图3.1微机控制原理图

 

图3.2单片机控制原理图

……

 

3.3硬件连线图

图3.3.1微机步进电机控制系统硬件接线图

如上图所示:

左边一芯片,从上到下,依次为开关K0、K1、K2、K3,与之相对应的接线端口为PA0、PA1、PA2、PA3口,最右端为步进电机,往左为驱动芯片,再次之为8255的扩展端口。

表3-3-1各开关对应的步行电机状态表

开关

步进电机状态

K3

K2

K1

K0

0

0

0

0

停止

0

0

0

1

启动正转

0

0

1

1

启动反转

0

1

0

1

正转加速

0

1

1

1

反转加速

1

0

0

1

正转减速

1

0

1

1

反转减速

 

图3.3.2单片机步进电机控制系统硬件接线图

如上图所示:

左边一AT89C51芯片,从上到下,依次为开关K0、K1、K2、K3、K4,与之相对应的接线端口为P3.0、P3.1、P3.2、P3.3、P3.4口,最右端为步进电机,往左为驱动芯片,再次为P1.0、P1.1、P1.2端口。

表3-3-2各开关对应的步行电机状态表

开关

步进电机状态

K0

正转

K1

反转

K2

加速

K3

减速

K4

停止

4软件设计

4.1.1微机方案的软件设计

实现步进电机运行方式、方向和加速、减速以及启/停的控制,是接口软件设计的主要任务。

为此,在编写程序之前,要建立一个相序表。

相序表的建立应根据步进电机运行方式的要求及各绕组与8255A端口连接情况来确定加电代码。

根据上图的连接情况,可以写出相序表中三相6拍运行方式的加电代码为:

01H,03,02H,06H,04H,05H。

在8255初始化完毕后,取出相序表的首地址,将其存入BX。

当要求步行电机正转时,首地址进行加1操作。

在次过程中要检查指针是否指到末地址。

若是,指针减5,回到首地址,如此循环。

当要求反转时,将首地址进行加5操作到达末地址,在进行减1操作,在次过程找要检查指针是否到达首地址。

如是,则将指针加5回到末地址。

根据设计流程图,软件设计部分将本系统分为6个子程序,分别是正向转子程序、反向转子程序、常速延时子程序、加速延时子程序、减速延时子程序、通用延时子程序。

 

4.1.2单片机方案的软件设计

使用单片机实现控制,接口软件与使用微机相类似,选择工作方式3来实现步进电机的正转、反转、加速、减速,即通过开端电路来实现步进电机在不换硬件接线的情况下实现各种状态的转换。

 

4.2方框图

图4.2.2单片机控制方框图

4.3程序清单

微机程序清单:

DATASEGMENT

LIUDB01H,03H,02H,06H,04H,05H

DATAENDS

STACKSEGMENTPARASTACK‘STACK’

DB100DUP(?

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK

START:

MOVAX,DATA

MOVDS,DATA

MOVAX,STACK

MOVSS,AX

COUNT1EQU0C300H;初始转速延时

COUNT2EQU0B300H;高速延时

COUNT3EQU0FFF0H;慢速延时

COUNT4EQU0FEEH;步数,至少40步

MOVBX,OFFSETLIU

MOVDX,PORTCTR

MOVAL,90H

OUTDX,AL;送入8255控制字

LOOP1:

INAL,PORTA

MOVAH,AL

ANDAH,01H

CMPAH,01H;判断开关K0是否闭合

JNZLOOP1

MOVAH,AL

ANDAH,02H

CMPAH,02H;判断开关K2是否闭合

JNZZZ

JMPFZ

;…………………………………………………………………………….

ZZ:

MOVAH,AL;正向转子程序

INAL,PORTA

ANDAL,0CH

PUSHAX

MOVAL,[BX]

CMPAL,05H;检查是不是最后一个加电代码

JNZXH1

SUBBX,5

XH1:

INCBX;指针作加1运算,及实现向后移动

MOVDL,[BX]

OUTPORTB,AL;从B口输出

POPAX

CMPAL,00H

JNZX1

CALLCHANGSU;调用常速延时

X1:

CMPAL,04H

JZX2

CALLJIASU;调用加速延时

X2:

CMPAL,08H

JZX3

CALLJIANSU;调用减速延时

X3:

JMPSTART

;…………………………………………………………………………….

FZ:

MOVAH,AL;反向转子程序

INAL,PORTA

ANDAL,0CH

CMPAL,00H

PUSHAX

MOVAL,[BX]

CMPAL,01H;检查是不是第一个加电码

JNZFXH1

ADDBX,5;若是第一个加电码,则指针加5跳到最后一个加电码

FXH1:

DECBX;指针减1,实现向前移动

MOVAL,[BX]

OUTPORTB,AL

POPAX

CMPAL,00H

JNZX1

CALLCHANGSU;调用常速延时

X1:

CMPAL,04H

JZX2

CALLJIASU;调用加速延时

X2:

CMPAL,08H

JZX3

CALLJIANSU;调用减速延时

X3:

JMPSTART

;…………………………………………………………………………….

CHANGSU:

PUSHCX;短延时子程序

MOVCX,COUNT1;COUNT1为常速常速

ADD1:

PUSHAX

POPAX

LOOPADD1

POPCX

RET

;…………………………………………………………………………….

JIASU:

PUSHCX;加速延时子程序

MOVCX,40;分40级加速

MOVDX,COUNT1;COUNT1为常速延时

PUSHDX

SUBDX,COUNT2;COUNT2为高速延时

MOVAX,DX

DIV40

MOVDX,AX

POPAX

ADD2:

SUBAX,DX

MOVDX,AX

CALLDELAY

LOOPADD2

MOVAX,COUNT4;COUNT4定义步数

SUBAX,40

MOVCX,AX;走完剩余的步数

CALLDELAY

RET

;…………………………………………………………………………….

JIANSU:

PUSHCX;减速延时子程序

MOVCX,40;分40级加速

MOVDX,COUNT1;COUNT1为常速延时量

PUSHDX

SUBDX,COUNT3;COUNT3为慢速延时量

MOVAX,DX

DIV40

MOVDX,AX

POPAX

ADD3:

ADDAX,DX

MOVDX,AX

CALLDELAY

LOOPADD3

MOVAX,COUNT4;COUNT4定义步数

SUBAX,40

MOVCX,AX;走完剩余的步数

CALLDELAY

RET

;…………………………………………………………………………….

DELAY:

PUSHCX;通用延时子程序

MOVCX,DX

ADD4:

PUSHAX

POPAX

LOOPADD5

POPCX

RET

CODEENDS

ENDSTART

单片机程序清单:

ORG0000H

AJMPSTOP;跳转至子程序STOP处

ORG0040H

STOP:

MOVP1,#00H;开始

JBP3.0,START

JBP3.1,RERUN

SJMPSTOP

START:

MOVR0,#00H;正转

START1:

MOVA,R0

MOVDPTR,#TABLE

MOVCA,@A+DPTR

JZSTART

MOVP1,A

;…………………………………………………………………………….

STALOP:

JNBP3.0,START2

JBP3.4,STOP

JBP3.2,SPEEDUP

JBP3.3,SLOW

LCALLDELAY0

INCR0

LJMPSTART1

;…………………………………………………………………………….

START2:

JBP3.1,RERUN

LJMPSTOP

RERUN:

MOVR0,#00H;反转

RERUN1:

MOVA,R0

MOVDPTR,#TABLF

MOVCA,@A+DPTR

JZRERUN

MOVP1,A

;…………………………………………………………………………….

RERLOP:

JNBP3.1,STALOP

JBP3.4,STOP

JBP3.2,SPEEDUP

JBP3.3,SLOW

LCALLDELAY0

INCR0

LJMPRERUN1

;…………………………………………………………………………….

SPEEDUP:

LCALLDELAY1;加速

INCR0

JBP3.0,START1

LJMPRERUN1

;…………………………………………………………………………….

SLOW:

LCALLDELAY2;减速

INCR0

JBP3.0,START2

LJMPRERUN1

;…………………………………………………………………………….

DELAY0:

MOVR1,#20;初始速度延时子程序

D1:

MOVR2,#50

DJNZR2,$

DJNZR1,D1

RET

;…………………………………………………………………………….

DELAY1:

MOVR1,#0;加速延时子程序

D2:

MOVR2,#10

DJNZR2,$

DJNZR1,D1

RET

;…………………………………………………………………………….

DELAY2:

MOVR1,#50;减速延时子程序

D3:

MOVR2,#100

DJNZR2,$

DJNZR1,D3

RET

TABLE:

DB01H,03H,02H,06H,04H,05H;正转控制模型

DB00H

TABLF:

DB05H,04H,06H,02H,03H,01H;反转控制模型

DB00H

END

5总结

我觉得做计算机控制技术课程设计是十分有意义的,而且是十分必要的。

这门课程还牵涉到了微机原理和DSP应用等课程,把我们的其他专业科都粘合在了一起,达到融会贯通的作用,让我们学的更广,学的更灵活!

一直以来都从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。

这次课程设计对我来说学到的不仅是那些知识,更多的是团队和合作。

现在想来,也许学校安排的课程设计有着它更深层的意义吧,它不仅仅让我们综合那些理论知识来运用到设计和创新,还让我们知道了一个团队凝聚在一起时所能发挥出的巨大潜能!

不过没想到这项看起来不需要多少技术的工作却是非常需要耐心和精力。

今天我已明白课程设计对我来说的意义,它不仅仅是让我们把所学的理论知识与实践相结合起来,提高自己的实际动手能力和独立思考的能力,更重要的是同学间的团结,虽然我们这次花去的时间比别人多,但我相信我们得到的也会更多!

作为一名自动化专业的大三学生,在已度过的大学时间里,我们大多数接触的是专业课。

我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?

如何把我们所学的专业基础课理论知识运用到实践中去呢?

我想做类似的课程设计就为我们提供了良好的实践平台。

在做本次课程设计的过程中,我感触最深的当属查阅大量的设计资料了。

为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。

通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。

我觉得作为一名自动化专业的学生,计算机控制技术的课程设计是很有意义的。

更重要的是如何把自己平时所学的东西应用到实际中。

虽然自己对于这门课懂的并不多,很多基础的东西都还没有很好的掌握,觉得很难,也没有很有效的办法通过自身去理解,但是靠着这几天的“学习”,在小组同学的帮助和讲解下,渐渐对这门课逐渐产生了些许的兴趣,自己开始主动学习并逐步从基础慢慢开始弄懂它。

我认为这个收获应该说是相当大的。

觉得课程设计反映的是一个从理论到实际应用的过程,但是更远一点可以联系到以后毕业之后从学校转到踏上社会的一个过程。

小组人员的配合﹑相处,以及自身的动脑和努力,都是以后工作中需要的。

同时我认为我们的工作是一个团队的工作,团队需要个人,个人也离不开团队,必须发扬团结协作的精神。

某个人的离群都可能导致导致整项工作的失败。

实习中只有一个人知道原理是远远不够的,必须让每个人都知道,否则一个人的错误,就有可能导致整个工作失败。

团结协作是我们实习成功的一项非常重要的保证。

而这次实习也正好锻炼我们这一点,这也是非常宝贵的。

对我而言,知识上的收获重要,精神上的丰收更加可喜。

挫折是一份财富,经历是一份拥有。

这次实习必将成为我人生旅途上一个非常美好的回忆!

谢谢袁老师的精心教导,由于我的知识掌握程度不是很高,所以这次课程设计的质量不一定很好,但是我觉得这次课程设计的过程是很精彩的,正如上面所说,这次课程设计必将是我成长过程中一剂良药!

 

6参考文献

[1]李正军.计算机控制系统[M].北京:

机械工业出版社,2005:

124--130

[2]顾德英,张健,马淑华.计算机控制技术[M].北京:

北京邮电大学出版社,2006:

64--70

[3]刘金琨.先进PID控制及其MATLAB仿真[M].北京:

电子工业出版社,2003:

55--62

[4]潘新民,王燕芳.微型计算机控制技术使用教程[M].北京:

电子工业出版社,2006:

128—139

[5]丁元杰主编.单片微机原理及应用[M].北京:

机械工业出版社,1994.

[6]李叶紫等.MCS-51单片机应用教程[M].北京:

清华大学出版社,2004.

[7]张友德等.单片微型机原理、应用与实验[M],上海:

复旦大学出版社,2000.

[8]张淑清等.单片微型计算机接口技术及其应用[M].北京:

国防工业出版社,2001.

[9]求是科技编著.单片机模块设计实例导航[M].北京:

人民邮电出版社,2004.

[10]张俊谟主编.单片机中级教程(原理与应用)[M].北京:

北京航空航天大学出版社,2000.

[11]谢宜人等.单片机使用技术问答[M].北京:

人民邮电出版社,2003.

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

当前位置:首页 > 经管营销 > 企业管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1