nbhkdz.com冰点文库

第1组 步进电机实训设计报告

时间:2014-06-26


四川职业技术学院单片机应用技术课程设计

四川职业技术学院 《单片机应用技术》 课程设计
题目:步进电机

系 专 班 姓 学

别: 业: 级: 名: 号:

电子电气工程系 机电一体化 12 级机电 1 班 胡珂 21 张启 杨正浩 26 刘宸 任若飞 10

指导老师: 完成时间:

2014.7.2

第 1 页

四川职业技术学院单片机应用技术课程设计

四川职业技术学院
课程设计(论文)任务书 电子电气工程 组号 1 系 机电一体化 专业 2012 级 1 班

组员 胡珂

杨正浩

任若飞

日期 2014.6.23——2014.7.3

课程设计(论文)题目 步进电机

一、课题目标 本课题的任务是实现一个步进电机的控制, 要求对步进电机进行 调速控制和方向控制。 二、课题分析 本方案以 AT89S51 单片机、 驱动芯片 ULN2003、 步进电机、 按钮、 LED 灯、电阻、电容、晶振等元器件构成,五个按钮分别控制实现步 进电机正转反转、停止/启动、加速/点动正转、减速/点动反转、复 位。

指导老师: 张启 刘宸

第 2 页

四川职业技术学院单片机应用技术课程设计


1.任务要求 1.1 任务简介 1.2 任务要求 1.3 任务目的 2.步进电机原理及硬件软件设计 2.1 原理及控制技术 2.2 总体设计方案 2.3 设计原理分析 2.3.1 元器件介绍 2.3.2 方案论证 2.3.3 硬件设计 2.3.4 软件设计 3.总结 4.参考文献 附录 1:源程序


4 4 4 4 4 4 5 5 5 6 6 8 12 12 13

第 3 页

四川职业技术学院单片机应用技术课程设计

一、任务要求
1.1 任务简介 设计一个简易的步进电机的控制系统。 1.2 任务要求 对步进电机进行调速控制和方向控制。 1.3 任务目的 了解步进电机、单片机的工作原理,掌握单片机的硬件和软件设计方法。

二、步进电机的原理及硬件软件设计
2.1 原理及控制技术
由于步进电机是一种将电脉冲信号转换成直线或角位移的执行元件,它不能 直接接到交直流电源上,而必须使用专业设备 —— 步进电机控制驱动器,典

型步进电机控制系统如图所示: 控制器可以发出脉冲频率从几赫兹到几千赫兹可 以连续变化的脉冲信号, 经过功率放大器的放大加到步进电机驱动电源的各项输 入端。功率放大器主要对较小输出信号进行放大,以达到驱动步进电机的目的, 步进电机的基本控制包括转向控制和速度控制两个方面。其基本原理如下: (1) 步进电机的换向控制 如果给定工作方式正序换相通电,步进电机正转。若步进电机的励磁方式为 四相八拍,即 A→AB→B→BC→C→CD→D→DA→A。如果按反序通电换相, 即 A→AD→D→DC→C→CB→B→BA→A,则电机就反转。步进电机换向时, 一定要在电机降速停止或降到突跳频率范围之内在换向, 以免产生较大的冲击而 损坏电机。 换向信号一定要在前一个方向的最后一个脉冲结束后以及下一个方向 的第一个脉冲前发出。 对于脉冲的设计主要要求其有一定的脉冲宽度、脉冲序列 的均匀度及高低电平方式。 在某一高速下的正、反向切换实质包含了降速→换向 →加速 3 个过程。 (2) 步进电机的速度控制

第 4 页

四川职业技术学院单片机应用技术课程设计

如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一 步。 两个脉冲的间隔越短, 步进电机就转得越快。 调整送给步进电机的脉冲频率, 就可以对步进电机进行调试。 (3) 步进电机的起停控制 步进电机由于其电气特性,运转时会有步进感。为了使电机转动平滑,减小 振动, 可在步进电机控制脉冲的上升沿和下降沿采用细分的梯形波,可以减小步 进电机的步进角,跳过电机运行的平稳性。在步进电机停转时,为了防止因惯性 而使电机轴产生顺滑,则需采用合适的锁定波形,产生锁定磁力矩,锁定步进电 机的转轴,使步进电机转轴不能自由转动。 (4) 步进电机的加减速控制 在步进电机控制系统中,通过实验发现,如果信号变化太快,步进电机由于 惯性跟不上电信号的变化, 这时就会产生堵转和失步现象。所有步进电机在启动 时,必须有加速过程,在停止时波形有减速过程。加速时,使脉冲频率增高,减 速则相反。 如果使用定时器来控制电机的速度,加减速控制就是不断改变定时中 断的设定值。

