This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

【原创】基于LMC6484A和LM4040A20的传感器电压调制电路实现

        在工业级应用中,我们需要处理各种各样的传感器信号,比如压力传感器,温湿度传感器、水位传感器、霍尔传感器和温度变送器等等。这些传感器目前常用的输出信号有4-20mA电流型,0-10V的电压输出。前者在处理时,需要额外增加芯片转换成电压,为电路增加一些成本,在非远距离传输中,后者则更有优势。在面对0-10V的电压信号采集时,是不能直接通过MCU进行采集处理的,因为目前常用的MCU供电一般是3.3V,最大支持的电压不能超过3.3V,这样的话就得用额外的电压调制电路实现,其中比较简单的实现方法就是利用运放芯片来实现,通过运放芯片将0-10V的电压转换为0-3.3V的电压,然后进入MCU的ADC进行采集并处理。下面是一个示意图:

    

在实现电压调整电路时,要考虑选择正确的运放芯片和外部参考源(一般这样的情况下,不建议使用MCU内部自带参考)。选择芯片时,要做综合考虑,成本是一个重要因素,TI有很多优秀的芯片,但价格高。经过半天时间,终于确定了芯片型号,这就是LMC6484A和LM4040A20这个2.048V的精密参考源。芯片详细介绍可以上官网上具体查看。

http://www.ti.com.cn/product/cn/lmc6484

http://www.ti.com.cn/product/cn/lm4040a20

LMC6484A是一款轨到轨的运放,SOIC14封装,可以双电源也可以单电源,在设计时,采用了3.3V单电源供电方式。LM4040A20是个微功耗并联电压参考,采用SOT-23封装,使用时仅在电源端串联一个限流电阻即可。下面是此电路调整部分的原理图:

这个是电源电路和参考源电路,注意要串接精密电阻,这里采用16K%1精度。

这个是运放电路:

此电路的电压计算公式如下:

设输入电压为Vin,输出电压为Vout,参考源电压为Vref,则公式为:

              Vout= 1.2*Vref – 0.2*Vin,

在这里,我们用的Vref=2.048V,则

Vout= 1.2*2.048-0.2*Vin= 2.4576 -0.2*Vin.

       也就是,当Vin=0V时,Vout=2.4576V,当Vin=10V时,Vout=0.4576V,这样,利用此电路,就实现了0-10V的传感器电压信号到0-3.3V范围内的电压转换,剩下的交给MCU的ADC处理就行了。

       在设计电路板之前,采用了TINA仿真软件对电路进行了仿真,效果不错,下面是仿真截图:

      

 

      仿真结果跟理想计算公式得出的数据时一致的。在确认无任何问题后,我们设计了控制电路板,下面是对板载电压调整电路部分测试的图片。经过数据分析,理论设计与实际设计符合。

    

     图中采用了两片LMC6484A运放U13/U14,U16为电压参考源,整个阻容元件都采用了1%精度的贴片元件。上电后,测试电压参考源:

    

     Vref=2.0463V,计算一下精度:0.08%,手册上说是1%的精度,看来实际性能还要好,那个是保守的精度值,TI产品的确很给力!在确定好了参考源电压后,我们计算理论值就应该按照Verf=2.0463来算,就不是原来的2.048V,这样,电压计算公式变为:

    Vout= 1.2*2.0463-0.2*Vin= 2.45556 -0.2*Vin.

    利用信号源输出0-10V的电压对电路进行测试,下图,当Vin=0V时,输出Vout=2.4544V。理论值:V=2.45556V

   

    当Vin=3.62V时,Vout=1.7311V,理论值V=1.73156V。  

    

    当Vin=10.07V时,Vout=0.4451V,理论值V=0.44156V。

   

    为了进行全面数据分析,将不同的电压进行输入,将采集到的数据值存在Excel表格中进行分析,见图:    

   

   由此可见,最大误差基本控制在0.005V之内,是符合要求的。附件是此EXCEL表格。

LMC6484A-电压采集数据分析.xls