两相四线步进电机的驱动

说明:STM32、L298、TB6612、步进电机。 
一:L298驱动步进电机 
1.关于L298 
原理:电机驱动模块内部有H桥的电路,包括4个三极管和1个电机,要使电机运转,必须导通对角线上的一对三极管。根据不同三极管对的导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机的转向。

L298 
内部电路 
电路框图

内部电路旨在理解双h桥电路。 
由图可知,L298内部两个双H桥电路分别由4个NPN三极管、四个门电路组成,在驱动直流电机时分别控制两个电机的正反转,驱动步进电机时由给出的双绕组脉冲控制一个步进电机的正反转。

2.驱动一个步进电机接线方式: 
IN1 IN2 IN3 IN4接开发板的四个管脚,用于给出脉冲; 
两相四线步进电机中的红绿黄蓝分别接L298的OUT1 OUT2 OUT3 OUT4; 
+5V接开发板的5V,12V接外接电源,GND接外接电源GND,用于给驱动模块以及电机供电,电压不够可能出现电机抖动但是不转动的情况; 
ENA ENB 板载5V等分别用跳接帽短接。 
至此完成接线工作。 
3.节拍部分,二相四线可使用4、8节拍 
正转: 
(1)四拍:A 1000,A- 0010,B 0100,B- 0001. 
(2)八拍:A 1000,AA- 1010,A- 0010,A-B 0110,B 0100,BB- 0101,B- 0001,B-A 1001. 
反转均逆序。 
4.电机固有步距角: 它表示控制系统每发一个步进脉冲信号,电机所转动的角度。 
步距角=360/(转子齿数*节拍数); 
5.步进电机有速度控制与角度控制 
速度控制:步进电机的转速取决于脉冲频率、转子齿数和拍数。其角速度与脉冲频率成正比,而且在时间上与脉冲同步。因而在转子齿数和运行拍数一定的情况下,只要控制脉冲频率即可获得所需速度。在设计代码时,可以通过设置了两个脉冲之间的延时从而改变速度。 
角度控制:通过控制脉冲可以转出想要的角度。 
6.代码部分: 
初始化,STM32开发板GPIOA,PIN0,PIN1,PIN2,PIN3.

void MOTOR_Init(void)
{
  RCC->APB2ENR|=1<<2;
  GPIOA->CRL&=0xffff0000;
  GPIOA->CRL|=0x00003333;
}

节拍(8):

//第一拍
  AIN1_1=1;
  AIN1_2=0;
  BIN1_1=0;
  BIN1_2=0;
  delay_us(2500);
  //第二拍
  AIN1_1=1;
  AIN1_2=0;
  BIN1_1=1;
  BIN1_2=0;
  delay_us(2500);
  //第三拍
  AIN1_1=0;
  AIN1_2=0;
  BIN1_1=1;
  BIN1_2=0;
  delay_us(2500);
 //第四拍
  AIN1_1=0;
  AIN1_2=1;
  BIN1_1=1;
  BIN1_2=0;
  delay_us(500);
    //第五拍
  AIN1_1=0;
  AIN1_2=1;
  BIN1_1=0;
  BIN1_2=0;
  delay_us(2500);
  //第六拍
  AIN1_1=0;
  AIN1_2=1;
  BIN1_1=0;
  BIN1_2=1;
  delay_us(2500);
  //第七拍
  AIN1_1=0;
  AIN1_2=0;
  BIN1_1=0;
  BIN1_2=1;
  delay_us(2500);
 //第八拍
  AIN1_1=1;
  AIN1_2=0;
  BIN1_1=0;
  BIN1_2=1;
  delay_us(2500);

针对于节拍的控制比起对一个周期的控制可以相对精确一些。


TB6612驱动步进电机 
内容说明:其他部分参考上面的内容,主要注意使用TB6612时的接线方式。 
GND PWMA 
VCC AIN2 
AO1 AIN1 
AO2 NC 
BO2 BIN1 
BO1 BIN2 
VM PWMB 
GND GND

GND接地; 
PWMA、PWMB接5V; 
AO1、AO2、BO1、BO2分别接步进电机的红绿黄蓝; 
AIN1、AIN2、BIN1、BIN2分别接开发板的相应管脚,一一对应; 
VM、GND接外接电源; 
NC可以悬空。

对原理以及接线方式理解之后,主要是针对具体问题设计的算法,充分利用模块的相应功能设计出功能完整的代码对基础和经验的要求较高。

  • 5
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值