2.2 总体设计方案
如图所示:总体设计方框图。

状态显示电路

复位电路

键盘控制电路 AT89S51 单片机
ULN2003A

电源及时钟电路

启动电路

步进 电机

图 总体设计方框图

2.3 设计原理分析 2.3.1 元器件介绍
第 5 页

四川职业技术学院单片机应用技术课程设计

(1)单片机 AT89S51 AT89S51 是一个低功耗、高性能的 CMOS 8 位单片机,芯片内集成了通用 8 位中央处理器,片内含 4K Bytes ISP 的可反复擦写 1000 次的 Flash 只读程序存 储器。内部还有 128 字节的随机存取数据存储器、5 个中断源(2 层优先级) 、2 个 16 位可编程定时计数器、2 个全双工串行通信口、看门狗电路及片内时钟振 荡器,兼容标准 MCS-51 指令系统及 80C51 引脚结构。共有 40 个引脚,其中有 32 个双向输入/输出端。

(2)芯片 ULN2003A ULN2003A 本是一个 7 路反向器电路,即当输入端为高电平时输出端为 低电 平, 当输入端为低电平时输出端为高电平。但在此电路中作为步进电机增加驱动 的电路器件。

(3)步进电机 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。 在非超载 的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受 负载变化的影响, 当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定 方向转动一个固定的角度,成为“步距角” ,它的旋转是以固定的角度一步一步 运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的,同 时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目 的。 此方案以这三个元器件为核心器件,另还有下载线插座、共阳极数码管、晶 振、按钮开关、电容、电阻等元器件共同构成。

第 6 页

四川职业技术学院单片机应用技术课程设计

2.3.2 方案论证
从该系统的设计要求可知, 该系统的输入量为速度和方向,速度应该有增减 变化,通常用加减按钮控制速度,这样只要 2 根口线,再加上一根方向线盒一根 启动信号线共需要 4 根输入线。 系统的输出线与步进电机的绕组数有关。这里选 步进电机,该电机共有四相绕组,工作电压为+5V,可以个单片机共用一个电源。 步进电机的四相绕组用 P1 口的 P1.0~P1.3 控制,由于 P1 口驱动能力不够,因而 用一片 ULN2003A 增加驱动能力。用 P0 口控制第一数码管用于显示正反转,用 P2 口控制第二个数码管用于显示转速等级。

2.3.3 硬件设计
此方案的硬件电路只要包括控制电路、最小系统、驱动电路、显示电路四大 部分。 最小系统只要是为了使单片机正常工作。 控制电路只要由开关和按键组成, 由操作者根据相应的工作需要进行操作。 显示电路主要是为了显示电机的工作状 态和转速。 驱动电路主要是对单片机输出的脉冲进行功率放大,从而驱动电机转 动。

(1)控制电路 根据系统的控制要求,控制输入部分设置了启动控制,换向控制,加速控制 和减速控制按钮,通过按键来完成相应的操作。

(2)最小系统 最小系统除了单片机以外, 还包括振荡电路、 复位电路和程序下载接入电路。 振荡电路:AT89S51 是内部具有振荡电路的单片机,只需在 18、19 脚之间 接上石英晶体,给单片机加上工作直流电源,振荡器就开始振荡器来。振荡电路 就为单片机工作提供了所需要的时钟脉冲信号,使单片机的内部电路、单片机的 内部程序开始工作。振荡电路不工作,整个单片机就不能正常工作。 AT89S51 常外接 6MHz、12MHz 的石英晶体,最高可接 33MHz 石英晶体。18、19 脚分别 对地接了一个 20pF 的电容,目的是防止单片机自激。 复位电路:复位电路就是在 RST 端外接的一个电路,目的是使单片机上电 开始工作时, 内部电路从初始状态开始工作,或者在工作中人为让单片机重新从
第 7 页

四川职业技术学院单片机应用技术课程设计

初始状态开始工作。 在时钟工作的情况下,只要复位引脚高电平保持两个机器周 期以上的时间, AT89S51 便能完成系统重置的各项动作, 使得内部特殊功能寄存 器的内容均被设置成已知状态,并且从地址 0000H 处开始读入程序代码而执行 程序。分上电复位、按钮复位、自动复位(看门狗)三种方式。 程序下载接入电路: 在计算机中编写好的程序通过数据下载线连接到单片机 实验电路接口, 实现从计算机将程序下载到单片机的程序存储器中,完成单片机 的程序写入工作。

