打印
[PIC®/AVR®/dsPIC®产品]

DSPIC33F12MC201 PWM死区问题?(已解决)

[复制链接]
1499|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
高江|  楼主 | 2014-2-26 12:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 高江 于 2014-2-27 13:34 编辑

怎么死区会变成负的,求解?(原来是配置位可先正负的)
1H  __|----------|_______|-----------
1L   ---|______|------------|_______
加死区后
1H  __|----------|_______|-----------
1L  ------|____|---------------|_______
P1TCONbits.PTEN = 0;  //PWM 时基关闭
        P1TCONbits.PTSIDL = 0;  //PWM 时基在CPU 空闲模式下运行
        P1TCONbits.PTOPS = 0;  //1:1 后分频比
        P1TCONbits.PTCKPS = 0;  //PWM 时基输入时钟周期为Tcy (1:1 预分频比)
        P1TCONbits.PTMOD = 0;  //PWM 时基在自由运行模式下工作
        // PWM1CON1 = 0x0101;   //PWM I/O 引脚对处于独立PWM 输出模式,1L有效
        PWM1CON1bits.PMOD1 = 0;  //PWM I/O 引脚对处于补PWM 输出模式
        PWM1CON1bits.PMOD2 = 0;
//   PWM1CON1bits.PMOD3 = 0;
   
        PWM1CON1bits.PEN1L = 1;  //使能PWM1L 引脚,用于PWM 输出
        PWM1CON1bits.PEN1H = 1;  //使能PWM1H 引脚,用于PWM 输出
        PWM1CON1bits.PEN2L = 0;
        PWM1CON1bits.PEN2H = 0;
        // PWM1CON1bits.PEN3L = 0;
        // PWM1CON1bits.PEN3H = 0;
        // PWM1CON2 = 0x0000;
        PWM1CON2bits.SEVOPS = 0; //1:1 后分频比
        PWM1CON2bits.IUE = 0;  //更新到有效PxDC 寄存器与PWM 时基同步
        PWM1CON2bits.OSYNC = 0;  //通过PxOVDCON 寄存器进行的输出改写在下一个TCY 边界发生
        PWM1CON2bits.UDIS = 0;  //使能来自占空比和周期缓冲寄存器的更新
        P1DTCON1 = 0x0f02;     //A 1Tcy
        P1DTCON2 = 0x0001;
        P1FLTACON = 0x0000;
        P1OVDCON = 0x0300; //PWM1L有效
        P1SECMP=50;  //占空比+自举时间

    P1TPER = 199;  //200KHz,最大P1DC1=400 //1:1 后分频比
        P1DC1 = 199;    //占空比 不能少于14V==56/400  1~399
        P1TCONbits.PTEN=1; //允许PWM1输出
沙发
高江|  楼主 | 2014-2-26 15:50 | 只看该作者
这时真冷清

使用特权

评论回复
板凳
yewuyi| | 2014-2-27 08:27 | 只看该作者
高江 发表于 2014-2-26 15:50
这时真冷清

主要是你的问题描述得过于简单。

描述问题应当结合文字、电路、代码、图表等详细说清楚,而且尽量以文字、电路为主,不要直接扔上一段代码,这等同于让别人来帮你一行行DEBUG代码,如此大家都是看看而已,不会回答的。

例如,你提问死区会变成负?但这个‘负’怎么定义呢?

使用特权

评论回复
地板
高江|  楼主 | 2014-2-27 10:30 | 只看该作者
本帖最后由 高江 于 2014-2-27 10:45 编辑
yewuyi 发表于 2014-2-27 08:27
主要是你的问题描述得过于简单。

描述问题应当结合文字、电路、代码、图表等详细说清楚,而且尽量以文字 ...

上面波形图有显示,CPU直接输出,没接其它电路
没加死区的
1H  __|----------|_______|-----------
1L   ---|______|------------|_______
加死区后正常应该是这样
1H  __|----------|_______|-----------
1L  ---|________|-------|_______
但实际加死区后变成这样,负的,接上MOS管不炸才怪
1H  __|----------|_______|-----------
1L  ------|____|---------------|_______
没加死区:基准波(1H)的低位比互补波(1L)高位时间相同
负死区:基准波(1H)的低位比互补波(1L)高位时间
正死区:基准波(1H)的低位比互补波(1L高位时间

使用特权

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

本版积分规则

2

主题

6

帖子

0

粉丝