TI中文支持网
TI专业的中文技术问题搜集分享网站

2812配置对称PWM但1,2脚实际输出占空比不一致是什么原因?急~

利用定时器T1产生PWM,预分频x1,中断频率20K,程序配置如下:

EvaRegs.T1PR=7500;/pwm频率10k

EvaRegs.CMPR1=1000;

EvaRegs.CMPR2=1000;

EvaRegs.CMPR3=1000;

EvaRegs.T1CON.all=0x0840;/连续增减计数

EvaRegs.DBTCON.all=0x0cf4;/死区2.56us

EvaRegs.COMCONA.all=0xA200;

ACTRA寄存器配置为pwm1~6脚均为有效高;

按照上述程序,期望pwm1~6输出的占空比为0.6,但是用示波器观察的时候发现pwm1,3,5脚输出占空比为0.572,而pwm2,4,6脚输出的占空比为0.624.

更改CMPR1,2,3的值,发现pwm2,4,6引脚的占空比始终要比pwm1,3,5脚的占空比大0.05左右,请问这是什么原因引起的?是不是我哪个寄存器没配置好?

麻烦看到的专家回复一下,谢谢。

alice wu:

不好意思,贴错了,CMPR1~3设置是3000,不是1000。给定cmpr=3000,期望输出占空比为0.6.

EvaRegs.CMPR1=3000;

EvaRegs.CMPR2=3000;

EvaRegs.CMPR3=3000;

利用定时器T1产生PWM,预分频x1,中断频率20K,程序配置如下:

EvaRegs.T1PR=7500;/pwm频率10k

EvaRegs.CMPR1=1000;

EvaRegs.CMPR2=1000;

EvaRegs.CMPR3=1000;

EvaRegs.T1CON.all=0x0840;/连续增减计数

EvaRegs.DBTCON.all=0x0cf4;/死区2.56us

EvaRegs.COMCONA.all=0xA200;

ACTRA寄存器配置为pwm1~6脚均为有效高;

按照上述程序,期望pwm1~6输出的占空比为0.6,但是用示波器观察的时候发现pwm1,3,5脚输出占空比为0.572,而pwm2,4,6脚输出的占空比为0.624.

更改CMPR1,2,3的值,发现pwm2,4,6引脚的占空比始终要比pwm1,3,5脚的占空比大0.05左右,请问这是什么原因引起的?是不是我哪个寄存器没配置好?

麻烦看到的专家回复一下,谢谢。

rookiecalf:

回复 alice wu:

死区的时间没有考虑在内

利用定时器T1产生PWM,预分频x1,中断频率20K,程序配置如下:

EvaRegs.T1PR=7500;/pwm频率10k

EvaRegs.CMPR1=1000;

EvaRegs.CMPR2=1000;

EvaRegs.CMPR3=1000;

EvaRegs.T1CON.all=0x0840;/连续增减计数

EvaRegs.DBTCON.all=0x0cf4;/死区2.56us

EvaRegs.COMCONA.all=0xA200;

ACTRA寄存器配置为pwm1~6脚均为有效高;

按照上述程序,期望pwm1~6输出的占空比为0.6,但是用示波器观察的时候发现pwm1,3,5脚输出占空比为0.572,而pwm2,4,6脚输出的占空比为0.624.

更改CMPR1,2,3的值,发现pwm2,4,6引脚的占空比始终要比pwm1,3,5脚的占空比大0.05左右,请问这是什么原因引起的?是不是我哪个寄存器没配置好?

麻烦看到的专家回复一下,谢谢。

alice wu:

回复 rookiecalf:

多谢回复。如果我想让pwm1~6输出同样的占空比是不是就得禁止死区?用这个pwm信号来驱动交流电机,禁止死区的话会不会有问题?

利用定时器T1产生PWM,预分频x1,中断频率20K,程序配置如下:

EvaRegs.T1PR=7500;/pwm频率10k

EvaRegs.CMPR1=1000;

EvaRegs.CMPR2=1000;

EvaRegs.CMPR3=1000;

EvaRegs.T1CON.all=0x0840;/连续增减计数

EvaRegs.DBTCON.all=0x0cf4;/死区2.56us

EvaRegs.COMCONA.all=0xA200;

ACTRA寄存器配置为pwm1~6脚均为有效高;

按照上述程序,期望pwm1~6输出的占空比为0.6,但是用示波器观察的时候发现pwm1,3,5脚输出占空比为0.572,而pwm2,4,6脚输出的占空比为0.624.

更改CMPR1,2,3的值,发现pwm2,4,6引脚的占空比始终要比pwm1,3,5脚的占空比大0.05左右,请问这是什么原因引起的?是不是我哪个寄存器没配置好?

麻烦看到的专家回复一下,谢谢。

rookiecalf:

回复 alice wu:

控制精度不高的话,可以暂时不考虑。以后考虑精度的话,做一下死区补偿。

利用定时器T1产生PWM,预分频x1,中断频率20K,程序配置如下:

EvaRegs.T1PR=7500;/pwm频率10k

EvaRegs.CMPR1=1000;

EvaRegs.CMPR2=1000;

EvaRegs.CMPR3=1000;

EvaRegs.T1CON.all=0x0840;/连续增减计数

EvaRegs.DBTCON.all=0x0cf4;/死区2.56us

EvaRegs.COMCONA.all=0xA200;

ACTRA寄存器配置为pwm1~6脚均为有效高;

按照上述程序,期望pwm1~6输出的占空比为0.6,但是用示波器观察的时候发现pwm1,3,5脚输出占空比为0.572,而pwm2,4,6脚输出的占空比为0.624.

更改CMPR1,2,3的值,发现pwm2,4,6引脚的占空比始终要比pwm1,3,5脚的占空比大0.05左右,请问这是什么原因引起的?是不是我哪个寄存器没配置好?

麻烦看到的专家回复一下,谢谢。

alice wu:

回复 rookiecalf:

还有个问题,我看ti关于BLDC电机的pwm例程,里面没看到有设置死区。是不是因为这种电机每次只通两管,不会存在同一桥臂上管通完马上切换为下管的情况,所以不需要设置死区?

赞(0)
未经允许不得转载:TI中文支持网 » 2812配置对称PWM但1,2脚实际输出占空比不一致是什么原因?急~
分享到: 更多 (0)