(3)驱动电路 通过 ULN2003A 构成比较多的驱动电路,电路图如图所示。通过单片机的 P1.0~P1.3 输出脉冲到 ULN2003A 的 1B~4B 口,经信号放大后从 1C~4C 口分别 输出到电机的 A、B、C、D 相。

(4)显示电路 在显示电路中,主要是利用了单片机的 P0 口和 P2 口。采用两个共阳数码 管作显示。第一个数码管接的 a、b、c、d、e、f、g、h 分别接 P0.0~P0.7 口,用 于显示电机正反转状态,正转时显示“1” ,反转时显示“一” ,不转时无显示。 第二个数码管的 a、b、c、d、e、f、g、h 分别接 P2.0~P2.7 口,用于显示电机的 转速级别,共五级,即从 1~5 转速依次递增, “0”表示转速为零。

2.3.4 软件设计
第 8 页

四川职业技术学院单片机应用技术课程设计

此方案的软件包含了四个部分,即主程序部分、定时器中断部分、外部中
断 0 和外部中断 1 部分。 其中主程序的主要功能是系统初始参数的设置及启动开 关的检测,若启动开关合上则系统开始工作,反之系统停止工作;定时器部分控 制脉冲频率, 它决定了步进电机转速的快慢;两个外部中断程序要做的工作都是 为了完成改变速度这一功能。 主程序部分: 主程序中要完成的工作主要有系统初始值的设置、系统状态的 显示以及各种开关状态的检测判断等。其中系统初始状态的设置内容较多,该系 统中,需要初始化定时器、外部中断;对 P1 口送初值以决定脉冲分配方式,速 度值存储区送初值决定步进电机的启动速度, 对方向值存储区送初值决定步进电 机旋转方向等内容。若初始化 P1=11H、速度和方向初始值均设为 0,就意味着 步进电机按四相单四拍运行, 系统上电后在没有操作的情况下, 步进电机不旋转, 方向值显示“0” ,速度值显示“0” ,主程序流程图如图所示。

第 9 页

四川职业技术学院单片机应用技术课程设计





初 始 化

显 示

N 启动开关为 0?

Y 停止计时器

N 速度值为 0?

Y 停止计时器

启动计时器

延 时

图 主程序流程图

(2)定时中断设计 步进电机的转动主要是给电机各绕组按一定的时间间隔连续不断地按规律 通入电流,步进电机才会旋转,时间间隔越短,速度就越快。在这个系统中,这 个时间间隔是用定时器重复中断一定次数产生的, 即调节时间间隔就是调节定时

第 10 页

四川职业技术学院单片机应用技术课程设计

器的中断次数, 因而在定时器中断程序中,要做的工作主要是判断电机的运行方 向、发下一个脉冲,以及保存当前的各种状态。程序流程图如图所示。
T0 中断入口

保护现场

N 中断次数-1=0?

Y

读方向指示

发速度脉冲

重送相关状态

恢复现场

中断返回

图 定时中断程序流程图

(3)外部中断设计 外部中断所要完成的工作是根据按键次数,改变速度值存储区中的数据(该 数据为定时器的中断次数) ,这样就改变了步进电机的输出脉冲频率,也就是改 变了电机的转速。速度增加按钮为 INT0 中断,其程序流程为原数据,当值等于 5 时,不改变原数值返回,小于 5 时,数据加 1 后返回;速度减少按钮,当原数 据不为 0,减 1 保存数据,原数据为 0 则保持不变。程序流程图如图所示。
第 11 页

四川职业技术学院单片机应用技术课程设计

外部中断入口

保护现场

延时去抖

速度=上或限值? Y N N 速度值±1

按钮是否弹起? N Y

恢复现场

中断返回

图 外部中断程序流程图

第 12 页

四川职业技术学院单片机应用技术课程设计

三、总结
此次单片机实训设计历经两周左右,通过分析步进电机结构、工作原 理, 翻阅了课本、 单片机范例文本, 网上查阅步进电机控制系统的相关科技文档, 请教了老师、同学,遵循了实用、简单、可靠的原则,完成了此次的设计。对本 次设计,有以下结论: (1)采用单片机为控制核心,利用其强大的功能,把按键和显示电路有机的 结合起来,组成一个操作方便、交互性强的控制系统。 (3)系统软件采用结构化设计,具有易维护性,根据新的要求,对软件系统 进行少量的修改,使系统功能得到一定程度的提高。 当然,由于时间原因,此次设计中存在些许不足之处,不够完善,但即使如 此,本小组成员受益匪浅,在兴趣的驱使下,积极、认真、负责地完成任务。非 常感谢期间老师的指导,同学的耐心讲解,使我们更好的完成任务。

