nbhkdz.com冰点文库

步进电机实训报告

时间:2012-04-03


武 汉 工 程 职 业 技 术 学 院

步进电机驱动电路的设计、仿真及制作 步进电机驱动电路的设计、仿真及制作 设计 技能鉴定实 技能鉴定实训报告





吴伟

小组成员 专业班级 指导教师 应用电子 0904 李晓红

2011 年 05 月 25 日 信 息 工 程 系

一、实训目的 实训目的 1、掌握步进电机的工作原理。 2、掌握单片机系统的基本组成。 3、掌握程序设计的思路及流程。 4、掌握 Keil uVision2、Proteus ISIS 文件的基本操作方法和管理方法。 5、掌握 Keil 与 Proteus 联调仿真的方法。 6、掌握步进电机驱动控制电路的设计、仿真及制作。

二、实训设备 实训设备 1、计算机,编程器,实验套件 1、Keil 软件,Proteus 软件,Word 软件,STC-ISP 编程软件。

三、实训内容 实训内容 1、电路原理图

+5v

C1
30pf 19

U1 X1
12MHz XTAL1 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 1 2 3 4 5 6 7 8

+5v

C2 C3
30pf

18

XTAL2

D1 U2
1B 2B 3B 4B 5B 6B 7B 8B ULN2803 COM 1C 2C 3C 4C 5C 6C 7C 8C 10 18 17 16 15 14 13 12 11

LED-YELLOWR4 100 LED-YELLOWR5 100 LED-YELLOWR6 100 LED-YELLOWR7 100

9 10uf

RST

D2 D3 D4

R1
10k 29 30 31 PSEN ALE EA

R8
10k

SW1
SW -SPDT-MOM 1 2 3 4 5 6 7 8 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 AT89C51

R2 R3

10k 10k

+88.8

图 1 步进电机驱动控制电路

1

2、步进电机的驱动方式

八拍 1 2 3 4 5 6 7 8

四相 D相 C相 B相 A相 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 未接电路

数据输出 P2 01H 03H 02H 06H 04H 0CH 08H 09H

电机运转 半步励磁 A AB B BC C CD D DA

3、程序设计及仿真调试步骤 (1)用单片机控制四相步进电机按半步励磁方式工作,编写控制程序,并作详细分析。 源程序:
ORG 0000H SJMP START ORG 0030H START: MOV R1,#00H MOV R2,#08H YZ: MOV DPTR,#TAB ACALL YG DJNZ R2,YZ SJMP START YG: MOV A,R1 MOVC A,@A+DPTR MOV P2,A INC R1 ACALL YS RET YS: MOV R3,#20 DL1: MOV R4,#200 ;确定中循环系数 2 ;确定外循环次数 ;将表首地址送给 A ;查表 ;将查表得到的数值送到 P2 口 ;使指针指向数据表的下一位 ;调用延时程序 ;返回主程序 ;将查表地址给数据指针 ;调用子程序 ;判断查表次数 ;查表完后,返回重新开始 ;初始化指针地址 ;用于设定查表次数

;程序存放的起始地址 ;跳转到主程序 ;主程序入口地址

DL2: MOV R5,#124 DJNZ R5,$ DJNZ R4,DL2 DJNZ R3,DL1 RET ;确定内循环次数 ;R5 自减延时 ;R4 自减延时 ;R3 自减延时 ;返回调用程序 ;数据表

TAB:DB 01H,03H,02H,06H,04H,0CH,08H,09H END

程序仿真调试中出现的问题及解决的方法:

a:写好程序后编译发现有错误出现,根据软件提示检查发现是由于误将 MOV DPTR,#TAB 写成 了 MOV DPTR,TAB,改正后程序编译提示没有错误出现。 b:在用 Proteus 软件验证程序时,发现程序只能运行一段时间,不能持续运行。经过检查发 现是由于在主程序中忘写了“SJMP START”返回指令,添加这条指令后,再次仿真程序就能持 续运行了。

(2)用单片机控制四相步进电机按半步励磁方式工作,用一个转换开关控制电机的正反转, 编写控制程序,并作详细分析。 源程序:
ORG 0000H SJMP START ORG 0030H START: MOV R1,#00H MOV R2,#08H ;初始化指针地址 ;用于设定查表次数

;程序存放的起始地址 ;跳转到主程序 ;主程序入口地址

LOOP: JNB P1.0,ZZ FZ: MOV DPTR,#TAB1 ACALL YG JNB P1.0,ZZ DJNZ R2,FZ SJMP START ZZ: MOV DPTR,#TAB2 ACALL YG JB P1.0,FZ ;将查表地址给数据指针 ;调用子程序 ;在正转中判断是否有反转命令 3 ;将查表地址给数据指针 ;调用子程序 ;在反转中判断是否有正转命令 ;判断查表次数 ;查表完后,返回重新开始 ;判断正反转

DJNZ R2,ZZ SJMP START

;判断查表次数 ;查表完后,返回重新开始

