文号
t63846
阅读
24245
回复
14
收藏
12
用单片机的一个引脚做电荷泵升压
2014/02/09
IP:广东
本帖最后由 novakon 于 2014-2-9 21:15 编辑

以前肯定有人玩过了。
今天突然想到,做了一个。有了它,可以在锂电池供电的情况下提供高于5V的电压。

QQ截图20140209200746.png

将引脚设为推挽输出,当引脚为低时,VCC经二极管对左侧电容进行充电。
设VCC=5V,二极管压降0.5V,可将电容充至4.5V。

再将引脚转为高,此时左侧电容下端为5V,上端为9.5V。此时该电容再经过一二极管对右侧电容充电。
经过多次循环,最终可将右侧电容充至9V左右。

这个电荷泵可以以开环方式工作,只需引脚输出固定占空比PWM信号,即可保持右侧电容电压。
如果需要低纹波,只需再配上线性稳压器。

测试使用了两个肖特基二极管,1个1uF电容,一个100uF电容。

DSC_9827.jpg
DSC_9829.jpg
DSC_9830.jpg
+10
科创币
ddomax
2014/02/09
感谢分享
+10
科创币
thinker
2014/02/10
有创意的人
14
novakon作者
12年10个月前IP:未同步
668967
1楼
因为单片机引脚mos管以及肖特基二极管都存在压降,这个电荷泵的转换效率和输出功率都可以进一步提高。例如使用外置的mos管,可以通过更大电流(而单片机引脚一般都有电流限制)。
引用
评论
novakon作者
12年10个月前IP:未同步
668972
2楼
使用两个引脚,但节省一个二极管:

QQ截图20140209204258.png

第一步:两个引脚,上高下低给左侧电容充电。

第二步:上方的引脚设为高阻态(模拟输入),下方的引脚设为高。

重复第一步。

重复第二步。。。
引用
评论
12年10个月前IP:未同步
668980
3楼
单片机引脚接地,会不会烧毁引脚?需要电阻不?
引用
评论
novakon作者
12年10个月前IP:未同步
668981
4楼
本帖最后由 novakon 于 2014-2-9 21:16 编辑

张成林 发表于 2014-2-9 21:04
单片机引脚接地,会不会烧毁引脚?需要电阻不?


不好意思图画错了。。已改
引用
评论
12年10个月前IP:未同步
668983
5楼
降低纹波用一般的线性稳压器效果不好,推荐用PSRR高的LDO,或者伺服电路,或者L型、π形滤波。
引用
评论
12年10个月前IP:未同步
669065
6楼
电荷泵负载能力 波纹都素比较大的呢
引用
评论
12年10个月前IP:未同步
669078
7楼
以前见过有用555做的。
用单片机一路AD监测输出估计还可做稳压。
引用
评论
12年10个月前IP:未同步
669108
8楼
早就做过这个了,用处就是给一个外置的AD提供5V的精密基准。由于5V总线经常达不到5V,而且基准工作需要压降,所以用和LZ类似方法将电压搞到10V左右,然后通过LDO,再给基准供电,效果很不错
引用
评论
12年7个月前IP:未同步
690371
9楼
novakon 发表于 2014-2-9 20:46
使用两个引脚,但节省一个二极管:




uC的管教里面有保护二极管,这个电路会影响uC的电源
1.png
引用
评论
10年3个月前IP:澳大利亚
825049
10楼
补充一点,有些单片机比如stm8,有时钟输出功能,叫CLK_CCO,可以把内部的128KHz的低频时钟输出出来,是个方波,GPIO配置成推完配合第一个图,也可以实现功能,并且不用手动操作IO口,解决计算资源
引用
评论
10年3个月前IP:福建
825231
11楼
ORZ  我一想到升压就是boost  .....
引用
评论
10年2个月前IP:湖北
826720
12楼
引用 金坷居士:
补充一点,有些单片机比如stm8,有时钟输出功能,叫CLK_CCO,可以把内部的128KHz的低频时钟输出出来,是个方波,GPIO配置成推完配合第一个图,也可以实现功能,并且不用手动操作IO口,解决计……
128K太高了,用蜂鸣器驱动模块好像挺合适的
引用
评论
10年1个月前IP:广东
827777
13楼
引用 AnalogSynth:
128K太高了,用蜂鸣器驱动模块好像挺合适的
然而蜂鸣器需要吃掉你的TIM1一个pwm端口代价太大了点
引用
评论
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的