当前位置:   article > 正文

TB6612驱动电机_tb6612stby

tb6612stby

一、连线

PWMA---连接程序中的端口                                      VM------连接高电平

AIN2-----连接高电平(1)                                        VCC-----连接VCC

AIN1-----连接低电平(0)                                        GND-----接地

STBY----连接VCC                                                     A01-----连接电机1

BIN1---  连接低电平(0)                                         A02-----连接电机1

BIN2---- 连接高电平(1)                                         B2------连接电机2

PWMB---连接程序中的端口                                      B1------连接电机2

GND-----接地                                                           GND----接地

 

二、TB6612芯片引脚图

三、TB6612原理

  STBY口接单片机的IO口清零电机全部停止,置1通过AIN1,AIN2,BIN1,BIN2控制电机的正反转

VM(4.5~15 V)和VCC(2.7~5.5 V)

四、PWM简介

  脉冲宽度调制 (PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用
微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。
 
  
 

    假定定时器工作在向上计数PWM模式,且当CNT<CCRx时,输出为0,当CCRx>=CCRx时,输出为1.

    所以可以得到如上的IO逻辑示意图:当CNT值小于CCRx的时候,IO输出低电平(0),当CNT>=CCRx的时候,IO输出高电平(1),当CNT达到ARR值的时候,重新归零,然后重新向上计数,依次循环。

    

 

五、直流电机的驱动

  关于直流电机的驱动,代码如下:

  1. void TIM1_PWM_Init(u16 arr,u16 psc)
  2. {
  3. RCC->APB1ENR|=1<<2; //TIM4时钟使能
  4. RCC->APB2ENR|=1<<3;
  5. GPIOB->CRL&=0X00FFFF00; //PB0 1 6 7清除之前的设置
  6. GPIOB->CRL|=0X3B000033; //复用功能输出
  7. GPIOB->CRH&=0XFFFFFFF0; //PB8清除之前的设置
  8. GPIOB->CRH|=0X00000003; //复用功能输出
  9. TIM4->ARR=arr; //设定计数器自动重装值
  10. TIM4->PSC=psc; //预分频器设置
  11. TIM4->CCMR1|=6<<4; //CH1 PWM1模式
  12. TIM4->CCMR1|=1<<3; //CH1预装载使能
  13. TIM4->CCER|=1<<0; //OC1 输出使能
  14. //TIM4->BDTR|=1<<15; //MOE 主输出使能
  15. TIM4->CR1=0x0080; //ARPE使能
  16. TIM4->CR1|=0x01; //使能定时器1
  17. //TIM1
  18. RCC->APB2ENR|=1<<11; //TIM1时钟使能
  19. RCC->APB2ENR|=1<<2;
  20. GPIOA->CRH&=0XFFFFFFF0; //PA8清除之前的设置
  21. GPIOA->CRH|=0X0000000B; //复用功能输出
  22. TIM1->ARR=arr; //设定计数器自动重装值
  23. TIM1->PSC=psc; //预分频器设置
  24. TIM1->CCMR1|=6<<4; //CH1 PWM1模式
  25. TIM1->CCMR1|=1<<3; //CH1预装载使能
  26. TIM1->CCER|=1<<0; //OC1 输出使能
  27. TIM1->BDTR|=1<<15; //MOE 主输出使能
  28. TIM1->CR1=0x0080; //ARPE使能
  29. TIM1->CR1|=0x01; //使能定时器1
  30. }
  31. void Go_Straight(int left,int right)
  32. {
  33. LEFT_PWM_VAL=left; //250
  34. RIGHT_PWM_VAL=right; //270
  35. GPIOB->ODR|=1<<0; //PB0 1
  36. GPIOB->ODR&=~(1<<1); //PB1 0
  37. GPIOB->ODR|=1<<7; //PB7 1
  38. GPIOB->ODR&=~(1<<8); //PB8 0
  39. }
  40. void Stop(void)
  41. {
  42. GPIOB->ODR&=0<<0;
  43. GPIOB->ODR&=0<<1;
  44. GPIOB->ODR&=0<<7; //PB7 0
  45. GPIOB->ODR&=0<<8; //PB8 0
  46. }

 

 

 

 

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/624199
推荐阅读
相关标签
  

闽ICP备14008679号