【动手学电机驱动】 STM32-FOC(1)IHM03 电机控制套件的介绍

news2024/11/27 6:24:41

STM32-FOC(1)IHM03 电机控制套件的介绍
STM32-FOC(2)IHM03 电机控制套件的使用

【动手学电机驱动】 STM32-FOC(1)IHM03 电机控制套件的介绍

    • 1. IHM03:基于 STM32 的电机控制套件
      • 1.1 X-NUCLEO-IHM16M1 电机驱动板
      • 1.2 NUCLEO-G431RB 控制板
      • 1.3 GBM2804H-100T 直流无刷电机
      • 1.4 直流电源
    • 2. IHM03 电机控制套件使用指南
      • 2.1 开发环境
      • 2.2 硬件设置
      • 2.3 系统架构
      • 2.4 快速启动
    • 3. STM32电机控制软件开发套件(MCSDK)
    • 4. STM32 集成开发环境(STM32CubeIDE)
    • 5. 参考文档


1. IHM03:基于 STM32 的电机控制套件

在这里插入图片描述

P-NUCLEO-IHM03 STM32电机控制套件包括:X-NUCLEO-IHM16M1 电机驱动板、NUCLEO-G431RB 主控板、GBM2804H-100T云台直流无刷电机和 12V 直流电源。

该套件基于 STM32G431RB MCU 和 STSPIN830 驱动,为三相、低压和低电流的直流无刷电机或永磁同步电机提供了一种电机控制解决方案。

  • STSPIN830 是面向三相电机,适用 FOC 算法的紧凑型通用驱动器。 它集成了三相半桥功率级,含有控制逻辑和完善的保护且RDSon较低,采用非常小的4 x 4 mm QFN 封装。支持单电阻或三电阻电流采样架构,并内嵌PWM电流控制器。通过专用的MODE输入引脚,可以选择 6个PWM 输入(每个输入对应一个Mosfet)或更常见的 3个PWM输入进行驱动。
  • STM32G431RB 是一款32位微控制器,基于高性能Arm® Cortex®-M4 32位RISC内核,最高频率可达170 MHz,且带有浮点单元(FPU),内嵌高级模拟外设集。

1.1 X-NUCLEO-IHM16M1 电机驱动板

在这里插入图片描述

X-NUCLEO-IHM16M1 电机驱动板可以支持并配置不同的闭环控制、FOC或 6步方波 有感或无感方案。它兼容三电阻或单电阻电流采样测量。

  • 基于STSPIN830,面向BLDC/PMSM电机的三相驱动板。
  • 标称工作电压范围:DC 7~45 V
  • 输出电流可达:1.5 A rms
  • 过流、短路、以及互锁保护功能
  • 热关断和欠压锁定
  • BEMF感应电路
  • 支持三电阻或单电阻电流采样检测
  • 基于霍尔效应的传感器或编码器输入连接器
  • 可用于调速的电位计
  • 配有ST morpho连接器

X-NUCLEO-IHM16M1 电机驱动板基于STSPIN830单片驱动器,适用于三相无刷电机。用于在STM32 Nucleo项目中驱动无刷电机,实现单分流和三分流电流传感。STSPIN830嵌入了一个具有可调阈值的PWM限流器以及全套保护。
X-NUCLEO-IHM16M1扩展板与Arduino和ST morpho连接器兼容,因此可以插入STM32 NUCLEO开发板并与其他STM32 Nuclearo扩展板堆叠。


1.2 NUCLEO-G431RB 控制板

在这里插入图片描述

NUCLEO-G431RB 控制板代表了价格实惠的灵活解决方案,可帮助用户使用STM32G4 微控制器实践新理念并构建原型。
NUCLEO-G431RB 控制板集成了STLINK-V3E调试器和编程器,无需另外的调试工具。提供了全面的免费软件库和例程,可从STM32Cube MCU软件包获得。

  • STM32G431RB 32位微控制器基于Arm® Cortex®-M4内核,内核工作频率为170 MHz,采用LQFP64封装,配128 Kb的闪存和32 Kb的SRAM
  • 两种类型扩展资源:Arduino™ Uno V3扩展连接器 ST morpho延长引脚头,用于完全访问所有STM32 I/O
  • 具有USB重新枚举功能的板上STLINK-V3E调试器/编程器:大容量存储器、虚拟COM端口和调试端口
  • 具有1个用户按钮和1个复位按钮

STM32G431RB 32位微控制器的架构如下图所示。

在这里插入图片描述


1.3 GBM2804H-100T 直流无刷电机

  • 云台直流无刷电机:GBM2804H-100T
  • 最大直流电压:14.8 V
  • 最高转速:2180 rpm
  • 最大扭矩:0.981 N·m
  • 最大直流电流:5 A
  • 极对数:7

1.4 直流电源

