社区导航

 
快捷导航
  • 首页
  • 论坛
  • 查看新帖
  • 最新回复
  • 社区活动
  • 联系管理员
  • 消灭零回复
  • E金币兑换
  • 干货
搜索
查看: 5776|回复: 17

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

[复制链接]

28

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2014-10-27 22:55:53 | 显示全部楼层 |阅读模式
本帖最后由 ethan0ly 于 2014-10-27 23:07 编辑

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

低速运转正常

低速运转正常

低速运转正常

低速运转正常

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

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

驱动电路

驱动电路


回复

使用道具 举报

3101

TA的帖子

0

TA的资源

版主

Rank: 6Rank: 6

发表于 2014-10-28 08:53:01 | 显示全部楼层
肯定是驱动力矩不够,具体原因我觉得是pwm频率太高了效果不理想,你的短脉冲边沿没有起到开启电路的作用.

点评

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


回复

使用道具 举报

28

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

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

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



回复

使用道具 举报

3101

TA的帖子

0

TA的资源

版主

Rank: 6Rank: 6

发表于 2014-10-28 16:50:53 | 显示全部楼层
正常情况频率和电流是无关的,减小频率后数据要重新计算,为何电流减小情况不明.
那句话的意思是你的开关电路滞后时间太长,刚送出开启信号电路还没有打开关闭信号就到了,所以导致过短的脉冲不能产生电流,简言之是频率和电路不搭.

点评

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


回复

使用道具 举报

28

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2014-10-28 21:18:12 | 显示全部楼层
huo_hu 发表于 2014-10-28 16:50
正常情况频率和电流是无关的,减小频率后数据要重新计算,为何电流减小情况不明.
那句话的意思是你的开关电 ...

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

STEP.rar

4.66 KB, 下载次数: 102



回复

使用道具 举报

3101

TA的帖子

0

TA的资源

版主

Rank: 6Rank: 6

发表于 2014-10-28 23:58:39 | 显示全部楼层
调制比也是可以大于1的,实际上方波基本就算是超调的状态.2相8拍是低频率状态,高频率就不一定了,因为每次开关都有时间损失次数多了累积起来力矩就不够了.你做个低细分的要是可以那就是这问题了.


回复

使用道具 举报

1122

TA的帖子

2

TA的资源

五彩晶圆(中级)

Rank: 8Rank: 8

发表于 2014-10-29 17:58:47 | 显示全部楼层
因步进电机是感性负载,V, I 之间存在相位差,驱动频率越高,相位差越大,以之实际流过步进电机的电流变小,产生功率驱动不足。

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

点评

不是的,开环没有问题,关键在矩频特性上. 电流检测加在哪儿呢?负载增加电流变大还是变小呢?  详情 回复 发表于 2014-10-29 23:07
响应春哥号召《全民DIY ACDC实验电源》正在进行中。。。


回复

使用道具 举报

3101

TA的帖子

0

TA的资源

版主

Rank: 6Rank: 6

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

不是的,开环没有问题,关键在矩频特性上.
电流检测加在哪儿呢?负载增加电流变大还是变小呢?

点评

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


回复

使用道具 举报

1122

TA的帖子

2

TA的资源

五彩晶圆(中级)

Rank: 8Rank: 8

发表于 2014-10-30 04:25:33 | 显示全部楼层
huo_hu 发表于 2014-10-29 23:07
不是的,开环没有问题,关键在矩频特性上.
电流检测加在哪儿呢?负载增加电流变大还是变小呢?

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

点评

驱动器产品了解的不多,原理上应该差不多的,开环低负载3000转每分钟是做过的.  详情 回复 发表于 2014-10-30 09:53
响应春哥号召《全民DIY ACDC实验电源》正在进行中。。。


回复

使用道具 举报

3101

TA的帖子

0

TA的资源

版主

Rank: 6Rank: 6

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

驱动器产品了解的不多,原理上应该差不多的,开环低负载3000转每分钟是做过的.


回复

使用道具 举报

46

TA的帖子

1

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2014-10-31 01:48:28 | 显示全部楼层
步进电机在低速驱动时,发一个脉冲走一步,一般没什么问题。在整步驱动情况下,57电机在500Hz以下的速度一般都不会出现失步问题。
但如果采取了细分,特别是细分数比较大时,启动力矩会急速下降,启动时很容易出现失步现象,停止时还会出现滑步问题。解决的办法主要是采取加减速驱动方式,并合理设置驱动器的Chopper电流。。


回复

使用道具 举报

1122

TA的帖子

2

TA的资源

五彩晶圆(中级)

Rank: 8Rank: 8

发表于 2014-10-31 04:23:24 | 显示全部楼层
LZ盆友说在点子上了~~~

由于采取了细分,特别是细分数比较大时,驱动频率越高,V, I 之间相位差也越大,启动或运行力矩会急速下降,电机空载运行或许行,满载运行肯定不行!
只有加入电流环检测,以确定PWM驱动的关断时刻,保证足够的驱动功率 。
响应春哥号召《全民DIY ACDC实验电源》正在进行中。。。


回复

使用道具 举报

2

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

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

点评

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


回复

使用道具 举报

9

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2016-11-11 16:32:54 | 显示全部楼层
liqiezi168 发表于 2016-4-20 16:21
楼主,你的问题解决了吗,我也遇到你同样的问题

楼主估计挂了


回复

使用道具 举报

3101

TA的帖子

0

TA的资源

版主

Rank: 6Rank: 6

发表于 2016-11-12 00:13:22 | 显示全部楼层
IR2103用来做逆变器还可以目标是50HZ,高了不行,速度不够


回复

使用道具 举报

1

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2017-10-29 10:27:51 | 显示全部楼层
我也在做这个研究,交流一下,425905805
ethan0ly


回复

使用道具 举报

2

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2018-2-12 17:14:33 | 显示全部楼层
估计都没人看楼主发出来的代码. 那个计算正弦波的算法就不对...
        //生成正弦波
        {
                const double PI=acos(-1.0);
                const double dv = PI/2.0/MicroStepNum;
                for(i = 0;i<MicroStepNum-1;i++){
                        Sin[i] = (int)(0.5+Modulation*900*sin(i*dv));
                }
        }

点评

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


回复

使用道具 举报

3101

TA的帖子

0

TA的资源

版主

Rank: 6Rank: 6

发表于 2018-2-13 00:05:53 | 显示全部楼层
136048599 发表于 2018-2-12 17:14
估计都没人看楼主发出来的代码. 那个计算正弦波的算法就不对...
        //生成正弦波
        {
                const double PI= ...

先做成了再想着让别人也看的懂,理解


回复

使用道具 举报

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

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456

GMT+8, 2018-5-26 04:13 , Processed in 0.538594 second(s), 19 queries , Gzip On, Redis On.

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