西莫电机圈

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

查看: 2991|回复: 9

[原创] 滑模观测器SMO的估算角超前实际交

[复制链接]

该用户从未签到

发表于 2018-4-22 11:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
理论上滑模观测器SMO估算的电机转子角度应该滞后于实际角度,为何我用TI的实验套件做实验时,结果是估算交超前于实际角??

估算角与实际角

估算角与实际角
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过

该用户从未签到

 楼主| 发表于 2018-4-22 11:41 | 显示全部楼层
TI的SMO模块算法如下,有低通滤波但是没有对估算角进行滞后补偿,按理说低通滤波应该是产生滞后才对

#define SMO_MACRO(v)                                                                                                                                                                        \
                                                                                                                                                                                                                \
    /*        Sliding mode current observer        */                                                                                                                                \
    v.EstIalpha = _IQmpy(v.Fsmopos,v.EstIalpha) + _IQmpy(v.Gsmopos,(v.Valpha-v.Ealpha-v.Zalpha));                \
    v.EstIbeta = _IQmpy(v.Fsmopos,v.EstIbeta) + _IQmpy(v.Gsmopos,(v.Vbeta-v.Ebeta-v.Zbeta));                        \
                                                                                                                                                                                                                \
        /*        Current errors        */                                                                                                                                                                \
    v.IalphaError = v.EstIalpha - v.Ialpha;                                                                                                                                \
    v.IbetaError= v.EstIbeta - v.Ibeta;                                                                                                                                        \
                                                                                                                                                                                                            \
        /*  Sliding control calculator        */                                                                                                                                        \
    if (_IQabs(v.IalphaError) < E0)                                                                                                                                                \
            v.Zalpha = _IQmpy(v.Kslide,_IQmpy2(v.IalphaError));        /* (v.Kslide*(v.IalphaError)/E0) */                        \
        else if (v.IalphaError >= E0)                                                                                                                                                \
                v.Zalpha = v.Kslide;                                                                                                                                                        \
        else if (v.IalphaError <= -E0)                                                                                                                                                \
                v.Zalpha = -v.Kslide;                                                                                                                                                        \
        if (_IQabs(v.IbetaError) < E0)                                                                                                                                                \
                v.Zbeta = _IQmpy(v.Kslide,_IQmpy2(v.IbetaError));   /* (v.Kslide*(v.IbetaError)/E0) */                        \
        else if (v.IbetaError >= E0)                                                                                                                                                \
                v.Zbeta = v.Kslide;                                                                                                                                                                \
        else if (v.IbetaError <= -E0)                                                                                                                                                \
                v.Zbeta = -v.Kslide;                                                                                                                                                        \
                                                                                                                                                                                                                \
        /*        Sliding control filter -> back EMF calculator        */                                                                                                \
    v.Ealpha = v.Ealpha + _IQmpy(v.Kslf,(v.Zalpha-v.Ealpha));                                                                                        \
    v.Ebeta = v.Ebeta + _IQmpy(v.Kslf,(v.Zbeta-v.Ebeta));                                                                                                \
                                                                                                                                                                                                                \
        /*        Rotor angle calculator -> Theta = atan(-Ealpha,Ebeta)        */                                                                                \
        v.Theta = _IQatan2PU(-v.Ealpha,v.Ebeta);

西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

签到天数: 11 天

连续签到: 1 天

[LV.3]偶尔看看II

发表于 2018-4-23 16:33 | 显示全部楼层
是不是滞后的太多了啊
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2018-5-2 11:33 | 显示全部楼层
依个人愚见,你应该改变一下速度看两个速度切换点的时候角度曲线,看到底是滞后还是超前,你这个有可能是滞后快一个周期了看起来就像超前了。

评分

参与人数 1西莫币 +2 收起 理由
PMSM_spy + 2 感谢您的参与

查看全部评分

西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2019-12-8 17:06 | 显示全部楼层
依个人经验, 估算值肯定是滞后的;而且不同速度滞后值还不一样;
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

签到天数: 7 天

连续签到: 1 天

[LV.3]偶尔看看II

发表于 2020-2-23 17:12 来自手机 | 显示全部楼层
我建议重点观察下滑模变算法
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

签到天数: 7 天

连续签到: 1 天

[LV.3]偶尔看看II

发表于 2020-2-23 17:14 来自手机 | 显示全部楼层
我建议重点观察下滑模变算法,分析下滑模算法使用的参数对结果影响。

评分

参与人数 1西莫币 +2 收起 理由
PMSM_spy + 2 感谢您的参与

查看全部评分

西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2020-9-28 09:50 | 显示全部楼层
看起來 SMO 參數 Kslide & Kslf 參數需要調整 ,
另外想請教有關於這兩個參數調整方面的資料可以分享嗎 ?

评分

参与人数 1西莫币 +2 收起 理由
PMSM_spy + 2 感谢您的参与

查看全部评分

西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2021-2-9 20:52 | 显示全部楼层
你好,请问你这个问题解决了吗,我目前也遇到了同样的问题,你使用的是凸极电机吗,望回复,谢谢
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

签到天数: 4 天

连续签到: 1 天

[LV.2]偶尔看看I

发表于 2021-4-7 19:20 | 显示全部楼层
补偿的角度补偿多了也会这样
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|西莫电机圈 ( 浙ICP备10025899号-3 浙公网安备:33028202000436号

GMT+8, 2024-4-18 21:39 , Processed in 0.095568 second(s), 31 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表