站内搜索
发作品签到
STM32脉冲发生器
专业版

STM32脉冲发生器

简介

基于 STM32F103 的高精度 PWM 脉冲输出项目,采用TIM1+TIM2 主从定时器级联硬件方案,可精准输出指定频率、占空比、脉冲个数、初始相位的 PWM 脉冲(1Hz- 1MHz)。

简介:基于 STM32F103 的高精度 PWM 脉冲输出项目,采用TIM1+TIM2 主从定时器级联硬件方案,可精准输出指定频率、占空比、脉冲个数、初始相位的 PWM 脉冲(1Hz- 1MHz)。
复刻成本:70

开源协议

GPL 3.0

创建时间:2026-05-17 19:40:44更新时间:2026-05-18 11:43:36

描述

项目简介

本工程基于 STM32F103 实现参数化精准 PWM 脉冲输出,核心采用硬件主从定时器级联,发波、计数全硬件执行,CPU 仅处理指令解析与收尾,兼顾高精度、高频稳定性、低资源占用。支持参数:频率 1Hz-1MHz、占空比 0-100%、脉冲个数 N 个 / 持续输出、初始相位 0-360°;双通道 PA8/PA9 同步输出,参数一致。

项目功能

参数全可控:频率、占空比、脉冲数、相位自由配置
双通道同步:PA8(TIM1_CH1)、PA9(TIM1_CH2)同步输出
高频稳定:50kHz-1MHz 分层特判,最小高电平约 100ns
相位精准可控:0-360° 初始相位延迟,硬件周期偏移实现
双指令模式:脉冲触发 + 定时触发,适配自动输出
硬件精准计数:CPU 零负载,无软件延迟,脉冲个数零误差
状态指示:PC13 系统灯、PB0 脉冲提示灯,直观反馈

串口屏二进制指令协议

1.采用 24 字节二进制帧(小端序),帧头 AA55、帧尾 0D0A,两类指令:
脉冲触发指令(F)
帧结构:AA 55 F [频率 4 字节] D [占空比 4 字节] N [脉冲数 4 字节] P [相位 4 字节] 0D 0A
参数范围:频率 1-72000000Hz、占空比 0-100%、脉冲数 0 = 持续输出 / 1-65535、相位 0-360°
示例:AA 55 46 A0 86 01 00 32 00 00 00 05 00 00 00 B4 00 00 00 0D 0A(110kHz、30%、5 个、180°)
2.定时触发指令(O/C)
开启:AA 55 O [使能 1] [间隔秒 4 字节] 0D 0A
关闭:AA 55 C [使能 0] 00 00 00 00 0D 0A
3.参数校验
频率 > 0、占空比≤100、相位≤360、脉冲数≤65535,非法指令直接丢弃。

原理解析说明

1.角色分配
TIM1(主定时器):PWM 模式,输出指定波形,每个周期产生更新事件 UEV,经 TRGO 输出。
TIM2(从定时器):从模式,触发源 ITR0(接 TIM1 的 TRGO),硬件统计 UEV 个数,1 个 UEV 对应 1 个 PWM 脉冲,无需 CPU 参与。
2.精准停止逻辑
TIM2 计数到目标脉冲数→触发 CC1 中断→提前将 TIM1 下一周期 CCR 置 0→输出最后完整脉冲→TIM2 溢出触发更新中断→硬件拉低引脚、关停 PWM,消除尾部尖刺。

软件代码与维护与优化

1.软件代码
开发环境:Keil MDK,兼容 STM32F1xx HAL 库
系统框架:FreeRTOS,任务分离(指令接收、发波控制、状态指示)
核心代码:定时器驱动、串口 DMA+IDLE 接收、二进制指令解析、主从级联控制、高频特判、相位补偿、硬件停机逻辑
代码特性:分层设计、职责清晰、注释完整,支持二次开发
开源文件:Core/、Inc/、启动文件、CubeMX 配置文件,完整工程源码
2.重要注意事项
不可删除 total_uevs +=1(相位 / 启动 / 尾部补偿周期)
不可随意修改 TIM1->EGR=TIM_EGR_UG(高频同步关键)
高频 / 低频路径不可混用,避免脉冲异常
3.优化方向
高频阈值宏定义化,便于参数调整
拆分补偿周期变量,逻辑更清晰
800kHz + 独立高频状态机,提升稳定性

高频与相位关键技术

1.高频分层特判
50kHz+:插入启动空周期,修正首脉冲偏宽
500~800kHz:提前 1 周期中断拦截,避免关断延迟
800kHz+:高频阻塞式关断,放弃中断依赖
960kHz + 单脉冲:极限同步路径,直接阻塞收尾
2.相位实现原理
相位通过周期偏移实现:先将 CCR 置 0→手动配置计数器偏移→写入目标 CCR,延迟 1 个周期启动 PWM;单通道相位需双通道示波器(串口 / 连续 PWM 作参考)验证。

实物图

完整实物图
0bf32ceaa1c6a78cdbcdcb17753a56c2.jpg

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
1
3D_脉冲发生器_2026-05-17.step
6

附件

序号文件名称下载次数
1
Demo260516.zip
6
2
taojingchi_project_Demo260516.zip
7
3
PCB.zip
5
4
实物图-操作视频.zip
5
克隆工程
添加到专辑
0
0
分享
侵权投诉
知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

底部导航