我用的FOC电机库的版本是5.4.7,软件的获取大家可以去csnd上找一下,需要的话也可以私信我,我就不在这放百度网盘的链接了。

稍微了解一下FOC电机库的话会知道一个叫api的函数,这里面会有一些函数涉及到开启关闭电机,设置电机启动速度和启动时间这些,因此我这次的目的串口使能电机开闭就是调用MC_STARTMOTOR1()与MC_STOPMOTOR1();以及MC_ProgramSpeedRampMotor1();这三个函数,注意这里的速度指令要写在启动指令前面。

具体来看下步骤首先是FOC电机库的配置,具体配置大家可以看下大佬的博客ST MC SDK WorkBench设置参数与程序之间的对应_Jachin Li、的博客-CSDN博客

之后生成代码

到这里其实可以烧录进板子里来通过监视器来看一下是否能驱动电机,之后就是配置串口协议了,在写之前需要先做一些准备工作,因为我们需要串口中断使能,如果你直接写的话其实你会发现要么是串口不接收要么接收之后无法进入while循环,这个就是难点,我尝试了一些方法突然想到,我用的405板子但是FOC里没有405这个芯片,所以用的407替代,那么FOC生成的代码里的USART3串口对我的板子来说是无效的,所以我单独用CUBEMX这个软件生成了一份405RGT6的中断程序。

配置好这些之后就可以生成代码了

注意所有的保存路径和名称都不要包含中文,FOC电机库生成代码里面也不要出现中文。

生成代码之后打开路径,打开FOC电机库生成的文件夹以及CUBEMX生成的文件夹打开两者的inc和src文件夹,把CUBEMX里inc和src文件夹里的stm32f4xx_it和usart文件拷贝到FOC电机库里的inc和src文件夹中,之后就是修改代码。

打开FOC电机库文件夹中的keil文件,直接编译,会报错三个函数重复定义,在下图中的两个中。

将红标2处的函数从stm32f4xx_it里删除掉,同理将void SysTick_Handler(void)函数也删掉从stm32f4xx_it里,这时候还剩一个报错,是

这个USART3_IRQHandler(void)这个函数,这个函数要保留在stm32f4xx_it里,将它从stm32f4xx_mc_it里删除掉,因为这个是串口,我们不需要电机库的串口,我也试过把这三个重复定义的函数全部从一个文件里删除,但是发现不可以,要么是无法接收,要么是接收但是api函数无法调用,之后再编译会发现不再报错,之后烧录到板子里。

哦,对了还有串口的通讯协议我放在下面,串口助手有需要的话也可以私信我,串口协议全部都写在main函数的里面。

之后电机就可以跑起来了

我的运行视频还在上传,上传成功大家可以自行看一下,写的不好,大家看个乐呵就行

