11939|19

27

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

SPWM软件细分步进电机 转速上不去 请大家来讨论一下问题可能出在哪里 [复制链接]

 
本帖最后由 ethan0ly 于 2014-10-27 23:07 编辑

大家好,我是一名在校学生,现在正在做步进电机驱动。
我采用的是STM32查表的方式实现的SPWM软件细分,驱动电路是IR2103加分立MOS管的全桥驱动。步进电机是57HS22-A,布局叫1.8度2相八线步进电机(并连接法)。驱动电压为24V.
现在调试的时候,发现当脉冲频率在200HZ以下的时候,正常运转,但是一旦脉冲频率超过200HZ,步进电机就严重失步了。困扰我好久了,不知道原因出在哪里,希望有经验的人能帮我看看可能是什么问题。下面是调试截图。黄色的是某一项的电压波形,绿色的是相应的电流波形。

未接电机1.png (23.54 KB, 下载次数: 0)

未接电机1.png

未接电机2.png (21.45 KB, 下载次数: 0)

未接电机2.png

低速运转正常.png (35.9 KB, 下载次数: 1)

低速运转正常

低速运转正常

低速运转正常2.png (35.26 KB, 下载次数: 0)

低速运转正常

低速运转正常

scope_3028.png (38.56 KB, 下载次数: 0)

脉冲频率超过200HZ,严重失步堵转

脉冲频率超过200HZ,严重失步堵转

驱动电路.png (46.18 KB, 下载次数: 1)

驱动电路

驱动电路
此帖出自stm32/stm8论坛

最新回复

调制比也是可以大于1的,实际上方波基本就算是超调的状态  详情 回复 发表于 2019-8-30 13:02
点赞 关注(3)
 

回复
举报

4008

帖子

0

TA的资源

版主

沙发
 
肯定是驱动力矩不够,具体原因我觉得是pwm频率太高了效果不理想,你的短脉冲边沿没有起到开启电路的作用.
此帖出自stm32/stm8论坛

点评

低速的时候正常,速度上去,电流减小了,力矩也减小。请问您是通过什么方式增大力矩的?提高H桥的电压吗?我的载波频率是80KHZ,我实验了一下,减小载波频率是可以减小电机电流,但是如何增大电机电流呢? 我需要电  详情 回复 发表于 2014-10-28 16:04
 
 

回复

27

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
本帖最后由 ethan0ly 于 2014-10-28 16:20 编辑
huo_hu 发表于 2014-10-28 08:53
肯定是驱动力矩不够,具体原因我觉得是pwm频率太高了效果不理想,你的短脉冲边沿没有起到开启电路的作用.

低速的时候正常,速度上去,电流减小了,力矩也减小。请问您是通过什么方式增大力矩的?提高H桥的电压吗?我的调制比已经设为1.我的载波频率是80KHZ,我实验了一下,减小载波频率是可以减小电机电流,但是如何增大电机电流呢? 我需要电机转的比较快,所以给的PWM频率要高。短脉冲边沿没有启到开启电路的作用,这句话不是很理解,能不能再解释一下?

此帖出自stm32/stm8论坛
 
 

回复

4008

帖子

0

TA的资源

版主

4
 
正常情况频率和电流是无关的,减小频率后数据要重新计算,为何电流减小情况不明.
那句话的意思是你的开关电路滞后时间太长,刚送出开启信号电路还没有打开关闭信号就到了,所以导致过短的脉冲不能产生电流,简言之是频率和电路不搭.
此帖出自stm32/stm8论坛

点评

嗯,我的载波频率减小后,sin数据是重新计算的。之前我想错了,改变电流大小应该改变的是调制比,跟载波频率没有关系。我的PWM脉冲在200HZ的时候电机开始失步,但是当我采用2相8拍的时候,电机能转的很快的,电路速  详情 回复 发表于 2014-10-28 21:18
 
 
 

回复

27

帖子

0

TA的资源

一粒金砂(中级)

5
 
huo_hu 发表于 2014-10-28 16:50
正常情况频率和电流是无关的,减小频率后数据要重新计算,为何电流减小情况不明.
那句话的意思是你的开关电 ...

嗯,我的载波频率减小后,sin数据是重新计算的。之前我想错了,改变电流大小应该改变的是调制比,跟载波频率没有关系。我的PWM脉冲在200HZ的时候电机开始失步,但是当我采用2相8拍的时候,电机能转的很快的,电路速度跟不上的可能性不大吧。这样可能讲不清楚,我贴上我的电机驱动的代码。

STEP.rar

4.66 KB, 下载次数: 167

此帖出自stm32/stm8论坛
 
 
 

回复

4008

帖子

0

TA的资源

版主

6
 
调制比也是可以大于1的,实际上方波基本就算是超调的状态.2相8拍是低频率状态,高频率就不一定了,因为每次开关都有时间损失次数多了累积起来力矩就不够了.你做个低细分的要是可以那就是这问题了.
此帖出自stm32/stm8论坛
 
 
 

回复

1080

帖子

2

TA的资源

五彩晶圆(中级)

7
 
因步进电机是感性负载,V, I 之间存在相位差,驱动频率越高,相位差越大,以之实际流过步进电机的电流变小,产生功率驱动不足。

