Simulink-STM32
文章平均质量分 94
使用 Simulink + STM32CubeMX 将模型自动生成的代码部署到 STM32G431 控制板,开发电机驱动控制软件
youcans
《数字图像处理:基于OpenCV/Python》作者
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
从零搭建 STM32 VSCode 开发环境
本文介绍如何基于 VSCode 搭建 STM32 开发环境,包括软件安装、硬件连接、工程创建、GPIO 配置、代码编译与程序烧录。通过 LED 闪烁示例,演示断点调试、单步执行和变量查看等基本操作,帮助初学者快速完成 STM32 开发入门。原创 2026-06-12 08:28:15 · 3116 阅读 · 1 评论 -
【FOC-MBD】(22)基于 V/F 开环控制的电机驱动
本文介绍了基于STM32的FOC电机驱动实验,重点实现了标量V/F开环控制。实验使用STM32CubeMX和Simulink进行建模,通过TIM1定时器生成三相PWM信号,配合X-NUCLEO-IHM16M1驱动板和STSPIN830驱动器驱动无刷电机。系统采用3PWM模式,配置了ENU/ENV/ENW使能信号,实现了从PWM信号到实际电机驱动的过渡。实验验证了在不引入电流闭环控制的情况下,系统能够通过V/F控制方式产生稳定的三相电压输出并驱动电机运转,为后续电流采样和控制算法开发奠定了基础。原创 2026-05-05 08:00:00 · 688 阅读 · 0 评论 -
【STM32-MBD】(1)Matlab2022/2023 安装 STM32 硬件支持包
通过安装MATLAB 硬件支持包,可以将 STM32 微处理器与 MATLAB/Simulink 结合使用,让开发者可以直接在MATLAB环境中进行嵌入式系统的设计和调试。本节详细介绍如何下载和安装 STM32 硬件支持包,在基于 STM32 处理器的硬件板上运行 Simulink 模型。原创 2024-12-08 12:53:45 · 7528 阅读 · 7 评论 -
【STM32-MBD】(1b)Matlab2025b 安装 STM32 硬件支持包
本文介绍了在 MATLAB2025 环境下为STM32处理器安装硬件支持包的详细步骤。主要内容包括:1)必需软硬件条件;2)嵌入式硬件支持包的特性;3)详细安装方法。本系列介绍 Simulink MBD 及在 STM32G4 的应用。原创 2025-12-20 09:11:20 · 4825 阅读 · 8 评论 -
【STM32-MBD】(2)Simulink 模型部署入门:点灯
通过 MATLAB 硬件支持包,可以直接在MATLAB环境中进行嵌入式系统的设计和调试。本文采用 NUCLEO-G431RB 开发板,以 LED 点灯实验为例,使用 Simulink 建模仿真后直接生成 STM32 项目工程代码,将仿真模型部署到 STM32 开发板上,并进行调试和运行。原创 2025-01-03 20:54:37 · 4936 阅读 · 8 评论 -
【STM32-MBD】(3)Simulink 模型部署之外部中断:按键输入
本文介绍基于 NUCLEO-STM32G431RB 开发板的 Simulink 外部中断模型开发方法。使用Simulink的Hardware Interrupt模块创建中断服务程序,实现按键控制LED闪烁频率的功能。本文提供了从 Simulink 建模仿真后直接生成 STM32 项目工程代码,将仿真模型部署到 STM32 开发板上的完整开发流程。原创 2025-12-17 08:00:00 · 1926 阅读 · 0 评论 -
【STM32-MBD】(4)Simulink 模型开发之 定时器
本文介绍了基于Model-Based Design的STM32定时器开发流程。通过STM32CubeMX配置TIM1定时器,生成周期性中断,驱动LED闪烁以验证定时精度。详细说明了硬件支持包安装、CubeMX工程创建、时钟配置、TIM参数设置等关键步骤,并强调了将Timebase Source改为非SysTick定时器、外设驱动选择LL模式等重要注意事项。实验结果为后续PWM、ADC采样等应用提供了可靠的时间基准,完整展示了从Simulink建模到硬件部署的MBD开发过程。原创 2025-12-29 08:00:00 · 1807 阅读 · 0 评论 -
【STM32-MBD】(5)Simulink 模型开发之 PWM 输出
PWM 输出实验既是学习使用 STM32G4 的入门内容 ,也是电机控制的基础。本文采用 NUCLEO-G431RB 开发板,使用 Simulink 建立 STM32G 431 多路 PWM 输出的仿真模型,直接生成 STM32 项目工程代码,将仿真模型部署到基于 STM32G431 处理器的硬件板。本文采用 NUCLEO-G431RB 开发板,使用 Simulink 建立 STM32G 431 多路 PWM 输出的仿真模型,直接生成原创 2025-01-09 21:46:26 · 2630 阅读 · 3 评论 -
【STM32-MBD】(6)Simulink 模型开发之 ADC 转换
本文介绍了基于Model-Based Design的STM32开发流程中ADC模块的应用。通过Simulink构建单通道ADC采样模型,采集NUCLEO开发板电位器电压,并生成代码部署到STM32G431开发板。详细说明了STM32CubeMX的配置步骤,包括时钟设置、ADC通道配置(PC2→ADC1_IN8)及工程参数设定,实验验证了从Simulink模型到硬件实现的完整流程。原创 2025-12-30 08:00:00 · 2383 阅读 · 0 评论 -
【STM32-MBD】(7)Simulink 模型开发之 DAC 输出
本文介绍基于STM32G431RB的Simulink模型开发,讲解DAC输出功能实现。内容包括:1)安装硬件支持包;2)使用STM32CubeMX配置工程;3)在Simulink中创建DAC输出模型。原创 2026-01-15 08:00:00 · 1781 阅读 · 0 评论 -
【STM32-MBD】(8)Simulink 模型开发之 TIM+ADC
本文介绍了在Simulink中开发STM32定时器(TIM)与ADC协同工作的模型,实现精确时间控制的模拟量采集系统。原创 2026-01-04 08:53:11 · 1633 阅读 · 0 评论 -
【STM32-MBD】(9)Simulink 模型开发之串口通信
本文介绍了基于Simulink和STM32CubeMX的模型化设计方法,实现STM32串口通信功能。 功能实现:1 构建串口回显(Echo)实验,2 PC端发送数据通过虚拟串口传输,3 STM32接收数据后原样回传PC端。该方法通过模型化设计简化了传统串口通信开发流程。原创 2025-12-26 07:30:00 · 1331 阅读 · 0 评论 -
【STM32-MBD】(10)Simulink 模型开发之上位机显示波形
本文介绍了基于STM32-MBD的Simulink模型开发系列教程,涵盖硬件支持包安装、基础点灯、状态机控制、外部中断、PWM输出、ADC转换、串口通信以及上位机波形显示等内容。展示了如何利用Simulink模型驱动开发,无需手写应用层代码,即可完成嵌入式系统功能开发,包括温度采集、串口通信和上位机数据显示等典型应用案例。原创 2025-12-28 14:06:08 · 1716 阅读 · 0 评论 -
【STM32-MBD】(11)Simulink 模型开发之处理器在环仿真(PIL)
本文介绍了基于STM32的处理器在环仿真(PIL)方法,通过MATLAB/Simulink与STM32CubeMX结合实现嵌入式系统开发,适用于STM32G431等开发板。1)安装STM32硬件支持包;2)使用Simulink搭建模型并自动生成代码;3)通过PIL测试验证代码在真实硬件上的运行效果;4)利用外部模式进行实时监控与参数调节。原创 2026-01-01 22:56:52 · 2033 阅读 · 0 评论 -
【STM32-MBD】(12)Simulink 模型部署之状态机:闪灯
本文采用 NUCLEO-G431RB 开发板,使用 Simulink Stateflow 设计状态机实现控制逻辑,来实现 LED 点灯实验。在建模仿真后使用 Simulink 直接生成 STM32 项目工程代码,将状态机仿真模型部署到基于 STM32 处理器的硬件板。原创 2025-01-05 15:02:57 · 3937 阅读 · 1 评论 -
【STM32-MBD】(13)Simulink 模型部署之状态机:开关控制
本文是上文的续篇,使用 Simulink Stateflow 设计状态机控制逻辑,实现按键控制 LED 的开关。在建模仿真后使用 Simulink 直接生成 STM32 项目工程代码,将状态机仿真模型部署到基于 STM32 处理器的硬件板。原创 2025-01-07 18:14:20 · 2846 阅读 · 0 评论 -
【STM32-MBD】(14)Simulink 模型开发之片上温度检测
本文介绍使用Simulink对STM32进行ADC转换的方法。在Simulink中建立STM32G431的ADC仿真模型,生成可部署到NUCLEO-G431RB开发板的工程代码。项目实现了对片上温度传感器和内部电压基准的ADC转换,通过虚拟串口在VOFA+中绘制实时温度曲线。详细说明了软硬件环境配置要求、STM32CubeMX工程设置以及以及开发环境测试流程,为基于模型设计的STM32开发提供了完整解决方案。原创 2025-12-18 10:25:01 · 490 阅读 · 0 评论 -
【FOC-MBD】(15)Simulink 模型开发之三相互补 PWM
本文基于STM32G431硬件平台,通过Simulink模型开发实现三相互补PWM输出。主要内容包括:1)使用CubeMX配置TIM1定时器,生成三路PWM及其互补信号,硬件自动插入死区时间;2)在Simulink中构建控制模型,实现10kHz频率、50%占空比的PWM波形;3)详细介绍了时钟配置、死区时间计算等关键技术要点。原创 2026-02-03 16:29:03 · 1503 阅读 · 0 评论 -
【FOC-MBD】(16)TIM 硬件触发 ADC 同步采样
本文介绍了基于STM32G431的TIM硬件触发ADC同步采样方案,通过TIM1定时器产生的TRGO事件触发ADC1注入组采样,构建全硬件驱动的精准采样链路。实验采用中心对齐PWM模式,利用TIM1与ADC1的硬件同步机制,确保采样时刻与PWM波形保持确定的时间关系。文章详细阐述了技术原理、软硬件配置及引脚分配,验证了该方案在电机控制等时序敏感应用中的可行性,为后续三相电流同步采样和FOC算法实现奠定了基础。原创 2026-02-10 10:26:12 · 2251 阅读 · 0 评论 -
【FOC-MBD】(17)基于 ADC 同步采样的 PWM 闭环控制链路
本文基于STM32-MBD开发流程,通过Matlab/Simulink实现ADC同步采样与PWM闭环控制链路验证。实验采用STM32G431硬件平台,利用TIM1定时器硬件触发ADC注入组采样,在ADC采样完成事件驱动下将电位器输入电压映射为PWM占空比,构建"输入-采样-更新"的最小闭环验证系统。 文章详细介绍了: 硬件配置方案,包括TIM1互补PWM输出、ADC同步采样触发机制及引脚分配 CubeMX工程的关键配置步骤,涵盖定时器模式、ADC触发设置及中断管理 Simulink原创 2026-02-11 20:21:04 · 1345 阅读 · 0 评论 -
【FOC-MBD】(18)Clarke / Park 坐标变换链路
基于STM32-MBD开发框架,验证FOC算法中的Clarke/Park坐标变换链路。通过软件生成三相电流输入,在ADC转换完成事件触发下执行Clarke变换(三相静止→αβ静止坐标系)和Park变换(αβ静止→dq旋转坐标系)计算。实验采用TIM1触发ADC作为调度源,在Simulink中构建纯软件三相输入源,通过DAC输出验证数学变换的正确性。原创 2026-04-02 17:41:02 · 774 阅读 · 0 评论 -
【FOC-MBD】(19)反 Park 坐标变换链路
本文介绍了基于STM32的Park反变换(Inv Park)验证实验,重点研究了dq坐标系到αβ静止坐标系的变换链路。实验通过Simulink模型生成软件输入的dq信号,利用STM32硬件平台实现事件驱动调度,并通过DAC输出观测变换结果。主要内容包括: 实验方案设计:构建了"ADC完成事件→软件生成dq信号→Park反变换→DAC输出"的验证链路,保持与前期实验一致的事件驱动架构。原创 2026-04-05 08:00:00 · 702 阅读 · 0 评论 -
【FOC-MBD】(20)矢量空间脉宽调制 (SVPWM)输出
本文介绍了基于STM32-MBD的矢量空间脉宽调制(SVPWM)输出实验,通过Matlab/Simulink实现FOC控制的PWM调制环节验证。实验采用NUCLEO-G431RB开发板,构建"αβ输入→SVPWM调制→TIM1互补PWM输出"的完整链路,包含三相互补PWM验证、静态调制验证和旋转矢量动态验证三个递进实验。系统保留ADC触发调度结构但使用软件生成三相电流,聚焦SVPWM算法验证。文章详细阐述了硬件配置、引脚分配及SVPWM技术原理,为后续FOC闭环控制奠定基础。原创 2026-04-05 20:16:20 · 843 阅读 · 0 评论 -
【FOC-MBD】(21)基于SVPWM 的开环旋转矢量输出
在前几篇实验中,我们已经分别完成了反 Park 坐标变换链路与空间矢量脉宽调制(SVPWM)输出链路的独立验证。其中,(19)验证了 dq 坐标系到 αβ 静止坐标系的逆变换过程,(20)验证了 αβ 电压矢量到三相 PWM 驱动信号的调制与输出过程。至此,FOC 控制中“坐标变换 → 电压调制 → PWM 输出”的关键模块已经分别建立。原创 2026-04-10 08:47:49 · 744 阅读 · 3 评论 -
【动手学STM32G4】(1)STM32G431之创建项目—点灯
本系列教程以NUCLEO-G431RB开发板为基础,详细讲解STM32G4系列微控制器的开发流程。首篇教程重点介绍两种开发方式: 使用CubeIDE导入现有项目:通过GPIO_IOToggle例程演示LED闪烁功能,包括项目导入、代码修改(调整闪烁频率)、编译下载和调试运行的全过程。 使用CubeMX创建新项目:从零开始配置GPIO输出管脚,生成LED闪烁项目的完整代码框架,并导入到CubeIDE中进行后续开发。原创 2025-12-17 18:01:12 · 2285 阅读 · 0 评论 -
【动手学STM32G4】(2)STM32G431之外部中断—按键控制
本文介绍了STM32G431微控制器的外部中断实验,通过按键控制板载LED灯状态。主要内容包括:1)实验目标为掌握STM32G4外部中断编程技术;2)详细讲解GPIO和外部中断(EXTI)的基本概念及配置方法;3)使用STM32CubeMX工具配置工程,设置PA5为LED输出引脚,PC13为外部中断输入引脚;4)配置160MHz系统时钟和中断优先级。实验基于NUCLEO-G431RB开发板,利用STM32CubeIDE开发环境,实现按键触发中断翻转LED状态的功能。原创 2026-01-18 16:12:13 · 1186 阅读 · 0 评论 -
【动手学STM32G4】(3)STM32G431之定时器
本文介绍了使用STM32G431RB定时器实现精确定时功能的方法。通过配置TIM1定时器每1ms产生一次中断,在中断服务函数中计数翻转PA9引脚电平,最终产生1Hz方波信号。原创 2026-01-06 20:44:28 · 1956 阅读 · 0 评论 -
【动手学STM32G4】(4)STM32G431之PWM输出
本文介绍了使用STM32G431定时器实现PWM信号输出的实验方法,包括基础PWM、互补PWM及带死区的三路互补PWM输出。通过STM32CubeIDE配置TIM2定时器,设置1Hz/50%占空比的PWM驱动LED,详细讲解了时钟配置、引脚映射及代码实现步骤。原创 2026-01-21 08:00:00 · 2668 阅读 · 0 评论 -
【动手学STM32G4】(5)STM32G431之ADC采样
STM32G431 ADC采样实验摘要 本实验基于STM32G431开发板,实现ADC模数转换功能,采集电位器电压信号并通过串口显示。实验使用PC2引脚(ADC1_IN8)连接电位器,配置12位分辨率ADC,采用单次转换模式。通过CubeMX完成硬件配置,包括时钟、GPIO和ADC参数设置。软件部分实现ADC初始化、采样控制和数据转换,将原始数字值映射为0-3.3V电压值。结果可通过示波器观察或USART串口发送至上位机显示。原创 2026-01-20 09:53:38 · 1994 阅读 · 0 评论 -
【动手学STM32G4】(6)STM32G431之DAC输出
本文介绍了STM32G431微控制器的DAC(数模转换器)模块应用实践。主要内容包括:1)硬件配置,通过CubeMX设置DAC1_OUT1通道(PA4引脚);2)软件实现,编写DAC初始化代码,支持数字量到0-3.3V模拟电压的转换;3)波形生成,实现方波、三角波和正弦波三种基本波形输出;4)系统验证,通过示波器直接观测波形质量,并使用ADC进行闭环验证。原创 2026-01-22 08:00:00 · 2064 阅读 · 0 评论 -
【动手学STM32G4】(7)STM32G431之UART 串口通信
UART(Universal Asynchronous Receiver Transmitter)是一种串口通信的实现方式。本节通过 NUCLEO-G431RB 开发板, 介绍 STM32G4 的编程和调试。原创 2025-01-13 21:02:51 · 890 阅读 · 0 评论 -
【动手学STM32G4】(8)STM32G431之USB虚拟串口
详细介绍 STM32G4系列开发板通过USB虚拟串口(VCP)实现通信的方法。(1)USB虚拟串口的工作原理;(2)NUCLEO-G431RB开发板的硬件连接;(3)使用STM32CubeMX创建项目的详细步骤,包括时钟配置、LPUART1参数设置等关键配置项;(4)使用 CubeIDE 编程和调试。该技术为嵌入式系统提供了便捷的调试和通信方案,仅需一根USB线即可实现串口通信功能。原创 2025-12-09 07:30:00 · 3586 阅读 · 0 评论 -
【动手学STM32G4】(9)STM32G431之上位机波形显示
摘要: 本文介绍了使用STM32G431开发板通过USB虚拟串口与上位机VOFA+进行实时波形显示的实现方法。(1)解析VOFA+支持的FireWater文本协议和JustFloat二进制协议;(2)详细说明STM32CubeMX工程配置步骤,涵盖时钟设置、LPUART1参数配置及DMA传输设置;(3)提供完整的软硬件环境搭建方案。原创 2025-12-10 10:24:22 · 2286 阅读 · 0 评论 -
【动手学STM32G4】(11)STM32G431之 ADC 温度检测
本系列基于STM32G431,介绍从项目创建到功能实现的完整开发流程。本文利用内部温度传感器和ADC通道采集数据,通过DMA传输,结合LPUART在上位机(VOFA+)实时显示温度曲线。重点讲解内部通道校准、线性温度计算及串口通信实现。原创 2025-12-21 08:00:00 · 2005 阅读 · 0 评论 -
【动手学STM32G4】(12)STM32G431之ADC与DAC
本文介绍了基于STM32G4系列微控制器的ADC采集与DAC输出实验,构建了一个完整的模拟信号闭环处理系统。本文提供了从硬件连接到软件配置的完整指南,帮助开发者快速掌握STM32G4模拟外设的使用方法。原创 2025-12-16 08:00:00 · 2660 阅读 · 0 评论 -
【动手学STM32G4】(13)STM32G431之 DAC进阶
本详细介绍了STM32G431RB微控制器的DAC应用开发,从基础到进阶逐步深入。实验内容包括:使用SysTick定时器实现基础DAC输出、定时器中断优化方案、以及DMA+TIM+DAC全硬件高级方案。文章详细讲解了DAC工作原理、配置方法及性能优化技巧,涵盖CubeMX工程配置、时钟设置、GPIO配置等关键步骤,并提供了完整的代码实现和调试方法。通过三个不同层次的实验方案,帮助开发者掌握从简单电压输出到专业级波形生成的DAC应用开发技术。原创 2026-01-11 22:18:03 · 1448 阅读 · 0 评论 -
【STM32G4-FOC】(2)STM32G431之 TIM+ADC
本文介绍了使用STM32G431定时器触发ADC采样的实现方法。通过配置TIM1定时器产生1kHz触发信号,联动ADC启动转换,并利用DMA传输数据,实现了高精度定时采样。文章详细讲解了CubeMX工程配置步骤,包括时钟树设置、GPIO配置、ADC通道选择及定时器参数计算。重点说明了定时触发采样的硬件机制和时序关系,这种方案能有效提升系统的时间精度和稳定性,适用于电机控制等需要严格时序的应用场景。配置过程涵盖ADC工作模式、触发源选择及定时器参数设定,为嵌入式数据采集系统提供了可靠实现方案。原创 2026-01-23 07:00:00 · 2500 阅读 · 0 评论 -
【STM32G4-FOC】(3)STM32G431之 PWM 输出
本文面向电机驱动应用,介绍了于STM32G431的三路互补带死区PWM输出实现方法。通过配置高级定时器TIM1,在PA8/PA9/PA10输出三路PWM主信号,并在PB13/PB14/PB15输出互补信号。通过CubeMX工具完成了时钟树、GPIO和TIM1的完整配置,实现了安全可靠的三相桥驱动信号输出。原创 2026-01-24 18:27:56 · 1609 阅读 · 0 评论 -
【STM32G4-FOC】(4)PWM 硬件触发 ADC 同步采样
本文介绍了基于STM32G431的PWM触发ADC同步采样实现方法,阐述了其在电机FOC控制中的应用。通过配置TIM1中心对齐PWM模式(10kHz频率)和ADC1注入组模式,建立硬件触发链路(TIM1_CH4比较事件→ADC1外部触发),实现电流采样的高精度同步。方案为FOC电流环提供准确、实时的相电流数据,形成完整的硬件驱动采样闭环。原创 2026-01-27 20:01:42 · 2666 阅读 · 2 评论 -
【STM32G4-FOC】(5)DAC 闭环输出链路:基于同步采样的幅值与频率调制
本实验基于STM32G431RB开发板,构建了从PWM触发ADC采样到DAC输出的闭环验证系统。通过三阶段递进实验:1)验证ADC→DAC数据通路;2)基于采样结果调节DAC幅值;3)实现频率调制,为FOC控制算法提供低风险验证平台。实验保留了标准FOC的"同步采样-即时处理-周期生效"时序结构,使用CubeMX配置时钟(160MHz)、TIM1 PWM、ADC触发和DAC输出,为后续SVPWM算法迁移奠定基础。原创 2026-01-29 08:00:00 · 1761 阅读 · 0 评论
分享