两相4线步进电机驱动.docx
《两相4线步进电机驱动.docx》由会员分享,可在线阅读,更多相关《两相4线步进电机驱动.docx(9页珍藏版)》请在冰豆网上搜索。
![两相4线步进电机驱动.docx](https://file1.bdocx.com/fileroot1/2023-2/7/76d08641-627c-45bc-ada1-674a3bc50dc0/76d08641-627c-45bc-ada1-674a3bc50dc01.gif)
两相4线步进电机驱动
两相4线步进电机驱动
前段时间在出去买东西的时候经过一个废品收购站,看到一位阿姨正在从一台什么机器上面拆零件。
具体是什么机器我也不认识,我突然看到她拆下来一个圆圆的东西,走进一看原来是一个电机,有四根线,我当时想肯定是一个步进电机。
虽然年份久远但是质量看起来还不错,我当时就很喜欢。
问阿姨这个多少钱我想买下来。
阿姨说十块钱,一分也不能少。
没有办法我就发十块钱买下这个“铁块子“!
由于时间的关系一直没有机会折腾。
今天有点时间所以就拿出来研究一下。
经过测量这是一个两项四线的步进电机,步进角为1.8度。
有两种工作方式。
一种是4拍的方式,一种是8拍的方式,4拍方式的时序如下:
a~和b~表示反向电流。
ab
-a~b
-
a~b~
-
ab~
为一个转向。
ab
-
ab~
-
a~b~
-
a~b
为反向。
8拍方式的时序如下:
A
B
C
D
E
F
G
H(时序)
A
1
1
0
0
0
0
0
1
A-
0
0
0
1
1
1
0
0
B
0
1
1
1
0
0
0
0
B-
0
0
0
0
0
1
1
1
我这里用的是8拍的方式。
程序:
/***
*******************************************************************
**程序功能:
**芯片型号:
STC11F16XE
**晶振频率:
22.1184M
**编写日期:
2010年10月日
**编写人员:
wang
QQ:
349259818
Email:
hongfadg@
**备注说明:
*******************************************************************/
//以下为所需的头文件
//#include;
//#include;
//#include;
//#include;
#include;
//定义关键字方便使用
#defineucharunsignedchar
#defineuintunsignedint
#defineulongunsignedlong
/*
sbitp10=P1^0;//第一组电机
sbitp11=P1^1;
sbitp12=P1^2;//第一组使能
sbitp13=P1^3;//第二组电机
sbitp14=P1^4;
sbitp15=P1^5;//第二组使能
*/
ucharstep[]={0x25,0x2d,0x2c,0x2e,0x26,0x36,0x34,0x35};//时序参数表
/*
延时函数
*******************************************************************
**函数原型:
voiddelay(void)
**函数功能:
延时函数
**输入参数:
无
**输出参数:
无
**备注说明:
*******************************************************************/
voiddelay(void)
{
unsignedchara,b,c;
for(c=18;c>;0;c--)
for(b=19;b>;0;b--)
for(a=23;a>;0;a--);
}
/*
主函数
*******************************************************************
**函数原型:
main()
**函数功能:
**输入参数:
无
**输出参数:
无
**备注说明:
完成程序的主要功能
*******************************************************************/
main()
{
unsignedcharc;
while
(1)
//主循环
{
for(c=0;c
步进电机驱动板
控制板
组装整体