步进电机控制系统设计.docx

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

步进电机控制系统设计.docx

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

步进电机控制系统设计.docx

步进电机控制系统设计

课程设计

课程名称微机接口与接口技术

题目步进电机控制系统设计

 

专业计算机科学与技术(网络)

班级

学号

姓名

成绩_________________

指导教师

2010年6月25日

课程设计任务书

设计题目:

步进电机控制系统设计

设计目的:

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

2.学习掌握计算机控制系统的软硬件的设计方法和查阅、运用资料的能力;

3.通过步进电机控制系统设计与制作,深入了解与掌握步进电机的运行原理和控制方式。

设计任务:

1.画出硬件原理图(接口芯片和外设部分)和实验连线图;

2.用1个开关控制步进电机起停,1个开关控制正反转,1个开关控制速度的快与慢(电机正转→停→反转;反之相同);

3.送电时和步进电机停止时,彩灯全部点亮;步进电机正转时,彩灯正向循环点亮。

步进电机逆转时,彩灯反向循环点亮;

*4.步进电机转速较快时,彩灯循环速度也较快。

时间安排:

6月21日

布置题目,确定任务、查找相关资料

6月22日~6月24日

功能分析,硬件设计,拟定实验电路,编写程序,调试程序、运行系统;

6月25日

答辩后撰写设计报告。

具体要求:

设计报告撰写格式要求(按提供的设计报告统一格式撰写)

具体内容如下:

①设计任务与要求

②总体方案与说明

③硬件原理图与说明

④实验电路图与说明

⑤软件主要模块流程图

⑥源程序清单与注释

⑦问题分析与解决方案(包括调式记录、调式报告,即在调式过程中遇到的主要问题、解决方法及改进设想);

⑧小结与体会

附录:

①源程序(必须有简单注释)

②使用说明

③参考资料

指导教师签名:

10年6月21日

教研室主任(或责任教师)签名:

10年6月21日

目录

设计任务与要求4

设计目的4

设计任务4

总体方案与说明4

步进电机4

总体方案5

实验电路图和原理图5

程序设计6

程序流程图6

分段功能子程序(参考)7

实验操作与调试9

实验小结与体会10

参考文献10

附录10

源程序代码10

设计任务与要求

设计目的

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

2.学习掌握计算机控制系统的软硬件的设计方法和查阅、运用资料的能力;

3.通过步进电机控制系统设计与制作,深入了解与掌握步进电机的运行原理和控制方式。

设计任务

1.画出硬件原理图(接口芯片和外设部分)和实验连线图;

2.用1个开关控制步进电机起停,1个开关控制正反转,1个开关控制速度的快与慢(电机正转→停→反转;反之相同);

3.送电时和步进电机停止时,彩灯全部点亮;步进电机正转时,彩灯正向循环点亮。

步进电机逆转时,彩灯反向循环点亮;

*4.步进电机转速较快时,彩灯循环速度也较快。

总体方案与说明

步进电机

步进电机是一种将电脉冲转化为角位移的执行机构。

当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。

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

实验室给定步进电机为4相,为了使步进电机转动更加稳定,设计为双8拍脉冲,即:

AB—ABC—BC—BCD—CD—CDA—DA—DAB—AB反转就从右到左。

如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。

2个脉冲的间隔越短,步进电机就转得越快。

调整送给步进电机的脉冲频率,就可以对步进电机进行调速。

总体方案

此次我们所设计的是一个步进电机控制系统并行输入/输出接口8255A,4相步进电机,8位发光二极管,及一些其他相关元件设计而成。

可以通过一个开关来控制系统的启/停工作,当系统运转时,再用一个开关来控制方向,并使相应的指示灯亮起,另外一个开关控制步进电机的转速。

步进电机为4拍,可以利用8255的输出口提供给电机4根线路,给与不同的脉冲,脉冲的设计可以事先做一个相序表,8255的C口的0位作为步进电机的A相,1作为B相,2作为C相,3作为D相,相序表如表1.

绕组与数据线的连接

运行方式

相序表

查表方向

D

C

B

A

双八拍

加电代码

地址代码

正转

反转

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

0

0

0

1

1

AB

03H

400H

0

0

0

0

0

1

1

1

ABC

07H

401H

0

0

0

0

0

1

1

0

BC

06H

402H

0

0

0

0

1

1

