算水质TDS加温度补偿

先上图,就图里这款水质检测,用树莓派3/4的话,要配个温度检测作为温度校正,以及一个adc 元器件。我选ds18b20和ads1115。

再把模拟数据计算过程放一下:

温度检测元器件在农历钟那里提过,就是同款。此处先测个温度,为了拿当前的温度修正数。得到当前温度26.75,减去它的默认温度25度,得到1.75。温度修正常数 = 1+0.02*1.75 = 1.035;

接下来是换算电压的办法,针对ads1115,选择增益是1的情况,用下面的小程序测得bits在989~991之间晃,所以就取个990。

import Adafruit_ADS1x15
# 增益
# 2/3 = +/-6.144V
# 1 = +/-4.096V
# 2 = +/-2.048V
# 4 = +/-1.024V
# 8 = +/-0.512V
# 16 = +/-0.256VGAIN = 1
adc1 = Adafruit_ADS1x15.ADS1115(address=0x48)
while True:##	A0 = Channel 0 minus channel 1#	A1 = Channel 0 minus channel 3#	A2 = Channel 1 minus channel 3#	A3 = Channel 2 minus channel 3#	data_rate=128 为每秒返回样本数 最高为860print(adc1.read_adc(0, gain=GAIN, data_rate=128))

电压公式参考:

(990*4.096)/32767 = 0.1238V

继续根据datasheet往下算电压修正值:

电压修正值 = 1.035*0.1238v = 0.128v

再算TDS修正计算值:66.71*(0.128)^3 - 127.93*(0.128)^2 + 428.7 * 0.128 = 52.92ppm

神数弄不懂,就搞搞常数吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/110021.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android11 移植memtester压测内存

需求如题,从网上下载了memtest源码压缩包,准备放到系统源码编译,然后push到板子上执行,结果,编译出来一堆问题,报build err。 做如下代码改动: external/memtester-4.5.1/Android.mk | 16 exte…

Android 10.0 展讯平台关于ota升级开机logo的相关功能实现

1.前言 在android10.0的展讯平台的系统定制开发中,关于ota升级功能的需求也好多,但是对于ota升级开机logo这样的bmp图片,就不能像 升级其他功能一样简单做ota差分包,然后ota升级就可以了,接下来就带大家来实现这个功能 2.展讯平台关于ota升级开机logo的相关功能实现的相…

Java 中的自动装箱和拆箱

Java 中的自动装箱(Autoboxing)和拆箱(Unboxing)是指在基本数据类型和对应的包装类型之间进行自动转换的特性。 自动装箱是指将基本数据类型转换为对应的包装类型。当使用包装类型作为参数传递给需要相应基本数据类型的方法&…

机器学习基础之《回归与聚类算法(4)—逻辑回归与二分类(分类算法)》

一、什么是逻辑回归 1、逻辑回归(Logistic Regression)是机器学习中的一种分类模型,逻辑回归是一种分类算法,虽然名字中带有回归,但是它与回归之间有一定的联系。由于算法的简单和高效,在实际中应用非常广…

tomcat---动静分离

访问静态和动态页面分开 实现动态的静态页面负载均衡 实验一 准备阶段:三台虚拟机 nginx代理服务器 :20.0.0.40 tomcat1 :20.0.0.50 tomcat2:20.0.0.51 配置关闭虚拟机防火墙和安全机制 systemctl stop firewalld setenf…

vue3学习(九)--- keep-alive缓存组件

有时候我们不希望组件被重新渲染影响使用体验;或者处于性能考虑,避免多次重复渲染降低性能。而是希望组件可以缓存下来,维持当前的状态。这时候就需要用到keep-alive组件。 keep-alive有两个独有的生命周期:activated、 deactivated 接下来看…

使用cpolar内网端口映射技术实现U8用友ERP本地部署的异地访问

文章目录 前言1. 服务器本机安装U8并调试设置2. 用友U8借助cpolar实现企业远程办公2.1 在被控端电脑上,点击开始菜单栏,打开设置——系统2.2 找到远程桌面2.3 启用远程桌面 3. 安装cpolar内网穿透3.1 注册cpolar账号3.2 下载cpolar客户端 4. 获取远程桌面…

Linux - 常用基础指令

