21ic电子技术开发论坛

标题: STC 15W408AS 三路 PCA/PWM驱动六臂全桥电路 波形问题 [打印本页]

作者: libre01    时间: 2017-7-4 17:19
标题: STC 15W408AS 三路 PCA/PWM驱动六臂全桥电路 波形问题
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;
  }       


作者: libre01    时间: 2017-7-4 17:28
这是三相全桥驱动电路


作者: dirtwillfly    时间: 2017-7-4 23:25
如果你的电路只有这些的话,电路肯定是有问题的
作者: libre01    时间: 2017-7-5 08:55
dirtwillfly 发表于 2017-7-4 23:25
如果你的电路只有这些的话,电路肯定是有问题的

电路还有其他的,这只是驱动部分
作者: elelevi    时间: 2017-7-6 22:54
  希望楼主上传更多图纸
作者: yjmdxp    时间: 2017-7-13 15:49
建议选STC15W4K系列的,有6个带死区控制功能的PWM,可能要好些。





欢迎光临 21ic电子技术开发论坛 (https://bbs.21ic.com/) Powered by Discuz! X3.5