YG: MOV A,R1 MOVC A,@A+DPTR MOV P2,A ;将表首地址送给 A ;查表 ;将查表得到的数值送到 P2 口

INC R1

;使指针指向数据表的下一位

ACALL YS

;调用延时程序

RET YS: MOV R3,#20 DL1: MOV R4,#200 DL2: MOV R5,#124 DJNZ R5,$ DJNZ R4,DL2 DJNZ R3,DL1 RET

;返回主程序

;确定外循环次数

;确定中循环次数

;确定内循环次数 ;R5 自减延时 ;R4 自减延时 ;R3 自减延时 ;返回调用程序 ;正转数据表 ;反转数据表

TAB1:DB 01H,03H,02H,06H,04H,0CH,08H,09H TAB2:DB 09H,08H,0CH,04H,06H,03H,03H,01H END

程序仿真调试中出现的问题及解决的方法:

a: 在写好程序后,编译发现有两个错误出现。根据软件提示的信息,发现是由于在写数据 表是忘了写 DB,改正后编译就正常了。 b:在软件仿真中发现步进电机转的很慢,既不能调整转速也不能实现正反转。检查电路图 并没有发现错误, 后对程序进行检查发现是由于在调用子程序后没有用 RET 指令返回主程序。 修改后再仿真,步进电机运转正常了。

(3)用单片机控制四相步进电机按半步励磁方式工作,用一个转换开关控制电机的正反转, 用两个按钮分别控制电机的加减速,画出流程图,编写控制程序,并作详细分析。

4

开始

N 正转? Y 读正转表 读反转表

N 加速? 减速?

N

Y Y 最高速? N 加速 Y

Y 最低速? N 减速

调整转速

运转

结束

图 2 流程图 源程序:
ORG 0000H SJMP START ORG 0030H START: MOV R1,#04 LOOP: MOV R2,#08 MOV R3,#00 PD: JNB P1.0,ZZ FZ:
;程序存放的起始地址 ;跳转到主程序 ;主程序入口地址

;设定初速度

;用于设定查表次数 ;初始化指针地址

;判断正反转

5

MOV DPTR,#TAB1 ACALL YG JNB P1.0,ZZ DJNZ R2,FZ SJMP LOOP ZZ: MOV DPTR,#TAB2 ACALL YG JB P1.0,FZ DJNZ R2,ZZ SJMP LOOP YG:

;将查表地址给数据指针 ;调用子程序

;在反转中判断是否用正转命令
;判断查表次数 ;查表完后,返回重新开始

;将查表地址给数据指针 ;调用子程序

;在正转中判断是否有反转命令
;判断查表次数 ;查表完后,返回重新开始

MOV A,R3 ;将表首地址送给 A MOVC A,@A+DPTR ;查表 MOV P2,A ;将查表得到的数值送到 P2 口 INC R3 ;使指针指向数据表的下一位 JNB P1.1,JIAS ;判断是否有加速命令 JNB P1.2,JIANS ;判断是否有减速命令 SJMP L1 ;跳转到延时程序 JIAS: DJNZ R1,L1 ;R1 自减 1,缩短延时时间,达到加速的目的 MOV R1,#01H ;设定最高速 SJMP L1 ;跳转到延时程序 JIANS: INC R1 ;R1 自加 1,增加延时时间,达到减速的目的 CJNE R1,#11,L1 ;限定 R1 值,防止无限的减速 MOV R1,#10 ;设定最低速 L1: MOV A,R1 ;将 R1 值送给 A MOV R4,A ;将 A 值送给 R4 L2: MOV R5,#20 ;确定中环次数 L3: MOV R6,#250 ;确定内循环次数 DJNZ R6,$ ;R6 自减延时 DJNZ R5,L3 ;R5 自减延时 DJNZ R4,L2 ;R4 自减延时 RET ;返回主程序 TAB1:DB 01H,03H,02H,06H,04H,0CH,08H,09H ;正转数据表 TAB2:DB 09H,08H,0CH,04H,06H,02H,03H,01H ;反转数据表 END

程序仿真调试中出现的问题及解决的方法: 在编写好这个程序后进行仿真,步进电机运转正常,能实现正反转,加减速。但步进电 机运转的速度在最低速时还是不够慢,改变延时参数后,效果就好多了。

6

4、步进电机驱动控制电路的制作与调试 (1)程序写入芯片 使用编程器时出现的问题及解决的方法: a、编程器提示波特率太高 更改较低的波特率为 9600 时,再次下载时就可以了。 b、编译器提示型号不匹配 将单片机上面的型号与软件所选型号对比后,发现我们所使用的单片机为 89c52,而下载软 件上却是 89c51 型号。更改后,再下载时就没有问题了。 c、编译器提示 COM1 端口不存在 在检查计算机端口后,发现 USB 通信接口是 COM3,更改端口为 COM3 后,程序成功下载。

