用STM32写的一个关于TB6560模块的程序,只能实现单方向的旋转,求助

2019-08-18 20:41发布

具体程序如下 我就给一个高低去控制CW引脚 没用CW的IO口初始化我用LED口的初始化,求告知怎么问题?

#include "stm32f10x.h"
#include "pwm.h"
#include "delay.h"
#include "LED.h"
#include "TIM4.h"
#include "KEY.h"
void Zheng(int pwm);
void Fan(int pwm);


int  main()
{       
        LED_Init();
        delay_init();         
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);       
        TIM3_PWM_Init();
        KEY_Init();

        while(1)
        {       
                        Zheng(800);//此处换成Fan(800)方向依然和正转的方向一样
        }
}
/*************电机正转**************/
void Zheng(int pwm)
{
  TIM_SetCompare1(TIM3,pwm);
GPIO_SetBits(GPIOD,GPIO_Pin_2);        
}

/*************电机反转**************/
void Fan(int pwm)
{
  TIM_SetCompare1(TIM3,1000-pwm);
        GPIO_ResetBits(GPIOD,GPIO_Pin_2);        
}



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
9条回答
rong212121
2019-08-19 10:37
1: 就像原子说的  硬件上检测  方向端检查下
2:接线是否正确      使能- 、方向-、脉冲-、接控制板的IO口  ,使能+、方向+、脉冲+ 接板子VCC  ,如果公共端没接好,确实只能1个方向转的
3:如果以上自己的程序和硬件接线 都正确的,那么也应该考虑驱动器的问题   基本大部分的驱动器可以驱动的 ,但是也有极少数的驱动器 就是有问题
     我之前这个问题也遇到过的  只能1个方向转 ,后来是 中间加了 达林顿放大来增加IO驱动能力(这个驱动器太奇葩,但是真的好几人遇到)

一周热门 更多>