1/8
文档分类:高等教育

步进电机的控制与测速.doc


下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

特别说明:文档预览什么样,下载就是什么样。

0/100
您的浏览器不支持进度条
下载所得到的文件列表
步进电机的控制与测速.doc
文档介绍:
步进电机控制与测速姓名:竹玉书学号:0513指导老师:李超彪实践环节任务与要求选题:步进电机控制与测速设备:可编程并行接口8255,可编程定时计数器8253,控制开关,步进电机,光耦合器要求:1.经过开关K0~K6设置不同的转速,开关K7设置电机的转向。2.利用定时器8253计数,测速。实验原理1.步进电机的控制原理:步进电机驱动原理是经过对每相线圈中的电流的顺序切换使电机作步进式旋转驱动电路由脉冲信号来控制,因此调节脉冲信号频率便可改变步进电机的转速。如图所示:本实验使用的步进电机用直流+5V电压,电机线圈由四相成:φ1(BA);φ2(BB);φ3(BC);φ4(BD)8253定时器0确定脉冲改变的频率(工作方式3,控制字00110110,CLK0=1MHZ,初值=200则OUT0输出周期为200μs的脉冲),由8255(工作方式0,控制字10001011)查询定时时间是否到,输出相应的脉冲,以实现转速控制。2.步进电机的测速原理:在电机转动时,光电传感器每转输出6个脉冲,8253的定时器1负责计数,以测速。设计程序当OUT0出现高电平则计数一次,当计数达到50000次则计算并显示一次速度。显示间隔时间=100μs50000=5s硬件接线图PA3PA2PA1PA0CS8255PBOPC7PC6PC5PC4PC3PC2PC1PC0OUT0GATE0CLKOCSOUT1GATE1CLK1OUT2GATE2CLK28253+5V1MHZ步进电机计数+5VBDBCBBBAK7K6K5K4K3K2K1K0280H290H四、程序框图主函数:开始显示提示信息8255初始化,A口输出,C口输入33H=>BUFFBUFF内容从8255A口输出键盘有无键按下?读开关状态返回DOSYNK0=1?K1=1?K2=1?K3=1?K4=1?K5=1?K6=1?置停止信息置延时时间K7=1?测速控制信息循环右移控制信息循环右移YNNNNNNNNYYYYYYY延时8253初始化测速子函数:开始PB0=1?读8253OUT0状态NYC++C=50000?读8253计数器1YN计算速度并显示源程序程序源代码如下:(含注解)/******************//*步进电机*//******************/#include<stdio.h>#include<conio.h>#include"ApiEx.h"#ment(lib,"ApiEx.lib")#define8255A0x290#define8255B0x291#define8255C0x292#define8255CTL0x293#define825300x280#define825310x281#define825320x282#define8253CTL0x283staticunsignedintc=0;staticunsignedinta=0,b;voidPayoff(intd)//延时测速{staticBYTEx=0,y=0;staticBYTEz;while(d){do { PortReadByte(8255B,&y);//读OUT0输出状态即PB0状态 y&=0x01; }while((x^y)==0); x=y; c++;//每当出现高电平则计数一次if(c==50000){PortReadByte( 内容来自淘豆网www.taodocs.com转载请标明出处.