常见模拟电路设计 二 (含仿真) : 单片机ADC测量正负电压电路设计

这期更新一个很简单的小玩意,之前校电赛做过一个ADC采集,但是没有做出什么亮点,后来在同学的提醒下意识到可以做一个负电压测量的额外功能。

当然这个问题可以用现成的双极性ADC采集芯片来完成,我知道的有AD976可以完成,再奢侈一点可以采用万用表IC,但本期介绍一个成本比较低,比较底层的方法。

大体思路是:用运放加法器将电压整体抬高,也就是负电压抬到正电压,原本正电压抬到更高就行了,如果电压过大,还可以调整比例,只不过会使精度下降。

话不多说附上原理图:

在这里插入图片描述
这里为了方便我们设置R1=R2=RF=1K,要想调整比例就通过RK来调整。我们暂且设RK=1K。

此时我们设置U1为5V,U2为输入电压,那么U0的公式也就是U0=5+U2

所以理论上来说这时候我们的这个电路可以测-5V左右的电压,但因为某些单片机引脚本身可以接受幅值很小的负电压,这里真实的值一般是小于-5V的,我们附上仿真电路图:
在这里插入图片描述
当输入为2V,输出为6.997v

在这里插入图片描述
当输入为-4V时,输出差不多为1V,结果还算精确。

这个仿真是比较理想的情况,当被测电压的绝对值比较大的时候,我们可以调整RK或者RF的值来调整比例,当然这里不推荐调整R1或R2是为了计算简便。

值得注意的是,如果要做实物的话,一定要认真挑选高精度的运放和电阻!

谢谢观看!

开关电源具有体积小、效率高、重量轻、噪声低等优点,其应用越来越广泛。我们在设计蓄电池充电器时,就采用开关电源作为主电路,其中开关器件采用第三代IGBT,其主要优点是耐压高,驱动功率小,开关频率高,导通电阻小。 目前,数模转换器从接口上可分为两大类:并行接口数模转换器和串行接口数模转换器。并行接口数模转换器的引脚多,体积大,占用单片机的口线多;而串行数模转换器的体积小,占用单片机的口线少。 电源设计人员经常面临种种互相对立的要求。一方面要缩小体积、降低成本,另一方面又要提供更多功能并提高输出功率。受原理上的限制,模拟电源本身的功能有限,而模拟电源控制器的设计更是越来越复杂。由于这一原因,有些设计人员转向了纯数字电源设计。然而,对于许多设计人员来说,如此快速地转向不熟悉的领域并不容易。比较可行的一种折衷方法是采用传统模拟电源,但增加数字单片机做为前端。 这种设计的优点在于电源本身的控制仍然使用模拟技术来实现。因此电源设计人员不需要从头重新开始全数字设计就可以为现有设计增加新的功能。采用这种方法,设计中仍然使用熟悉的误差放大器、电流检测以及电压检测电路。当然,尽管有些设计单元(如补偿网络)仍然采用分立器件实现,但其余部分则由单片机来控制。 单片机能够带来的功能可分为四类:控制、监测、判断性功能及通信。控制功能与单片机和电源之间的硬件接口有关。有些电源控制器在内部生成控制信号(如参考电压)。这样的控制器为单片机提供的外部连接点很少。 目前,单片机在许多电源设计中的作用主要是监测。许多单片机都有片上模数转换器(ADC)和模拟比较器。因此,单片机在监测输入电压、输入电流、输出电压、输出电压和温度等信号方面是理想之选。 单片机能够监测范围如此广泛的信号,就可以完成更多功能,如智能故障检测。单片机的多功能源于其可编程能力,可以方便地进行定制来满足设计要求。这样,对于故障情况就可以分类进行处理。短暂的过流以及其他非关键故障可能只需要设置一个标志就可以了。而过热这样的故障则可能需要关闭电源,直到故障排除。需要重新启动电源的故障也可以进行更严格的控制。在某个时间段内如果有太多的故障,单片机就可以永久关断电源。 由于采用接口简单的模拟数字转换器TLC5615,使得开关电源的硬件电路大为简化,线路板面积缩小,成本降低。
### 单片机ADC采样电路设计 #### 一、单片机ADC工作原理 模数转换器(Analog-to-Digital Converter, ADC)用于将模拟信号转化为数字信号以便于微控制器处理。其内部结构通常由多个组件构成,如比较器、编码器等,在启动一次转换指令后会按照一定算法得出对应的进制数值表示输入电压大小[^2]。 #### 、基本组成要素 为了确保良好的性能表现,一个完整的ADC采集回路至少应该具备以下几个部分: - **传感器接口**:连接外部物理量变化产生的电信号源; - **滤波网络**:去除高频干扰成分并平滑化输出电平波动; - **缓冲放大环节(可选)**:当原边阻抗较高时可能需要用到此级来匹配前后端特性差异; - **基准参考电源模块**:提供稳定的标准满度范围给定值作为量化依据; 上述各单元共同作用下可以有效提升测量精度与可靠性[^1]。 ```c // 示例代码展示如何配置AVR系列MCU内置ADC功能 void init_adc(void){ ADMUX |= (1 << REFS0); // 设置Aref=AVcc ADCSRA |= (1<<ADEN)|(7<<ADPS0);// 开启ADC使能位并将预分频因子设为128 } uint16_t read_adc(uint8_t ch){ uint16_t adc_val; ch &= 0b00000111; // 确保通道编号不超过最大限度 ADMUX = (ADMUX & 0xF8)|ch ; // 更新MUX[2..0],选择相应信道 ADCSRA|=(1<<ADSC); // 发起新的数据获取请求 while((ADCSRA&(1<<ADIF))==0)// 循环等待直至结束标志置高 ; ADCSRA |=(1<<ADIF); // 清除中断标记位 adc_val = ADCW; // 获取最终计算所得整型结果 return adc_val; } ``` #### 三、具体实施建议 针对实际应用场景中的需求特点,这里给出一些实用的设计思路和技术要点提示: - 对于低功耗场合下的长时间连续监测任务来说,应当优先考虑选用具有自动休眠唤醒机制的产品型号,并合理规划供电策略以延长续航时间。 - 如果目标对象存在较大噪声环境,则可在前端加入适当类型的无源/有源RC低通滤波器抑制杂散电磁辐射影响。 - 鉴于不同品牌厂商生产的同规格产品间可能存在细微差别,务必仔细查阅官方手册确认参数指标后再做决定购买哪一款更适合项目开发使用。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值