四、参考文献
【1】成友才主编.单片机应用技术(C 语言).北京:中国劳动社会保障出版社, 2007. 【2】宋戈主编.51 单片机应用开发范例大全.北京:人民邮电出版社,2012.

第 13 页

四川职业技术学院单片机应用技术课程设计

附录:系统源程序
#include <reg51.h> #define uint unsigned int #define uchar unsigned char sbit k1=P3^4; //启动开关 sbit k2=P3^5; //换向开关 sbit s2=P3^2; //加速按钮 sbit s3=P3^3; //减速按钮 void isr_int0(void);//外部中断 0 中断服务函数声明 void isr_int1(void); void zd_t0ist(void); void delay10ms() { uchar i,j; for(i=20;i>0;i--) for(j=250;j>0;j--); } uint speed,count,r1,i,t,k; main() { k=0; t=0; r1=0x11 ; speed=0; count=1;//初始化为 1 TMOD=0x01;//设置定时器 0 工作于模式 1 ET0=1;//允许定时器 0 产生中断 EA=1;//中断总允许位设置,EA=1 允许各中断申请 EX0=1;//启用外部中断 INT0 的中断,允许外部中断 0 产生中断 EX1=1;//启用外部中断 INT1 的中断,允许外部中断 1 产生中断 TH0=0xcf;//定时器 0 高八位的初始值 TL0=0x2c;//定时器 0 低八位的初始值 for(;;) { if(k1==0) { P0=0xff; P2=0xff; speed=0; TR0=0;//定时器 0 启动控制位,TR0=1 时,启动定时器动作;TR0=0 时,定时器关闭

第 14 页

四川职业技术学院单片机应用技术课程设计

} else { if(k2==0) P0=0xbf;//共阳型 P0=else P0=0xf9;//共阳型 P0=1 if(speed==0) { P2=0xc0;//共阳型 P2=0 TR0=0;//定时器 0 启动控制位, TR0=1 时, 启动定时器动作; TR0=0 时,定时器关闭 } else TR0=1;//定时器 0 启动控制位, TR0=1 时, 启动定时器动作; TR0=0 时,定时器关闭 } } } void isr_int0(void) interrupt 0//加速 { if(speed<5) speed=speed+1; while(s2==0) delay10ms(); while(s2==0) { for(i=0;i<10;i++); } } void isr_int1(void) interrupt 2//减速 { if(speed>0) speed=speed-1; while(s3==0) delay10ms(); while(s3==0) { for(i=0;i<10;i++); } } void zd_t0ist(void) interrupt 1 { TH0=0xfc;//定时器 0 高八位的初始值 TL0=0x18;//定时器 0 低八位的初始值 switch(speed)

第 15 页

四川职业技术学院单片机应用技术课程设计

{ case 0:P2=0xc0;count=0;break; case 1:P2=0xf9;count=13;break; case 2:P2=0xa4;count=11;break; case 3:P2=0xb0;count=9;break; case 4:P2=0x99;count=7;break; case 5:P2=0x92;count=5;break; default :break; } if(t==0) t=count; if(t>0) t=t-1; if(k2==0)//正转 { if(t==0) { switch(k) { case 0:P1=0x01;break; case 1:P1=0x02;break; case 2:P1=0x04;break; case 3:P1=0x08;break; default :break; } k=k+1; if(k==4) k=0; } } else //反转 { if(t==0) { switch(k) { case 0:P1=0x08;break; case 1:P1=0x04;break; case 2:P1=0x02;break; case 3:P1=0x01;break; default :break; } k=k+1; if(k==4)

第 16 页

四川职业技术学院单片机应用技术课程设计

k=0; } } }

第 17 页


第1组 步进电机实训设计报告_图文.doc

第1组 步进电机实训设计报告 - 四川职业技术学院单片机应用技术课程设计 四川职

步进电机实训报告.doc

步进电机实训报告 - A R M 实 训 报 告 淮安信息职业技术学院(计算机与通信工程学院) 步进电机实训报告 、 实训目的 1、了解步进电机的结果以及工作原理 2...

步进电机课程设计报告_图文.doc

