姓 名: 学 号:
课程名称:
实验序号: 实验日期:
实验室名称:
同组人:
实验成绩: 总 成 绩:
教师评语:
教师签字:
年 月 日
K=3
K=30
C语言测控系统程序设计
步进电机控制实验报告
学生姓名: 郭凯 学号:1090810613
实验的目的:
1.掌握计算机并行接口的工作原理与使用方法。
2.了解步近电机的工作原理与步进电机驱动器的使用。
3.学习控制步进电机位置、速度的实时软件设计。
实验用设备:
1.具有ISA总线插槽和USB接口的PC系列微型计算机。
2.23HS2001型步进电机。
3.SH-2H042Ma步进电机驱动器。
4.24V直流稳压电源。
试验设备连接:
采用打印机口的数字口(I/O端口地址0x378)控制步进电机驱动器。采用共阴极接法,正脉冲有效。打印机数字口的 D0 控制方向,接 步进电机驱动器DIR+端, D1 控制步进,接步进电机驱动器CP+ 端,步进电机驱动器DIR- 和 CP- 接地。步进电机驱动器细分开关置成 2细分状态,步距角 0.9º
实验要求:
1.步进电机旋转2周,然后向相反方向转2周。注意观察是否后到原来的起始位置。
2.提高步进电机转速,旋转360°的整数倍。注意观察是否出现失步现象,估计步进电机的带载启动频率。
3.编写“升速-恒速-减速”控制程序。(选作)
设计和计算:
正旋转2周,在后旋转两周。
步距角:0.9 º
所以:360*4/0.9 º
程序框图:
程序清单和注释:
#include<dos.h>
#include<stdio.h>
void left(int m);
void right(int m);
void main()
{
long n;
int m,b;
printf("Input speed(450): \t");
scanf("%d",&m);
printf("Input cycle(num): \t");
scanf("%d",&b);
for(n=0;n<(int)(360*b/0.9);n++)
{
left(m);
}
for(n=0;n<(int)(360*b/0.9);n++)
{
right(m);
}
printf("A higher speed: \t");
scanf("%d",&m);
for(b=0;b<100;b++)
{
for(n=0;n<40;n++)
{
left(m);
}
m-=2;
}
for(b=0;b<100;b++)
{
for(n=0;n<40;n++)
{
left(m);
}
m+=2;
}
printf("end \n");
}
void left(int m)
{
outportb(0x378,0x00);
delay(m);
outportb(0x378,0x02);
delay(m);
}
void right(int m)
{
outportb(0x378,0x01);
delay(m);
outportb(0x378,0x03);
delay(m);
}
调试中出现的错误及分析:
HarbinInstituteofTechnology数字逻辑电路与系统课程名称院系班级哈尔滨工业大学20xx年11月实验二时序逻…
Java语言基础实验指导报告书20xx20xx年秋季学期使用班级姓名计算机科学与技术学院实验一Java编程开发环境一实验学时1学时…
数据库系统应用实验报告1班号学号姓名所用实验数据表给出创建表的sql语句createtable学院学院号char2NOTNULLU…
电磁场与微波技术实验报告HarbinInstituteofTechnology电磁场与微波技术实验报告课程名称电磁场与微波技术设计…
研究生自动控制专业实验地点A区主楼518房间平面二级倒立摆系统实验报告主编钱玉恒杨亚非哈工大航天学院控制科学实验室平面二级倒立摆控…
HarbinInstituteofTechnology数字逻辑电路与系统课程名称院系班级哈尔滨工业大学20xx年11月实验二时序逻…
近代光学创新实验双曝光全息照相技术介绍院系英才学院专业机械设计制造及其自动化学生学号班号20xx年6月双曝光全息照相技术介绍摘要双…
电磁场与微波技术实验报告HarbinInstituteofTechnology电磁场与微波技术实验报告课程名称电磁场与微波技术设计…
基于Simulink控制系统仿真与综合设计一实验目的1熟悉Simulink的工作环境及其功能模块库2掌握Simulink的系统建模…
HarbinInstituteofTechnology数字逻辑电路与系统课程名称院系班级姓名学号教师哈尔滨工业大学20xx年12月…