打印
[国产单片机]

STC 15W408AS 三路 PCA/PWM驱动六臂全桥电路 波形问题

[复制链接]
2268|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
PWM关断后还有开关管输出还有1.2V的电压存在,这是什么问题呢,怎么也想不通,大侠们帮忙分析下

源程序参考下,这段程序是三相直流无刷电机的开环启动,

switch(Step)
  {

   case 0:  // AB
                           PWM0_L=0;        PWM2_L=0;                 //
                        PWM1_OUT_0();PWM2_OUT_0();PWM0_NORMAL();
                        CCAP0H = PWM_Value;        PWM1_L=1;        // 打开A相的高端,B相低端
                        //SendData(0xAB);//发送到串口测

                        ADC_CONTR = 0XED;        // 选择P1.5作为ADC输入 即c相电压
                        CMPCR1=0X8C;       
                        break;
   case 1:  // AC
                           PWM0_L=0;        PWM1_L=0;                // 打开C相的低端
                        PWM1_OUT_0();PWM2_OUT_0();PWM0_NORMAL();
                        CCAP0H = PWM_Value; PWM2_L = 1;                // 打开A相的高端
                       
                        ADC_CONTR = 0XEC;        // 选择P1.4作为ADC输入 即B相电压
                        CMPCR1=0X8C;
                         //SendData(0xAC);//发送到串口测
                     break;
   case 2:  // BC
                           PWM0_L=0;        PWM1_L=0;
                        PWM0_OUT_0();PWM2_OUT_0();PWM1_NORMAL();        // 打开B相的高端
                        CCAP1H = PWM_Value; PWM2_L = 1;                        // 打开C相的低端
                        //SendData(0xBC);//发送到串口测

                        ADC_CONTR = 0XEB;        // 选择P1.3作为ADC输入 即A相电压
                        CMPCR1=0X8C;
                      break;
   case 3:  // BA
                           PWM2_L = 0;        PWM1_L=0;
                        PWM0_OUT_0();PWM2_OUT_0();PWM1_NORMAL();        // 打开B相的高端
                        CCAP1H = PWM_Value; PWM0_L=1;                // 打开A相的低端
                        //SendData(0xBA);//发送到串口测

                        ADC_CONTR = 0XED;        // 选择P1.5作为ADC输入 即c相电压
                        CMPCR1=0X8C;
                     break;
   case 4: // CA
                           PWM1_L=0;        PWM2_L=0;
                        PWM0_OUT_0();PWM1_OUT_0();PWM2_NORMAL();// 打开C相的高端
                        CCAP2H = PWM_Value; PWM0_L = 1;                                // 打开A相的低端
                        //SendData(0xCA);//发送到串口测

                        ADC_CONTR = 0XEC;        // 选择P1.4作为ADC输入 即B相电压
                        CMPCR1=0X8C;
                      break;
   case 5: // CB
                           PWM0_L=0;        PWM2_L=0;
                        PWM0_OUT_0();PWM1_OUT_0();PWM2_NORMAL();        // 打开C相的高端
                      CCAP2H = PWM_Value; PWM1_L = 1;                        // 打开B相的低端
                         //SendData(0xCB);//发送到串口测

                        ADC_CONTR = 0XEB;        // 选择P1.3作为ADC输入 即a相电压
                        CMPCR1=0X8C;
                        break;
       
        default:
                break;
  }       

PWM波形.JPG (377.61 KB )

PWM波形.JPG

相关下载

相关帖子

沙发
libre01|  楼主 | 2017-7-4 17:28 | 只看该作者
这是三相全桥驱动电路

1.JPG (174.51 KB )

1.JPG

使用特权

评论回复
板凳
dirtwillfly| | 2017-7-4 23:25 | 只看该作者
如果你的电路只有这些的话,电路肯定是有问题的

使用特权

评论回复
地板
libre01|  楼主 | 2017-7-5 08:55 | 只看该作者
dirtwillfly 发表于 2017-7-4 23:25
如果你的电路只有这些的话,电路肯定是有问题的

电路还有其他的,这只是驱动部分

使用特权

评论回复
5
elelevi| | 2017-7-6 22:54 | 只看该作者
  希望楼主上传更多图纸

使用特权

评论回复
6
yjmdxp| | 2017-7-13 15:49 | 只看该作者
建议选STC15W4K系列的,有6个带死区控制功能的PWM,可能要好些。

使用特权

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

本版积分规则

28

主题

179

帖子

4

粉丝