【无标题】FOC SDK电机库与STM32用串口指令使能电机开启关闭相关推荐

  1. 【无标题】经典电气柜和电气图对比

    自动化工程里面最重要的就是电器柜,电器柜里有整套机器的核心控制,电气的配盘需要工人的认真负责,电气图纸上有盘面的模拟,但是实际上实物和图纸上还是有差距的.具体问题具体分析. 这张照片里的问题比较普遍, ...

  2. 【无标题】模电实验024

    一.题目 利用IV分析仪测量二极管的伏安特性 二.测量方法及其步骤 1.选择元件:在 Multisim 主界面的左侧元器件栏中选择某种型号的二极管(Diode),如1N4148,将至电路图窗口.    ...

  3. 【无标题】模电仿真实验

    练习9.22(P385) 利用W117设计一个稳压电路,要求输出电压的调节范围为5-20V,最大负载电流为400mA.利用Mulisim对所设计电路进行仿真,并测试所有性能指标. 解: 根据输出电流的 ...

  4. android灯光蜂鸣器控制节点指令代码,基于stm32发送串口指令控制LED,蜂鸣器等(串口助手+原理图+显示结果)...

    本帖最后由 我累个去啊啊啊 于 2019-6-12 16:22 编辑 ///2019 6 12 更新 加入 :串口助手截图 简易问题说明 ///2019 6 11 更新  加入 :  使用的串口调试助 ...

  5. STM32 电机教程 20 - 基于ST MC Workbench 无感FOC

    前言 磁场定向控制又称矢量控制(FOC), 本质上为控制定子电流的幅度和相位,使之产生的磁场和转子的磁场正交,以产生最大的扭矩. PMSM的磁场定向控制框图如下图所示: 第19讲成功实现了基于NUCL ...

  6. ST电机库v5.4.4源代码分析(1): FOC原理(结合ST电机库)

    编者:沉尸 (5912129@qq.com) 本文字描述电机FOC的原理性内容,大部分取材于网络,但是我对于某些细节进行了比较详细的描述.因为很多最初的出处链接没有记录下来,所以没有标明,忘谅解!本文 ...

  7. STM32 电机教程 22 - 基于ST MCLIB无感FOC算法变有感(HALL)FOC算法

    前言 磁场定向控制又称矢量控制(FOC), 本质上为控制定子电流的幅度和相位,使之产生的磁场和转子的磁场正交,以产生最大的扭矩. PMSM的磁场定向控制框图如下图所示: 第21讲对比分析了基于ST M ...

  8. STM32 电机教程 21 - 基于ST MCLIB无感FOC 与 有感FOC 代码差异分析

    前言 磁场定向控制又称矢量控制(FOC), 本质上为控制定子电流的幅度和相位,使之产生的磁场和转子的磁场正交,以产生最大的扭矩. PMSM的磁场定向控制框图如下图所示: 第19.20讲分别实现了基于N ...

  9. 从方波控制到无感FOC电调,什么促使电机系统发生巨变?

    从方波控制到无感FOC电调,什么促使电机系统发生巨变? 采用方波控制算法的电调,让无刷电机真正被引入航模及无人机领域.不过在使用过程中,这种控制算法的劣势也越来越明显.这也让一种早已有之的算法--FO ...

  10. 基于STM32 电机库(5.4.4)的单电阻采样调试总结

    目录 硬件调整 软件调整 下载运行 参数优化 总结 硬件调整 实验用的开发板和电机如下,在调单一电阻之前已经在三电阻的环境下把启动运行的参数已经调好了,这里不多说.调好后需要把硬件改成单电阻采样. 如 ...

最新文章

  1. 【Qt】启动QtCreator时报错:Cannot mix incompatible Qt library (version ) with this library (version...
  2. Exchange 2013防止数据丢失DLP预览
  3. 【Python 第8课】while
  4. ubuntu java classpath_java – 如何为Ubuntu中的文件夹设置CLASSPATH变量
  5. SwiftUI之深入解析高级动画的时间轴TimelineView
  6. oracle的asmcmd获取归档日志,分析oracle的联机日志和归档日志
  7. 用户权限 组 特殊权限
  8. 如何在Component template函数执行时查看ɵɵtemplate或者ɵɵproperty传入的参数值
  9. Identity Server 4 - Hybrid Flow - Claims
  10. 实验 3 检查点和参数化实验报告--软件功能测试与性能测试实验
  11. javascript 事件冒泡和事件代理
  12. vlan之间Hybrid端口配置
  13. ArcGIS Server Manager打不开(运行时错误)
  14. python爬取斗鱼礼物数据_Python---20行代码爬取斗鱼平台房间数据(上)
  15. 计算摄影学基础知识(1)
  16. opencore amr android,苹果手机amr文件用什么打开,opencore框架进行语音
  17. 动态DNS的定义以及优缺点有哪些
  18. 《深入理解java虚拟机》学习笔记之虚拟机即时编译详解
  19. LeetCode/LintCode 题解丨一周爆刷字符串:空格替换
  20. c++中关于cin.tie以及sync_witch_stdio同步

热门文章

  1. python画离散点_python 画散点图
  2. Jmeter 及 JDK 下载 安装教程
  3. Java语言程序设计(沈泽刚主编)第3版 第1~3章编程练习答案
  4. perl语言简单入门
  5. ulipad.4.1.zip linux,UliPad 使用介绍
  6. Qt的QDataStream
  7. 共享计算机管理员权限设置,有共享文件夹。怎么从局域网取得管理员权限
  8. linux系统开远程桌面,Linux 系统开启远程桌面的方法
  9. 强行进入远程计算机,远程桌面强制连接命令
  10. 【Java】java 读写 json文件,java读写文件