打印
[LKS32 软件]

LKS32MC086 PMSM FOC 电流采样

[复制链接]
1420|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zlcn|  楼主 | 2022-10-28 22:21 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zlcn 于 2022-10-28 22:29 编辑

LKS32MC086  PMSM FOC电流采样存在的一些疑问;基于LKS08x_FOC_SensorLessV4.27版本软件,硬件控制板采样双电阻相电流采样+母线电流采样设计;
1.根据芯片用户手册,ADC支持单次采样,段采样,轮采样,具体如下图

2.软件设置双电阻采样 ADC为段采样,一段连续采6个通道ADC,包含A相,B相共4次电流采样,但根据官方资料说明,4次采样仅采用其中两次采样结果作为FOC位置估算,另外两次无效,可选择取消


3.疑问点,双电阻采样理论上根据SVPWN所处扇区,对ADC 所采样到的A相电流、B相电流,推算出C相电流,再计算Alpha Bata轴电流;但是以下这段代码让我费解
程序根据一段采样中的第一次采样结果即可转换A B C三相电流;根据第二次采样结果再次计算A B C三相电流,其中并没有关联扇区;首先程序应该是正确的,原厂和市场都有验证,但是这段代码并没有注释说明,很难去理解这段代码,有没有相关的资料可以说明;

以下用其它方案的单电阻、三电阻方案程序作为辅助说明,

单电阻采样,一个PWM周期内,触发两次ADC采样,根据扇区,转换U V相电流

三电阻采样,一个PWM周期内,单次触发采样,三通道ADC同时采样 U V W 相电流,根据扇区,转换U V W相电流


关于LKS32MC08 ADC 相电流采样问题点如下:
官方资料没有直接说明 SVPWM 三相输出配置,怎样对应电机A B C三相(用惯U V W,官方Demo都是A B C三相,不习惯,吐个槽),所以硬件配置上相电流采样容易出错
双电阻采样软件的具体逻辑,有没有相关的说明资料



使用特权

评论回复
沙发
开张天岸马| | 2022-10-30 16:16 | 只看该作者
您好,您这个问题很好:
回复如下:
1、对于1、2两点,您的理解是对的,双电阻电流采集了两次,FOC数据只使用了一次,只是兼容单电阻算法的写法造成的;对于双电阻可以只用前两个通道,不用占用4个采样通道。
2、对于单电阻采样,因为08x是同步双采样,一次必须占用两个通道,单电阻是采样两次,所以必须要占用4个通道。
3、对于三电阻采样,您的附图是三个电阻电流都采集了;我们是根据扇区,选择占空比小的两相进行采样,上一次采样改变采样通道。需要占用前两个通道。
4、双电阻软件采样的逻辑是:采样通道固定的,采样点可以通过改变PWM_Point0 调整采样点的位置。
    按照MCPWM_TH00/PWM_TH01 通道对应的采样通道 定义为U相(A相)电流,填写OPAx,MCPWM_TH10/PWM_TH11 通道对应的采样通道 定义为V相(B相)电流,填写OPAx,MCPWM_TH30/PWM_TH31 通道对应的采样通道 定义为W相(C相)电流,填写OPAx;通过PWM通道上面采样电路 选择对应的OPAx

使用特权

评论回复
板凳
zlcn|  楼主 | 2022-10-31 11:44 | 只看该作者
您好,感谢您的解答,
这边使用的LKS32AT086芯片,参考官方MCU Demo LKS_EVB_MCU086_V1.0   功率板 Demo LKS_DEMO_V5.0 设计了一款控制板 ,DEMO板上面相电流采样是HO1通道对应C相(W相),HO3对应的是 A相(U 相),这个是否是这边理解错误还是其它问题呢?

硬件配置电路2.png (706.52 KB )

硬件配置电路2.png

硬件配置电路1.png (670.53 KB )

硬件配置电路1.png

LKS_DEMO_V5.0.pdf

132.76 KB

LKS_EVB_MCU086_V1.0.pdf

109.31 KB

使用特权

评论回复
地板
鸥芯电驱港港| | 2022-11-3 18:08 | 只看该作者
zlcn 发表于 2022-10-31 11:44
您好,感谢您的解答,
这边使用的LKS32AT086芯片,参考官方MCU Demo LKS_EVB_MCU086_V1.0   功率板 Demo LK ...

楼主您好,其实不用理会原理图标的UVW和ABC的标号,有的可能为了兼容别的demo顶板,标号就没有改,且为了方面布线,可能把A标号连接到C相了,所以最好不要相信标号哦。
这里给楼主一个判断方法,绝对不会错。
1、我们软件的电流采样是不是选择采样通道时,三电阻要把通道填入ADC_CURRETN_A_CHANNEL,ADC_CURRETN_B_CHANNEL,ADC_CURRETN_C_CHANNEL三个宏定义上,那么我们就看芯片,如AT086内置无预驱的芯片,PWM输出引脚标号是MCPWM_CH0N/P,MCPWM_CH1N/P,MCPWM_CH2N/P;重点来了,MCPWM_CH0N/P对应的桥臂的采样电阻采样的电流就是对应软件内的A相电流,那么就把与MCPWM_CH0N/P采样电阻连接的OPA填入ADC_CURRETN_A_CHANNEL宏定义内,一次MCPWM_CH1N/P采样电阻连接的OPA填入ADC_CURRETN_B_CHANNEL宏定义内,MCPWM_CH2N/P采样电阻连接的OPA填入ADC_CURRETN_C_CHANNEL宏定义内。
2、双电阻我们软件就是要ADC_CURRETN_A_CHANNEL和ADC_CURRETN_B_CHANNEL,所以硬件电流采样上,采样电阻就留下MCPWM_CH0N/P和MCPWM_CH1N/P对应的桥臂的采样电阻,MCPWM_CH2N/P桥臂的采样电阻。
3、为了方便PCB布线,有时会遇到硬件把其中一相电阻连接到MCPWM_CH2N/P的桥臂了,这时候我们需要修改软件。比如此时MCPWM_CH1N/P和MCPWM_CH2N/P桥臂的有采样电阻,MCPWM_CH0N/P桥臂没有采样电阻,那么此时我们就把MCPWM_CH2N/P桥臂的采样电流看成A相的,此时ADC_CURRETN_A_CHANNEL的值就赋值来之MCPWM_CH2N/P桥臂的采样运放,那么输出也要改,将PWM计算的struFOC_CurrLoop.mVoltUVW_PWM.nPhaseU相电压给W相输出即MCPWM_TH20和MCPWM_TH21,那么W相计算struFOC_CurrLoop.mVoltUVW_PWM.nPhaseW相电压给U相的输出MCPWM_TH00和MCPWM_TH01即可。

使用特权

评论回复
5
zlcn|  楼主 | 2022-11-4 08:31 | 只看该作者
鸥芯电驱港港 发表于 2022-11-3 18:08
楼主您好,其实不用理会原理图标的UVW和ABC的标号,有的可能为了兼容别的demo顶板,标号就没有改,且为了 ...

感谢解答

使用特权

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

本版积分规则

21

主题

134

帖子

4

粉丝