找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1519|回复: 21
收起左侧

TM1620会干扰单片机ADC采样?

  [复制链接]
ID:90212 发表于 2022-5-20 22:25 | 显示全部楼层 |阅读模式
使用STC15W4k单片机,用官网ADC案例,通过测量基准(LM385-1.2)推算供电电压,串口输出监测电压测量很稳定(5.0V左右)。
后使用TM1620芯片驱动3位数码管显示电压,发现测量电压波动较大(2.4~7.5V)。
然后使数码管不显示,用串口输出监测测量电压无改进。
使用排除法发现,TM1620不能初始化,一旦初始化就影响ADC采样(哪怕不发送数据给TM1620)。

回复

使用道具 举报

ID:301191 发表于 2022-5-21 06:58 | 显示全部楼层
顶一下
回复

使用道具 举报

ID:883242 发表于 2022-5-21 07:02 | 显示全部楼层
PCB布线错误会导致楼主描述现象。
回复

使用道具 举报

ID:213173 发表于 2022-5-21 07:35 | 显示全部楼层
在TM1620的电源端就近接100uF+0.01uF电容试试。
回复

使用道具 举报

ID:963918 发表于 2022-5-21 08:56 | 显示全部楼层
LED驱动片,不串联电阻驱动数码管,瞬间电流有180MA,电源可能不稳定。
回复

使用道具 举报

ID:230742 发表于 2022-5-21 13:18 | 显示全部楼层
ADC转换多延时一下。不用转换完了就显示。
忙什么。稳住。
另外外接一个电源试一下,比如充电宝。让电流足够大。或者手机充电器。
回复

使用道具 举报

ID:123289 发表于 2022-5-21 16:23 | 显示全部楼层
取决于你的设计经验。
例如:AD采样电路中有一段线,与驱动电路共用,有线就有电阻,由于驱动电路电流大,又不稳定。所以这段线的压降就不稳定。如此就影响AD值了。
回复

使用道具 举报

ID:712493 发表于 2022-5-21 17:13 | 显示全部楼层
感觉这个IC扫描时确实干扰很大,用示波器测VDD有方波
回复

使用道具 举报

ID:451718 发表于 2022-5-21 17:45 | 显示全部楼层
多大的数码管?  15W4K的IO资源也不少,内存也够用。位用IO配合三极管,段直接拿IO脚直接推就好了,还用TM1620,有点浪费哦。  说实话,这个15W4K的AD说是有10位,真真没有感受到有10位的精度,只能当8位的用。
回复

使用道具 举报

ID:969770 发表于 2022-5-21 18:27 | 显示全部楼层
建议 5V 电源加电解电容16V470UF 后面加431加电解电容16v47UF通过电阻搭配获得比较稳定的电压
回复

使用道具 举报

ID:1028709 发表于 2022-5-23 16:07 | 显示全部楼层
干扰也是单片机被干扰,也不定是干扰就输出0V电压,一般单片机被干扰的机率主要看你设计的电路.电源等.
回复

使用道具 举报

ID:90212 发表于 2022-5-28 21:31 | 显示全部楼层
wulin 发表于 2022-5-21 07:35
在TM1620的电源端就近接100uF+0.01uF电容试试。

有接100uf+0.1uf电容。单片机侧电源端也有接这两个电容,使用充电器和充电宝都试过,TM1620不能初始化,一旦初始化就导致ADC采样不稳定
回复

使用道具 举报

ID:90212 发表于 2022-5-28 21:33 | 显示全部楼层
啤酒瓶子老大 发表于 2022-5-21 13:18
ADC转换多延时一下。不用转换完了就显示。
忙什么。稳住。
另外外接一个电源试一下,比如充电宝。让电流 ...

外接手机充电器电源和充电宝都试过,只要TM1620初始化就导致ADC采样不稳定
回复

使用道具 举报

ID:90212 发表于 2022-5-28 21:35 | 显示全部楼层
robinsonlin 发表于 2022-5-21 17:45
多大的数码管?  15W4K的IO资源也不少,内存也够用。位用IO配合三极管,段直接拿IO脚直接推就好了,还用TM1 ...

0.56英寸数码管,共6个。即便数码管初始化后不显示也会导致ADC采样不稳定
回复

使用道具 举报

ID:90212 发表于 2022-5-28 21:52 | 显示全部楼层
找到解决办法了,在ADC采样前关闭TM1620即可——发送 0x80 。
前面程序给TM1620发送的0x00,以为不点亮就不消耗电流,其实其内部仍然在振荡耗电!
回复

使用道具 举报

ID:624769 发表于 2022-5-28 21:53 | 显示全部楼层
一口不能吃成胖子。
你先不要用 LM385-1.2 , 先用 STC15w 的内部基准电压, 先不要管准不准,先看,是不是波动变小了?
是的话告诉你你的问题怎么解决,不是的话,当我没说。
回复

使用道具 举报

ID:90212 发表于 2022-5-28 22:24 | 显示全部楼层
本帖最后由 gongzhu 于 2022-5-28 22:28 编辑

OK
最开始使用的是STC官方教程,通过内部BandGap能够测出准确电压值  我要精确计时,使用外部晶振就没法用BandGap了。我再加入TM1620看看稳定性
回复

使用道具 举报

ID:90212 发表于 2022-5-28 23:38 | 显示全部楼层
188610329 发表于 2022-5-28 21:53
一口不能吃成胖子。
你先不要用 LM385-1.2 , 先用 STC15w 的内部基准电压, 先不要管准不准,先看,是不是 ...

使用bandgap和内部晶振确实电压波动小多了,电脑usb供电,测量结果 4.75~5.1V。
回复

使用道具 举报

ID:90212 发表于 2022-5-29 00:08 | 显示全部楼层
使用内部晶振,使用内部基准,初始化TM1620后,测试结果截图: 2022-05-29.png

回复

使用道具 举报

ID:624769 发表于 2022-5-29 01:14 | 显示全部楼层
gongzhu 发表于 2022-5-28 23:38
使用bandgap和内部晶振确实电压波动小多了,电脑usb供电,测量结果 4.75~5.1V。

所以,这说明,对你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  同理,也是先 二级管,再电容。然后接单片机。

做完上面两步,应该能达到比较能接受的结果。


回复

使用道具 举报

ID:90212 发表于 2022-5-29 20:28 | 显示全部楼层
188610329 发表于 2022-5-29 01:14
所以,这说明,对你ADC测量结果波动大的,根本原因,有两个:
1) 单片机的VCC 有波动。
2) 你的LM385 ...

OK,明白!
不使用内部基准的原因是我要精确计时,使用的外部12M晶振。STC使用外部晶振是没法读取内部基准的。只有通过修改电路图来优化了。
回复

使用道具 举报

ID:624769 发表于 2022-5-29 22:28 | 显示全部楼层
gongzhu 发表于 2022-5-29 20:28
OK,明白!
不使用内部基准的原因是我要精确计时,使用的外部12M晶振。STC使用外部晶振是没法读取内部基 ...

首先,内部的BandGap ,是参考电压,不是基准电压,STC15系列,由于没有Verf引脚,所以基准电压只有一个,就是VCC电压,你测量LM385-1.2,也是以VCC为基准,LM385-1.2只是“参考电压”而已。所以在此再次郑重提醒,要ADC测量准确,必须要先保证单片机VCC的稳定。而单片机VCC的稳定,最简单有效的方法,就是单片机的供电处,先二极管再电容。
其次,谁告诉你,用了外部晶振,就不能读取内部参考电压的? 内部参考电压,和晶振没有任何关系的好吧?
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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