步进电机的控制与测速.docx
- 文档编号:7212338
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:9
- 大小:127.48KB
步进电机的控制与测速.docx
《步进电机的控制与测速.docx》由会员分享,可在线阅读,更多相关《步进电机的控制与测速.docx(9页珍藏版)》请在冰豆网上搜索。
步进电机的控制与测速
步进电机的控制与测速
步进电机控制与测速
姓名:
竹玉书
学号:
02008513
指导老师:
李超彪
一、实践环节任务与要求
选题:
步进电机控制与测速
设备:
可编程并行接口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μs
50000=5s
三、硬件接线图
四、程序框图
主函数:
测速子函数:
五、源程序
程序源代码如下:
(含注解)
/******************/
/*步进电机*/
/******************/
#include
#include
#include"ApiEx.h"
#pragmacomment(lib,"ApiEx.lib")
#define8255A0x290
#define8255B0x291
#define8255C0x292
#define8255CTL0x293
#define825300x280
#define825310x281
#define825320x282
#define8253CTL0x283
staticunsignedintc=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(82531,&z);//读8253计时器1记录的脉冲数低八位
b=z;
PortReadByte(82531,&z);//读8253计时器1记录的脉冲数高八位
b=b+z*256;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 步进 电机 控制 测速