找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

问题手持风扇升压电路问题

查看数: 923 | 评论数: 14 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2026-7-15 17:35

正文摘要:

这个电路是PWM是3.3V  BAT是锂电池电压 这个电路是否可行。实测发现105K 调节占空比可以调速,占空比(分辨率8为 也就是0-255的范围)为120时,电压约6.5V Q3发热。但是时不时Q4关不断,单片机是ESP3 ...

回复

ID:1146155 发表于 2026-7-18 10:13
ydatou 发表于 2026-7-17 10:41
假如BAT+楼主实测是3.6V时,计算输出电压为6.476V,和楼主实测差不多。
说明电感电流是连续的,电感选型 ...

图中的实际电路两个mos都是丝印A09T
ID:1146155 发表于 2026-7-18 10:12
Y_G_G 发表于 2026-7-16 22:15
Q4只要是先比PWM关断一段时间,升压电路的输出电压就会一直上升,当你再打开Q4的时候,早就超过它的耐压了,出 ...

实际电路中我发现 Q4.的D接了一个电阻压1k到G,是不是就是防止过压,还有就是,如果不接电机,升压电路工作几秒就停了 是不是可能加入了反馈电路
ID:1073939 发表于 2026-7-17 15:56
Y_G_G 发表于 2026-7-16 22:15
Q4只要是先比PWM关断一段时间,升压电路的输出电压就会一直上升,当你再打开Q4的时候,早就超过它的耐压了,出 ...

纯软件控制是可行的。
伪代码如下
  1. u8 gPwmDuty=120;//记录风扇最后的duty
  2. #define FAN_PIN_GET IO_H_L
  3. #define FAN_PIN_SET(b) do{IO_H_L=(b);}while(0)
  4. //风扇开启后,pwm按duty输出,否则仅修改gPwmDuty
  5. void fanSpeepAdj(u8 duty)
  6. {
  7.         if(duty)
  8.                 gPwmDuty=duty;
  9.         if(FAN_PIN_GET)
  10.         {
  11.                 PWM_DUTY(duty);//如果duty为0,关闭pwm并使PWM引脚为低电平,否则开启pwm并按duty输出pwm。
  12.         }
  13. }

  14. void fanOnoff(bit b)
  15. {
  16.         if(b){
  17.                 FAN_PIN_SET(1);
  18.                 fanSpeepAdj(gPwmDuty);
  19.         }else{
  20.                 fanSpeepAdj(0);
  21.                 FAN_PIN_SET(0);
  22.         }
  23. }
复制代码
ID:1073939 发表于 2026-7-17 10:41
占空比(分辨率8为 也就是0-255的范围)为120时,电压约6.5V Q3发热。

假如BAT+楼主实测是3.6V时,计算输出电压为6.476V,和楼主实测差不多。
说明电感电流是连续的,电感选型是合理的。
看来解决Q3发热主要是更换型号,推荐用AO3400试试。
ID:1073939 发表于 2026-7-17 09:48
Y_G_G 发表于 2026-7-16 22:15
Q4只要是先比PWM关断一段时间,升压电路的输出电压就会一直上升,当你再打开Q4的时候,早就超过它的耐压了,出 ...

软件能确保Q4晚关断。
以下是伪代码
  1. u8 gPwmDuty=120;//记录风扇最后的duty
  2. #define FAN_PIN_GET IO_H_L
  3. #define FAN_PIN_SET(b) do{IO_H_L=(b);}while(0)
  4. //风扇开启后,pwm按duty输出,否则仅修改gPwmDuty
  5. void fanSpeepAdj(u8 duty)
  6. {
  7.         if(duty)
  8.                 gPwmDuty=duty;
  9.         if(FAN_PIN_GET)
  10.         {
  11.                 PWM_DUTY(duty);//如果duty为0,关闭pwm并使PWM引脚为低电平,否则开启pwm并按duty输出pwm。
  12.         }
  13. }

  14. void fanOnoff(bit b)
  15. {
  16.         if(b){
  17.                 FAN_PIN_SET(1);
  18.                 fanSpeepAdj(gPwmDuty);
  19.         }else{
  20.                 fanSpeepAdj(0);
  21.                 FAN_PIN_SET(0);
  22.         }
  23. }
复制代码
ID:96072 发表于 2026-7-17 08:45
Y_G_G 发表于 2026-7-16 22:15
Q4只要是先比PWM关断一段时间,升压电路的输出电压就会一直上升,当你再打开Q4的时候,早就超过它的耐压了,出 ...

可以的,小电流没事,我们都是这样搞的
ID:401564 发表于 2026-7-16 22:15
Q4只要是先比PWM关断一段时间,升压电路的输出电压就会一直上升,当你再打开Q4的时候,早就超过它的耐压了,出问题是正常的
沙发也说了,PWM一直在工作的时候,电压感应到的电压是一直在上升的,理论上会无限大,但实际上一般就几十V左右,电路就开始出现问题了
所以,你要使用这类电路,一定要有硬件负反馈,不然容易出问题
光是软件控制是不行的
ID:1146155 发表于 2026-7-16 17:34
ydatou 发表于 2026-7-16 17:20
不是这原因。与3.3V、4.2V无关,
只和Q4的耐压有关。

我使用PWM调速器 和 这个电路同源就没事 也不发热 也能关断
ID:1073939 发表于 2026-7-16 17:20
boos1234 发表于 2026-7-16 17:08
有一个问题是 单片机3.3V PWM  和 这个电路的电源是锂电池电压比如4.2V吧 就有问题 关不断,发热。是不是 ...

不是这原因。与3.3V、4.2V无关,
只和Q4的耐压有关。
ID:1146155 发表于 2026-7-16 17:08
ydatou 发表于 2026-7-16 08:48
你这电路是可行的。
Q4是让风机电流为0,仅在pwm占空比不为0前打开,pwm占空比为0后断开。其它时候不要操 ...

有一个问题是 单片机3.3V PWM  和 这个电路的电源是锂电池电压比如4.2V吧 就有问题 关不断,发热。是不是电压不一致导致的吧
ID:1034262 发表于 2026-7-16 10:25
Q3发热,是因为内阻大或速度慢。
Q4关不断,可能是因为击穿了,你没有检测输出电压,Q4关闭时,升压电压会很高的。
ID:1034262 发表于 2026-7-16 10:23
weijoyer 发表于 2026-7-15 23:49
Q3的体二极管续流了

看清楚了,这是boost。
ID:1073939 发表于 2026-7-16 08:48
你这电路是可行的。
Q4是让风机电流为0,仅在pwm占空比不为0前打开,pwm占空比为0后断开。其它时候不要操作Q4。Q3发热量要降低,电感要使用电感量、体积更大的,或者增加pwm频率,并使用开关性能更好的nmos。
ID:339654 发表于 2026-7-15 23:49
Q3的体二极管续流了

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表