步进电机系统设计实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
专业课程设计Ⅰ
题目一
步进电机控制系统设计
院系:动化学院
专业班级:智能0801班
小组成员:
指导教师:王曙光
日期:2011.05.23-2011.06.03
目录
1课程设计描述 (2)
2.课程设计具体要求 (3)
3.主要元器件 (3)
4.基本原理阐述 (3)
4.1 步进电机的工作原理 (3)
4.2 步进电机的启停控制 (3)
4.3 步进电机的转向控制 (4)
4.4 步进电机的速度控制 (4)
4.5 步进电机的换向控制 (4)
5.实验方案 (4)
5.1 控制系统的硬件设计 (4)
5.2 电路设计 (5)
5.3 系统软件设计 (5)
5.3.1主程序图 (5)
5.3.2显示子程序 (6)
5.3.3键盘扫描子程序 (7)
5.4源程序 (7)
6.设计中的问题分析 (11)
7.参考资料 (12)
8.实验总结 .................................... 错误!未定义书签。
1课程设计描述:
设计一个以8051单片机作为主控制器的步进电机控制器,实现对步进电机的转速、转向的控制和显示。
2. 课程设计具体要求:
(1)可通过按键设置步进电机的转向(正/反转)、转速(增/减速);
(2)可通过按键设置步进电机的励磁方式(单/双相);
(3)可通过数码管将步进电机的转速显示出来;
(4)设计电路,编写程序,软件硬件仿真、调试。
3.主要元器件:
实验板(中号)、STC89C51、电容(30pFⅹ2、10uFⅹ2)、数码管(共阳、四位一体)、晶振(12MHz)、小按键(5个)、步进电机(25BY)、ULN2003等
4.基本原理阐述:
4.1 步进电机的工作原理
步进电机由定子和转子两部分组成,下面以两相反应式步进电机为例说明步进电机工作原理。
两相步进电机的定子上有两对磁极,按N、S、N、S分配,每两个相对的磁极组成一队。每对磁极都缠有同一个绕组,形成一相。转子是由软磁材料制成的,其外表面均匀分布着小齿,他们大小相同,间距相等。这些小齿与定子磁极上的小齿的锯齿相同,形状相似。
如果按下表的时序给步机绕组通电,步进电机将产生转动,改变相序通电,步进电机的转向将反相,停止发送脉冲,步进电机将停止运转。
图一步进电机结构通电相序
4.2 步进电机的启停控制
步进电机由于其电气特性,运转时会有步进感 ,即振动感。为了使电机转动平滑 ,减小振动 ,可在步进电机控制脉冲的上升沿和下降沿采用细分的梯形波 ,可以减小步进电机的步进角 ,提高电机运行的平稳性。在步进电机停转时 ,为了防止因惯性而使电机轴产生顺滑 ,则需采用合适的锁定波形 ,产生锁定磁力矩 ,锁定步进电机的转轴 ,使步进电机的转轴不能自由转动。
4.3 步进电机的转向控制
如果给定工作方式正序换相通电 ,步进电机正转。若步进电机的励磁方式为三相六拍 ,即 A-AB-B-BC-C-CA。如果按反序通电换相 ,即则电机就反转。其他方式情况类似。
4.4 步进电机的速度控制
如果给步进电机发一个控制脉冲 ,它就转一步 ,再发一个脉冲 ,它会再转一步。2 个脉冲的间隔越短 ,步进电机就转得越快。调整送给步进电机的脉冲频率 ,就可以对步进电机进行调速。
4.5 步进电机的换向控制
步进电机换向时 ,一定要在电机减速停止或降到突跳频率范围之内再换向 ,以免产生较大的冲击而损坏电机。换向信号一定要在前一个方向的最后一个脉冲结束后以及下一个方向的第1 个脉冲前发出。对于脉冲的设计主要要求要有一定的脉冲宽度(一般不小于5μs)、脉冲序列的均匀度及高低电平方式。在某一高速下的正、反向切换实质包含了减速→换向→加速3 个过程。
5.实验方案(含硬件结构图和电路图及说明、软件流程、源程序与注释等)
5,1控制系统的硬件设计
基于单片机的步进电机控制方案如下图二所示
图二单片机控制步进电机原理图
5.2 电路设计
设计电路如图三所示
图三单片机控制步进电机原理图
5.3 系统软件设计
本设计应用的是C语言进行编程,系统程序的总体设计思路是:利用单片机对键盘进行扫描,根据按键的状态来设置相应的状态位,然后根据各状态位的值输出相应的控制信号,进而实现对步进电动机的启动、停止、正反转、加速以及减速的控制,并把系统的运行状态在显示电路中显示出来。
5.3.1主程序图
5.3.2显示子程序
5.3.3键盘扫描子程序
5.4源程序
#include "stdio.h"
#include "reg51.h"
#define uchar unsigned char
#define uint unsigned int
#define databus P0
/****************************
位变量和全局变量的定义
****************************/
bit start_flag;//步进电机启动标志位,0代表关闭电机,1时代表启动电机
bit one_two_flag;//单双相励磁标志位,0代表单相,1代表双相
bit for_rev_flag;//正反向转动标志位,0代表正向,1代表反向
uint time_speed;
uint speed;
code uchar foward_two[4]={0xf3,0xf6,0xfc,0xf9};//双相正转
code unsigned char reverse_two[4]={0xf9,0xfc,0xf6,0xf3}; //双相反转
code unsigned char foward_one[4]={0xf1,0xf2,0xf4,0xf8};//单相正转
code unsigned char reverse_one[4]={0xf8,0xf4,0xf2,0xf1};//单相反转
//code unsigned char foward_mix[8]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9};//混合正转