基于51单片机的步进电机的控制设计12页

上传人:文库****9 文档编号:173995036 上传时间:2021-03-15 格式:DOCX 页数:12 大小:190.04KB
返回 下载 相关 举报
基于51单片机的步进电机的控制设计12页_第1页
第1页 / 共12页
基于51单片机的步进电机的控制设计12页_第2页
第2页 / 共12页
基于51单片机的步进电机的控制设计12页_第3页
第3页 / 共12页
基于51单片机的步进电机的控制设计12页_第4页
第4页 / 共12页
基于51单片机的步进电机的控制设计12页_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《基于51单片机的步进电机的控制设计12页》由会员分享,可在线阅读,更多相关《基于51单片机的步进电机的控制设计12页(12页珍藏版)》请在金锄头文库上搜索。

1、 单片机应用系统设计报告设计题目: 步进电机控制器设计 专业班级: 学生姓名: 指导教师: 设计时间: 2016年12月 一、 设计要求及方案1、设计要求可以实现步进电机正转和反转控制及速度的控制,同时实现步进电机步数的控制。2、设计方案本次设计采用AT89C51单片机控制一个四相步进电机。单片机输出脉冲序列,驱动步进电机转动;并设置开关、按键电路,来控制步进电机的2挡转速,即加速、减速;以及步数的变化,即四拍驱动方式、八拍驱动方式,同时控制步进电机的转动方向,即正转、反转。步进电机单片机最小系统单片机AT89C51单片机最小系统开关、按键电路设计方案总体框图:二、 步进电机简介1、步进电机工

2、作原理步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信 号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。步进电机是一种感应电机,它的工作原理是利用电子电路,将直流电变成分时供电的,多相时序控制电流,用这种电流为步进电机供电,步进电机才能正常工作,驱动器就是为步进电机分时供电

3、的多相时序控制器。虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。步进电机作为执行元件,是机电一体化的关键产品之一, 广泛应用在各种自动化控制系统中。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。2、步进电机磁力方式选择步进电机的励磁方式主要分为全步励磁和半步励磁两种,其中全步励磁又有一相励磁和二相励磁之分,半步励磁又称一-二相励磁。 一相励磁:在每一瞬间,步进电机只有一个线圈导通。每送出

4、一个励磁信号,步进电机旋转1.8,这是三种励磁方式中最简单的一种。其特点是:精确度好、消耗电力小,但输出转矩小,震动较大。 二相励磁:在每一瞬间,步进电机有两个线圈同时导通。每送一个励磁信号,步进电机旋转1.8。其特点是:输出转矩大,振动小。 一-二相励磁:为一相励磁与二相励磁交替导通的方式。每送一个励磁信号,步进电机旋转0.9。其特点是:分辨率高,运转平滑。本次设计,八拍驱动时采用一相励磁方式,四拍驱动时采用二相励磁方式。八拍磁力顺序表:时序12345678置1A-B-C-D-置0-D-A-B-C四拍磁力顺序表:时序1234置0DABC置1A,BB,CC,DD,A三、硬件电路设计1、晶振电路

5、设计AT89C51单片机各功能部件的运行都以时钟控制信号为基准,有条不紊,一拍一拍地工作。本次设计时钟电路采用内部时钟方式。AT89C51内部有一个用于构成震荡器的高增益方向放大器,它的输入端为芯片引脚XTAL1,输出端引脚为XTAL2。这两个引脚跨接石英晶体和微调电容,构成一个稳定的自激振荡器。本次设计选择振荡频率为12MHZ的石英晶体。图 晶振电路2、复位电路设计AT89C51的复位是由外部的复位电路实现的。复位引脚RST通过一个施密特触发器与复 位电路相连,施密特触发器用来抑制噪声,在每个机器周期的S5P2,施密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。

6、复位电路通常采用上电复位和按钮复位两种方式,本次设计采用上电复位方式。图 复位电路3、开关、按键电路本次设计采用开关、按键电路来控制步进电机的正转、反转、加速、减速、步数。并且由单片机的P2口对其进行控制。图 开关、按键电路4、驱动电路设计本设计采用ULN2003作为驱动器驱动步进电机运转,把单片机P1口输出的脉冲信号转化为 脉冲电流,驱动步进电机运转。图 驱动电路5、总电路图图 总电路图四、软件程序设计1、程序设计思路通过分析可以看出,实现系统功能可以采用多种方法,由于随时有可能输入加速、加速信号和方向信号,因而采用中断方式效率最高,这样总共要完成2个部分的工作才能满足课题要求,即主程序部分

7、、定时器中断部分,其中主程序的主要功能是系统初始参数的设置及启动开关的检测,若启动开关合上则系统开始工作,反之系统停止工作;定时器中断器部分,控制按键标志位值的改变,从而可以控制主程序中步进电机转速、转向、步数。2、程序框图Flag置1减少延时Flag置0是是否否增加延时访问标志位输出一拍脉冲延时速度变快?改变步数?开始初始化3、程序#include#define uchar unsigned char#define uint unsigned intuint temp=4,flag=0;int k=100,m=0;void delay(uint z)uint x,y;for(x=z;x0;x

8、-)for(y=110;y0;y-);sbit P2_5=P25;sbit P2_6=P26;sbit P2_7=P27;uchar check_key1() uchar n; P2=0xff; n=P2; if(n!=0xdf) return 1; else return 0;uchar check_key2() uchar n; P2=0xff; n=P2; if(n!=0xbf) return 1; else return 0;uchar check_key() uchar n; P2=0xff; n=P2; if(n!=0x7f) return 1; else return 0;voi

9、d timer0() interrupt 1switch(P2)case 0xde:if(check_key1()=1)delay(5);if(check_key1()=1)temp=0;P1=0xf0;break;case 0xdd:if(check_key1()=1)delay(5);if(check_key1()=1)temp=1;P1=0xf0; break;case 0xbb:if(check_key2()=1) delay(5);if(check_key2()=1)temp=2; while(check_key2();break; case 0xb7:if(check_key2()

10、=1)delay(5);if(check_key2()=1)temp=3; while(check_key2();break;case 0x6f:if(check_key()=1)delay(5);if(check_key()=1)flag+;if(flag=2)flag=0; while(check_key();break; void sudu0() if(temp=2)k+=200;if(k=1000)k=1000;temp=0;if(temp=3)k-=200;if(k=1000)k=1000;temp=1;if(temp=3)k-=200;if(k=0)k=100;temp=1;sbi

11、t P1_0=P10;sbit P1_1=P11;sbit P1_2=P12;sbit P1_3=P13;void main(void) TMOD=0x01;EA=1;ET0=1;TR0=1; P1_0=0;P1_1=0;P1_2=0;P1_3=0;while(1) for(m=1;m=8;m+)if(flag=0)if(temp=0)switch(m)case 1:P1_0=1;delay(k);break;case 2:P1_3=0;delay(k);break;case 3:P1_1=1;delay(k);break;case 4:P1_0=0;delay(k);break;case 5:P1_2=1;delay(k);break;case 6:P1_1=0;delay(k);break;case 7:P1_3=1;delay(k);break;case 8:P1_2=0;delay(k);break;sudu0();if(flag=1)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号