前言
在血液分析仪、体外诊断系统和其他很多化学分析应用中,液体必须从一个容器中转移到另一个,以便将样本从试管中、或者将试剂从瓶中吸取出来。这些实验室系统经常需要处理大量样本,因此尽可能缩短处理时间很重要。为了提高效率,用来吸取样本的探针必须快速移动,因此有必要精确地定位探针与所要吸取液体表面的相对位置。本文描述了基于AD7747方案的页面探测方案,给出电路设计和STM32 C代码。
一、电路设计
如图所示是基于AD7747的电容液位探测电路,可以检测0-8pF电容变化值。
二、代码
代码如下(示例):
AD7747和AD7746寄存器配置基本相似,采用IIC接口,cubemx配置底层,编写函数配置芯片寄存器,配置工作模式,读取电容传感器数值。
#include "iic.h"
void AD7746_Config(void)
{
//config ad7746 cap options
/* CAP_SETUP register configuration */
// IIC_RegWrite(AD7746_ADDRESS, AD7746_REG_CAP_SETUP, AD7746_CAPSETUP_CAPEN \
// | AD7746_CAPSETUP_CAPDIFF | AD7746_CAPSETUP_CACHOP);
IIC_RegWrite(AD7746_ADDRESS, AD7746_REG_CAP_SETUP, AD7746_CAPSETUP_CAPEN \
| AD7746_CAPSETUP_CAPSING | AD7746_CAPSETUP_CACHOP);
/* EXC_SETUP register configuration */
IIC_RegWrite(AD7746_ADDRESS, AD7746_REG_EXC_SETUP, \
AD7746_EXCSETUP_EXCA | AD7746_EXCSETUP_EXCLVL(2));
/* Configuration register configuration */
IIC_RegWrite(AD7746_ADDRESS,