标称输出电压:DC 12V
最大输出电流:2 A
输入电压范围:AC 100~240 V
输入频率范围:50~60 Hz


2. IHM03 电机控制套件使用指南

P-NUCLEO-IHM03 STM32电机控制套件使用FOC算法,为三相、低压和低电流的 BLDC 或 PMSM 电机提供电机控制解决方案。

2.1 开发环境

STM32 32位微控制器基于Arm®Cortex®-M处理器。

  1. 系统要求:
  • Windows 操作系统(Windows 7、Windows 8 和 Windows 10)、Linux 64-bit 或 macOS
  • USB Type-A 或 Type-c 至 Micro-B 连接线缆,用于将STM32 Nucleo板连接到 PC
  1. 硬件要求
  • Windows PC
  • X-NUCLEO-IHM16M1 电机驱动扩展板
  • STM32 Nucleo 开发板
  • 直流电源,输出电压 7~45 VDC
  • 三相无刷电机
  • USB Type-A 或 Type-c 至 Micro-B 连接线缆
  1. 开发工具
  • STM32 电机控制 SDK:X-CUBE-MCSDK
  • 集成开发环境 IDE,可以选择一下三者之一:
    • STM32 集成开发环境(STM32CubeIDE)
    • Keil 开发套件(MDK-ARM-STR)
    • IAR 嵌入式开发环境(IAR-EWARM)
  1. 演示软件
    演示软件(包含在 X-CUBE-MCSDK STM32Cube 扩展包在)预装在STM32 Flash 中,便于在外设独立模式下进行演示。
    演示源代码和相关文档的最新版本可以从www.st.com下载。

2.2 硬件设置

下表给出了本文档中对跳线和桥接的 ON/OFF 基本设置。
在这里插入图片描述


2.3 系统架构

P-NUCLEO-IHM03套件基于电机控制系统常用的四块架构:

  • 控制块:它连接用户命令和配置参数以驱动电机。PNUCLEO-
    IHM03套件基于提供所有所需信号的NUCLEO-G431RB控制板
    以执行适当的电机驱动控制算法(例如FOC)。
  • 电源块:P-NUCLEO-IHM03电源板基于三相逆变器拓扑。其核心在
    该板是STSPIN830驱动器,它嵌入了所有必要的有源功率和模拟组件
    执行低压PMSM电机控制。
  • 永磁同步电机:低压、三相、无刷直流电机。
  • 直流电源单元:为其他模块供电(12V,2A)。

在这里插入图片描述


2.4 快速启动

从控制板快速启动的操作步骤:

  1. 根据使用的 STM32 Nucleo 开发板和操作模式,检查跳线位置和安装选项。
  2. 通过 ST-morpho连接器连接(CN7、CN10)X-NUCLEO-IHM16M1 驱动板与 STM32 NUCLEO 开发板。
  3. 将 3-pin 插接端子插入连接器 CN1 的 3/4/5 输出端,以连接无刷电机。
  4. 使用 USB 连接线将 STM32 Nucleo 开发板连接到 PC,并下载相应的预编译代码。
  5. 使用 12V 直流电源为电路板供电,可以选择以下二者之一:
    – 使用连接器 CN1 的 2(VIN)和 1(接地)接入 12VDC电源;
    – 使用 J4 插孔(2.1/2.5 mm,尖端正极)接入12VDC电源。
  6. 使用 STM32 电机控制 SDK(X-CUBE-MCSDK)开发和运行应用程序。

3. STM32电机控制软件开发套件(MCSDK)

STM32微控制器提供工业标准Arm® Cortex®-M内核的性能,可运行矢量控制控制或FOC模式,广泛应用于空调、家用电器、无人机、建筑和工业自动化、医疗和电动自行车等高性能驱动的应用领域。

STM32 MC SDK(电机控制软件开发套件)固件(X-CUBE-MCSDK和X-CUBE-MCSDK-FUL)包括永磁同步电机(PMSM)固件库(FOC控制)和STM32电机控制Workbench,以便通过图形用户界面配置固件库参数。

STM32电机控制Workbench为PC软件,降低了配置STM32 PMSM FOC固件所需的设计工作量和时间。

用户通过GUI生成项目文件,并根据应用需要初始化库。可实时监控并更改一些算法变量。

在这里插入图片描述

STM32 MC SDK(电机控制软件开发套件)功能:

  • 单/双同步磁场定向控制(FOC)
  • 电机分析仪和一键式调整可用于快速启动未知的电机
  • 基于STM32Cube HAL/LL库的简化固件架构
  • 支持的电流读取拓扑:
    • 1个分流电阻
    • 3个分流电阻
    • 2 ICS(隔离电流传感器)
  • 支持速度/位置传感器(编码器和霍尔)以及无传感器工作(状态观察器)
  • 风扇带速启动
  • 速度和扭矩控制
  • 为特定应用实现电机控制算法,包括MTPA(最大转矩电流)、弱磁、前馈和带速启动
  • 通过STM32电机控制Workbench PC端软件实现完全定制化和实时通信
    • 从板上开始新项目创建
    • 工作流支持STM32CubeMX GUI配置器
    • 支持广泛的STM32微控制器

