你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【电机套件 P-NUCLEO-IHM002】七、聊聊调速api参数

[复制链接]
踏平幼稚园 发布时间:2017-8-28 11:07
本帖最后由 踏平幼稚园 于 2017-8-28 11:08 编辑 / x; ~6 y( [1 ~) z  z

3 J; h: N" b3 D7 H    上一贴【电机套件 P-NUCLEO-IHM002】六、直播培训电机调速及转停中,调速API是MCI_ExecSpeedRamp,但是该接口有三个参数:& }. S5 x% _5 t5 E6 O
        第一个是电机控制对象;
, y4 N3 x# y3 R/ r' ?/ O3 {        第二个是目标转速(对应0.1HZ),所以传入参数应为:目标转速 / 60(秒) * 10(倍);
( |6 F3 N; ?  j' l        第三个参数是达到目标转速所需要的时间(即转速变化斜率)* x" Q1 u4 O! N+ Y7 F: M
& d" {5 o* ^9 b+ C4 {0 q
    为了更直观的观测参数3的作用,写了一段代码,再结合ST的PC端工具观测结果) ?1 K0 l/ n6 v$ b' o+ K( c! k7 I
  1.   int6_t speed = 500;3 ~4 n( |6 Z  ?9 n' T- |6 d$ `4 D
  2.   uint16_t dur = 1000;9 ^" Y$ l7 d( w9 u2 u6 c' Q8 J
  3.   MCI_ExecSpeedRamp(oMCI[M1], speed/6, dur);( N/ G) M( Y/ E; I* I2 x0 f
  4.   MCI_StartMotor(oMCI[M1]);# j7 E. b) a8 f! K4 Q& s. ]8 ]' Q
  5.   
    5 Q/ C; \! p2 r! N- ]/ ^
  6.   while(1) {' m/ Y/ @6 d6 z: \2 y) J$ i
  7.     TB_SetUserTimebaseTime(SYS_TICK_FREQUENCY * 3); //设置延时时间3s9 d3 f; y8 Q  @2 M5 s
  8.     while(!TB_UserTimebaseHasElapsed()) {} //等待延时结束
    1 W0 n! `& X+ j1 S% p
  9.     speed += 1000;! R9 Y; c; N% t# \4 Z7 j
  10.     if(speed > 5000)
    1 y6 I; j9 A# d* V
  11.     {
    9 p5 j6 c6 Z, n( S* S& S' h
  12.       speed = 1000;
    ' I) p7 J& [3 W
  13.       dur += 1000;
    ( V4 H1 n, I+ }: e" b: ~( I9 }
  14.       if(dur > 2500)
    ( F- a# ]( E; K2 h# `1 c. ]- L& x
  15.       {" f4 R) }( p% f& e3 H, K
  16.         dur = 500;
    ' u$ n% n% L  n; l- }7 b% Z2 t% E
  17.       }  N1 r3 o+ P& B" s  m6 G! ?
  18.     }
    % ^: G. E" S) w8 M
  19.     MCI_ExecSpeedRamp(oMCI[M1], speed/6, dur);
    * X# A8 a% ~5 N
  20.   }
复制代码
# @; V4 _; g1 o) d
    a.打开速度监控6 J! R. `; _- J. g5 W8 x8 x# m
         0.png . f$ I; G1 q: t" S& m7 b
    b.查看监控数据
' _, z. a4 N* X1 \( A% ?5 }& b2 x         1.png 0 S0 L% s4 v! N" }7 S

% ?8 N! J/ Z/ g) Y, M4 p1 v( ]6 B: ~& K
; G8 c; j1 n/ d    上图中红蓝绿框中分别对应不同延时时间(1000ms,2000ms,3000ms)下对应的速度变化斜率,可以发现延时时间越短斜率越陡,延时时间越长斜率越平缓。因此当我们需要应用场景中需要电机快速达到预定速度是可将延时时间减小甚至设置成0,而需要电机速度稳定平滑过渡的场景则需要根据当前转速和目标转速的差给出适当的延时时间参数。最后需要注意的是降速时如果速度差过大而延时时间又过短时会出现错误:
6 \9 z: h5 t9 J( x6 e    2.png
% ^% _+ `% N- V* P. |2 k/ O/ [5 P

6 E" ]) b. V. k( U7 |
收藏 评论3 发布时间:2017-8-28 11:07

举报

3个回答
zero99 回答时间:2017-8-28 12:56:18
支持原创
18702930206 回答时间:2017-8-29 09:20:20
很好,支持
ls2013211536 回答时间:2018-5-7 09:17:10
请问你的串口怎么链接上的吗
$ H6 C& u4 b; q5 ?: d

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版