(2)制作与调试 制作与调试中出现的问题及解决的方法: a: 在检查复位电容时,发现正负极接反。 拆下电容后,正确插装再焊接。但拆焊时要注意不要损坏电路板,重新焊接时烙铁不要接触 电路板时间过长。 b: 步进电机的插座管脚和电源的插座管脚比电路板孔要粗。 用镊子将电路板的孔钻大些,插座就能放的进去了。但要注意从电路板的正面钻,以免钻落 或钻坏焊盘。

四、实训总结 实训总结 这个课题是步进电机驱动电路的设计、仿真及制作。涉及了单片机、电子电路设计、电 子工艺等方面的知识。它具有很强的综合性,考察了我们综合运用知识的能力。 在老师的指导下,我们从掌握步进电机的工作原理开始,通过运用所学的单片机知识来 驱动它,并用软件仿真,最后进行硬件制造并调试成功。从中我们不但了解了步进电机的工 作原理,同时也对我们所学的单片机知识进行了巩固,并进一步熟悉了 Keil、Proteus 软件的 使用。在课题的制作中,老师带领我们从最简单的驱动程序开始学习,然后一步步的加深难 度,使我们最终能编写出符合要求的程序。这种教学方法提高了我们的学习兴趣,使我们更 容易理解和掌握所学的知识,从而提高自己的能力。 通过这个课题设计、仿真及制作,提高了我们专业技能水平,加深了对专业知识的理解, 对我们综合运用知识的能力有了进一步的提高。

7


步进电机实验报告.doc

步进电机实验报告 - 步进电机调速实验报告 班级: 姓名: 学号: 指导老师:

步进电机实验报告.doc

步进电机实验报告 - 北华航天工业学院 课程设计报告(论文) 课程名称: 微机控

步进电机控制实训报告.doc

步进电机控制实训报告 - 关于步进电机的按键控制,正反转加减速,液晶显示,仅供参

步进电机设计报告.doc

步进电机设计报告 - 硬件实习报告 步进电动机的设计报告 题学专班 目:步进电动机的设计与制作 院:大数据与信息工程学院 业:计算机科学与技术 级:电信 113 学生...

单片机实验报告 步进电机.doc

单片机实验报告 步进电机 - 2011301510064 杨闯 【实验目的】 了解步进电机的工作原理,掌握它的转动控制方式和调速方法。 【实验设备及器件】 IBM PC 机 一台 DP-...

单片机实验报告_步进电机.doc

单片机实验报告_步进电机 - 步进电机控制实验 一、实验目的 了解步进电机的工作

步进电机控制实验实验报告及程序.doc

步进电机控制实验实验报告及程序 - 实验九 姓名 专业 通信工程 步进电机控制实

PLC步进电机实训报告.doc

PLC步进电机实训报告 - 前言 本次实验的内容是完成“步进电机控制”的方法,用

步进电机实验报告剖析.doc

步进电机实验报告剖析 - 北华航天工业学院 课程设计报告(论文) 课程名称: 微

步进电机实验报告.doc

步进电机实验报告 - 以LPC2114处理器构造数控系统并用Proteus仿真... 步进电机实验报告_机械/仪表_工程科技_专业资料。以LPC2114处理器构造数控系统并用Proteus仿真 ...

步进电机实训报告.doc

步进电机实训报告 - 武汉软件工程职业学院 课程设计报告 课程名称:微机原理与接

孟前进--步进电机实验报告.doc

山东交通学院 直流电机步进电机控制实验报告 班学姓时成 级号名间绩 电气 072___ 070812206 孟前进 2010.06 步进电机控制实验一、实验目的 步进电机作为一种数字...

电机实验报告模板.doc

电机实验报告模板 - C 语言测控系统程序设计 步进电机控制实验报告 学生姓名:

步进电机实验报告.doc

步进电机实验报告 - 单片机实验 课程名称:步进电机表实验 授课班级: 2010

嵌入式原理与应用课程报告(步进电机).doc

嵌入式原理与应用课程报告(步进电机)_信息与通信_工程科技_专业资料。嵌入式原理与应用课程报告(步进电机实验) 嵌入式系统原理与应用课程报告 步进电机实验 姓班学 ...

步进电机实验报告_图文.doc

步进电机实验报告 - Arduino 步进电机实验报告 步进电机是将电脉冲信号转

步进电机实验报告_图文.doc

步进电机实验报告 - 北京工业大学,步进电机,实验报告... 步进电机实验报告_调查/报告_表格/模板_实用文档。北京工业大学,步进电机,实验报告 北京工业大学电子课程设计...

步进电机实训报告.doc

步进电机实训报告 - 系统硬件设计 2010/2011 学年第 1 学期 专用周

微机原理步进电机控制课程设计报告.doc

工学| 步进电机| 微机原理| 课程设计|微机原理步进电机控制课程设计报告_工学_高等教育_教育专区。微机原理,汇编语言,步进电机控制,适用于伟福实验箱 河北...

步进电机实验报告.doc

步进电机实验报告 - 论文题目: 课程名称: 学院 步进电机的控制 计算机控制技