哈工大 c语言测试与系统控制 ad,哈工大-C语言在测试与制中的应用-步进电机实验报告.doc...

C语言测控系统程序设计

步进电机控制实验报告

学生姓名:XXX 学号:XXXXXXXXX

实验的目的:

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.9o

实验要求:

1.步进电机旋转2周,然后向相反方向转2周。注意观察是否后到原来的起始位置。

2.提高步进电机转速,旋转360°的整数倍。注意观察是否出现失步现象,估计步进电机的带载启动频率。

3.编写“升速-恒速-减速”控制程序。(选作)

设计和计算:

正旋转2周,在后旋转两周。

步距角:0.9 o

所以:360*4/0.9 o

程序框图:

输入转速,圈数

输入转速,圈数

输入转速

高速转动

程序结束

开始

按设定 正转,反转

程序清单和注释:

#include

#include

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

{

left(m);

}

for(n=0;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);

}

调试中出现的错误及分析:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值