搜索
bottom↓
回复: 18

菜鸟求教!STM32的TIM1控制无刷直流电机

[复制链接]

出0入0汤圆

发表于 2013-1-24 17:30:40 | 显示全部楼层 |阅读模式
为什么HALL信号的六种状态对应 CCER寄存器被配置成8 0 1 的组合?我的理解是8 0 1 为 1000 0000 0001这样组合的话,四位控制OCx和OCxN的输出使能以及极性,但是这8 0 1表示的只有一个0001可以使能某一个OCx,其他的OCx和OCxN都被禁止输出了,这如何达到每一时刻两个管子导通? 但是好几个例程都是这三个数的组合,是不是我哪里理解错了?请教各位,谢谢啦~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

 楼主| 发表于 2013-1-24 18:29:45 | 显示全部楼层
啊啊啊 在线等。。。

出0入0汤圆

发表于 2013-1-24 19:17:22 | 显示全部楼层
guodan033 发表于 2013-1-24 18:29
啊啊啊 在线等。。。

没有看出问题呀。人家就是一个通道是PWM,另外一个通道是逻辑电平。就应该是这样配置。

出0入0汤圆

 楼主| 发表于 2013-1-25 00:04:22 | 显示全部楼层
tiancaigao7 发表于 2013-1-24 19:17
没有看出问题呀。人家就是一个通道是PWM,另外一个通道是逻辑电平。就应该是这样配置。 ...

我理解的如下图,麻烦看看是理解有误吗?我总觉得8是无效的,它已经禁止了,设置极性有什么意义?麻烦您了,折磨我好几天的问题了。。。。PS:我是用STM32的TIM4采集霍尔信号配合TIM1完成PWM波生成,驱动IR2130,控制无刷直流电机!现在的问题是,有的霍尔状态时不启动,我感觉是对应的CCER配置有问题,程序时用的别人的例程,里面就是六种霍尔信号对应配置CCER寄存器为3801数字的各种组合,我想弄明白这个3801是怎么来的?谢谢您~~~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2013-1-25 00:49:08 | 显示全部楼层
直接用软件仿真一下不就是到8是什么波形了吗,我用IR2103驱动,这个奇葩上桥驱动要这种波形,到现在还没找到,郁闷中

出0入0汤圆

发表于 2013-1-25 08:18:03 | 显示全部楼层
guodan033 发表于 2013-1-25 00:04
我理解的如下图,麻烦看看是理解有误吗?我总觉得8是无效的,它已经禁止了,设置极性有什么意义?麻烦您 ...

回去自己看手册,看看禁止输出后引脚输出什么极性的电平。这里告诉你,禁止之后,会输出无效电平。因此如果你将有效电平设定成低电平,那么在禁止之后就会输出高电平(无效电平)。剩下的事情应该不需要我再解释了吧?

出0入0汤圆

 楼主| 发表于 2013-1-25 22:20:50 | 显示全部楼层
tiancaigao7 发表于 2013-1-25 08:18
回去自己看手册,看看禁止输出后引脚输出什么极性的电平。这里告诉你,禁止之后,会输出无效电平。因此如 ...

噢噢噢!明白了!还是没有认真看手册~~ 谢谢您~非常感谢~~

出0入0汤圆

发表于 2013-3-19 22:02:43 | 显示全部楼层
6楼正解~

出0入0汤圆

 楼主| 发表于 2013-3-20 10:56:10 | 显示全部楼层
PilgrimYuan 发表于 2013-3-19 22:02
6楼正解~

嗯 是 非常感谢你~

出0入0汤圆

发表于 2013-3-20 12:52:58 | 显示全部楼层
楼主 历程 可以发个给我吗

出0入0汤圆

发表于 2013-3-20 14:37:03 | 显示全部楼层
tiancaigao7 发表于 2013-1-24 19:17
没有看出问题呀。人家就是一个通道是PWM,另外一个通道是逻辑电平。就应该是这样配置。 ...

你好 可以帮我解释下吗?

psc 7200分频 Tcnt=100us   匹配值 设为40000   匹配时间就为4s

使能计数比较匹配功能,当计数至40000时,发生计数比较匹配事件,并因为开启了通道1匹配中断,此计数比较匹配事件将请求计数匹配中断,执行计数比较匹配中断服务程序

执行计数比较匹配中断服务程序,更新通道1更新匹配比较计数值为 “当前计数值+匹配比较计数递增值”为40000+40000=80000; 但定时器最大计数值仅为65535,则此处实际上更新比较匹配值为80000-65535=14465.

清除中断标志,中断返回,计数值继续从40000处向上计数值65535,再下一次计数时将发生一个计数值向上溢出事件(该事件会导致计数值重装载),但因为禁止了预装载寄存器,因此不会发生寄存器重装载) 计数值回归零 重新向上计数


计数至14465 再次发生匹配事件 一次循环

