LKS08系列MCPWM各种波形配置
方波控制时会用到比较多的斩波输出端口配置,下面给出了一直最常用的配置,以满足不同需求的功能要求
一共4组分别由MCPWM_IO01和MCPWM_IO23两个寄存器控制。
#define H_PWM_L_LOW 0x04上桥斩波,下桥关闭
#define H_PWM_L_PWM 0x00上桥和下桥都斩波
#define H_LOW_L_HIG 0x1c上桥关闭,下桥常开
#define H_LOW_L_PWM 0x08上桥关闭,下桥斩波
#define H_LOW_L_LOW 0x0c上桥和下桥同时关闭
#define H_HIG_L_LOW 0x2c上桥常开,下桥关闭
例如:
硬件默认配置为MCPWM_IO01 = 0x4141, MCPWM_IO23 = 0x4141其中A相由CH0控制,B相由CH1控制,C相由CH2控制。
A相悬空,B相上管斩波下管关闭,C相上管关闭下管常打开的配置为
{MCPWM_IO01 = PWM_01 | (H_LOW_L_LOW | (H_PWM_L_LOW << 8)); MCPWM_IO23 = PWM_23 | H_LOW_L_HIG;}
A相悬空,B相上管常开下管关闭,C相上管关闭下管常打开的配置为
{MCPWM_IO01 = PWM_01 | (H_LOW_L_LOW | (H_HIG_L_LOW << 8)); MCPWM_IO23 = PWM_23 | H_LOW_L_HIG;}
硬件默认配置为其他设置一样适用上述举例 PWM没想到在电机控制上用的这么广泛
SYS_WR_PROTECT = 0x7a83; /* 解除系统寄存器写保护 */
MCPWM_IO01 =((H_PWM_L_LOW)|(H_LOW_L_LOW<<8));
MCPWM_IO23 =((H_LOW_L_HIG)|(H_LOW_L_LOW<<8));
SYS_WR_PROTECT = 0x0; /*关闭系统寄存器写操作*/
为什么对MCPWM_IO01的配置并没有生效 ,其他通道还是输出pwm波形 xiayyy 发表于 2023-3-28 16:24
SYS_WR_PROTECT = 0x7a83; /* 解除系统寄存器写保护 */
MCPWM_IO01 =((H_PWM_L_LO ...
使用MCPWM_PRT = 0x0000DEAD; 解除了mcpwm写保护,我犯蠢了没看清,但是新的问题来了,
对于设置的上桥臂pwm斩波未生效,H_PWM这里输出全为1. CHO_PS配置为0但是并输出并没有MCPWM实际运行系统计数器产生pwm波形 MCPWM 单元是可用于控制电机的单元 MCPWM包括3个通道,每个通道均控制一对输出,接着这些输出可控制某些片外操作 分辨率和周期/频率之间的平衡是脉宽调制器设计始终存在的问题 输出模式:直接输出PWM波形。
计数模式:若通道MODE位在MCCNTCON中置位,那么通道的TC将在MC0-2输入的上升沿和/或下降沿(同时被检测的)上加1。
捕获模式:当输入信号发生跳变时,每个PWM通道可捕获TC的瞬时值。在MCCAPCON寄存器的控制下,任意通道都可在任意或所有MCPWM输入0-2的上升沿和/或下降沿上产生捕获事件。 这种电机专用的pwm模块和普通的pwm模块相比 有什么区别呢 renzheshengui 发表于 2023-4-13 16:09
这种电机专用的pwm模块和普通的pwm模块相比 有什么区别呢
没觉得有什么区别啊 本来pwm就是非常广泛的应用在电机控制上的
页:
[1]