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

【STM32电机培训online】+ 在官方例程的基础上进行实验1

[复制链接]
dsjsjf 发布时间:2017-8-26 11:10
本来打算玩一下ST Motor Control Workbench的,可无奈里面内容太多,还吃不透。那就先玩一下官方例程,也顺便在官方例程的基础上修改部分代码,完成一些实验。
1.打开工程。工程在安装目录下C:\Program Files (x86)\STMicroelectronics\FOC SDK\v4.3.0\STM32 PMSM FOC LIB\Web\Project\EWARM。我是用的IAR,用Keil或者AC6的小伙伴可以选择对应的文件打开。
1.jpg
2.打开后,可以看到工程文件中有几个Project,先编译STM32F30x_UserProject-P-NUCCLEO-IHM001_SINGLEDRIVE。
2.jpg
3.编译后,发现有1个错误,从提示可以看出缺少了一个库文件,这时我们发现工程内有一个Project是STM32F30x_MCLibrary-STM32F302_SINGLE_DRIVE,选择这个Project,编译。再切换到之前的Project,编译,就没有错误了。
3.jpg
4.jpg 5.jpg
4.下载到板子上,按板上的蓝色USER按钮,可以控制电机的启动与停止,但是调速旋钮不起作用。查看main()函数,例程只简单的处理了按键控制启停,没有做调速功能。

5.按HandOn的Task 1要求,完成实验。
6.jpg
6.  把原while循环,替换成以下代码,下载到板子上,电机按照实验要求,正转5S,停止5S,再正转,如此往复。
MCI_ExecSpeedRamp(oMCI[0],3000/6,1000);//--1000ms内加速到3000RPM,3000/6:以0.1HZ作为单位的速度指令
  while(1)
  {
    MCI_StartMotor(oMCI[0]); //-- 运行电机
    //Delay 5S
    TB_SetUserTimebaseTime(10000);
    while(TB_UserTimebaseHasElapsed() != TRUE);
    MCI_StopMotor(oMCI[0]);//--停止电机
    //Delay 5S
    TB_SetUserTimebaseTime(10000);
    while(TB_UserTimebaseHasElapsed() != TRUE);
  }
7.这个实验比较简单,相关的代码实验要求上已经给出,只要添加到程序中就可以了。延时函数用的是Timebase.c中的。SysTick的时钟频率是2000Hz,所在5S延时值就是10000。
/**
  * @brief  Use this function to know whether the user time base is elapsed
  * has elapsed
  * @param  none
  * @retval bool TRUE if time is elapsed, FALSE otherwise
  */
bool TB_UserTimebaseHasElapsed(void)
{
  bool retVal = FALSE;
  if (bUDTBTaskCounter == 0u)
  {
    retVal = TRUE;
  }
  return (retVal);
}
/**
  * @brief  It set a counter intended to be used for counting the user time base
  *         time
  * @param  SysTickCount number of System ticks to be counted
  * @retval void
  */
void TB_SetUserTimebaseTime(uint16_t SysTickCount)
{
  bUDTBTaskCounter = SysTickCount;
}

实验完成。
收藏 评论0 发布时间:2017-8-26 11:10

举报

0个回答

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似分享

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