您的当前位置:首页STK672-040步进电机驱动器设计资料

STK672-040步进电机驱动器设计资料

2021-07-24 来源:小侦探旅游网


【简要说明】

一、 尺寸:长86mmX宽50mmX高35mm

二、 主要器件:STK672-040四相步进电动机驱动器 电压:输入电源直流5V ,控制电压由负载电机决定 电流:最大输出电流2.2A 三、 特点:

1、接线方式简单。

2、可由单片机直接控制。 3、抗干扰能力强

4、大散热片散热效率高

5、可单独控制一台四相步进电机 6、可以实现最高16细分

7、外部连线采用旋转压接端子,使接线更牢固。

适用场合:单片机学习、电子竞赛、产品开发、毕业设计。。。 注意啦:本产品提供例程。

【标注图片】

1

【原理图】

【步进电机测试程序】

说明:以AT89S52单片机控制单元,C语言编程! 【接线图】

2

【测试程序】

/******************************************************************** 汇诚科技

实现功能:STK672-040四相步进电机驱动测试程序 使用芯片:AT89S52 或者 STC89C52 晶振:11.0592MHZ 编译环境:Keil 作者:zhangxinchun 淘宝店:汇诚科技

*********************************************************************/ /******************************************************************** 程序说明:

当单片机P2.0口得到一个低电平信号时,步进电机正转; 当单片机P2.1口得到一个低电平信号时,步进电机反转; 当单片机P2.2口得到一个低电平信号时,步进电机加速运转; 当单片机P2.3口得到一个低电平信号时,步进电机减速运转;

*********************************************************************/

#include

#define uchar unsigned char #define uint unsigned int uchar Y=10; //初始化速度

/******************************************************** 控制位定义

********************************************************/

sbit shi_neng=P1^0; // 使能控制位

3

sbit fang_xiang=P1^1;// 旋转方向控制位 sbit mai_chong=P1^2; // 脉冲控制位

sbit zheng_zhuan=P2^0; // 正转 sbit fan_zhuan=P2^1; // 反转 sbit jia_su=P2^2; // 加速 sbit jian_su=P2^3; // 减速

/******************************************************** 延时函数

********************************************************/ void delay(uchar i)//延时函数 {

uchar j,k;

for(j=0;j/******************************************************** 加速函数

********************************************************/ void jia() {

Y=Y-1;

if(Y<=1){Y=1;}//如果速度值小于等于1,值保持不变 }

/******************************************************** 减速函数

********************************************************/ void jian() {

Y=Y+1;

if(Y>=100){Y=100;} }

/******************************************************** 主函数

********************************************************/

main() {

shi_neng=0; // 使能控制位

4

fang_xiang=1;// 旋转方向控制位 mai_chong=1; // 脉冲控制位 while(1) {

if(zheng_zhuan==0){shi_neng=1;fang_xiang=1;} if(fan_zhuan==0){shi_neng=1;fang_xiang=0;} if(jia_su==0){delay(10);while(!jia_su);jia();} if(jian_su==0){delay(10);while(!jian_su);jian();}

mai_chong=~mai_chong; //输出时钟脉冲

delay(Y); //延时(括号内数值越小,电机转动速度越快) } }

/******************************************************** 结束

********************************************************/

【图片展示】

5

6

7

8

因篇幅问题不能全部显示,请点此查看更多更全内容