96SEO 2026-02-23 14:53 14
}
之前对这个技术只是浅尝辄止,这次花了一周时间深入研究,收获很多,整理成文分享出来。
xmlns="http://www.w3.org/2000/svg"> style="-webkit-tap-highlight-color: 0)">d="M5,0
rgba(0,
【STM32G4-FOC】(1)STM32G431
之创建项目
【STM32G4-FOC】(2)STM32G431TIM+ADC
【STM32G4-FOC】(3)STM32G431之三相互补硬件触发
闭环输出链路
class="toc">
闭环输出链路:基于同步采样的幅值与频率调制
小结
的完整验证流程,实现了由定时器事件精确控制采样时序,并将三相电流数据稳定地传输至上位机进行可视化显示。
本文在此基础上引入
在FOC控制中,电流环的控制频率通常与PWM频率相同,即每个PWM周期都执行一次电流环计算。
但本节的目标并非直接驱动电机功率级,而是通过
输出可观测的模拟波形,对控制逻辑与调制算法进行“无功率级、低风险”的验证。
与
输出波形连续、直观,适合用示波器或上位机进行分析,不涉及死区、互补、驱动极性等功率级问题,非常适合在算法尚未完全成熟时进行调试、演示和阶段性验证。
本节采用分阶段递进的实验设计思路,逐步增加系统复杂度,实验分为三个层次:
方波的输出幅值,从而验证采样数据参与控制计算的实时性与稳定性;
方波的输出频率,从而验证采样数据参与控制计算的实时性与稳定性;
通过上述由简到繁的实验安排,可以在不依赖电机功率级、不引入复杂硬件风险的前提下,逐步验证控制算法的正确性与系统结构的合理性。
最终形成的
NUCLEO-G431RB(STM32G431RBT6)开发板完成,主要观测手段包括:
输出波形的频率、幅值和相位关系;
为保证实验过程清晰、可验证,并便于后续从算法验证平滑过渡到实际电机控制系统,本节在硬件与软件结构设计上延续了前一节《
输出(本节不再关注其驱动功能,仅作为系统背景存在)
注入组的外部触发源,确保三相电流采样在固定相位完成
ADC1
的作用是提供同步、可靠的三相采样数据,其配置与上节保持一致:。
周期严格同步
DAC
其定位并非驱动负载,而是作为控制算法输出结果的“可视化窗口”。
src="https://i-blog.csdnimg.cn/direct/7ae97596b2614883b3de840247ff231e.png">
注入采样完成事件作为控制计算与输出的触发点,从而形成固定、可预测的闭环时序。
也为后续电流环计算的引入预留了完整且一致的控制框架。
产生捕获比较事件。
该事件作为系统中所有“强实时操作”的时间锚点,确保采样与控制在
转换完成后产生注入转换完成事件(JEOC),进入中断服务程序。
至此,系统获得了当前
HAL_ADCEx_InjectedConvCpltCallback()
回调函数中,软件首先读取三相注入结果(JDR1/JDR2/JDR3),并将其视为当前控制周期的有效输入。
随后,在同一回调中调用统一的控制/输出更新函数,用于推进后续控制逻辑或波形输出。
在当前实验阶段,控制层尚未实现完整的电流环计算,而是通过一个与采样事件同步调用的
输出”的数据与时序链路。
尽管输出内容简化,但其调用位置与真实电流环完全一致,逻辑上等价于在
外设输出模拟波形,通过示波器或上位机直接观察输出结果。
该层用于验证控制计算的结果是否符合预期,是本节实验的核心观测对象。
注入完成中断为控制触发点的事件驱动闭环结构,实现了“同步采样—即时处理—下一周期生效”的完整控制时序,与标准
src="https://i-blog.csdnimg.cn/direct/2e717faed5534b8cb5c1f1e051c3b9c8.png">
start="3">
系统配置:在引脚配置(Pinout
配置虚拟串口(LPUART)
src="https://i-blog.csdnimg.cn/direct/a85aae0d49204e148ed17847b66ada3c.png">
start="7">
src="https://i-blog.csdnimg.cn/direct/82419e51bf464ec7b07207978b79df76.png">
最佳实践:
经过多个项目的验证,我总结了几个关键点:1)
做好异常处理
这些看似简单,但能避免很多生产环境问题。
src="https://i-blog.csdnimg.cn/direct/e87b003a7f7145df83d35274ccdadf7d.png">
“STM32G431_DAC05”,选择项目的保存路径。
src="https://i-blog.csdnimg.cn/direct/100206363ab246378a950ea0418cd818.png">
href="https://blog.csdn.net/youcans/article/details/157330984"
的验证,并能够稳定获取三相电流采样值。
本实验在完全保留该配置的前提下,引入
输出为固定频率、固定幅值的方波。
这样设计的目的在于:将验证目标聚焦在系统数据流是否打通,而非控制算法本身;为后续基于采样结果调制
以下代码仅给出与本实验相关的新增或关键逻辑,TIM1、ADC1
class-name">adc3_u16_t
class="token
function">HAL_ADCEx_InjectedConvCpltCallback
class="token
punctuation">(
ADC_HandleTypeDef
function">HAL_GPIO_TogglePin
class="token
punctuation">(
LD2_GPIO_Portclass="token
class-name">uint16_t
class="token
function">HAL_ADCEx_InjectedGetValue
class="token
class-name">uint16_t
class="token
function">HAL_ADCEx_InjectedGetValue
class="token
class-name">uint16_t
class="token
function">HAL_ADCEx_InjectedGetValue
class="token
function">DAC_Update_OnAdcInjected
class="token
punctuation">}
说明:
的数值,但保留读取过程,以确保采样链路真实存在;
(3)DAC
function">HAL_DAC_Start operator">& macro-name">ADC_TRIG_FREQ_HZclass="token
class="token
number">10000U
macro-name">DAC_SQ_FREQ_HZ
macro-name">DAC_MAX_VALUE
macro-name">DAC_TOGGLE_DIV
punctuation">(
ADC_TRIG_FREQ_HZpunctuation">)
function">DAC_Update_OnAdcInjected
punctuation">(
dac_div_cntfunction">HAL_DAC_SetValue
operator">&
hdac1punctuation">}
start="3">
实验运行后,用示波器测量
波形输出”的基本流程。
该阶段不关注控制算法本身,而是确保系统已经具备在采样之后产生可观测输出的能力。
在此基础上,下一步即可引入采样数据与输出波形之间的反馈关系,实现更加接近实际控制行为的实验设计。
src="https://i-blog.csdnimg.cn/direct/c2945446d883443a9735c7710ec32ba1.bmp">
输出幅值可调的方波
本实验引入控制量随采样值变化的可视化输出,用于验证电流采样结果能够实时参与后续控制计算并作用于输出端。
由于当前尚未连接真实电机功率级,因此本实验通过外部电位器为
以下代码仅给出与本实验相关的新增或关键逻辑,其它部分与实验一相同。
(1)宏定义:
------------------------------------------------------------*/
macro-name">ADC_TRIG_FREQ_HZ
macro-name">DAC_SQ_FREQ_HZ
macro-name">DAC_MAX_VALUE
macro-name">DAC_TOGGLE_DIV
punctuation">(
ADC_TRIG_FREQ_HZ
punctuation">)
function">DAC_Update_OnAdcInjected
class="token
function">HAL_DAC_SetValue
class="token
operator">&
hdac1class="token
punctuation">}
(3)ADC
function">HAL_ADCEx_InjectedConvCpltCallback punctuation">(class="token
class-name">uint16_t
function">HAL_ADCEx_InjectedGetValue
class-name">uint16_t
function">HAL_ADCEx_InjectedGetValue
class-name">uint16_t
function">HAL_ADCEx_InjectedGetValue
function">DAC_Update_OnAdcInjected
punctuation">}
start="2">
实验运行后,用示波器测量
输出方波的峰值电压也随之增大,变化过程与输入电压保持良好对应关系。
这说明
输出更新已经构成一条完整、实时的闭环链路。
尽管本实验尚未引入实际的电流环计算和调节算法,但在结构和时序上已经等价于标准
中“采样完成后立即计算并输出控制量”的控制流程,为后续基于电流计算控制量、输出
src="https://i-blog.csdnimg.cn/direct/ecabff41a76d4f52a76da853e32f21ec.bmp">
以下代码仅给出与本实验相关的新增或关键逻辑,其它部分与实验一相同。
(1)宏定义:
------------------------------------------------------------*/
macro-name">ADC_TRIG_FREQ_HZ
number">10U
number">100U
macro-name">DAC_MAX_VALUE
macro-name">TOGGLE_DIV_MIN
punctuation">(
ADC_TRIG_FREQ_HZmacro-name">TOGGLE_DIV_MAX
punctuation">(
ADC_TRIG_FREQ_HZfunction">DAC_Update_OnAdcInjected
class-name">uint32_t
punctuation">)
adc1_latestpunctuation">(
FREQ_MAX_HZclass-name">uint16_t
function">HAL_DAC_SetValue
operator">&
hdac1punctuation">}
(3)ADC
start="2">
实验运行后,用示波器测量
输出方波的频率随之平滑增大,且变化过程与输入电压保持良好的对应关系。
同步采样与回调驱动结构不变的前提下,采样数据不仅能够参与控制量的幅值调制,也能够稳定地驱动输出节拍和相位推进。
src="https://i-blog.csdnimg.cn/direct/9eeaa5d8a34f444badda599d212b7b6f.bmp#pic_center">
作为可视化输出手段,围绕“采样完成后控制量如何产生并输出”这一核心问题,设计并完成了三个循序渐进的实验。
通过严格保持与标准
注入采样完成中断中推进后续输出逻辑——逐步验证了从同步采样到控制量生成的完整软件链路。
注入回调中输出固定频率方波,验证了“同步采样—数据读取—波形输出”的基本流程;
采样值连续变化,验证了采样数据参与控制量计算并实时作用于输出端的过程;
将原本“不可见”的控制量以直观的模拟波形形式呈现出来,从而有效验证同步采样后的控制逻辑与时序结构是否正确。
本文所采用的“ADC
原创作品,转载必须标注原文链接:【STM32G4-FOC】(5)DAC
闭环输出链路:基于同步采样的幅值与频率调制(https://blog.csdn.net/youcans/article/details/157294022)
class="post-meta-container">
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback