打印
[电机及执行机构驱动]

STM32F103六路互补主从控制BLDC,电机一直有噪声?

[复制链接]
3113|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
brfanke|  楼主 | 2014-10-15 18:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
brfanke|  楼主 | 2014-10-15 18:08 | 只看该作者
           SystemInit();

/* 使能GPIO(A~C)|ADC1|USART1 时钟 */
RCC_APB2PeriphClockCmd(   RCC_APB2Periph_GPIOA
                                                | RCC_APB2Periph_GPIOB
                                                    | RCC_APB2Periph_GPIOC
                                                | RCC_APB2Periph_AFIO
                                                | RCC_APB2Periph_TIM1
//                                                        | RCC_APB2Periph_USART1
                                                , ENABLE );
//         RCC_APB1PeriphClockCmd(  RCC_APB1Periph_USART2
//                                                         , ENABLE );
/******************CAN时钟使能**************************/
//        RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1, ENABLE);
RCC_APB1PeriphClockCmd(   RCC_APB1Periph_TIM3
                                                | RCC_APB1Periph_USART2
//                                                        | RCC_APB1Periph_TIM4
                                                , ENABLE);

  NVIC_Configuration();           //中断向量配置
   GPIO_Configuration();           //GPIO配置
   Tim1_Configuration();           //PWM控制
   Timer2_Configuration();  //定时器配置

   while(1)       
   {

   TIM1->SMCR|=0x0006;        //开TIM1的输入触发       
   TIM1->DIER=0x0040;         //开TIM1的触发中断
  irq_zhuanzi=(u8)((GPIOA->IDR&0x00000007));        //读转子位置

                                                                 //正转
    switch(irq_zhuanzi)                                 //根据转子位置,决定CCER输出相位和转子字偏移量
    {
          case 0x05:{                                                                                                                  
                                    TIM1->CCER=0x3081;//1,4    ba
                            };break;
          case 0x01:{
                                  TIM1->CCER=0x3180;        //4,5           bc                 
                    };break;                                                       
      case 0x03:{
                                  TIM1->CCER=0x3108;        //2,5    ac
                            };break;
          case 0x02:{  
                                  TIM1->CCER=0x3018;        //2,3            ab                     
                    };break;
          case 0x06:{
                                  TIM1->CCER=0x3810;        //3,6            cb                     
                    };break;
          case 0x04:{
                                    
                                  TIM1->CCER=0x3801;    //1,6          ca                       
                    };break;
                                default:
                                    break;
           }
          TIM2->CR1|=0x0001;                  //开TIM2
      TIM2->DIER|=0x0050;                  //开TIM2中断  
   }                            
          
}

使用特权

评论回复
板凳
john78| | 2014-10-18 15:22 | 只看该作者
提高载波频率

使用特权

评论回复
地板
szhxwtc| | 2014-11-2 16:31 | 只看该作者
载波频率不够,这个程序试过,频率可以到100K正常运行

使用特权

评论回复
5
NoTCsmile| | 2015-3-23 14:11 | 只看该作者
mark

使用特权

评论回复
6
mmuuss586| | 2015-3-26 21:15 | 只看该作者

方波驱动是有点声音的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

9

帖子

0

粉丝