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

基于MC SDK5.0 API,速度控制与电机启动停止,任务1

[复制链接]
freeelectron 发布时间:2018-9-2 16:00
本帖最后由 freeelectron 于 2018-9-2 16:56 编辑
% c) G8 `. R9 `! Z5 c" n& Z" Y1 G" {6 r, S4 H& P
        通过任务1:主要熟悉调用MC API实现电机基础操作,了解速度参数设定 。; s! Z* b; L3 d) x% S
2.png
        添加代码,通过最简单的方法,将代码添加到while (1)即可
  1.   while (1)
    $ C7 \/ ~' k& g. }1 a3 {' l
  2.   {
    & Y6 g# l% T0 m. M! Y" }1 @
  3. # ~" t0 K6 c* J* Q
  4.   /* USER CODE END WHILE */- {' O2 g* m, Y8 a9 `) H+ ]

  5. % W0 s9 r/ ^. G' Z& D0 U. ]
  6.   /* USER CODE BEGIN 3 */
    / H9 w6 E; D- ]% K0 p
  7.      MC_ProgramSpeedRampMotor1(3000/6,1000);
    $ l# h! d2 ?6 L- c, j, w
  8.      MC_StartMotor1();
      }# \  R" ]; J# d: F
  9.      HAL_Delay(10000);" p7 F- f2 C7 {& h" m+ W5 M
  10.      MC_StopMotor1();
    # |( i. L' ^4 [2 `
  11.      HAL_Delay(5000);
    ; w& f1 w& W! x6 O' Z' c5 {
  12.   }/ m2 ~/ z; U- {6 d
  13.   /* USER CODE END 3 */
复制代码
1 n, i0 P1 K* @. \# d( f, e2 H

! J5 r' \0 \$ J, ]" }  w0 A         速度波形查看:$ z& E, V( T; u9 r: `
! m4 r/ S; Y/ l7 m
4.png
2 U. F2 J: C% E% N- e- {9 _
           API说明:
           void MC_ProgramSpeedRampMotor1( int16_t hFinalSpeed, uint16_t hDurationms );. d1 K8 }0 z: _* `6 w5 W4 E
             //设置速度指令。.在调用此函数后速度指令在 hDurationms 设置的时间内由当前速度变化到 hFinalSpeed设置的目标速度。' W* F; }3 T$ \4 D6 v1 ~/ r. J  X  L$ @
             MC_StartMotor1();
4 R6 f; Z0 _- X- g0 b8 y             //启动
) Z$ \  M, e1 B8 [$ I) C! i          MC_StopMotor1();; w1 P' F/ N7 l% \) k( @" e3 L3 O0 P5 |
          //停止
  _6 c& g$ k' @$ j+ Z9 G% R( D" ?7 f# s3 q

3 }* L4 Z' u4 B& t3 C
收藏 1 评论6 发布时间:2018-9-2 16:00

举报

6个回答
zero99 回答时间:2018-9-3 17:33:04
支持下
freeelectron 回答时间:2018-9-3 19:37:25
zero99 发表于 2018-9-3 17:33- v2 s/ @: c1 V* S" x
支持下
. g1 Y# ~& Y2 E/ w7 r- ~9 t
pinganbo 回答时间:2018-9-11 14:48:25
请问,MC_ProgramSpeedRampMotor1(3000/6,1000);里的3000/6是啥意思?为什么还要除以6?
liujunfy527 回答时间:2018-10-26 21:14:50
谢谢分享
晴空 回答时间:2018-10-27 13:23:48
不错  学习
Kevinzzznn 回答时间:2020-3-26 17:14:25
ananbo 发表于 2018-9-11 14:48) `9 `$ T% d2 L
请问,MC_ProgramSpeedRampMotor1(3000/6,1000);里的3000/6是啥意思?为什么还要除以6?

8 h+ k/ f" ?* N2 c: s  [最终目标速度的按照ST的转速定义是0.1Hz,转子的0.1HZ也就是0.1r/s。电机转速的常规表达是RPM,即转每分;ST的MCSDK中有三种速度的表达。这里使用的是 0.1转每秒。如果电机电机的转速是1000转,这里的值就是1000[rpm]/60s/10=16.7[0.1rps]。

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版