单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 12473|回复: 109
打印 上一主题 下一主题
收起左侧

开源基于STC单片机内部基准mini电压表—极简设计创新制作

  [复制链接]
跳转到指定楼层
楼主
开源基于STC单片机内部基准(Bandgap voltage reference)mini电压表—极简设计创新制作
1.hello-坛友们大家好!今天开源制作一款9.99v量程的电压表(改变一下电阻和程序可以改为更大量程),只需要单片机数码管电阻三种4个元件(没有用到TL431之类的外接基准芯片),极简设计精简制作。感觉赞的话在评论区留个评论,谢谢支持,大家的支持就是我发帖的最大动力。
2.利用STC单片机STC15W408AS内部自带的基准电压Bandgap voltage reference)最为参考电压,用ADC测量出外部输入的电压。
3.昨晚奋斗到凌晨把程序改好,今天画了原理图,拍了照片。(发帖是一件辛苦的活,请评论一下帖子顺便赞)
4.Bandgap voltage reference,常常有人简单地称它为Bandgap。最经典的带隙基准是利用一个与温度成正比的电压与一个与温度成反比的电压之和,二者温度系数相互抵消,实现与温度无关的电压基准,约为1.25V。因为其基准电压与硅的带隙电压差不多,因而称为带隙基准。实际上利用的不是带隙电压。现在有些Bandgap结构输出电压与带隙电压也不一致。(来自百度百科的解释)
图片中没有测别的电源电压,测量的是USB的供电电压


mini电压表测出来的是4.75v 万用表测出来的是4.76v


下图为在实验板上的布局先插入电阻‘’插座、单片机


数码管直接压在单片机上插入实验板(焊接过程自行脑补)


下图为PADS画的原理图,附件中有原版。


看过留个评论谢谢!
  1. /********************************************/
  2. //2016.10.20日 1:01编写完成
  3. //作者:刘海龙 (读单片机内部BandGap基准电压值参考的STC官网程序)
  4. //硬件:STC15W408AS+3位共阴数码管+2个10K的电阻(1/4w)
  5. //晶振无说明的情况选12M
  6. //测量口P1.7
  7. #include <STC15W.h>
  8. #include <intrins.h>
  9. #include<4LED_YIN.H>//数码管驱动显示程序
  10. #include <BandGap.H>//包含读单片机内部BandGap基准电压值        
  11. /********************************/
  12. void main (void)
  13. {        Delay20ms();//待系统稳定
  14.     InitADC();//初始化ADC
  15.     P1M1=0X80;//P1.7高阻输入
  16.         init();//IO口设置初始化
  17.     while (1)
  18.     {
  19.         ShowResult(7);//显示通道P1.7的测量值、单位为毫伏
  20.                 disp();        //数码管显示电压值
  21.     }
  22. }
复制代码





ADC极简电压表.rar

910.9 KB, 下载次数: 524, 下载积分: 黑币 -5

原理图+源程序

评分

参与人数 11黑币 +135 收起 理由
都市郎 + 15 很给力!
piplxh + 15 赞一个!
angmall + 35 共享资料的黑币奖励!
逐轻舟 + 5 很给力!
vvv64 + 5 赞一个!
madell + 5 赞一个!
15625539232 + 5
huyin + 5 赞一个!
王朗的诱惑 + 35 赞一个!
下雨天.25 + 5 赞一个!
滴~电子小白 + 5 赞一个!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏31 转播转播 分享分享1 分享淘帖 顶9 踩
回复

使用道具 举报

沙发
 楼主| 刘海龙 发表于 2016-10-20 16:39 | 只看该作者

下载时要勾选图片中红色圈内的选项
回复

使用道具 举报

板凳
taoran 发表于 2016-10-20 19:52 | 只看该作者
电路还是很简洁的,stc的内部基准不知道精度怎么样。先收藏备用了,对了楼主你那个原理图还漂亮 请教下是用什么软件做的啊?
回复

使用道具 举报

地板
 楼主| 刘海龙 发表于 2016-10-20 21:13 | 只看该作者
