赞
踩
题目要求:
1.我首先想到的就是线性可调的芯片LM317,考虑到效率问题,线性损耗太大,否定了这个方案
2.后来请教过老师,给出的方案,MP1591,MP1584,LM2576,LM2596
不管是第一个方案还是方案二,在题目要求1和2上都可以满足,但经过理论分析,3和4要求不一定可以满足,所以,最终选定方案LM2596.
这几张图中标注的参数,就是我决定使用这款LM2596的原因。
基本上符合题目要求1、3、4,而要求2可以通过单片机程序修改得到,最大1A电流可以计算电阻求得。
**参数来源LM2596的技术手册。**如果有不理解的,可以多看看技术手册里的数据,里面基本都有,善于用百度等搜索引擎。
参考电路图
实际使用电路图
其中的元器件参数来源技术手册。
可以看到,这个电路,我一共添加了三处的修改。
1.输入电压调节部分:最上面的单片机dac输入通过运算放大器放大十倍接入反馈端4.
这里通过单片机输入不同的dac值,引起反馈端4的电压变化,从而引起输出端电压的变化,达到可调电压的目的。
2.输出电压采集部分:Cout旁边的分压电路,一个1k和9k电阻的串联,中间引出连接到单片机的adc采样电压值
注意,我这里采用分压电路原因,是因为我用的是stm32,所以adc口只能接受0~3.7v的电压值,假设这里输出电压达到二十几伏,不做分压的话,会烧毁单片机,而这里分掉的电压,在单片机的程序里补偿x10回来就行了。
3.电流采集部分:串联一个足够小的采样电阻上去(m欧级别)(因为足够小,所以不会影响这条电路上的电流大小),再利用负载和采样电阻之间的节点引出,利用运算放大器放大,单片机adc采集。
注意,这里的adc采集后需要在单片机程序里计算还原准确的电流值。具体公式根据你选用的采样电阻和放大倍数计算。
这里还有一处需要注意,就是这里的负载。我做测试用的电阻,一开始我用的普通电阻,结果理论电流1A就烧了,这条电路测不出电流(原来电阻没冒烟还不知道烧了),我还纳闷,后来我才知道,原来是功率的问题,普通电阻能承载的功率是有限的,超出承受的功率值就会烧,后来我换了功率电阻做测试,就可以了。
这里我用的是stm32f103系列,程序部分倒是没什么好说的。找例程改改,我用的是正点原子的,我不生产程序,我只是程序的搬运工。
需要的功能:按键检测、一个dac、两个adc、显示屏这些。
把这三四个例程合在一起就可以了。
唯一麻烦的就是计算公式需要根据自己的电路进行设计,一定要分清放大缩小后还原回具体的值。电压分辨率需要自己去计算,让它恰好为0.1。这些都是可以通过单片机补偿的。
最终的实验结果,是做到了2~22v可调,电流满足规定范围,但是调节不是线性的,根据测试结果,电压是曲线型的增长或减小,如果需要达到线性的效果,还需要通过电路计算出一个公式,单片机去补偿最终达到线性的现象。这个具体的可以看看数据手册,里面还有很多的公式帮助完善这个电路。
这个电路还有一个奇怪的现象,就是带载运行后,输出的电压会掉一点,这个原因还没找到。(当时因为期末和各种考试,这个电路做到及格的水平就提交了,算是一个半成品,希望后面有机会完善。但是从数据手册看,这个方向是完全正确的,掉电压的原因可能是焊接的问题,毕竟当时用的是洞洞板,这里提醒大家,最好画pcb,可以减少错误的发生)。
以上材料的来源均来自LM2596数据手册。
由于本人的水平有限,如果其中有什么错误的,请在评论区留下指正。相互学习。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。