目录 part 1 ls tree stat part 2 clear pwd echo cd cal date part 3 touch mkdir rmdir rm cp mv part 4 cat more less head tail part 5 find which locate grep part 6 chmod chown chgrp sudo su part 7 uname id man手册 --help…

NTFS磁盘格式读写工具Tuxera NTFS 2023 for Mac中文破解版v2023含最新激活序列号

Tuxera NTFS 2023 Mac 是一个NTFS文件系统驱动程序,为解决Mac上不能对NTFS格式硬盘进行访问和读写而生。实现苹果Mac OS X系统读写Microsoft Windows NTFS文件系统,在硬盘、U盘等外接设备中进行全面访问、删除、修改等相关操作。 tuxera ntfs 2023 破解…

Web架构安全分析/http/URL/Cookie攻击

Web 架构安全分析 Web 工作机制及基本概念 传统 Web 架构 LAMP 网页 概念 网页就是我们可以通过浏览器上网看到的精美页面,一般都是经过浏览器渲染过的 .html 页面,html 语言在浏览器中渲染。其中包含了CSS、JavaScript 等前端技术。通过浏览器访问…

C++-openssl-aes-cbc-pkcs5

PKCS#5填充是PKCS#7填充的一个子集,在PKCS#7填充时BlockSize为8的时候,PKCS#5与PKCS#7填充是一样的,在BlockSize不同时PKCS#5与PKCS#7填充是不同的。 PKCS#5填充是将数据填充到8的倍数, 填充后数据长度的计算公式: 定于…

rabbitmq简单用法

ConnectionFactory ConnectionFactory类是RabbitMQ Java客户端库中的一个类,用于创建RabbitMQ连接。常用属性和方法如下: 属性: - host:RabbitMQ服务器的主机名,默认为localhost。 - port:RabbitMQ服务器…

24届好未来数开笔试

目录 选择、多选SQL题目描述输入 目标解答解析 题目分享 选择、多选 Java, int x 1, float y 2, x/y 0.5 2. Hive 的数据结构 基本数据类型 复合数据类型 text 不是 Hive 内外表 建表时如果不显示声明表的类型为 外表 Kafka 通过()避免任务重复执行…

基于单片机的双交通灯控制设计

目录 摘要...................................................................................... 2 第一章 绪论........................................................................ 5 1.1 研究课题背景....................................................…

【安卓环境搭建报错的解决】

安卓环境搭建报错的解决 问题描述解决方法 问题描述 电脑中新安装的 Android Studio Giraffe | 2022.3.1 Patch ,运行 studio 系统工程,提示如下错误 Duplicate class kotlin.collections.jdk8.CollectionsJDK8Kt found in modules kotlin-stdlib-1.8.…

NXP官方uboot针对ALPHA开发板网络驱动更改

一. 简介 I.MX6UL/ULL 有两个网络接口 ENET1 和 ENET2 ,正点原子的 I.MX6U-ALPHA 开发板提供了这两个网络接口,其中 ENET1 和 ENET2 都使用 LAN8720A 作为 PHY 芯片。 之前文章对 网络接口进行了简单的说明,地址如下&#xff1…

【技巧】如何设置Excel表只输入固定内容?

如果你需要在Excel表格中输入固定的内容,可以设置“限制录入内容”,这样就只能输入设置好的内容,避免不小心输入错误信息。下面来看看如何设置吧。 首先,打开Excel表格后,选中需要输入固定内容的表格区域。 比如图片…

小程序如何进行分包操作

目录 1.在app.json中设置分包 2.在需要分包的页面中引入分包 3.加载分包 4.分包优化 分包与主包的通讯 分包中使用公共库和组件 分包中的图片资源 小程序分包操作可以优化小程序的启动速度和减少小程序包的大小,提升小程序的体验。 1.在app.json中设置分包 {&q…

Flutter笔记:发布一个Flutter头像模块 easy_avatar

Flutter笔记 发布一个头像Flutter模块 easy_avatar 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_28550263/article/details/1339…

[Leetcode学习-C语言]Two Sum

题目连接:LeetCode - The Worlds Leading Online Programming Learning Platform leetcode写C真的很多坑...... 用 hash 拉链法 构造hash函数,才能写这么题小题。 typedef struct Node { // 得自己做个hash 拉链法struct Node *next;int val;int sign…