taoran 发表于 2016-10-20 19:52
电路还是很简洁的,stc的内部基准不知道精度怎么样。先收藏备用了,对了楼主你那个原理图还漂亮 请教下是用 ...

用的PADS9.5画的
回复

使用道具 举报

5#
1123212143255 发表于 2016-11-3 04:02 | 只看该作者
做出来了,引脚可以任意改,非常好用。
回复

使用道具 举报

6#
尚尚网 发表于 2016-11-3 14:50 | 只看该作者
这个做和不错。
回复

使用道具 举报

7#
Y!NG 发表于 2016-11-15 10:44 | 只看该作者
并没有sch原理图,,。
回复

使用道具 举报

8#
Y!NG 发表于 2016-11-15 10:45 | 只看该作者

你下载的文件有原理图么,有的话邮一份1218946827  企鹅
回复

使用道具 举报

9#
尚尚网 发表于 2016-11-15 16:18 | 只看该作者
Y!NG 发表于 2016-11-15 10:45
你下载的文件有原理图么,有的话邮一份1218946827  企鹅

我看过删了。
回复

使用道具 举报

10#
尚尚网 发表于 2016-11-15 16:19 | 只看该作者
Y!NG 发表于 2016-11-15 10:45
你下载的文件有原理图么,有的话邮一份1218946827  企鹅

http://c.51hei.com/d/forum/201610/20/152000q1w7oikbv1bo2oek.png
上面不上有吗?
回复

使用道具 举报

11#
春风秋叶 发表于 2016-11-15 17:05 | 只看该作者
感谢楼主分享
回复

使用道具 举报

12#
 楼主| 刘海龙 发表于 2016-11-15 17:35 | 只看该作者
Y!NG 发表于 2016-11-15 10:44
并没有sch原理图,,。

有的,你解压出来后有个ADC.sch文件就是,之前是手工画的图,后来改成电脑画的了。
回复

使用道具 举报

13#
70700 发表于 2016-11-18 16:03 | 只看该作者
顶一顶,下载
回复

使用道具 举报

14#
wasen 发表于 2016-11-18 16:27 | 只看该作者
这是好东西啊,收藏起来先。。。
回复

使用道具 举报

15#
越快乐越堕落 发表于 2016-11-20 21:32 | 只看该作者
Y!NG 发表于 2016-11-15 10:45
你下载的文件有原理图么,有的话邮一份1218946827  企鹅

上面有图直接复制一份不就好了 又不需要你改
回复

使用道具 举报

16#
越快乐越堕落 发表于 2016-11-20 21:33 | 只看该作者
只有我一个人觉得很浪费吗???那么多IO口都没用。不知道精度怎么样
回复

使用道具 举报

17#
somlye 发表于 2016-11-25 21:01 | 只看该作者
很好,收藏了!
回复

使用道具 举报

18#
cnz 发表于 2017-1-16 08:20 | 只看该作者
非常棒,我也要学着做一个装在电源上。
回复

使用道具 举报

19#
zmmatlll 发表于 2017-3-21 19:59 来自手机 | 只看该作者
顶贴了,下载下来看看,嘿嘿
回复

使用道具 举报

20#
xiaoxiao/// 发表于 2017-3-27 15:35 | 只看该作者
求附件内容
回复

使用道具 举报

21#
hxc888 发表于 2017-3-30 22:23 | 只看该作者
正好学习,能邮到,O(∩_∩)O谢谢
回复

使用道具 举报

22#
nnq 发表于 2017-4-20 19:53 | 只看该作者
精简的设计,精度0.5mv吗
回复

使用道具 举报

23#
 楼主| 刘海龙 发表于 2017-4-21 12:18 | 只看该作者
nnq 发表于 2017-4-20 19:53
精简的设计,精度0.5mv吗

精度没有那么高,两个分压电阻也有误差的。
回复

使用道具 举报

24#
oosheoo 发表于 2017-4-24 22:04 | 只看该作者
这个的顶起来啊,这么好的源码
回复

使用道具 举报

25#
越快乐越堕落 发表于 2017-4-29 18:54 | 只看该作者
怎么修改测量范围?具体办法是?
回复