设计内容与设计要求 设计内容:以单片机为核心设计一步进电机控制系统, 要求能 ...3、黄勤编.《计算机硬件技术基础实验教程》[M].重庆大学出版社 4、刘乐善编....

PLC步进电机实训报告.doc

PLC步进电机实训报告_其它_高等教育_教育专区。前言本次实验的内容是完成“步进...的定义可编程控制器是种数字运算操作的电子系统,专为工业环境下的应用设 计...

步进电机课程设计实验报告.doc

步进电机课程设计实验报告_工学_高等教育_教育专区。步进电机课程设计实验报告 ...100602 100602122 张春东 2012.12.25 1 目录 1 设计任务与要求... 1.1 设计...

步进电机设计报告.doc

步进电机设计报告_电子/电路_工程科技_专业资料。硬件实习报告 步进电动机的设计...马光喜老师 2015 年 1 月 6 日 第1页 共页 硬件实习报告 目录前言---...

北工大_电子实验课设报告_图文.doc

北工大_电子实验设报告_电子/电路_工程科技_专业资料。数电:步进电机模电:...步进电机控制电路 测量放大器 第一部分 步进电机控制电路一、设计要求 (一) 、...

单片机控制步进电机设计报告_图文.doc

单片机应用及原理课程设计 1 设计任务及方案 1.1 设计任务及要求在实验平台上扩展个四相步进电机, 利用单片机通过开关控制步进电机的 2 挡转速及 转动方向,并...

第一组6小组的论文报告(1).doc

第一组6小组的论文报告(1) - 单片机课程设计 题目 : 步进电机控制系统 同

汇编实验5-输入输出程序设计-实验报告.doc

汇编实验5-输入输出程序设计-实验报告_IT/计算机_专业资料。简要介绍资料的主要...(1)当前步进电机以半步顺时针方式转动, 因为(BX)=02H 是第一组控制信号的...

第一组CAD课程设计初稿_图文.doc

课程设计报告(电子设计 CAD) 题 目: 基于单片机的...步进电机驱动模块 电源供电模块 步进电机图 3-1 ...实验结果常常不像我们想的那样,在出现问题 时,由于...

步进电机综合实验报告.doc

步进电机综合实验报告 - 实验目的: 了解步进电机工作原理, 掌握用单片机的步进电机控制系统的硬件设计方法, 熟悉步进 电机驱动程序的设计与调试,提高单片机应用...

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

2010/2011 学年第 1 学期 专用周实习报告 专用周实习报告 课程名称 :班姓学...系统的软件设计分 LCD 显示子程序、按键扫描测试、步进电机控制程序和主程序组 ...

伺服实训指导书.doc

实训报告心得,成本会计实训报告3000,包装设计实训报告范文,大学财务管理实训报告,...第1实训项目一:步进控制系统一、实训目的: 练习步进驱动器、步进电机的...

步进电机课程设计实验报告_图文.doc

步进电机课程设计实验报告 - 小型步进电机课程设计实验报告 小型步进电机课程设计 实验报告 指导老师: 姓学名: 号: 专业班级: 时间: 15 周17 周 1 / 28...

大连理工微机原理实验步进电机报告.doc

大连理工大学本科设计报告(计算机原理接口实验综合设计) 题目:步进电机控制系统设计...1) 、转向控制:设置标志位 flag 和逆时针相序组 porta,顺时针相序组 portb。...

第一组检测技术综合实验_图文.doc

第一组检测技术综合实验_机械/仪表_工程科技_专业...检测技术综合实验 检测技术综合实验报告课程名称 实验...此驱动器控制步进电机整步转动式 1.8°,但是它还...

步进电机驱动单轴直线伺服移动机构(第1组).doc

步进电机驱动单轴直线伺服移动机构(第1组) - 南京机电职业技术学院 毕业设计(论文)任务书 系部 姓名 题目 自动化工程系 学号 专业 机电一体化技术 步进电机驱动...

基于51单片机的步进电机控制-设计报告(说明书)及源程序.doc

基于51单片机的步进电机控制-设计报告(说明书)及源程序_工学_高等教育_教育专区...1.2 步进电机的种类步进电机分永磁式(PM) 、反应式(VR) 、和混合式(HB)...

4、基于proteus的步进电机电机仿真实验设计报告.doc

4、基于proteus的步进电机电机仿真实验设计报告 - 基于单片机的步进电机的驱动实验 设计报告 系组 别别 电子通信工程系 第十组 电子信息工程 专业名称 指导教师 组...