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

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

[复制链接]
freeelectron 发布时间:2018-9-2 16:00
本帖最后由 freeelectron 于 2018-9-2 16:56 编辑   A7 A/ C9 O8 F4 A

5 n, ~# a+ D' W: z2 _9 T! a        通过任务1:主要熟悉调用MC API实现电机基础操作,了解速度参数设定 。
. n$ P6 f( K: p" Z$ K/ n9 p
2.png
        添加代码,通过最简单的方法,将代码添加到while (1)即可
  1.   while (1), D8 }2 A; G/ ~
  2.   {1 x: T: ^# ~2 l6 H7 b( e4 L, r& u* Q
  3. # F( F1 m* H$ i1 F* R! g: q, Z
  4.   /* USER CODE END WHILE */4 D) q; T. `8 R, h3 B+ b0 G

  5. 2 o" P9 ^7 `2 ?' }/ }% }
  6.   /* USER CODE BEGIN 3 */
    / V; \) p4 K4 R% |; B% Z0 v
  7.      MC_ProgramSpeedRampMotor1(3000/6,1000);
    ; g4 k! I; z# z
  8.      MC_StartMotor1();7 Y  I+ Y# e$ w1 {
  9.      HAL_Delay(10000);
    9 s2 p( t0 u9 m0 @# t0 R
  10.      MC_StopMotor1();$ T  H8 B0 m3 h- J9 `0 N
  11.      HAL_Delay(5000);
      V3 E' P6 {& D" y! n, k# L! _
  12.   }
    $ D- }" m, [+ J+ X% ?/ l  o
  13.   /* USER CODE END 3 */
复制代码

# x1 J# [+ ]& z8 c8 ]
9 C( \  g3 P# L7 n8 `; U# N$ Z4 u
         速度波形查看:1 c8 {. `- z6 F
. Y& [; D" u( w: r, q% z9 O$ U
4.png

5 I& z- a8 Y6 I2 \& Q
           API说明:
           void MC_ProgramSpeedRampMotor1( int16_t hFinalSpeed, uint16_t hDurationms );
. X7 B3 ?: p  f8 ?/ r* u
             //设置速度指令。.在调用此函数后速度指令在 hDurationms 设置的时间内由当前速度变化到 hFinalSpeed设置的目标速度。: q. s7 F* s3 N8 p
             MC_StartMotor1();
2 |0 q. I& O8 e0 O$ f9 a/ u( D5 Q             //启动% @! b  P9 h) M/ q# C4 B
          MC_StopMotor1();
/ O; E- h+ C- D( C. _. N% j" {          //停止! V3 v8 {: A% `# {$ S5 [

; x; y# t3 v" O7 r5 j; a8 _1 E, ?7 `& T
收藏 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
) ?$ ?& Q$ g- c5 o- S6 q支持下

2 I5 m0 x6 c! O. A" l! l& P8 P' F0 ~
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
4 q. r) w' \% D9 }% s, x. T请问,MC_ProgramSpeedRampMotor1(3000/6,1000);里的3000/6是啥意思?为什么还要除以6?

% t" W2 x& h( ^& Z+ M# k6 B& 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 手机版