请选择 进入手机版 | 继续访问电脑版
搜索
查看: 3697|回复: 6

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

[复制链接]

该用户从未签到

69

主题

1815

帖子

124

蝴蝶豆

版主

最后登录
2021-3-16
发表于 2018-9-2 16:00:15 | 显示全部楼层 |阅读模式
本帖最后由 freeelectron 于 2018-9-2 16:56 编辑

        通过任务1:主要熟悉调用MC API实现电机基础操作,了解速度参数设定 。
2.png
        添加代码,通过最简单的方法,将代码添加到while (1)即可
  1.   while (1)
  2.   {

  3.   /* USER CODE END WHILE */

  4.   /* USER CODE BEGIN 3 */
  5.      MC_ProgramSpeedRampMotor1(3000/6,1000);
  6.      MC_StartMotor1();
  7.      HAL_Delay(10000);
  8.      MC_StopMotor1();
  9.      HAL_Delay(5000);
  10.   }
  11.   /* USER CODE END 3 */
复制代码


         速度波形查看:

4.png

           API说明:
           void MC_ProgramSpeedRampMotor1( int16_t hFinalSpeed, uint16_t hDurationms );
             //设置速度指令。.在调用此函数后速度指令在 hDurationms 设置的时间内由当前速度变化到 hFinalSpeed设置的目标速度。
             MC_StartMotor1();
             //启动
          MC_StopMotor1();
          //停止


回复

使用道具 举报

  • TA的每日心情
    开心
    2018-2-6 09:20
  • 签到天数: 1 天

    [LV.1]初来乍到

    1182

    主题

    4967

    帖子

    1

    蝴蝶豆

    论坛元老

    最后登录
    2020-3-17
    发表于 2018-9-3 17:33:04 | 显示全部楼层
    支持下
    回复

    使用道具 举报

    该用户从未签到

    69

    主题

    1815

    帖子

    124

    蝴蝶豆

    版主

    最后登录
    2021-3-16
     楼主| 发表于 2018-9-3 19:37:25 | 显示全部楼层
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    29

    主题

    106

    帖子

    0

    蝴蝶豆

    金牌会员

    最后登录
    2023-6-9
    发表于 2018-9-11 14:48:25 | 显示全部楼层
    请问,MC_ProgramSpeedRampMotor1(3000/6,1000);里的3000/6是啥意思?为什么还要除以6?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    29

    帖子

    0

    蝴蝶豆

    初级会员

    最后登录
    2018-11-6
    发表于 2018-10-26 21:14:50 来自手机 | 显示全部楼层
    谢谢分享
    回复

    使用道具 举报

    该用户从未签到

    2

    主题

    14

    帖子

    0

    蝴蝶豆

    初级会员

    最后登录
    2022-4-8
    发表于 2018-10-27 13:23:48 | 显示全部楼层
    不错  学习
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    3

    帖子

    0

    蝴蝶豆

    新手上路

    最后登录
    2023-4-8
    发表于 2020-3-26 17:14:25 | 显示全部楼层
    ananbo 发表于 2018-9-11 14:48
    请问,MC_ProgramSpeedRampMotor1(3000/6,1000);里的3000/6是啥意思?为什么还要除以6?

    最终目标速度的按照ST的转速定义是0.1Hz,转子的0.1HZ也就是0.1r/s。电机转速的常规表达是RPM,即转每分;ST的MCSDK中有三种速度的表达。这里使用的是 0.1转每秒。如果电机电机的转速是1000转,这里的值就是1000[rpm]/60s/10=16.7[0.1rps]。
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

    GMT+8, 2024-3-29 05:45 , Processed in 1.192014 second(s), 39 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

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