码迷,mamicode.com
首页 > 其他好文 > 详细

电机加减速转动

时间:2017-08-22 13:55:37      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:tim4   ==   clock   nbsp   mode   重装   out   channel   映射   

控制电机的加减速,那就要用到pwm的初始化。也就是控制L298N的使能引脚。

 1      GPIO_PinRemapConfig(GPIO_Remap_TIM4, ENABLE); //Timer完全映射  TIM4_CH3->PD14  
 2    
 3     
 4     TIM_TimeBaseStructure.TIM_Period = arr; //重装载
 5     TIM_TimeBaseStructure.TIM_Prescaler =psc;  //预分频
 6     TIM_TimeBaseStructure.TIM_ClockDivision = 0; //时钟分割
 7     TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //向上计数  
 8     TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure); 
9 10 //初始化TIM4_channel3 pwm模式 11 TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2; 12 TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;//比较输出使能 13 TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; //输出极性 14 TIM_OC3Init(TIM4, &TIM_OCInitStructure); //通道3的初始化 15 16 TIM_OC3PreloadConfig(TIM4, TIM_OCPreload_Enable); 17 18 TIM_Cmd(TIM4, ENABLE);

还有IN1,IN2,IN3, IN4。  如果是使能1,就控制IN1和IN2。如果不是,这相反。

假设pwm控制使能1。则IN1,IN2就控制电机的转动方向。利用两个GPIO口就行了。

1     void JD_set(u8 x,u8 y)
2 {
3     JD1=x;
4     JD2=y;
5 } 

可以在主函数中写一个函数,然后再USMART中调用,之后就可以在串口调试助手上直接控制电机的转动方向。

 1     void JD_set(u8 x,u8 y)
 2 {
 3     JD1=x;
 4     JD2=y;
 5 } 
 6 
 7  int main(void)
 8  {        
 9     u32 temp=0;
10      u16 pwmval=0;
11     u8 dir=1;    
12     usmart_dev.init(SystemCoreClock/1000000); //72HZ
13     delay_init(); 
14     NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);      
15     uart_init(115200);    //串口波特率
16      LED_Init();             
17   //  TIM8_Cap_Init(0XFFFF,72-1); 
18     JD_Init();
19      TIM4_PWM_Init(899,0);    //72MHZ/(899+1)=80KHZ
20 
21        while(1)
22     {
23         
24         
25                     delay_ms(10);     
26           if(dir)pwmval++;
27             else pwmval--;
28 
29             if(pwmval>899)dir=0;
30             if(pwmval==0)dir=1;                                         
31             TIM_SetCompare3(TIM4,pwmval);    
32     }
33 }    

这样电机就能加速减速了

 实物图:

技术分享

电机加减速转动

标签:tim4   ==   clock   nbsp   mode   重装   out   channel   映射   

原文地址:http://www.cnblogs.com/zengsf/p/7411089.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!