STM32 MC SDK(电机控制软件开发套件)
官方下载地址:https://www.st.com.cn/zh/embedded-software/x-cube-mcsdk.html

在这里插入图片描述


4. STM32 集成开发环境(STM32CubeIDE)

STM32CubeIDE是一体式多操作系统开发工具,是STM32Cube软件生态系统的一部分。

  • STM32CubeIDE是一种高级C/C++开发平台,具有STM32微控制器和微处理器的外设配置、代码生成、代码编译和调试功能。它基于Eclipse®/CDT™框架和用于开发的GCC工具链,以及用于调试的GDB。它支持集成数以百计的现有插件。
  • STM32CubeIDE集成了STM32CubeMX的STM32配置与项目创建功能,以便提供一体化工具体验,并节省安装与开发时间。在通过所选板卡或示例选择一个空的STM32 MCU或MPU,或者预配置微控制器或微处理器之后,将创建项目并生成初始化代码。
  • STM32CubeIDE包含相关构建和堆栈分析仪,能够为用户提供有关项目状态和内存要求的有用信息。
  • STM32CubeIDE还具有标准和高级调试功能,其中包括CPU内核寄存器、存储器和外设寄存器以及实时变量查看、串行线传输监测器接口或故障分析器的视图。

功能:

  • 通过 STM32CubeMX 来集成服务:STM32微控制器、微处理器、开发平台和示例项目选择引脚排列、时钟、外设和中间件配置项目创建和初始化代码生成具有增强型STM32Cube扩展包的软件和中间件
  • 基于Eclipse®/CDT™,支持Eclipse®插件、GNU C/C++ for Arm®工具链和GDB调试器
  • STM32MP1 系列:支持OpenSTLinux项目:Linux支持Linux
  • 其他高级调试功能包括:CPU内核、外设寄存器和内存视图实时变量查看,视图系统分析与实时跟踪(SWV),CPU故障分析工具,支持RTOS感知调试
  • 支持ST-LINK和J-Link (SEGGER)调试探头
  • 从Atollic® TrueSTUDIO®和AC6 System Workbench for STM32 (SW4STM32)导入项目
  • 支持多种操作系统:Windows®、Linux®和macOS®,仅限64位版本

STM32 集成开发环境(STM32CubeIDE)
官方下载地址:https://www.st.com.cn/zh/development-tools/stm32cubeide.html
官方安装指南:https://wiki.stmicroelectronics.cn/stm32mcu/wiki/STM32StepByStep


5. 参考文档

P-NUCLEO-IHM03 开发套件 用户手册

在这里插入图片描述


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2228020.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

技术星河中的璀璨灯塔 —— 青云交的非凡成长之路

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

SpringBoot--入门、创建一个SpringBoot项目、测试

一、IDEA配置maven (1)下载maven maven下载地址:Maven – Download Apache Maven (2)解压 解压下载好的文件: 创建一个文件夹maven-repository用来充当本地仓库: (3)配…

无人机避障——使用三维PCD点云生成的2D栅格地图PGM做路径规划

着重介绍通过对三维 PCD 点云进行处理生成 2D 栅格地图 PGM,而后将该 PGM 地图充分运用到无人系统路径规划之中,使得无人机能够依据此规划合理避开飞行路线上可能出现的障碍物。(解决如何使用PGM的问题) Hybrid A*算法 参考博客…

Node.js:内置模块

Node.js:内置模块 Node.jsfs模块读取文件写入文件__dirname path模块路径拼接文件名解析 http模块创建服务 Node.js 传统的JavaScript是运行在浏览器的,浏览器就是其运行环境。 浏览器提供了JavaScript的API,以及解析JavaScript的解析引擎&a…

「漏洞复现」浪潮海岳 HCM Cloud download 任意文件读取漏洞

0x01 免责声明 请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任。工具来自网络,安全性自测,如有侵权请联系删…

接雨水

