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

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

[复制链接]
freeelectron 发布时间:2018-9-2 16:00
本帖最后由 freeelectron 于 2018-9-2 16:56 编辑 8 [  f( b  e; M. I6 U9 S, O' B
; W; R2 ]8 y: D+ I2 D
        通过任务1:主要熟悉调用MC API实现电机基础操作,了解速度参数设定 。
1 k$ j5 \  |/ x3 H2 T
2.png
        添加代码,通过最简单的方法,将代码添加到while (1)即可
  1.   while (1). l6 a) _) d3 m8 ^7 G& P
  2.   {3 [5 k! z) ^7 i# h6 l- B
  3. / b" a0 [. R( I# O: Z8 |' Y1 ^& K
  4.   /* USER CODE END WHILE */
    + q/ V4 Y/ S" n8 n

  5. ) P5 k. ~. d1 w9 l/ i  P0 e- y
  6.   /* USER CODE BEGIN 3 */
    4 p5 E  C0 Q* b0 o$ S: S- Z
  7.      MC_ProgramSpeedRampMotor1(3000/6,1000);! {6 h( F3 S; o5 R
  8.      MC_StartMotor1();
    ( b/ T& P5 `1 o) R5 M5 W. C" m
  9.      HAL_Delay(10000);! Q* Q& p3 D7 f  @+ a, v5 g5 \. @
  10.      MC_StopMotor1();
    4 [1 N$ b8 b/ D
  11.      HAL_Delay(5000);" L$ y# R$ d8 H  \' |
  12.   }
    % q0 Q) y6 ~! m( ?( Q1 f7 k
  13.   /* USER CODE END 3 */
复制代码

; T0 F, `8 [; V; p

  k: e) g' l% A5 |; i/ a# D2 M         速度波形查看:0 c7 M) @- ^# s0 {3 Y+ J
" Y6 K2 w# h9 _) Y/ v+ p# X, f
4.png
# J' \" r' c, F; }5 ~, N7 P+ @
           API说明:
           void MC_ProgramSpeedRampMotor1( int16_t hFinalSpeed, uint16_t hDurationms );
* c: T: y5 g8 |3 N: e0 Q: |4 S- ~
             //设置速度指令。.在调用此函数后速度指令在 hDurationms 设置的时间内由当前速度变化到 hFinalSpeed设置的目标速度。+ l. I6 A- F, C' m2 E  {
             MC_StartMotor1();
5 ?* O  \1 i+ V* P' N9 O; @             //启动
4 K* l8 g) @" n9 y5 P3 B/ ]          MC_StopMotor1();* M* D) U% v: C5 V4 f+ A
          //停止
- G' l4 k( S7 M+ Y# p& e
( b3 P' {$ B) f$ `8 r- y, q6 _5 V5 U. 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
6 E' _- S" C0 v支持下

! g! ^! V0 @" `0 |  L
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:487 S  N9 G( `3 j/ E8 U+ L
请问,MC_ProgramSpeedRampMotor1(3000/6,1000);里的3000/6是啥意思?为什么还要除以6?

$ E- |1 U' T7 F0 F9 ]7 @最终目标速度的按照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 手机版