1、两相4线步进电机驱动两相4线步进电机驱动 前段时间在出去买东西的时候经过一个废品收购站,看到一位阿姨正在从一台什么机器上面拆零件。具体是什么机器我也不认识,我突然看到她拆下来一个圆圆的东西,走进一看原来是一个电机,有四根线,我当时想肯定是一个步进电机。虽然年份久远但是质量看起来还不错,我当时就很喜欢。问阿姨这个多少钱我想买下来。阿姨说十块钱,一分也不能少。没有办法我就发十块钱买下这个“铁块子“!由于时间的关系一直没有机会折腾。今天有点时间所以就拿出来研究一下。 经过测量这是一个两项四线的步进电机,步进角为1.8度。有两种工作方式。一种是4拍的方式,一种是8拍的方式,4拍
2、方式的时序如下: a 和b 表示反向电流。 ab ab ab ab 为一个转向。 ab ab ab ab 为反向。 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;/
3、#include;/#include;/#include ;#include ;/定义关键字方便使用#define uchar unsigned char#define uint unsigned int#define ulong unsigned long/*sbit p10=P10;/第一组电机sbit p11=P11;sbit p12=P12;/第一组使能sbit p13=P13;/第二组电机sbit p14=P14;sbit p15=P15;/第二组使能*/uchar step=0x25,0x2d,0x2c,0x2e,0x26,0x36,0x34,0x35;/时序参数表/* 延时函数 *函数原型: void delay(void)*函数功能:延时函数*输入参数:无*输出参数:无*备注说明:*/void delay(void) unsigned char a,b,c; for(c=18;c;0;c-) for(b=19;b;0;b-) for(a=23;a;0;a-); /* 主函数 *函数原型:main()*函数功能:*输入参数:无*输出参数:无*备注说明:完成程序的主要功能*/main()unsigned char c;while(1) /主循环 for(c=0;c 步进电机驱动板 控制板 组装整体