RoboMaster
标题:
关于官方提供的地盘电机驱动板的问题
[打印本页]
作者:
快乐的小2B
时间:
2015-6-11 21:07
标题:
关于官方提供的地盘电机驱动板的问题
官方给的板子。没有保护好像。。有的时候会烧板子。。我也正在研究原因。。知道的大神多多指教。。
这是我写的程序。。共享出来。。请各位大神给看看。。有没有什么原则性的问题。谢谢啦。
#include "main.h"
int motor_state=1;
short motor_speed=0;
//PA8----EN
//PA9----PWM---TIM1_CH2
//PA10---EN
//PA11---PWM---TIM1_CH4
//试试9,10 一对 8,11,一对
//TIM1->CCER=0<<4; ch2
//TIM1->CCER=0<<12; ch4
/*************************************************************************
PWM初始化
*************************************************************************/
void motor_data_deal(int value)
{
if(value!=0)
{
if(value>0)
{
motor_speed=value;
motor_state=2;
}
else
{
motor_speed=-value;
motor_state=0;
}
}
else
{
motor_speed=0;
motor_state=1;
}
}
void MOTOR_RUN( char state ,short speed)
{
// GPIO_ResetBits(GPIOA,GPIO_Pin_8);
//GPIO_ResetBits(GPIOA,GPIO_Pin_10);
if(state!=1)
{
if(state>1)
{
GPIO_ResetBits(GPIOA,GPIO_Pin_10);//10
GPIO_ResetBits(GPIOA,GPIO_Pin_8);//8
TIM1->CCER=0<<4; //ch2
TIM1->CCER=0<<12; //ch4
TIM1->CCR2=(uint16_t)5000-speed;//9 pwm
TIM1->CCER=1<<4; //ch2
GPIO_SetBits(GPIOA,GPIO_Pin_10);//8
}
else
{
GPIO_ResetBits(GPIOA,GPIO_Pin_8);//10
GPIO_ResetBits(GPIOA,GPIO_Pin_10);//8
TIM1->CCER=0<<4; //ch2
TIM1->CCER=0<<12; //ch4
TIM1->CCR4=(uint16_t)5000-speed;//9 pwm
TIM1->CCER=1<<12; //ch4
GPIO_SetBits(GPIOA,GPIO_Pin_8);//8
}
}
else
{
TIM1->CCER=0<<4; //ch2
TIM1->CCER=0<<12; //ch4
TIM1->CCR2=0;
TIM1->CCR4=0;
GPIO_ResetBits(GPIOA,GPIO_Pin_8);
GPIO_ResetBits(GPIOA,GPIO_Pin_10);
}
}
作者:
DarkPatio
时间:
2015-6-12 00:36
换向插点延时。。。nop几下
作者:
快乐的小2B
时间:
2015-6-12 18:48
DarkPatio 发表于 2015-6-12 00:36
换向插点延时。。。nop几下
哦哦,延时会有多大作用呢?
作者:
DarkPatio
时间:
2015-6-12 23:25
我们没烧过
作者:
快乐的小2B
时间:
2015-6-14 23:00
DarkPatio 发表于 2015-6-12 23:25
我们没烧过
哦哦。。那我们试试去。
欢迎光临 RoboMaster (https://bbs.robomaster.com/)
Powered by Discuz! X3.2