接雨水 ​ 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面是由数组 [0,1,0,2,1,0,1,…

String的长度有限,而我对你的思念却无限延伸

公主请阅 1. 为什么学习string类?2. string类的常用接口2.1 string类对象的常见构造2.1.1 string 2.2 operator[]2.3 迭代器2.4 auto自动推导数据类型2.5 范围for2.6 迭代器第二层2.7 size和length获取字符串的长度2.8 max_size 获取这个字符串能设置的最大长度2.9 …

Docker Compose一键部署Spring Boot + Vue项目

目录 前提条件 概述 Compose简介 Compose文件 Compose环境 Compose命令 帮助命令 关键命令 Compose部署项目 初始化环境 查看代码文件 sql数据准备 nginx配置文件准备 创建 compose.yaml 一键启动compose多个容器 浏览器访问虚拟机ip:80(可省略默认的80端口) …

【python实操】python小程序之测试报告

引言 python小程序之测试报告 文章目录 引言一、测试报告1.1 概念1.1.1 使用Pytest和Allure生成测试报告1.1.2 使用unittest和HTMLTestRunner生成测试报告1.1.3 总结 1.2 题目1.3 代码1.3 代码解释 二、思考 一、测试报告 1.1 概念 python生成测试报告,常用的方法包…

「Mac畅玩鸿蒙与硬件10」鸿蒙开发环境配置篇10 - 项目实战:计数器应用

本篇将通过一个简单的计数器应用,带你体验鸿蒙开发环境的实际操作流程。本项目主要练习组件的使用、事件响应和状态管理,帮助开发者熟悉基本的应用构建流程。 关键词 计数器应用组件操作事件响应状态管理HarmonyOS 应用开发一、创建计数器项目 1.1 在 DevEco Studio 中新建项…

arcgis pro 3.3.1安装教程

一、获取方式: http://dt4.8tupian.net/2/29913a61b1500.pg3二、软件目录: 三、安装步骤: (1)安装软件运行环境windowsdesktop-runtime 8.0.4; (2)选中安装文件arcgispro_33zh_cn_190127.exe&…

线性代数(1)——线性方程组的几何意义

线性代数的基本问题是求解个未知数的个线性方程; 例如:(方程1)。 在线性代数的第一讲中,我们从Row Picture、Column Picture、Matrix Picture三个角度来看这个问题。 上面的系统是二维的。通过添加第三个变量&#…

【Linux】-常见指令(2)

接上一篇文章【Linux】-常见指令(1)-CSDN博客,继续介绍linux常用指令。 目录 一、man指令 :查看信息 1、作用 2、手册 二、cp指令:拷贝 1、作用 2、拷贝到同级目录 三、mv指令:剪切 1、作用 2、使用…

[论文阅读]SimCSE: Simple Contrastive Learning of Sentence Embeddings

SimCSE:句子嵌入的简单对比学习 SimCSE: Simple Contrastive Learning of Sentence Embeddings http://arxiv.org/abs/2104.08821 EMNLP 2021 文章介绍了SimCSE,这是一种简单的对比学习框架,采用了自监督来提升模型的句子表示能力 而自监…

(蓝桥杯C/C++)——常用库函数

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 一、 二分查找 1.二分查找的前提 2.binary_ search函数 3.lower_bound和upper_bound 二、排序 1.sort概念 2.sort的用法 3.自定义比较函数 三、全排列 1.next p…

【优先算法】双指针

✨✨欢迎大家来到Celia的博客✨✨ 🎉🎉创作不易,请点赞关注,多多支持哦🎉🎉 所属专栏:优先算法 个人主页:Celias blog~ 目录 ​​​​​​移动零 复写零 快乐数 盛水最多的容器 …

认知战认知作战:认知战驱动引导青年情绪接纳思潮

认知战认知作战:认知战驱动引导青年情绪接纳思潮 认知战认知作战:认知战驱动引导青年情绪接纳思潮 关键词:认知作战,新质生产力,人类命运共同体,认知战,认知域,认知战研究中心,认知战争,认知战战术,认知战战略,认知域作战研究,认知作战,认知…

C语言 | Leetcode C语言题解之第508题斐波那契数

题目&#xff1a; 题解&#xff1a; struct Matrix {int mat[2][2]; };struct Matrix matrixMultiply(struct Matrix* a, struct Matrix* b) {struct Matrix c;for (int i 0; i < 2; i) {for (int j 0; j < 2; j) {c.mat[i][j] (*a).mat[i][0] * (*b).mat[0][j] (*a…

fmql之Linux以太网

正点原子第57章。 dts fmql-dtsi&#xff1a; 我们用的PHY芯片是RTL8211F&#xff1a; 需要添加PHY信息&#xff1a; fmql-dtsi提供的参考&#xff1a; 根据vivado工程自动生成的&#xff1a; reg <0x1>; 配置 疑问 网口通讯需要网线&#xff0c;但是目前板卡上只有PS…

新工具可绕过 Google Chrome 的新 Cookie 加密系统

一位研究人员发布了一款工具&#xff0c;用于绕过 Google 新推出的 App-Bound 加密 cookie 盗窃防御措施并从 Chrome 网络浏览器中提取已保存的凭据。 这款工具名为“Chrome-App-Bound-Encryption-Decryption”&#xff0c;由网络安全研究员亚历山大哈格纳 (Alexander Hagenah…