钻石会员
主题
回帖0
积分12891
阅读权限50
注册时间2012-3-2
最后登录1970-1-1
在线时间 小时
|
楼主 |
发表于 2025-12-28 19:29
|
显示全部楼层
本帖最后由 cdhigh 于 2025-12-28 20:19 编辑
什么MCU?
ATMEGA328P
ATMEGA644P
ATMEGA128
我猜你要使用的是M128, 因为M328P的PB2用于限流控制, M644P的PB2用于编码器.
M128的PB2不是计数器输出, 如果要用软件翻转端口实现方波输出, 100KHz是比较困难的, 除非软件其他事都不干了.
现在的情况是所有计数器都已使用
Timer0: 1ms定时, 软件tick
Timer1: 电压/电流PWM
Timer2: 100us定时, 用于ADC采样
Timer3: 自动风扇调速(10KHz)
在100us定时中翻转端口电平, 只能做到5KHz.
如果要输出10KHz, 可以将 PE5/OC3C的红外解码功能移动到PE6, 然后PE5可以输出10KHz,
如果要输出100KHz也不是不可以, 但是同时风扇PWM的频率也会变成100KHz, 大部分风扇无法接受那么高的PWM.
你用来产生-5V的电路也不算简单, 还不如使用一个ICL7660产生负压更好.
|
|