gongzhu 发表于 2022-5-29 20:28 首先,内部的BandGap ,是参考电压,不是基准电压,STC15系列,由于没有Verf引脚,所以基准电压只有一个,就是VCC电压,你测量LM385-1.2,也是以VCC为基准,LM385-1.2只是“参考电压”而已。所以在此再次郑重提醒,要ADC测量准确,必须要先保证单片机VCC的稳定。而单片机VCC的稳定,最简单有效的方法,就是单片机的供电处,先二极管再电容。 其次,谁告诉你,用了外部晶振,就不能读取内部参考电压的? 内部参考电压,和晶振没有任何关系的好吧? |
188610329 发表于 2022-5-29 01:14 OK,明白! 不使用内部基准的原因是我要精确计时,使用的外部12M晶振。STC使用外部晶振是没法读取内部基准的。只有通过修改电路图来优化了。 |
gongzhu 发表于 2022-5-28 23:38 所以,这说明,对你ADC测量结果波动大的,根本原因,有两个: 1) 单片机的VCC 有波动。 2) 你的LM385-1.2 没有稳定在 1.2V。也有波动。 这两个波动一叠加,就波动的离谱了。 解决方案,分两步, 1) STC15W 系列属于宽电压,即单片机其实不是必需要在5V条件下工作,可以在2.5~5.5V下工作, 所以,比较简单的方法: VCC 先接2级管,再接你的两个电容(有条件的话把0.1uf 的那个换0.01uf, 或0.022uf), 然后接单片机VCC。 然后,测试BandGap, ADC, 此时应该基本没有波动了。 其实,象STC15系列这种没有 Verf 引脚的单片机,建议你就用BandGap,作为基准,无数试验证明外接基准其实反而不准。你一定要外接基准,那么,在 (1) 已经稳定的前提下: 2) LM385-1.2 同理,也是先 二级管,再电容。然后接单片机。 做完上面两步,应该能达到比较能接受的结果。 |
188610329 发表于 2022-5-28 21:53 使用bandgap和内部晶振确实电压波动小多了,电脑usb供电,测量结果 4.75~5.1V。 |
本帖最后由 gongzhu 于 2022-5-28 22:28 编辑 OK 最开始使用的是STC官方教程,通过内部BandGap能够测出准确电压值 我要精确计时,使用外部晶振就没法用BandGap了。我再加入TM1620看看稳定性 |
一口不能吃成胖子。 你先不要用 LM385-1.2 , 先用 STC15w 的内部基准电压, 先不要管准不准,先看,是不是波动变小了? 是的话告诉你你的问题怎么解决,不是的话,当我没说。 |
找到解决办法了,在ADC采样前关闭TM1620即可——发送 0x80 。 前面程序给TM1620发送的0x00,以为不点亮就不消耗电流,其实其内部仍然在振荡耗电! |
robinsonlin 发表于 2022-5-21 17:45 0.56英寸数码管,共6个。即便数码管初始化后不显示也会导致ADC采样不稳定 |
啤酒瓶子老大 发表于 2022-5-21 13:18 外接手机充电器电源和充电宝都试过,只要TM1620初始化就导致ADC采样不稳定 |
wulin 发表于 2022-5-21 07:35 有接100uf+0.1uf电容。单片机侧电源端也有接这两个电容,使用充电器和充电宝都试过,TM1620不能初始化,一旦初始化就导致ADC采样不稳定 |
干扰也是单片机被干扰,也不定是干扰就输出0V电压,一般单片机被干扰的机率主要看你设计的电路.电源等. |
建议 5V 电源加电解电容16V470UF 后面加431加电解电容16v47UF通过电阻搭配获得比较稳定的电压 |
多大的数码管? 15W4K的IO资源也不少,内存也够用。位用IO配合三极管,段直接拿IO脚直接推就好了,还用TM1620,有点浪费哦。 说实话,这个15W4K的AD说是有10位,真真没有感受到有10位的精度,只能当8位的用。 |
感觉这个IC扫描时确实干扰很大,用示波器测VDD有方波 |
取决于你的设计经验。 例如:AD采样电路中有一段线,与驱动电路共用,有线就有电阻,由于驱动电路电流大,又不稳定。所以这段线的压降就不稳定。如此就影响AD值了。 |
ADC转换多延时一下。不用转换完了就显示。 忙什么。稳住。 另外外接一个电源试一下,比如充电宝。让电流足够大。或者手机充电器。 |
LED驱动片,不串联电阻驱动数码管,瞬间电流有180MA,电源可能不稳定。 |
在TM1620的电源端就近接100uF+0.01uF电容试试。 |
PCB布线错误会导致楼主描述现象。 |
顶一下 |