51单片机控制二相四线步进电机

步进电机按定子上绕组来分,有二相、三相和五相等系列。最受欢迎的是两相混合式步进电机,约占97%以上的市场份额,其原因是性价比高,配上细分驱动器后效果良好。该种电机的基本步距角为1.8°/步,配上半步驱动器后,步距角减少为0.9°,配上细分驱动器后其步距角可细分达256倍(0.007°/微步)。由于摩擦力和制造精度等原因,实际控制精度略低。同一步进电机可配不同细分的驱动器以改变精度和效果。
此篇文档以二相四线制步进电机演示
一、 效果演示
在这里插入图片描述

二、 单片机程序
写程序之前,先把前提工作做好了,本次用的是STC89C52RC芯片(用别的也行,改一下头文件),keil软件和烧写软件以及主板驱动CH340程序。
程序解读:
A:
1.0引脚是脉冲引脚
1.1引脚是使能引脚
1.2引脚是方向引脚
2.0引脚控制电机正转
2.1引脚控制电机反转
2.2引脚控制电机加速
2.3引脚控制电机减速
2.4引脚控制电机停止
2.5引脚控制电机步距角加
2.6引脚控制电机步距角减
2.7引脚控制电机以一定步距角转动

sbit CLK  = P1^0;
sbit ENA  = P1^1; 
sbit DIR  = P1^2;		   

sbit P_TS  = P2^0;	      
sbit N_TS  = P2^1;		  
sbit P_ADJ = P2^2;         
sbit N_ADJ = P2^3;         
sbit StopStart  = P2^4;	   
sbit P_Step = P2^5;
sbit N_Step = P2^6;
sbit SS_Step = P2^7;

B:
初始化电机;调用定时器,初始化定时器;调用键控扫描程序

void main()
{
   
   
	ENA=1;
	CLK=0;
	DIR=0;		   
	Init_time();   
	while(1)
	{
   
   
		Key_scan();
	}	
}

C:
初始化定时器,给T0装初值,打开中断

void main()
评论 30
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值