找回密码
 立即注册
查看: 873|回复: 3

AiCube 试用@STC-ISP V6.95M, ADC 水位监测系统,Ai8051U

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:557
  • 最近打卡:2025-06-15 10:26:30
已绑定手机
已实名认证

46

主题

162

回帖

658

积分

高级会员

积分
658
发表于 2025-4-26 18:58:28 | 显示全部楼层 |阅读模式

AiCube 试用 - ADC 水位监测系统, Ai8051U

水位检测在水资源管理、城市防洪、农业灌溉、家用电器和工业生产等多领域发挥积极建设作用。利用水位传感器,可以实现水资源的智能管理,提高生产效率。

本文介绍了 Ai8051U-擎天柱开发板 利用 AiCube 工具快速创建 I/O 电压读取,并进一步结合水位传感器,实现水位监测的项目设计。

项目介绍

该项目分为两部分

  • ADC 电压转换和采集;
  • 水位传感器模拟电压信号的读取与水位高度转换。

项目方案

  1. ADC 获取模拟通道 I/O 接口的模拟值;
  2. 电压转换,获取 I/O 电压值;
  3. 连接水位传感器,进行电压-水位校准;
  4. USB 串口打印电压值和水位高度,完成水位的实时监测。

硬件平台

硬件测试平台为基于 AI8051U-34K64 主控的 擎天柱 开发板

board.jpg

I/O 电压采集

使用 AiCube 工具创建 ADC 工程,经过 ADC 转换,计算模拟通道的电压值,并 USB 串口打印电压值。

工程创建

使用 AiCube 工具实现工程的快速创建。

首次安装需添加 Keil 仿真头文件

下载 最新版 AIapp-ISP 软件;

解压并打开该软件,右侧操作界面选择并进入 Keil 仿真设置 标签项;

选择目标单片机型号 - 添加型号和头文件到 Keil - 选择 Keil 安装目录文件夹 - 确定,提示添加成功;

打开最新版 AIapp-ISP 软件,菜单栏点击 AiCube 标签,进入 项目创建助手

选择目标单片机型号 - 填写项目名称 - 设置保存路径 - 点击 下一步 - 进入参数配置界面;

参数配置

勾选 外设 - USB 通用串行总线 项(为了实现 USB 串口打印);

AiCube_USB_print.jpg

勾选 外设 - ADC,模数转换 项(初始化 ADC 配置);

AiCube_ADC.jpg

可根据需求更改参数、模拟通道等。

进入 可视化图形I/O口配置 界面

  • 点击 P1.0 管脚,选择 ADC0 项 ;
  • 点击 P3.0 和 P3.1 分别配置为 D- 和 D+ ;

AiCube_Pin.jpg

设置完成后,点击右下角的 创建项目 ,此时初始化完成,自动打开项目。

编译直接生成的工程,确保无误。

代码添加

AiCube 生成项目后,仅需添加 7 行代码,即可实现电压值的计算和 USB 串口输出

u16 Bandgap;

void main(void)
{
    u16 vol;
    SYS_Init();

    while (1)
    {
        USBLIB_OUT_Done();              //查询方式处理USB接收的数据
        vol = ADC_Convert(0); // 调用自动生成的 ADC 转换函数
        Bandgap = ADC_Convert(15); // 读取内部基准 ADC(15通道)
        vol = (u16)((u32)vol * 119 / Bandgap); // 相对电压值计算
        printf_usb("Analog Voltage: %0.2fV\r\n",(float)vol/100); // 打印电压值
        delay_ms(500);
    }
}

这里的电压转换公式参考 Ai8051U 官方示例工程:

18-P1.3做ADC3-使用ADC15测量内部1.19V信号源,计算外部电压VCC

此外,通过多次采集取平均值的方法,可以提高数据精度,详情参考上述官方 Demo 例程。

编译上传

编译代码后生成固件,通过 AIapp-ISP 软件烧录至芯片。

生成的 HEX 烧录固件位于 Objects 文件夹下,

使用 Type-C 数据线连接开发板和电脑,按住 P32 按键的同时,短按 POWER 按键,

此时 Aiapp-ISP 软件自动识别 HID 设备

isp_writer.jpg

点击 下载/编程 按钮,待烧录结束,程序自动运行。

