- 博客(9)
- 收藏
- 关注
原创 STM32F103C8带互补PWM输出和死区控制的电机驱动控制器(标准库版)
使用TIM1_CH1/CH1N和TIM1_CH2/CH2N两组互补PWM。- 支持刹车输入(可通过TIM_Break配置)- 可驱动H桥电路控制直流电机或BLDC电机。- 空闲状态保护(OCIdleState)- PA10(TIM2_CH2N) 接另一相下管。- 硬件实现死区时间控制(约500ns)- 默认20kHz PWM频率(可调)- PA7(TIM1_CH1N) 接H桥下管。- PA9(TIM2_CH2) 接另一相上管。- PA8(TIM1_CH1) 接H桥上管。- 死区时间可精确调整。
2025-04-18 09:44:15
904
原创 STM32F103C8带溢出处理的编码器接口实现模板(标准库版)
1. 32位扩展计数 :通过软件扩展16位硬件计数器,实现±2,147,483,647的超大计数范围。2. 抗抖动设计 :6级数字滤波器有效抑制信号抖动(TIM_ICFilter = 6)这种实现方式可以有效避免16位计数器溢出导致的问题,适用于工业控制等位置检测的场景。- 最大计数频率:72MHz/4=18MHz(理论值)- 实际可用频率:建议<1MHz(考虑滤波延迟)- 通道1(PA0)和通道2(PA1)双输入。- 分辨率:取决于编码器线数(需×4倍频)- 对于极高转速应用,可能需要缩短溢出检测周期。
2025-04-17 09:48:53
462
原创 STM32F103C8定时器实现四路相位差PWM控制器(标准库版)
通过四路25%占空比且相位差90°的PWM波形,可实现多相交错并联的DC-DC转换拓扑。- PA10(TIM1_CH3): 第三路PWM (180°相位)- PA11(TIM1_CH4): 第四路PWM (270°相位)- PA9(TIM1_CH2): 第二路PWM (90°相位)- PA8(TIM1_CH1): 第一路PWM (0°相位)- 4路PWM的占空比均为25%,相位依次相差25%- 硬件实现的相位同步保证时序精度(<10ns抖动)- 参数可配置性强(频率、占空比、相位差均可调整)
2025-04-16 09:53:43
929
原创 STM32F103C8定时器级联实现长周期定时(标准库版)
主定时器TIM2:72MHz/72 = 1MHz → 1ms周期。- 从定时器TIM3:每1000次TIM2溢出触发一次TIM3计数。此方案相比单一定时器能实现更长的定时周期,同时保持较高的定时精度。- 总定时周期 = TIM2周期 × TIM3重装载值。- TIM3配置为从定时器,接收TIM2的触发信号。- 最大可实现的定时周期约49.7天(32位计数)- TIM2作为TIM3的触发源(ITR1)- TIM2配置为1ms周期的主定时器。- 仅需处理从定时器TIM3的更新中断。
2025-04-15 09:25:03
673
原创 STM32F103C8定时器PWM实现LED呼吸灯模板(标准库版)
若使用开发板自带LED(PC13),需更换为支持PWM的引脚。- 使用TIM3通道2对应的PC7引脚(需根据实际硬件调整)- Breathing_Loop() 函数实现亮度渐变。- 频率1kHz (72MHz/(720*100))3. 如果需要使用PC13,必须更换为其他支持PWM的引脚。- 实现 Delay() 微秒级延时函数。2. LED连接到支持PWM的GPIO引脚。- PWM模式2(低电平有效)- 根据实际硬件修改PWM引脚。- 每次增加/减少1%占空比。- 占空比分辨率100级。
2025-04-14 09:41:46
323
原创 STM32F103C8定时器中断控制LED闪烁模板(标准库版)
时钟72MHz,预分频7200得到10KHz。- 自动重装载值5000,实现500ms中断。- 使用PC13引脚(常见开发板LED)- 系统时钟需配置为72MHz(默认值)- 使用TIM3定时器(基本定时器)- 在中断服务函数中翻转LED状态。- 根据实际硬件修改LED引脚定义。- 中断服务函数必须清除中断标志。2. 硬件连接与代码中的引脚定义一致。- 配置NVIC中断优先级。- 使能TIM3更新中断。1. 已正确配置系统时钟。3. 已启用全局中断。
2025-04-13 09:30:00
426
原创 Python+Tkinter开发:专业级RGB颜色混合器与屏幕取色工具
此基于 Python 和 Tkinter 的图形界面应用程序,主要用于 RGB 颜色的混合和屏幕取色。这个工具特别适合需要精确控制颜色或获取屏幕颜色的工作场景,其简洁的界面和实时反馈机制大大提升了工作效率。2. RGB三色混合器:通过滑动条精确控制红、绿、蓝三色分量。- 基于Python 3.x和Tkinter GUI框架开发。1. 实时屏幕取色功能:自动捕捉鼠标所在位置的屏幕颜色。3. 颜色预览:实时显示混合后的颜色效果。- 精确的颜色值显示(RGB和十六进制)- 设计师和开发者快速获取屏幕颜色。
2025-04-12 10:00:00
628
原创 Python实现水仙花数查找算法
水仙花数(Narcissistic Number)是指一个n位数,其各位数字的n次幂之和等于它本身。例如,153是一个水仙花数,因为:1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。- 如果 sum_of_powers 等于 num ,则说明 num 是水仙花数,将其添加到 narcissistic_numbers 列表中。- 使用列表推导式计算每个数字的 length 次幂,并通过 sum() 函数求和,得到 sum_of_powers。(3)计算数字的位数。
2025-04-11 12:55:03
913
1
原创 基于STM32微控制器和FreeRTOS实时操作系统的按键检测与处理程序
其主要功能是检测多个按键的按下和松开事件,并通过消息队列将按键事件传递给主任务进行处理。- 如果需要更改按键引脚,修改 START_PIN 、 UP_PIN 、 DOWN_PIN 和 BTWASH_PIN 的定义。- MainTask 从队列中接收按键事件,并根据按键类型执行相应的处理逻辑。- 按键检测任务( ButtonTask )将检测到的按键事件发送到队列。- 在 MainTask 的 switch 语句中修改对应按键的处理代码。- 主任务( MainTask )从队列中接收按键事件并进行处理。
2025-04-11 12:05:02
2026
1
基于Python的屏幕取色器与RGB颜色混合工具
2025-04-12
Python实现一元二次方程求解器 - 图形界面+精确计算
2025-04-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