使用道具 举报

26#
 楼主| 刘海龙 发表于 2017-4-30 23:03 | 只看该作者
越快乐越堕落 发表于 2017-4-29 18:54
怎么修改测量范围?具体办法是?

两个电阻串联分压原理,改变两个电阻的比值可以改变分压多少,从而改变量程。
回复

使用道具 举报

27#
越快乐越堕落 发表于 2017-5-2 18:50 | 只看该作者
刘海龙 发表于 2017-4-30 23:03
两个电阻串联分压原理,改变两个电阻的比值可以改变分压多少,从而改变量程。

程序如何修改呢
回复

使用道具 举报

28#
 楼主| 刘海龙 发表于 2017-5-2 22:34 | 只看该作者

具体修改方法见图片

21.png (19.37 KB, 下载次数: 85)

21.png
回复

使用道具 举报

29#
huyin 发表于 2017-5-3 16:27 | 只看该作者
很好,不错学习下。
回复

使用道具 举报

30#
山中人家 发表于 2017-5-3 17:41 | 只看该作者
赞一个,给力
回复

使用道具 举报

31#
越快乐越堕落 发表于 2017-5-4 11:11 | 只看该作者
刘海龙 发表于 2017-5-2 22:34
具体修改方法见图片

这样就可以了?数码管的百位会不会乱码?是继续用三位数码管吗?如果是,那么小数点的位移怎么解决?比如测的电压为30.5v时。
回复

使用道具 举报

32#
人工智能威力 发表于 2017-5-4 14:55 | 只看该作者
刘海龙 发表于 2017-5-2 22:34
具体修改方法见图片

我理解能力有问题!一直很蒙你直接说量程到30V要怎么修改这样好明白一点
回复

使用道具 举报

33#
 楼主| 刘海龙 发表于 2017-5-4 22:32 | 只看该作者
本帖最后由 刘海龙 于 2017-5-4 22:39 编辑
人工智能威力 发表于 2017-5-4 14:55
我理解能力有问题!一直很蒙你直接说量程到30V要怎么修改这样好明白一点

电阻R2改为2k,程序中的v=v*2改为v=v*6显示程序也需要改为下面的这样/******************显示程序*************************/
void disp(){
unsigned int i;
        for(i=0;i<50;i++){
                diplay_data (1,disdata[v/10000]);
                diplay_data (2,disdata[v%10000/1000]+0x80);
                diplay_data (3,disdata[v%1000/100]);
        }
}

回复

使用道具 举报

34#
 楼主| 刘海龙 发表于 2017-5-4 22:38 | 只看该作者
越快乐越堕落 发表于 2017-5-4 11:11
这样就可以了?数码管的百位会不会乱码?是继续用三位数码管吗?如果是,那么小数点的位移怎么解决?比如 ...

/******************显示程序*************************/
void disp(){
unsigned int i;
        for(i=0;i<50;i++){
                diplay_data (1,disdata[v/10000]);
                diplay_data (2,disdata[v%10000/1000]+0x80);
                diplay_data (3,disdata[v%1000/100]);
        }
}
回复

使用道具 举报

35#
越快乐越堕落 发表于 2017-5-5 14:05 | 只看该作者
刘海龙 发表于 2017-5-4 22:38
/******************显示程序*************************/
void disp(){
unsigned int i;

还请详细说一下,我不太懂你的意思,谢谢
回复

使用道具 举报

36#
XDDZ1013 发表于 2017-5-12 21:52 | 只看该作者
谢谢分享,学习一下
回复

使用道具 举报

37#
XDDZ1013 发表于 2017-5-12 21:54 | 只看该作者
下载学习学习
回复

使用道具 举报

38#
强如我葱 发表于 2017-5-28 14:23 | 只看该作者
电压变化公式是什么
回复

使用道具 举报

39#
强如我葱 发表于 2017-5-28 17:20 | 只看该作者
学习一下
回复

使用道具 举报

40#
强如我葱 发表于 2017-5-28 17:20 | 只看该作者
很好,值得分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|单片机论坛 |51黑电子论坛单片机.

Powered by 单片机教程网

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