此时软件识别出 USB 串口,进入 CDC/HID-串口助手 标签, 打开相应的串口 (波特率 115200 bps )即可接收芯片打印的数据。

ISP_Upload_CDC-print.jpg

效果演示

ADC 采集 I/O 电压并 USB 打印

Channel 0 (P1.0) 引脚悬空

ADC_voltage_reading.gif

P1.0 接地

ADC_voltage_GND.gif

P1.0 接 VCC(5V)

ADC_voltage_VCC.gif

此时完成了 I/O 电压采集和 USB 串口打印电压值的流程。

水位传感器

水位传感器(Water Sensor)可以检测水位高度(检测高度:0 - 40 mm),亦可用作雨滴传感器,用于各种天气状况的监测,检测是否下雨及雨量的大小,广泛应用于汽车自动刮水系统、智能灯光系统和智能天窗系统等。

模块简介

  • 当模块上电,电源指示 LED 点亮;
  • 工作电压:DC 3.3V - 5V
  • 输出类型:模拟信号;

water_level_sensor.jpg

传感器具有 10 条裸露的铜线,其中 5 条是电源铜线,另外 5 条是感测铜线。

走线隔行平行排列,每两条电源铜线间有一条感测铜线。

模块原理图

SCH_water-sensor2.jpg

参考:水位检测 - Telesky .

引脚定义

  • S(信号)为模拟输出;
  • +(VCC)为传感器供电;
  • –(GND)为接地。

water_sensor_pinout.jpg

参考:水位传感器 .

运行原理

当水位上升时,更多的电子可以在正负极之间运动,因此电阻减小,ADC 采集的电压值随之增大;

water_level_sensor_resistance.gif

参考:水位传感器如何工作 .

因此根据 ADC 测量传感器输出的电压,便可以确定水位。

硬件连接

Water-Sensor_Signal -> P1.0

board_water-sensor-connect.jpg

硬件连接完成后,终端打印测试,此时输出的电压值应为 0 .

水位校准

由于各地的水质差异,导电性能不同,因此需要根据实际情况进行校准。

  • 多次校准,取平均值;
  • 每次校正前,需将 PCB 表面的平行铜线擦干,待测得电压为 0 时再置入水中,记录水位值和电压值。

校准数据采集

水位 21 毫米,相应的串口输出电压为 2.65 伏特

water-sensor_measure.jpg

……

增加水位高度,采集多组电压-水位数据。

假设 ADC 读取电压(V)与水位高度(mm)为线性相关关系,使用 Excel 软件对上述数据进行拟合

water_level_linear_fit.jpg

获得拟合表达式 y = 20.674 x - 32.727 .

代码

代码包括两部分:

  1. ADC 采集水位传感器模拟信号的电压;
  2. 水位高度转换和 USB 串口打印数值
void main(void)
{
    u16 vol,wl;
    SYS_Init();

    while (1)
    {
        USBLIB_OUT_Done();              //查询方式处理USB接收的数据
        vol = ADC_Convert(0);
        Bandgap = ADC_Convert(15);
        vol = (u16)((u32)vol * 119 / Bandgap); // voltage
        wl = (u16)((u32)vol * 20.674 - 3272.7); // water level
        printf_usb("Analog Voltage: %0.2fV, Water Level: %0.2fmm\r\n",(float)vol/100,(float)wl/100); // USB print
        delay_ms(500);
    }
}

注意代码中公式参数的变化,保留两位小数,因此将方程乘以100

完整代码及工程见附件。

效果

编译工程并烧录固件,打开 USB 串口,获得打印数据。

上下移动水位传感器,使探测的水位高度发生变化

water_level_measurement.gif

相应的 USB 串口打印如下

water_level_print.gif

结果分析

经过多次测量,可以获得较为理想的检测结果。

此外,校准和测量过程中发现 ADC 采集的电压值会随时间逐渐减小,可能原因是

  • PCB 板被液体浸润,液体表面张力导致初始时刻覆盖更大面积的铜板,电阻较小,输出电压较大;
  • 随着时间推移,表面张力被克服,PCB板液面覆盖面积逐渐平稳下降,此时电压也逐渐减小,最后趋于稳定。

类似“海水退潮”

因此采样和校准时需要等待示数稳定,再记录数值,以提高精度。

总结