1

0

BCD

0EH

403H

0

0

0

0

1

1

0

0

CD

0CH

404H

0

0

0

0

1

1

0

1

CDA

0DH

405H

0

0

0

0

1

0

0

1

DA

09H

406H

0

0

0

0

1

0

1

1

DAB

0BH

407H

表1

那么8相的脉冲可以计算出分别为:

0000001100000111000001100000111000001100000011010000100100001011

换成汇编语言中常中的16进制,则为:

03H07H06H0EH0CH0DH09H0BH

将这8种数字信号按正或反序输给步进电机就能实现步进电机的转动了

8255的B口0位接K1开关,控制延时,延时长则步进电机转速慢,延时短则步进电机转速快。

1位接K2开关,通过控制输出相序表的方向达到控制步进电机正反转的目的。

2位按K3开关,控制步进电机和LED灯的启动与停止。

8255的A口的0到7位作为输出接口接8个LED灯。

8255的C口的0到3位作为输出接口接步进电机的四相。

实验电路图和原理图

实验中主要用到8255芯片,利用汇编程序设计芯片A口和C口为输出,B口为输入,用到了A口的PA0,PA1,PA2,PA3,用到了B口的PB0,PB1,PB2,用到C口PC0-PC7;PB0对应开关K0控制启动开关,PB1对应开关K1控制电机的旋转方向,PB2对应开关K2控制电机的旋转快慢。

图1

软件设计

软件流程图

图2

分段功能子程序(参考)

1.测试开关,读取步进电机旋转参数和LED灯点亮参数

分别检测PB口读入的开关的数值,PB0=0,步进电机开始转动,灯开始循环点亮;PB1=1步进电机开始逆向转动,灯循环向左点亮;PB1=0步进电机开始正向转动,灯循环向右点亮;PB2=1步进电机开始慢速转动;PB2=0步进电机开始快速转动。

JIANCE:

MOVDX,61H

INAL,DX

TESTAL,01H;B0开。

则继续做

JZJIANCE

TESTAL,04H;检测快慢

JZMAN

KUAI:

MOVAH,01H

JMPZF

MAN:

MOVAH,00H

ZF:

TESTAL,02H;检测B1的值,为后面的正反转设定跳转

JZBEGIN2;为1是逆时针

2.控制正向转动

BEGIN1:

XORAL,AL

ZHENG:

MOVDX,PORT_A

MOVBX,OFFSETTABLE1

ZHUAN1:

PUSHAX;逆时针

XLAT

OUT60H,AL

POPAX

INCAL

CALLLIANG1

TESTAH,01H

JZMANSU1

CALLDELAY1

MANSU1:

CALLDELAY3

CMPAL,07H

JNZZHUAN1

MOVAL,00H

JMPJIANCE

3.控制逆向转动

BEGIN2:

MOVAL,07H

ZHUAN2:

PUSHAX;顺时针

XLAT

OUT60H,AL

POPAX

DECAL

CALLLIANG2

TESTAH,01H

JZMANSU2

CALLDELAY1

MANSU2:

CALLDELAY3

CMPAL,00H

JNZZHUAN2

MOVAL,07H

JMPJIANCE

4.两段延时子程序

分别用两个loop循环作为软延时

DELAY1:

MOVCX,0FFFFH

DELAY2:

LOOPDELAY2

RET

DELAY3:

MOVCX,5FFFH

DELAY4:

LOOPDELAY4

RET

5.两个点亮LED灯的子程序

通过循环左移和右移来使LED灯循环点亮

LIANG1:

PUSHAX

MOVAL,CANSHU

ROLAL,1H

OUT62H,AL

MOVCANSHU,AL

POPAX

RET

LIANG2:

PUSHAX

MOVAL,CANSHU

RORAL,1H

OUT62H,AL

MOVCANSHU,AL

POPAX

RET

实验操作与调试

1根据连线图连好线,确认连线正确。

2打开电源,运行程序。

3打开开关k2(即将k0置为1),步进电机开始转动,LED灯开始循环点亮

4打开开关k1(即将k1置为1),步进电机开始逆向转动,灯循环向左点亮

5关闭开关k1(即将k1置为0),步进电机开始正向转动,灯循环向右点亮

6打开开关k0(即将k2置为1),步进电机开始慢速转动

7关闭开关k0(即将k2置为0),步进电机开始快速转动

