3499|8

1532

帖子

1

TA的资源

五彩晶圆(初级)

楼主
 

[液位传感器测评] LED液位指示 [复制链接]

本帖最后由 jinglixixi 于 2021-9-8 23:48 编辑

除了以数码管来显示模拟量的值之外,更直观的是以LED模块来指示液位的状态。为此,我们可在前面的检测上再添加上LED指示液位的功能,使整体的结构如图1所示。

图1检测结构图

所添加的LED模块连接到RB4~RB7来控制,其指示范围则如下:

LED1:  0~1.25V

LED2:  1.25 ~2.5V

LED3:  2.5~3.75 V

LED3:  3.75~ 5V

因此,在MCC中是按图2所示来配置引脚,对应的引脚命名见图3所示。

图2 MCC引脚配置

图3 引脚命名

实现液位指示的主程序则为:

void main(void)
{
    int v,d;
    float s;
    SYSTEM_Initialize();
    DELAY_milliseconds(50);
    Init_MAX7219();
    DELAY_milliseconds(200);
    Write_Max7219(0xff,0x00);
    Write_Max7219(1,8);
    Write_Max7219(2,7);
    Write_Max7219(3,6);
    Write_Max7219(4,5);
    Write_Max7219(5,4);
    Write_Max7219(6,3);
    Write_Max7219(7,2);
    Write_Max7219(8,1);
    ADCC_Initialize();
    ADCC_StartConversion(channel_ANC2);
    LED1_SetHigh();
    LED2_SetHigh();
    LED3_SetHigh();
    LED4_SetHigh();
    while (1)
    {
        v=ADCC_GetSingleConversion(channel_ANC2);     // A/D为12位
        Write_Max7219(1,v%10);
        if(v>10) Write_Max7219(2,v%100/10);
        else Write_Max7219(2,0x0f);
        if(v>100) Write_Max7219(3,v%1000/100);
        else Write_Max7219(3,0x0f);
        if(v>1000)  Write_Max7219(4,v/1000);
        else Write_Max7219(4,0x0f);
        s=v*5.0/409.5;
        d=s;
        Write_Max7219(5,0x0f);
        Write_Max7219(6,d%10);
        Write_Max7219(7,(d%100/10)|0x80);
        Write_Max7219(8,0x0f);
        LED2_SetHigh();
        LED3_SetHigh();
        if((s>2)&&(s<12.5))     LED1_SetLow();
        else LED1_SetHigh();
        if((s>=12.5)&&(s<25.0)) LED2_SetLow();
        if((s>=25.0)&&(s<37.5)) LED3_SetLow();
        if(s>=37.5) LED4_SetLow();
        else LED4_SetHigh();
        DELAY_milliseconds(1000);
     }
}

经程序的编译下载,其运行效果如图4所示。

图4 运行效果

若将循环内的程序修改为下面的内容,则可实现图5所示的指示效果。

    while (1)
    {
        v=ADCC_GetSingleConversion(channel_ANC2);     // A/D为12位
        Write_Max7219(1,v%10);
        if(v>10) Write_Max7219(2,v%100/10);
        else Write_Max7219(2,0x0f);
        if(v>100) Write_Max7219(3,v%1000/100);
        else Write_Max7219(3,0x0f);
        if(v>1000)  Write_Max7219(4,v/1000);
        else Write_Max7219(4,0x0f);
        s=v*5.0/409.5;
        d=s;
        Write_Max7219(5,0x0f);
        Write_Max7219(6,d%10);
        Write_Max7219(7,(d%100/10)|0x80);
        Write_Max7219(8,0x0f);
        LED2_SetHigh();
        LED3_SetHigh();
        if(s<2) LED1_SetHigh();
        else LED1_SetLow();
        if(s>=12.5)
        {
            LED1_SetLow();
            LED2_SetLow();
        }
        if(s>=25.0)
        {
            LED1_SetLow();
            LED2_SetLow();
            LED3_SetLow();
        }
        if(s>=37.5)
        {
            LED1_SetLow();
            LED2_SetLow();
            LED3_SetLow();
            LED4_SetLow();
        }
        else LED4_SetHigh();
        DELAY_milliseconds(1000);
     }

注:此时已将LED的共阴极接法,该为共阳极接法,以减弱驱动负担。

图5 指示效果

在接入传感器之后,其检测效果如图6所示。稍感遗憾的是似乎传感器出现了问题,无论是侵入水中还是放在空气中,其检测值变换的极小基本无法识别液位的差异性。若当初申请2个就好了,起码能做个比对呀!

此外,传感器的集成性还不够好,使得测试电路连线过多、易产生不稳定问题,不如电容-非接触式传感器好用。

图6 指示效果

 

此帖出自传感器论坛

最新回复

电阻确实应该集成在传感器内部  详情 回复 发表于 2021-9-12 02:20
点赞 关注
 
 

回复
举报

6828

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

应该是测试电路连线有点多,有干扰,是不稳定的原因

此帖出自传感器论坛

点评

有道理  详情 回复 发表于 2021-9-9 23:34
 
 
 

回复

1532

帖子

1

TA的资源

五彩晶圆(初级)

板凳
 
Jacktang 发表于 2021-9-9 21:35 应该是测试电路连线有点多,有干扰,是不稳定的原因

有道理

此帖出自传感器论坛
 
 
 

回复

9798

帖子

24

TA的资源

版主

4
 

用万用表测试一下看看结果

此帖出自传感器论坛
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

9798

帖子

24

TA的资源

版主

5
 

另外传感器的供电电压是5V,不能使用3.3V供电。

“传感器的集成性还不够好,使得测试电路连线过多、易产生不稳定问题”

上边这个问题,光电版的使用4根线,实际接到板子的只有3根线,除了电流环应该不会有比3根线更少的方案了。

此帖出自传感器论坛

点评

我指的是周边的电阻应集成到内部,使连接真正成为3个引脚。  详情 回复 发表于 2021-9-12 00:56
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

1532

帖子

1

TA的资源

五彩晶圆(初级)

6
 
littleshrimp 发表于 2021-9-11 17:37 另外传感器的供电电压是5V,不能使用3.3V供电。 “传感器的集成性还不够好,使得测试电路连线过多 ...

我指的是周边的电阻应集成到内部,使连接真正成为3个引脚。

此帖出自传感器论坛

点评

电阻确实应该集成在传感器内部  详情 回复 发表于 2021-9-12 02:20
 
 
 

回复

9798

帖子

24

TA的资源

版主

7
 
jinglixixi 发表于 2021-9-12 00:56 我指的是周边的电阻应集成到内部,使连接真正成为3个引脚。

电阻确实应该集成在传感器内部

此帖出自传感器论坛

点评

由其是在电流环的电阻,会起一定的保护作用,否则易产生受损。  详情 回复 发表于 2021-9-12 11:21
 
 
 

回复

1532

帖子

1

TA的资源

五彩晶圆(初级)

8
 
littleshrimp 发表于 2021-9-12 02:20 电阻确实应该集成在传感器内部

由其是在电流环的电阻,会起一定的保护作用,否则易产生受损。

此帖出自传感器论坛
 
 
 

回复

1532

帖子

1

TA的资源

五彩晶圆(初级)

9
 

此帖出自传感器论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表