本文介绍了 Aiapp-ISP 仿真调试平台软件的 AiCube 工具实现 ADC 电压采集,并以此为基础结合水位传感器实现水位监测系统的项目设计,为 STC 系列单片机的快速开发和应用提供了参考。

upload 附件:main.c

upload 附件:ADC_print_voltage.zip

2 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
MCU开发者和爱好者
回复

使用道具 举报 送花

3

主题

727

回帖

165

积分

等待验证会员

积分
165
发表于 2025-4-26 19:03:00 | 显示全部楼层
AiCube 试用 - ADC 水位监测系统  

水位监测技术在水资源管理、城市防洪、农业灌溉、家用电器及工业生产等领域中具有重要应用价值。通过水位传感器与智能处理系统的结合,可以实现水资源的精准管理,提升生产效率,降低人工成本。本文将介绍基于擎天柱开发板与 AiCube 工具的水位监测系统设计,重点阐述 ADC 电压转换与采集、水位传感器信号处理及水位高度转换的实现过程。  

项目概述  
本项目旨在通过 ADC(模数转换)技术,实现对水位传感器模拟信号的采集与处理,并将采集到的电压值转换为实际水位高度,最终通过 USB 串口实时输出监测结果。  

项目分为两个主要部分:  
1. ADC 电压转换与采集:通过 ADC 模块获取模拟通道的电压值,并进行电压转换与计算。  
2. 水位信号处理与转换:将水位传感器的模拟电压信号转换为水位高度,并进行实时监测与数据输出。  

项目方案  
1. ADC 采集与电压转换  
使用 ADC 模块获取模拟通道的电压值。  
通过计算将 ADC 原始值转换为实际电压值。  
2. 水位传感器校准与转换  
连接水位传感器,获取其输出的模拟电压信号。  
通过电压-水位校准,将电压值转换为水位高度。  
3. 数据输出与监测  
通过 USB 串口实时打印电压值和水位高度,实现水位的持续监测。  

硬件平台  
本项目基于 擎天柱开发板,其主控芯片为 AI8051U-34K64。该开发板具备丰富的 I/O 接口与 ADC 模块,适合用于传感器数据采集与处理任务。  

I/O 电压采集  
1. ADC 工程创建  
使用 AiCube 工具快速创建 ADC 工程,配置 ADC 模块以实现模拟信号的采集与转换。  
通过计算将 ADC 原始值转换为实际电压值,并通过 USB 串口打印输出。  

2. 工程创建步骤  
安装并打开最新版 AIapp-ISP 软件。  
在右侧操作界面中选择 Keil 仿真设置 标签项,添加目标单片机型号及头文件到 Keil 开发环境。  
在菜单栏中点击 AiCube 标签,进入 项目创建助手。  
选择目标单片机型号,填写项目名称并设置保存路径,点击 下一步 进入参数配置界面。  

3. 参数配置  
勾选 外设 - USB 通用串行总线 项,以实现 USB 串口打印功能。  
勾选 外设 - ADC,模数转换 项,初始化 ADC 模块配置。  

水位传感器信号处理  
1. 传感器连接与校准  
将水位传感器连接到开发板的模拟输入通道。  
通过实验数据建立电压-水位对应关系,完成传感器校准。  
2. 水位高度转换  
根据校准数据,将采集到的电压值转换为实际水位高度。  
通过 USB 串口实时输出水位高度信息。  

总结  
本项目通过 AiCube 工具与擎天柱开发板,实现了水位监测系统的快速开发与部署。系统利用 ADC 模块采集水位传感器的模拟信号,并通过电压-水位转换实现水位的实时监测。该方案具有开发效率高、硬件成本低、应用场景广泛等特点,适用于水资源管理、工业控制及智能家居等领域。  

未来,可进一步优化系统算法,提升测量精度,并扩展无线通信功能,实现远程监测与数据管理,为智能化水位监测提供更全面的解决方案。

[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:98
  • 最近打卡:2025-06-15 09:46:00

733

主题

1万

回帖

1万

积分

管理员

积分
16603
发表于 2025-4-26 19:50:24 | 显示全部楼层
截图202504261950206996.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:116
  • 最近打卡:2025-06-14 08:23:34
已绑定手机

12

主题

57

回帖

407

积分

中级会员

积分
407
发表于 2025-4-28 09:37:15 | 显示全部楼层
学习
回复

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-16 04:22 , Processed in 0.449299 second(s), 74 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表