DRV8711 采用4路PWM驱动的方式 是不是和DRV8841一样 或者是如何
有例子可以参考吗 搞了很久没搞出来
Alvin Zheng:
因为DRV8711和DRV8841真值表不同。请仔细阅读规格书。
castle motou:
回复 Alvin Zheng:
能给个让电机转的例子吗 或者简要的说下如何去做
castle motou:
回复 castle motou:
void TIM3_IRQHandler(void){ static unsigned short astep=0; static unsigned short bstep=0; static unsigned short step=0; if(TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET) {
step=step+1; if(step>=1) { step=0; astep=astep+1; bstep=astep+256; astep=astep %1024; bstep=bstep %1024; } switch(astep/256) { case 0: TIM3->CCR4=table1[astep];//a1 TIM3->CCR3=0; //a2 TIM3->CCR2=table1[bstep];//b1 TIM3->CCR1=0; //b2 break; case 1: TIM3->CCR4=table1[astep]; TIM3->CCR3=0; TIM3->CCR2=0; TIM3->CCR1=table1[bstep]; break; case 2: TIM3->CCR4=0; TIM3->CCR3=table1[astep]; TIM3->CCR2=0; TIM3->CCR1=table1[bstep]; break; case 3: TIM3->CCR4=0; TIM3->CCR3=table1[astep]; TIM3->CCR2=table1[bstep]; TIM3->CCR1=0; break; }
TIM_ClearITPendingBit(TIM3, TIM_IT_Update); }
}
castle motou:
回复 castle motou:
TIM3->CCR4=table1[astep];//a1 输出PWM
TIM3->CCR3=0; //a2 输出低电平
table1[bstep] 是256细分 两个0到180度 的表 共1024个数据