解决方法:
加入电流环检测,以确定PWM驱动的关断时刻,保证足够的驱动功率 。
像LZ这样的开环控制,高速无解。

此帖出自stm32/stm8论坛

点评

不是的,开环没有问题,关键在矩频特性上. 电流检测加在哪儿呢?负载增加电流变大还是变小呢?  详情 回复 发表于 2014-10-29 23:07
 
 
 

回复

4008

帖子

0

TA的资源

版主

8
 
xuyiyi 发表于 2014-10-29 17:58
因步进电机是感性负载,V, I 之间存在相位差,驱动频率越高,相位差越大,以之实际流过步进电机的电流变小 ...

不是的,开环没有问题,关键在矩频特性上.
电流检测加在哪儿呢?负载增加电流变大还是变小呢?
此帖出自stm32/stm8论坛

点评

转速低当然影响不大,转速一高,就成问题了。 电流检测一般串在驱动管和地之间,建议LS去多看看多分析分析成品步进电机驱动IC原理图,会大有收获的。  详情 回复 发表于 2014-10-30 04:25
 
 
 

回复

1080

帖子

2

TA的资源

五彩晶圆(中级)

9
 
huo_hu 发表于 2014-10-29 23:07
不是的,开环没有问题,关键在矩频特性上.
电流检测加在哪儿呢?负载增加电流变大还是变小呢?

转速低当然影响不大,转速一高,就成问题了。
电流检测一般串在驱动管和地之间,建议LS去多看看多分析分析成品步进电机驱动IC原理图,会大有收获的。
此帖出自stm32/stm8论坛

点评

驱动器产品了解的不多,原理上应该差不多的,开环低负载3000转每分钟是做过的.  详情 回复 发表于 2014-10-30 09:53
 
 
 

回复

4008

帖子

0

TA的资源

版主

10
 
xuyiyi 发表于 2014-10-30 04:25
转速低当然影响不大,转速一高,就成问题了。
电流检测一般串在驱动管和地之间,建议LS去多看看多分析分 ...

驱动器产品了解的不多,原理上应该差不多的,开环低负载3000转每分钟是做过的.
此帖出自stm32/stm8论坛
 
 
 

回复

45

帖子

1

TA的资源

一粒金砂(中级)

11
 
步进电机在低速驱动时,发一个脉冲走一步,一般没什么问题。在整步驱动情况下,57电机在500Hz以下的速度一般都不会出现失步问题。
但如果采取了细分,特别是细分数比较大时,启动力矩会急速下降,启动时很容易出现失步现象,停止时还会出现滑步问题。解决的办法主要是采取加减速驱动方式,并合理设置驱动器的Chopper电流。。
此帖出自stm32/stm8论坛
 
 
 

回复

1080

帖子

2

TA的资源

五彩晶圆(中级)

12
 
LZ盆友说在点子上了~~~

由于采取了细分,特别是细分数比较大时,驱动频率越高,V, I 之间相位差也越大,启动或运行力矩会急速下降,电机空载运行或许行,满载运行肯定不行!
只有加入电流环检测,以确定PWM驱动的关断时刻,保证足够的驱动功率 。
此帖出自stm32/stm8论坛
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

13
 
楼主,你的问题解决了吗,我也遇到你同样的问题
此帖出自stm32/stm8论坛

点评

楼主估计挂了  详情 回复 发表于 2016-11-11 16:32
 
 
 

回复

30

帖子

0

TA的资源

一粒金砂(中级)

14
 
liqiezi168 发表于 2016-4-20 16:21
楼主,你的问题解决了吗,我也遇到你同样的问题

楼主估计挂了
此帖出自stm32/stm8论坛
 
 
 

回复

4008

帖子

0

TA的资源

版主

15
 
IR2103用来做逆变器还可以目标是50HZ,高了不行,速度不够
此帖出自stm32/stm8论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

16
 
我也在做这个研究,交流一下,425905805
ethan0ly
此帖出自stm32/stm8论坛
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

17
 
估计都没人看楼主发出来的代码. 那个计算正弦波的算法就不对...
        //生成正弦波
        {
                const double PI=acos(-1.0);
                const double dv = PI/2.0/MicroStepNum;
                for(i = 0;i                         Sin[i] = (int)(0.5+Modulation*900*sin(i*dv));
                }
        }
此帖出自stm32/stm8论坛

点评

先做成了再想着让别人也看的懂,理解  详情 回复 发表于 2018-2-13 00:05
 
 
 

回复

4008

帖子

0

TA的资源

版主

18
 
136048599 发表于 2018-2-12 17:14
估计都没人看楼主发出来的代码. 那个计算正弦波的算法就不对...
        //生成正弦波
        {
                const double PI= ...

先做成了再想着让别人也看的懂,理解
此帖出自stm32/stm8论坛
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

19
 

大佬这个 怎么玩啊,我想用PWM波来实现斩波限流

此帖出自stm32/stm8论坛
 
 
 

回复

869

帖子

0

TA的资源

禁止发言

20
 
调制比也是可以大于1的,实际上方波基本就算是超调的状态
此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表