版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、步进电机驱动控制实验目录第一章 绪论21.1 步进电机分类21.2 步进电机工作原理21.3 步进电机主要特点3第二章 硬件系统设计42.1 永磁步进电机的控制原理42.2 步进电机控制系统的组成4第三章 软件设计63.1 主程序流程图63.2 定时器中断程序流程图6第四章 调试与改进74.1 调试74.2 运行结果7附录一 源程序7第1章 绪论步进电机又称为脉冲电动机或阶跃电动机,它是基于最基本的电磁感应作用,将电脉冲信号转变为角位移或线位移的开环控制元件。单片机控制的步进电机广泛地应用于工业自动控制、数控机床、组合机床、机器人、计算机外围设备、照相机,大型望远镜,卫星天线定位系统等等。随着
2、经济的发展,技术的进步和电子技术的发展,步进电机的应用领域更加广阔,同时也对步进电机的运行性能提出了更高的要求。步进电机是一种感应电机,它的工作原理是利用电子电路,将直流电变成分时供电的,多相时序控制电流,用这种电流为步进电机供电,步进电机才能正常工作,驱动器就是为步进电机分时供电的,多相时序控制器。虽然步进电机已被广泛地应用,但步进电机并不能像普通的直流电机,交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。步进电机作为执行元件,是机电一体化的关键产品之一,广泛应用在各种自动化控制系统中
3、。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。1.1 步进电机分类步进电机在构造上有三种主要类型:反应式(Variable Reluctance,VR)、永磁式(Permanent Magnet,PM)和混合式(Hybrid Stepping,HS)。反应式:定子上有绕组、转子由软磁材料组成。结构简单、成本低、步距角小,可达1.2°、但动态性能差、效率低、发热大,可靠性难保证。永磁式:永磁式步进电机的转子用永磁材料制成,转子的极数与定子的极数相同。其特点是动态性能好、输出力矩大,但这种电机精度差,步矩角大(一般为7.5°或15
4、6;)。混合式:混合式步进电机综合了反应式和永磁式的优点,其定子上有多相绕组、转子上采用永磁材料,转子和定子上均有多个小齿以提高步矩精度。其特点是输出力矩大、动态性能好,步距角小,但结构复杂、成本相对较高。按定子上绕组来分:共有二相、三相和五相等系列。1.2 步进电机工作原理通常电机的转子为永磁体,当电流流过定子绕组时,定子绕组产生一矢量磁场。该磁场会带动转子旋转一角度,使得转子的一对磁场方向与定子的磁场方向一致。当定子的矢量磁场旋转一个角度。转子也随着该磁场转一个角度。每输入一个电脉冲,电动机转动一个角度前进一步。它输出的角位移与输入的脉冲数成正比、转速与脉冲频率成正比。改变绕组通电的顺序,
5、电机就会反转。所以可用控制脉冲数量、频率及电动机各相绕组的通电顺序来控制步进电机的转动。1)控制换相顺序通电换相这一过程称为脉冲分配。例如:四相步进电机的四拍工作方式,其各相通电顺序为ABCD,通电控制脉冲必须严格按照这一顺序分别控制A、B、C、D相的通断。2)控制步进电机的转向如果给定工作方式正序换相通电,步进电机正转,如果按反序通电换相,则电机就反转。 3)控制步进电机的速度 如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转得越快。调整单片机发出的脉冲频率,就可以对步进电机进行调速。1.3 步进电机主要特点1、一般步进电机的精度为步进角
6、的3-5%,且不累积。2、步进电机外表允许的最高温度。步进电机温度过高首先会使电机的磁性材料退磁,从而导致力矩下降乃至于失步,因此电机外表允许的最高温度应取决于不同电机磁性材料的退磁点;一般来讲,磁性材料的退磁点都在摄氏130度以上,有的甚至高达摄氏200度以上,所以步进电机外表温度在摄氏80-90度完全正常。3、步进电机的力矩会随转速的升高而下降。当步进电机转动时,电机各相绕组的电感将形成一个反向电动势;频率越高,反向电动势越大。在它的作用下,电机随频率(或速度)的增大而相电流减小,从而导致力矩下降。4、步进电机低速时可以正常运转,但若高于一定速度就无法启动,并伴有啸叫声。步进电动机以其显著
7、的特点,在数字化制造时代发挥着重大的用途。伴随着不同的数字化技术的发展以及步进电机本身技术的提高,步进电机将会在更多的领域得到应用。第2章 硬件系统设计2.1 永磁步进电机的控制原理本实验以常用的永磁式步进电机为例,实验采用四相步进电机,用单片机控制步进电机。其接线图如图所示: 从图中可以看出,电机共有四组线圈,四组线圈的一个端点连在一起引出,这样一共有 5根引出线。要使用步进电机转动,只要轮流给各引出端通电即可。将 COM 端标识为C,只要 AC、BC或/AC、/BC,轮流加电就能驱动步进电机运转,加电的方式可以有多种,如果将 COM 端接正电源,那么只要用开关元件(如三极管) ,将 A、B
8、或/A、/B轮流接地。2.2 步进电机控制系统的组成步进电机控制系统共分为五个模块:单片机最小系统模块、键盘控制模块、液晶显示模块、步进电机驱动模块和电源模块。1)单片机最小系统主要由复位电路和时钟电路组成。复位电路为单片机系统提供可靠复位,使单片机能正常启动。时钟电路采用外部时钟方式,保证单片机个功能部件都是以时钟频率为基准,有条不紊地一拍一拍地工作。2)键盘控制模块包括方向控制键、加速键和减速键、启停键,分别与单片机的P3.4、P3.5、P3.6和P3.7相连。实现对步进电机的控制。并且键盘上连接有发光二极管,以指示键盘状态。3)液晶显示模块采用LCD1602来动态显示步进电机的转动速度。
9、4)步进电机驱动模块选用七个NPN达林顿连接晶体管ULN2003为步进电机提供脉冲信号,驱动步进电机转动。该模块与单片机的P2.4P2.7相连。5)电源模块是通过将市电220V转变交流9V后再转变为直流5V分别供给驱动模块和单片机模块。原理图如下:第3章 软件设计步进电机控制系统的软件需要同时完成读取键盘、处理键盘、控制步进电机转动、控制数码管动态显示等任务,这就必须通过中断技术来实现。主程序采用查询方式扫描键盘端口,检测按键动作是否发生,若有按键动作则处理键盘,根据按键值修改相应参数值,实现键盘的实时处理功能。定时器0中断服务程序控制步进电机的转动。3.1 主程序流程图步进电机控制系统的主程
10、序在对整个系统初始化后主要完成读键盘和处理键盘的功能,控制液晶显示,如下图所示:3.2 定时器中断程序流程图定时器中断0服务程序的中断时间为500us。进入中断程序后,首先要重装初值,设置TH0和TL0的值。然后判断根据转速档位判断中断次数,达到计时目的。当判断为多次中断的时间满足当前档位时,判断旋转方向。每一次满足条件的中断,依次给A-AB-B-BC-C-CD-D-DA输出脉冲,实现定时步进。定时器中断0服务程序流程图如下图所示:第4章 调试与改进 4.1 调试在系统完成后测试系统,检查硬件和软件是否能够协调运行,并对系统出现的情况进行分析,看是否能够达到系统创作之初所设想的效果,如达不到则
11、重新修改系统的硬件结构或者修改软件的程序部分,直到达到实验需要为止。本系统的设计思路为:首先从整体上划分出各功能模块,然后硬件和软件同时进行依次完成各个功能模块,最后将各个模块联系起来完成整个系统。4.2 运行结果连接好硬件电路,上电复位,程序开始运行。此时电机处于待机状态,按下开始按钮,点击开始转动,然后每按下加速键一次,LCD液晶显示器显示数值加1档位,步进电机转动速度相应增加;此时每按下减速键一次,LCD液晶显示器显示数值减1档位,步进电机转动速度相应减少;此时若按下方向控制键,步进电机立即向相反方向转动,转动速度保持不变,顺时针时LCD显示为“+”,逆时针时LCD显示为“-”;此时若按
12、下启停键,步进电机停止转动,LCD液晶显示器停止显示为“OFF”。附录一 源程序#include <reg52.h>#include<intrins.h>sbit A1=P24; /定义步进电机连接端口sbit B1=P25;sbit C1=P26;sbit D1=P27;sbit RS = P20; /定义LCD1602端口 sbit RW = P21;sbit EN = P22;sbit WEI=P27; sbit DUAN=P26; sbit Plus=P34;/定义键盘 加速sbit Slow=P35;/减速sbit Switch=P36;/开关sbit Dir
13、ection=P37;/方向按键#define DataPort P1#define RS_CLR RS=0 #define RS_SET RS=1#define RW_CLR RW=0 #define RW_SET RW=1 #define EN_CLR EN=0#define EN_SET EN=1#define Coil_AB1 A1=1;B1=1;C1=0;D1=0;/AB相通电,其他相断电#define Coil_BC1 A1=0;B1=1;C1=1;D1=0;/BC相通电,其他相断电#define Coil_CD1 A1=0;B1=0;C1=1;D1=1;/CD相通电,其他相断电#
14、define Coil_DA1 A1=1;B1=0;C1=0;D1=1;/D相通电,其他相断电#define Coil_A1 A1=1;B1=0;C1=0;D1=0;/A相通电,其他相断电#define Coil_B1 A1=0;B1=1;C1=0;D1=0;/B相通电,其他相断电#define Coil_C1 A1=0;B1=0;C1=1;D1=0;/C相通电,其他相断电#define Coil_D1 A1=0;B1=0;C1=0;D1=1;/D相通电,其他相断电#define Coil_OFF A1=0;B1=0;C1=0;D1=0;/全部断电char i;unsigned char te
15、mp,num,dire,ti,times;unsigned char code table="0123456789"unsigned char code Speed5=1,2,3,4,5;unsigned char code rad5=13,8,6,5,4;void delay(unsigned int z)unsigned int x,y;for(x=z;x>0;x-)for(y=120;y>0;y-);/*- uS延时函数 -*/void DelayUs2x(unsigned char t) while(-t);/*- mS延时函数-*/void Delay
16、Ms(unsigned char t) while(t-) DelayUs2x(245); DelayUs2x(245); /*- 判忙函数-*/ bit LCD_Check_Busy(void) DataPort= 0xFF; RS_CLR; RW_SET; EN_CLR; _nop_(); EN_SET; return (bit)(DataPort & 0x80); /*- 写入命令函数-*/ void LCD_Write_Com(unsigned char com) while(LCD_Check_Busy(); /忙则等待 RS_CLR; RW_CLR; EN_SET; Dat
17、aPort= com; _nop_(); EN_CLR; /*- 写入数据函数-*/ void LCD_Write_Data(unsigned char Data) while(LCD_Check_Busy(); /忙则等待 RS_SET; RW_CLR; EN_SET; DataPort= Data; _nop_(); EN_CLR; /*- 清屏函数-*/ void LCD_Clear(void) LCD_Write_Com(0x01); DelayMs(5); /*- 写入字符串函数-*/ void LCD_Write_String(unsigned char x,unsigned ch
18、ar y,unsigned char *s) if (y = 0) LCD_Write_Com(0x80 + x); else LCD_Write_Com(0xC0 + x); while (*s) LCD_Write_Data( *s); s +; /*- 初始化函数-*/ void LCD_Init(void) LCD_Write_Com(0x38); /*显示模式设置*/ DelayMs(5); LCD_Write_Com(0x38); DelayMs(5); LCD_Write_Com(0x38); DelayMs(5); LCD_Write_Com(0x38); LCD_Write_
19、Com(0x08); /*显示关闭*/ LCD_Write_Com(0x01); /*显示清屏*/ LCD_Write_Com(0x06); /*显示光标移动设置*/ DelayMs(5); LCD_Write_Com(0x0C); /*显示开及光标设置*/ /*- 显示变量-*/void display_var(unsigned char x)unsigned char shi,ge;shi=x%10000%1000%100/10;ge=x%10;LCD_Write_Data(tableshi);LCD_Write_Data(tablege);/*- 接后写入字符串函数-*/ void LC
20、D_Write_String_Follow(unsigned char *s) while (*s) LCD_Write_Data( *s); s +; /*- 定时器初始化子程序-*/void Init_Timer0(void) TMOD |= 0x01; /使用模式1,16位定时器 TH0=0x00; /给定初值 TL0=0x00; EA=1; /总中断打开 ET0=1; /定时器中断打开 TR0=1; /定时器开关打开 PT0=1; /优先级打开void zz() switch(ti) case 0:Coil_A1;ti+;break;case 1:Coil_AB1;ti+;break;
21、case 2:Coil_B1;ti+;break;case 3:Coil_BC1;ti+;break;case 4:Coil_C1;ti+;break;case 5:Coil_CD1;ti+;break;case 6:Coil_D1;ti+;break;case 7:Coil_DA1;ti=0;break; default:break; void fz() switch(ti) case 0:Coil_A1;ti+;break;case 1:Coil_DA1;ti+;break;case 2:Coil_D1;ti+;break;case 3:Coil_CD1;ti+;break;case 4:Coil_C1;ti+;break;case 5:Coil_BC1;ti+;break;case 6:Coil_B1;ti+;break;case 7:Coil_AB1;ti=0;break; default:break; void keyscan() if(Plus=0)delay(5);if(Plus=0)while(!Plus);if(i<4)i+;if(Slow=0)delay(5);if(Slow=0)while(!Slow);if(i>0)i-;if(Switch=0)delay(5);if(Switch=0)while(!Sw
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 监控基座施工方案
- 硫酸阿托品在抗结核药物中毒治疗中的应用-洞察及研究
- 光学晶体在光通信中的重要性-洞察及研究
- 基于机器学习的矿山地质资源评价-洞察及研究
- 银行业反洗钱合规管理操作指南
- 小微企业融资申请报告范例
- 写字楼垃圾中转站管理规范
- 初中英语形容词用法综合训练题
- 急诊洗胃术技能考核题库
- 初中物理教研组教学计划与案例分析
- 浙江省宁波市镇海蛟川书院等四校2024-2025学年九年级上学期 12月联考数学试卷
- IP知识产权转让协议
- 中国融通集团2024社招笔试题库
- 精神病村医培训
- 连锁酒店转让合同范例
- 气管导管拔管及护理
- 试议公文评改原则和方法
- DZ∕T 0211-2020 矿产地质勘查规范 重晶石、毒重石、萤石、硼(正式版)
- FZ∕T 74001-2020 纺织品 针织运动护具
- 体育舞蹈专业大学生职业生涯规划
- 异彩纷呈的民族文化智慧树知到期末考试答案2024年
评论
0/150
提交评论