实现了步进电机的转速与正反向转动的控制

表4.1各开关对应的步行电机状态表

开关

步进电机运行状态

K2

K2

K0

0

0

0

停止

1

0

0

正向慢转

1

0

1

正向快转

1

1

0

反向慢转

1

1

1

反向快转

实验小结与体会

通过这一星期的课程设计,使我更加懂得理论是为实践做基础的,带着目标在实践中学习,远比单纯的课本知道灌输式学习更加有效率,而且实践中也可以应证理论知识的正确性,知识印象更加深刻,更重要的是从而提高自己的实际动手能力和独立思考的能力。

通过实践,进一步掌握了8255A各引脚的功能,8255A和系统总线之间的连接,8255A和CPU之间的数据交换,以及8255A的内部逻辑结构;掌握了软件设计和调试的基本方法和技巧

参考文献

[1]周佩玲,彭虎,傅忠谦《微机原理与接口技术》北京,电子工业出版社2005

[2]沈美明,温东婵《IBM-PC汇编语言程序设计》北京,清华大学出版社1993

附录

源程序代码

STACKSEGMENTSTACK

DW64DUP(?

STACKENDS

DATASEGMENT

TABDB03H,07H,06H,0EH,0CH,0DH,09H,0BH;进步电机的控制字

CANSHUDB0FEH

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK

START:

MOVAX,DATA

MOVDS,AX

moval,82h

OUT63H,AL

MOVBX,OFFSETTAB

moval,01h

out62h,al

MAIN:

MOVAL,0ffH

out60h,al;A口控制灯

inal,61h;B口控制开关

ANDAL,04H

CMPAL,00H

JZMAIN

inal,61h

ANDAL,03H

CMPAL,00H

JZZMan

CMPAL,01H

JZZKuai

CMPAL,02H

JZNMan

CMPAL,03H

JZNKuai

ZMan:

MOVAL,[BX];正向慢转子程序

CMPAL,0BH;检查是不是最后一个加电代码

JNZXH1;不等于时,跳转到XH1

SUBBX,8;BX-8

XH1:

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

MOVAL,[BX]

out62h,al;从a口输出

CALLDeng2

CALLDELAY1;调用长延时

JMPMAIN

ZKuai:

MOVAL,[BX];正向快转子程序

CMPAL,0BH;比较

JNZXH2;不等时跳转

SUBBX,8

XH2:

INCBX

MOVAL,[BX]

out62h,al

CALLDeng2

CALLDELAY2;调用短延时

JMPMAIN

NMan:

MOVAL,[BX]

CMPAL,03H

JNZFXH1

ADDBX,8

FXH1:

DECBX

MOVAL,[BX]

out62h,al

CALLDeng1

CALLDELAY1

JMPMAIN

NKuai:

MOVAL,[BX];检查是不是第一个加电码

CMPAL,03H

JNZFXH2

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

FXH2:

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

MOVAL,[BX]

out62h,al

CALLDeng1

CALLDELAY2;调用短延时子程序

JMPMAIN

DELAY1:

PUSHCX

MOVCX,0D300H;通过修改CX的值来提高旋转的速度

ADD1:

PUSHAX

POPAX

LOOPADD1

POPCX

RET

DELAY2:

PUSHCX

MOVCX,03300H;CX的值就为循环的次数,通过循环来达到延时

ADD2:

PUSHAX

POPAX

LOOPADD2

POPCX

RET

Deng1:

PUSHAX;循环左移使LED灯循环点亮

MOVAL,CANSHU

ROLAL,1H

out60h,al

MOVCANSHU,AL

POPAX

RET

Deng2:

PUSHAX;循环右移使LED灯循环点亮

MOVAL,CANSHU

RORAL,1H

out60h,al

MOVCANSHU,AL

POPAX

RET

CODEENDS

ENDSTART

设计过程中质疑(或答辩)记载:

1.如何进行使进步电机正转和反转的?

答:

正向输入进步电机控制字和反向输入进步电机控制字来控制进步电机正转和反转。

2.8255芯片是如何进行输入输出的?

答:

A口输出控制LED灯,B口输入接受开关的信号,C口输出控制进步电机旋转。

 

指导教师评语:

 

评分:

 

签名:

年月日

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

当前位置:首页 > 农林牧渔 > 林学

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

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