返回列表 发新帖我要提问本帖赏金: 10.00元(功能说明)

[KungFu8位 MCU] ADC采集电路中的串联分压

[复制链接]
 楼主| uuguoleilei 发表于 2022-7-15 23:25 | 显示全部楼层 |阅读模式
<
本帖最后由 uuguoleilei 于 2022-8-6 15:43 编辑

#每日话题# #申请原创#

3608262ee1b19f2047.png
可以看到上面这是一个经典的ADC采集电路,细心的朋友一眼就可以看出,这个电路是错的,,,,,,
如果按照上面焊接板子,会造成什么后果呢,你猜猜看!!!
假如这个电压不是很高,只有5v的话,而刚好芯片可以接受5V,接上去也没问题,不会烧芯片,放心,
那么就有同学会问了,你咋知道的,(估计只有我会问了,,,)
其实很简单,上面用到的原理就是普通而且简单的串联分压电路,这个电路看上去普普通通,却是ADC采集的重要环节,
让我们看看是怎么算的,
ADC值=???
实际电压值V=???
单片机ADC几位????基准电压=???
好了好了,按照上图来说,
假如实际电压值V=  15V
单片机ADC12位 基准电压=5V

ADC值=???
ADC值 = 15*(R1/(R1+R2))=15*0.5=???不好意思,现在芯片炸了,哦豁我换一组数据
假如实际电压值V=  5V
单片机ADC12位 基准电压=5V

ADC值=???

ADC值 = (5*(R1/(R1+R2)) )* 2的12次方  /参考电压(参考电压一般为5v或3.3V,此处为5V)= 2.5 * 4096 / 5 = 2048;
刚好是一半呢,我们在上面的一张错误的图,计算了一个正确的值,说明现在这个电路还是可以过5v的,,,
假如我们要检测24V呢?这个电路通过上面的计算公式可以很快算出,最大电压只能10V了,再多就检测不到了,甚至芯片会炸,或者一定会烧
3675462ee1b65b9492.png
所以我们需要把R1改成100k试试,先来个10倍看看,通过上面的计算公式来看,直接将参数代入上式得,最大电压为。。。。。。55V,好像是的,最高可以到55V,符合咱们的24V了,怎么计算?自己算算???我给你答案看看吧。。。
3704162d1856fe3776.jpg


这里的adc一般用作ADC比较嘛,假如你测到开关关闭的时候,adc值为50,然后你就这样写了,
if(adc<50)
{
    /*code*/
}
else
{
/*code*/
}
这里就得注意了,很关键,ADC值是会漂的,它要是一会50,一会51,一会49,那你怎么判断呢???

我是这样解决的,你有没有好办法分享一下吧~

我就是添加了一个反应区间,大概2V左右吧

if(adc<50)
{
开关关闭
}
else if(adc>100)
{
开关打开
}
else
{
什么都不做,等你开关关闭adc下降,或者开关打开adc上升
}















打赏榜单

21小跑堂 打赏了 10.00 元 2022-07-20
理由:恭喜通过原创审核!请多多加油哦!

tpgf 发表于 2022-8-3 09:52 | 显示全部楼层
会因为内阻不同导致不准确吗

评论

有可能,这个我得再研究研究  发表于 2022-8-4 17:06
晓伍 发表于 2022-8-3 15:21 | 显示全部楼层
这样做的线性度好吗

评论

这样做线性度非常好的,我做的标定里面很小的离散性,几乎可以忽略  发表于 2022-8-4 17:06
八层楼 发表于 2022-8-3 15:35 | 显示全部楼层
电容的选择很有讲究啊

评论

这个跟mcu的精度有关系吧,这个电容的选择我还真没考虑太多,请问这位大佬是考虑到了什么  发表于 2022-8-4 17:07
观海 发表于 2022-8-3 15:49 | 显示全部楼层
电平的突变检测不到啊

评论

我这个就是为了防止电平突变带来的干扰呢,如果要检测电平突变可以用另外的程序的  发表于 2022-8-4 17:05
guanjiaer 发表于 2022-8-3 16:01 | 显示全部楼层
这种需要高精度的电阻吗

评论

5的精度就可以的,最好贴片  发表于 2022-8-4 17:04
heimaojingzhang 发表于 2022-8-3 16:17 | 显示全部楼层
可不可以用射随电路

评论

啥是射随电路啊  发表于 2022-8-4 17:03
kjkujkj22 发表于 2022-8-4 15:16 | 显示全部楼层
这样可以提高几个级别的电路呢?还真的没有仔细研究过这个事情。

评论

如果你说的是耐压级别的话,还是要换电阻的,要考虑到器件的耐压  发表于 2022-8-4 17:04
daichaodai 发表于 2022-8-4 19:09 来自手机 | 显示全部楼层
加一个过压保护电路

评论

额,这个得看系统可能的最大电压了,文章中有提到的  发表于 2022-8-5 11:23
chenqianqian 发表于 2022-8-5 08:20 来自手机 | 显示全部楼层
要加过压保护器件
 楼主| uuguoleilei 发表于 2025-5-23 21:07 | 显示全部楼层

要计算ADC采样电路的最大采集电压,需要明确以下关键参数:  
1. **ADC的参考电压(\(V_{REF}\))**:通常由电路设计决定,常见为3.3V或5V(需根据具体芯片规格确认)。  
2. **分压电路比例**:题目中“比例是1比47”可能指分压电阻的比值。**需注意分压比例的定义**:  
   - 若为 **输入电压 \(V_{IN}\) 经分压后接入ADC**(如电阻分压网络),假设分压比为 \(k = \frac{R_2}{R_1+R_2}\),则输入电压与ADC采样电压的关系为:  
     \[
     V_{ADC} = V_{IN} \times k
     \]  
   - 若题目中“1比47”指 **分压后电压与输入电压的比例**(即 \(k = \frac{1}{47}\)),则输入电压是ADC采样电压的47倍。  


### 计算步骤(假设ADC参考电压为常见的 \(V_{REF}=3.3V\)):  
1. **ADC的最大采样电压**:  
   12位ADC的分辨率为 \(2^{12} = 4096\) 级,最大采样电压为参考电压 \(V_{REF}\),即 **3.3V**(对应数字量4095)。  

2. **根据分压比例反推输入最大电压**:  
   若分压比 \(k = \frac{1}{47}\)(即ADC采样电压 \(V_{ADC}\) 是输入电压 \(V_{IN}\) 的 \(\frac{1}{47}\)),则:  
   \[
   V_{IN\_MAX} = \frac{V_{REF}}{k} = V_{REF} \times 47
   \]  
   代入 \(V_{REF}=3.3V\):  
   \[
   V_{IN\_MAX} = 3.3V \times 47 = 155.1V
   \]  


### 关键说明:  
- **分压比例的确认**:若题目中“1比47”指输入电压与分压后电压的比例(即 \(V_{IN}:V_{ADC}=47:1\)),则计算结果同上。  
- **参考电压的影响**:若实际电路中 \(V_{REF}\) 为其他值(如5V),需替换公式中的 \(V_{REF}\) 重新计算。  
- **实际应用注意事项**:  
  - 分压电阻需选择高精度、低温漂的器件,避免影响采样精度。  
  - 输入电压需确保不超过分压电路的耐压范围,避免损坏器件。  


### 结论:  
若ADC参考电压为 **3.3V** 且分压比为 **1:47**(ADC采样电压为输入电压的 \(\frac{1}{47}\)),则**最大可采集电压为155.1V**。请根据实际电路的参考电压和分压比例调整计算结果。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

69

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部