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

P-NUCLEO-IHM002培训作业,启停控制

[复制链接]
Stm32McuLover 发布时间:2017-8-27 22:00
本帖最后由 哈佛祖安智 于 2017-8-27 22:00 编辑

本次培训的作业二是控制电机启停运转5秒钟、速度3000RPM,如此往复,即转5秒->停5秒;

先使用X-CUBE-SPN7库试试,需要配置梯形6步法:即将JP1和JP2断开,同时J5和J6选择1SH边短接。

step1:进入目录en.X-CUBE-SPN7\STM32CubeExpansion_SPN7_V1.1.0\Projects\Multi\Examples\MotorControl\EWARM\STM32F302R8-Nucleo,使用iar打开工程;
搜狗截图20170827212940.png
step2:MC_SixStep_param.h文件非常重要,里面保存了基本的梯形6步法电机控制的参数设置。
搜狗截图20170827212447.png
参数设置分为2大部分,基本参数和高级参数设置。对于简单的应用,修改下基本参数就行了;
NUM_POLE_PAIRS表示使用的电机的极对数,后面的7表示BR2804-1700KV-1型三相无刷直流电动机的极对数是7;
DIRECTION表示电机的旋转方向,0表示正转,1表示反转,但电机的接线必须符合手册介绍;
TARGET_SPEED表示电动机的初始目标速度,3000表示3000rpm;
POTENTIOMETER表示是否使用电位器调整电机的速度,0表示禁止,1表示允许,默认是允许的,这里改为0禁止;

step3:在while-loop循环里有电机控制实例的说明和参考API函数,以及给用户提供的编程位置。
搜狗截图20170827212515.png
只需5句简单的代码就可实现预期的目标,
  1.       MC_StartMotor() ;//-> Start the motor
  2.       MC_Set_Speed(3000) ;//-> Set the new motor speed
  3.       HAL_Delay(5000); //->delay 5 second
  4.       MC_StopMotor() ;//-> Stop the motor
  5.       HAL_Delay(5000); //->delay 5 second
复制代码
视频效果:

再看看,矢量(FOC)控制,需要配置下板卡:即将JP1和JP2闭合,同时J5和J6选择3SH边短接。

https://www.stmcu.org.cn/module/forum/thread-613150-1-1.html基础上,进入FOC SDK\v4.3.0\STM32 PMSM FOC LIB\Web\Project\MDK-ARM\UserProject,打开工程STM32F30x_UserProject,屏蔽while(1)内容添加代码:

搜狗截图20170827215125.png

视频:




听声音很明显,矢量(FOC)控制加速没有梯形6步法快,但平稳。

收藏 评论0 发布时间:2017-8-27 22:00

举报

0个回答

所属标签

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