你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm8s 电机控制H桥载波控制问题

[复制链接]
swg1991 提问时间:2016-4-20 17:26 /
   用stm8  的tim1   6通道互补带死区控制直流无刷电机 程序如下

     TIM1_PSCRH = 0x00;  // 16M系统时钟经预分频f=fck/(PSCR+1)    分频
      TIM1_PSCRL = 0x00;  //  系统时钟分频时间                   分频
      TIM1_ARRH = 0x03;  //                  
      TIM1_ARRL = 0x20;  // 记800次系统时钟分频时间后翻转 。  设置是20kHZ  中央对其后输出是10k载波
      
      TIM1_CCMR1=0x68;  // PWM1模式,TIM1_CNT<TIM1_CCR1时有效,否则无效
      TIM1_CCMR2=0X68;
      TIM1_CCMR3=0X68;
  
      TIM1_DTR=0X31;    // 死区时间,3us
      TIM1_CR1=0x60;   // 计数器使能,开始计     中央对其  
      TIM1_BKR=0X80;   // 设置刹车寄存器
      TIM1_CR1_CEN=1; //开定时器

下面是通道记性设置
void pwm_h_l(void)             //复位PWM电平
  {
      TIM1_CCER1_CC1P=1;        //可以输出1  Q1
      TIM1_CCER1_CC1NP=1;        //可以输出1 Q4
      TIM1_CCER1_CC2P=1;        //可以输出1  Q2
      TIM1_CCER1_CC2NP=1;        //可以输出1 Q5
      TIM1_CCER2_CC3P=1;        //可以输出1  Q3
      TIM1_CCER2_CC3NP=1;        //可以输出1  Q6
      TIM1_EGR_COMG=1;         //允许事件更新   
}
void DisAllPwmOut(void)       // 使能输出
{
      TIM1_CCER1_CC1E=1;       // Q1
      TIM1_CCER1_CC1NE=1;      //Q4
      TIM1_CCER1_CC2E=1;       //Q2
      TIM1_CCER1_CC2NE=1;     //Q5
      TIM1_CCER2_CC3E=1;     //Q3
      TIM1_CCER2_CC3NE=1;    //Q6
      TIM1_EGR_COMG=1;        //允许事件更新
}
  中断程序

void IN_PUANDUAN(void)       //电机控制IGBT流程
{
if(QD.motro_EN!=1)
  {
          if(IN_MA==IN_010)     // 假设 0度  
            {      
              TIM1_CCER1_CC1E=0;           //q1
              TIM1_CCER2_CC3E=0;          //q3
              TIM1_CCER1_CC1NE=0;      //Q4
              TIM1_CCER1_CC2NE=0;     //Q5   
     /**********************************/
              TIM1_CCER2_CC3NE=1;    //Q6
              TIM1_CCER1_CC2E=1;  //Q2
            }else
              
          if( IN_MA==IN_110)              //30 度
            {
              TIM1_CCER2_CC3NE=1;    //Q6
              TIM1_CCER1_CC2E=0;    //Q2
              TIM1_CCER1_CC1E=1;    //Q1
            }else
              
         if(IN_MA==IN_100)                // 60度
              {   
              
               TIM1_CCER1_CC2E=0;         // Q2
               TIM1_CCER2_CC3E=0;        //  Q3
               TIM1_CCER2_CC3NE=0;    //Q6
               TIM1_CCER1_CC1NE=0;      //Q4
       /**************************************/
               TIM1_CCER1_CC2NE=1;     //Q5
               TIM1_CCER1_CC1E=1; //q1  
  
            }else
        
           if(IN_MA==IN_101)         //90 度
            {
               TIM1_CCER1_CC2NE=1;     //Q5
               TIM1_CCER1_CC1E=0; //q1
               TIM1_CCER2_CC3E=1; //q3         
            }else
            
           if(IN_MA==IN_001)            //120度
             {
            
                TIM1_CCER1_CC2E=0;
                TIM1_CCER1_CC1E=0;         //Q1
                TIM1_CCER1_CC2NE=0;     //Q5
                TIM1_CCER2_CC3NE=0;    //Q6
          /********************************/
                TIM1_CCER1_CC1NE=1;      //Q4
                TIM1_CCER2_CC3E=1;        //Q3

            }else
            
              if(IN_MA==IN_011)             //150度
                {
                 TIM1_CCER1_CC1NE=1;      //Q4
                 TIM1_CCER2_CC3E=0;           //Q3
                 TIM1_CCER1_CC2E=1;           //Q2
                }else
                  
                 if(IN_MA==IN_000)
                  {
                  motor_stop();
             }   
       }
}
现在的问题是上管pwm控制正常,但是下管因为要给自举电容充电,所以下管pwm载波控制后出现充电不全现象
如果改为下管用io口恒通方式控制那么就不能用tim1中的互补死区功能,这样没有死区可能发生烧管现象!!
如果下管可以在一个霍尔信号中有io恒通————pwm——————io恒通  这样就解决了电容充电问题   ,但是请问怎么设置呢?



收藏 1 评论5 发布时间:2016-4-20 17:26

举报

5个回答
zcl201207 回答时间:2016-4-20 23:46:39
gujiamao 回答时间:2017-8-17 09:00:51
bangding!!!
小小超 回答时间:2017-8-17 09:33:17
一般用 上管PWM 下管H导通好控制一些。用专业的驱动芯片也不会说同时上下管导致,如 IRxxxx系列,自动产生死区时间。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

无薪税绵 回答时间:2017-8-17 15:31:33
按楼主的设想,就不是PWM效果了。
个人感觉应该是改变下管的自举电容的充电时间,
使其充电速度加快,就可以避免烧管了。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

sssdd 回答时间:2017-8-18 14:48:07
你应该要在控制里加入对下管最小导通时间的限制。
让每周期下管都能通那么一点时间。
不就解了?

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版