实验九 步进电机控制实验.doc_第1页
实验九 步进电机控制实验.doc_第2页
实验九 步进电机控制实验.doc_第3页
实验九 步进电机控制实验.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

步进电机控制试验一、 实验目的1、掌握keilc51软件与protues软件的联合仿真调试的方法2、掌握步进电机的工作原理及控制方法3、掌握步进电机的不同编程方法二、 实验内容1、用protues设计一四相六线步进电机控制电路。要求利用p1口做为步进电机的控制接口,通过达林顿阵列ULN2003A。参考电路给出。2、 编写程序,实现步进电机的正反转控制。正反转时间分别持续10秒时间。如此循环。 3、 设计一可调速度步进电机控制电路。P3.0P3.2分别接按键K1K3,其中K1为正反转控制按键,K2为加速按键,K3为减速按键,要求速度7档可调,加减速各设三档,复位时位于4档,要求每档速度变化明显。三、 实验说明1、步进电机控制原理;(1) 步进电机是利用电磁铁的作用原理,将脉冲信号换为线位移或角位移的电机。每来一个脉冲,步进电机转动一定的角度,带动机械移动一小段距离。特点:来一个脉冲,转动一个步距角。控制脉冲频率,可控制电机转速。改变脉冲顺序,可改变转动方向。2、ULN2003A:七达林顿阵列ULA2003A是集成达林顿管反向驱动电路,内部还集成了一个消线圈反电动势的二极管,可以用来驱动电机、继电器等功率器件。它是双列16脚封装、NPN晶体管矩阵,最大驱动电压50v,输入电压5v。四、 实验步骤1、 用proteus设计电路2、 在keilc51中编写键盘识别程序,编写通过后,与proteus联合调试3、 观察1602是否能正确显示五、 实验电路1、实验电路见下图:2、实验源程序见附录。六、 实验总结1、 步进电机的工作原理及控制方法,来一个脉冲,转动一个步距角。控制脉冲频率,可控制电机转速。通过改变脉冲顺序,可改变转动方向。2、 掌握ULN2003A七达林顿阵列的使用方法,ULN2003A是集成达林顿管反向驱动电路,内部还集成了一个消线圈反电动势的二极管,具有较强的驱动能力,可以用来驱动电机、继电器等功率器件。3、 利用定时器中断检测按键时,因为每20ms就扫描一次键盘,而若按下一次按键时间过长,会引起一次按键重复检测的情况,可设置一个标志位,反映按键是否被检测完,等一侧按键完成后在接受下一次按键触发。程序1#include sbit A1=P10; sbit B1=P11;sbit C1=P12; sbit D1=P13;bit flag;char code foreward=0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09;unsigned char Speed;void delay_ms(int);main()unsigned char i;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;ET0=1; TR0=1; EA=1;while(1)for(i=0;i8&flag=0;i+)P1=forewardi;delay_ms(100);for(i=0;i0;t-)for(i=0;i124;i+);程序2#include sbit A1=P10; sbit B1=P11;sbit C1=P12; sbit D1=P13;sbit K1=P30; sbit K2=P31;bit start=0,flag1,flagk1=0,flagk2=0,pause=1;char code foreward=0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09;char code spd=50,70,90,110,140,170,200;void delay_ms(int);unsigned char speed,dw=3;void main()unsigned char i=3;TMOD=0x11;TH0=(65536-1000)/256;TL0=(65536-1000)%256;ET0=1; TR0=1;TH1=(65536-1000)/256;TL1=(65536-1000)%256;ET1=1; TR1=1;EX0=1; IT0=1;EX1=1; IT1=1; EA=1;speed=spddw;P0=dw+1;while(1)while(pause);if(start=1) start=0;if(flag1=1)P1=forewardi+;if(i=8)i=0; if(flag1=0)P1=foreward7-i; i+;if(i=8)i=0; void tim0() interrupt 1unsigned char num ; TH0=(65536-1000)/256;TL0=(65536-1000)%256;if(pause=0)num+; /暂停时不计数if(num=speed)num=0;start=1;void tim1() interrupt 3unsigned char cnt;TH0=(65536-1000)/256;TL0=(65536-1000)%256;cnt+;if(cnt=2)cnt=0;if(K1=0) delay_ms(5);if(K1=0&flagk1=0)flag1=flag1;flagk1=1 ; elseflagk1=0;if(K2=0) delay_ms(5);if(K2=0&flagk2=0&pause=0)dw+;if(dw=7) dw=0;speed=spddw;P0=dw+1;flagk2=1 ;elseflagk2=0;void ext0() interrupt 0if(pause=0) /暂停时无效if

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论