可以帮我解释下   匹配值 在下一次匹配 会变成14465?呢?

出0入0汤圆

发表于 2013-3-21 07:03:26 | 显示全部楼层
没有看明白到底有什么问题。你自己都已经解释了过程呀?

出0入0汤圆

发表于 2013-5-2 22:40:17 | 显示全部楼层
你好 有个工程吗?可以分享下吗?

出0入0汤圆

发表于 2013-5-11 12:00:46 | 显示全部楼层
guodan033 发表于 2013-3-20 10:56
嗯 是 非常感谢你~

你好 你这个做的怎样了呢?我也是用IR2130做 现在是不输出的老是保持低电平

出0入0汤圆

发表于 2013-5-11 14:19:44 | 显示全部楼层
guodan033 发表于 2013-1-24 18:29
啊啊啊 在线等。。。

为什么我设置输出极性 老是低电平 改来改去还不行

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2013-11-22 19:51:58 | 显示全部楼层
guodan033 发表于 2013-1-25 00:04
我理解的如下图,麻烦看看是理解有误吗?我总觉得8是无效的,它已经禁止了,设置极性有什么意义?麻烦您 ...

楼主,你好,你的例程可以发给我看看吗??我最近也在研究这个问题呢,谢谢哈!QQ:812506120

出0入0汤圆

发表于 2013-11-22 22:00:08 | 显示全部楼层
tiancaigao7 发表于 2013-1-25 08:18
回去自己看手册,看看禁止输出后引脚输出什么极性的电平。这里告诉你,禁止之后,会输出无效电平。因此如 ...

楼上好厉害呀,有点问题想向您请教一下,方便留个QQ吗??谢谢!!

出0入0汤圆

发表于 2014-3-16 16:59:41 | 显示全部楼层
tiancaigao7 发表于 2013-1-25 08:18
回去自己看手册,看看禁止输出后引脚输出什么极性的电平。这里告诉你,禁止之后,会输出无效电平。因此如 ...

一言惊醒梦中人

出0入0汤圆

发表于 2014-3-17 12:07:31 | 显示全部楼层
if(zheng_fan==RESET)
  {                                                                         //Õýת
    switch(irq_zhuanzi)                                 //¸ù¾Ýת×ÓλÖ㬾ö¶¨CCERÊä³öÏàλºÍת×Ó×ÖÆ«ÒÆÁ¿
    {
/*
          case 0x01:{                                                                                                                             
                                    TIM1->CCER=0x3081;    //1,4
                            };break;
          case 0x03:{
                                  TIM1->CCER=0x3180;        //4,5                            
                    };break;                                                       
            case 0x02:{
                                  TIM1->CCER=0x3108;        //2,5
                            };break;
          case 0x06:{
                                  TIM1->CCER=0x3018;        //2,3                                 
                    };break;
          case 0x04:{
                                  TIM1->CCER=0x3810;        //3,6                                 
                    };break;
          case 0x05:{
                                            
                                  TIM1->CCER=0x3801;    //1,6                                 
                    };break;
          default:break;  */
          //*
          case 0x05:{                                                                                                                             
                                    TIM1->CCER=0x3081;    //1,4
                            };break;
          case 0x04:{
                                  TIM1->CCER=0x3180;        //4,5                            
                    };break;                                                       
            case 0x06:{
                                  TIM1->CCER=0x3108;        //2,5
                            };break;
          case 0x02:{
                                  TIM1->CCER=0x3018;        //2,3                                 
                    };break;
          case 0x03:{
                                  TIM1->CCER=0x3810;        //3,6                                 
                    };break;
          case 0x01:{
                                            
                                  TIM1->CCER=0x3801;    //1,6                                 
                    };break;
          default:break;         //*/
    }  
  }
  else
  {                                                                         //·´×ª
        switch(irq_zhuanzi)                                 //¸ù¾Ýת×ÓλÖ㬾ö¶¨CCERÊä³öÏàλºÍת×Ó×ÖÆ«ÒÆÁ¿
    {
    //*
          case 0x01:{                                                                               
                                    TIM1->CCER=0x3810;
                            };break;
          case 0x05:{
                                  TIM1->CCER=0x3018;                                    
                    };break;                                                       
            case 0x04:{
                                  TIM1->CCER=0x3108;
                            };break;
          case 0x06:{
                                  TIM1->CCER=0x3180;                                         
                    };break;
          case 0x02:{
                                  TIM1->CCER=0x3081;                                         
                    };break;
          case 0x03:{                                              
                                  TIM1->CCER=0x3801;                                         
                    };break;
          default:break;
          //*/
                 
    }
  }
}

求教正反转,如果正转是定子合成磁势逆时针超前转子磁势120度的话,反转是不是应该定子合成磁势顺时针超前转子磁势120度。 但在这个代码里看不出这个意思呢?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-26 13:10

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表