求助~无刷电机电调给入PWM后 还是无法驱动。

2019-08-19 19:35发布

我买了套 无刷电机+电调
老板说 50Hz + 1-2ms 电平 就能驱动,为什么我写入后还是没反应。



白 {MOD}我接的TIM3 CH1口。  A6

void PWM_Config(){
   TIM_TimeBaseInitTypeDef timeBaseStance;
   TIM_OCInitTypeDef ocStance;

   TIM_DeInit(TIM3);
   timeBaseStance.TIM_Period = 20;
  timeBaseStance.TIM_Prescaler = 0;
  timeBaseStance.TIM_CounterMode = TIM_CounterMode_Up;
  timeBaseStance.TIM_ClockDivision = TIM_CKD_DIV1;

  TIM_TimeBaseInit(TIM3,&timeBaseStance);

  ocStance.TIM_OCMode = TIM_OCMode_PWM1;    
  ocStance.TIM_OutputState = TIM_OutputState_Enable;
  ocStance.TIM_Pulse = 1;
TIM_OC1Init(TIM3, &ocStance);

TIM_OC1PreloadConfig(TIM3, TIM_OCPreload_Enable);
TIM_ARRPreloadConfig(TIM3,ENABLE);
TIM_Cmd(TIM3,ENABLE);
}

void GPIO_Config(){

GPIO_InitTypeDef GPIO_InitStructure;
GPIO_DeInit(GPIOA);
GPIO_AFIODeInit();

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 |GPIO_Pin_7;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP ; 
GPIO_Init(GPIOA, &GPIO_InitStructure);


}
其他时钟已经开启。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
39条回答
009dsa
1楼-- · 2019-08-20 09:11
回复【6楼】telentmmc:
---------------------------------
白 {MOD}信号线  跟红 {MOD}5V接一起??
telentmmc
2楼-- · 2019-08-20 14:53
猜应该是这样的,因为白 {MOD}是PWM端信号,直接拉高的话就是100%。还有就是要确认STM32的PWM输出信号是不是3.3V的(我没确认过),然后3.3V的信号能否驱动得了。
009dsa
3楼-- · 2019-08-20 18:58
直接拉高回复【8楼】telentmmc:
---------------------------------
直接拉高应该驱动不了,  那老板说 1-2ms的电平才可以驱动.
telentmmc
4楼-- · 2019-08-21 00:49
回复【9楼】009dsa:
---------------------------------
不太清楚你这个调速的原理。是50Hz定频率改变占空比调速,还是定占空比改变频率调速,又或者是这只是一个驱动不能调速?我上面的猜想是基于第一种情况的。
随风灬而逝
5楼-- · 2019-08-21 03:34
 精彩回答 2  元偷偷看……
009dsa
6楼-- · 2019-08-21 07:36
回复【11楼】随风灬而逝:
---------------------------------
我上面贴的程序代码有问题吗?帮忙看看,如果没有. 我就再找下接线的问题.

一周热门 更多>