【数字量采集1.28】数字信号采集

news2025/1/19 8:22:38

数字量采集-2024年01月27日-二刷

文章目录

  • 分析考虑一个波形的六要素:
  • 项目需求分析:
  • 高低电平数字量采集电路设计
  • RS485
    • 差分信号传输
    • SP3485 芯片引脚
    • RS485 转 TTL 电路

分析考虑一个波形的六要素:

高电平
低电平
上升时间
下降时间
频率/周期
占空比

正常的一个电平有 4 种状态:高电平、低电平、悬空态(NC)、高阻态(Z)
高阻态:若上拉/下拉,则属于高阻态,只提供初始状态
悬空态:也叫不确定态,任何芯片的所有管脚都不能处于悬空态,因为悬空态会增加设备出现错误的概率,应当避免这种状态!

项目需求分析:

波形是触发式的,可能信号来了会拉低,但是信号没了又变高了,所以没有周期性,也就没有占空比,因此只有高低电平需要考虑:

外部输入单片机
高电平10-14V高电平(0.7 倍 Umax)2.3V
低电平0-1V低电平(0.3 被 Umax)1V
转换电路需要将左边的数据转为右边的数据

高低电平数字量采集电路设计

方法一:(仅思考,不可行)
:::tips
分析可得外部输入的 10V 对应着单片机的 2.3V,则应当用分压电路将其分压
分压比例系数 = 10 2.3 ≈ 4.5 分压比例系数=\frac{10}{2.3}≈4.5 分压比例系数=2.3104.5,由上一节电阻选型可知,我们应当选择 10K 级别的电阻作为参考电阻,那么初步假设此时的电路为: 10 k 45 k ≈ 2.2 V 10 V \frac{10k}{45k}≈\frac{2.2V}{10V} 45k10k10V2.2V
设计思考心路:
step1: 先根据 4.5 ,得出 10/45,然后得出分压电阻分别选 10K 和 45K,然后验证自己的选型是否满足能将 10V 电压分压至 2.2V。但是由于 2.2V 不满足单片机对高电平的定义(2.3V),因此将 35K 电阻变小一些,假设其为 33K(分母变小,分子不变,整体变大);
10 k 43 k × 10 = 2.33 V \frac{10k}{43k}×10=2.33V 43k10k×10=2.33V(满足条件了)
step2: 然再验证能不能把 14V 电压分压降至 3.3V 以内
10 k 43 k × 14 = 3.25 V < 3.3 V \frac{10k}{43k}×14=3.25V < 3.3V 43k10k×14=3.25V<3.3V,因此满足条件。
image.png
但是这样设计存在一个问题:如果外部输入电压是 10-20V 呢,对于 20V 而言,这样的分压电路必然不能将电压降至 3.3V 以内 对于 3.3 V 而言: 10 k 43 k × 20 = 4.65 V < 3.3 V 对于3.3V而言:\frac{10k}{43k}×20=4.65V < 3.3V 对于3.3V而言:43k10k×20=4.65V<3.3V。远超 3.3V 因此不合适,若是打算增大分母也就是增大 33K,那么可能又出现一开始的无法将电压保持在 2.2V 以上
综上,采用这样的电路结构,很难设计出来。
:::
去补二极管的知识了
方法二:利用二极管
总电路图:
image.png
分析 1:当外部输入高电平时(H:10-14V)
由于二极管的单向导电性,此时 IN1_EXT 无法进入,是 VCC12V 起作用让电路始终处于高电平的状态,可以将电路抽离出来如下图所示:
image.png
此时可以通过分压公式可得,IN1_MCU 的电压值为 R3 电阻上的电压,由分压计算可得是在单片机能检测到的高电平的范围之内的
U I = R 3 R 1 + R 2 + R 3 ∗ ( V C C − 0.7 ) = 10 K 40 K ∗ ( 12 V − 0.7 V ) = 2.8250 V U_I=\frac{R3}{R1+R2+R3}*(VCC-0.7)=\frac{10K}{40K}*(12V-0.7V)=2.8250V UI=R1+R2+R3R3(VCC0.7)=40K10K(12V0.7V)=2.8250V
2.3 < U I < 3.3 2.3 < U_I < 3.3 2.3<UI<3.3
:::tips
为什么电压进不来?A:去看二极管的特性吧(单向导电性)
:::
分析 2:当外部输入低电平时(H:10-14V)
image.png

重点在于理解 2.7V 的原因

RS485

485、422、232 等都是 UART(串口),但是表现出不同的电平协议:不同的电压范围触发高低电平
485 转 ttl 需要用到转换芯片将 485 中的高低电平转为 ttl 规则的高低电平
ttl 电平的 H 和 L:H(2.3-3.3v)、L(0-1v)

485 只有 AB 两个线判断差分信号 0 和 1,因此是半双工
422 由 ABYZ 四个线,因此 AB 和 YZ 同时进行差分信号传输,实现了全双工
串口有 RX 和 TX 是全双工的,同时收发

差分信号传输

RS485 通信采用差分信号传输,通常情况下只需要两根信号线就可以进行正常的通信。
在差分信号中,逻辑0逻辑1是用两根信号线(A+和B-)的电压差来表示。

  • 逻辑 1:两根信号线(A+和B-)的电压差在 +2V~+6V 之间。
  • 逻辑 0:两根信号线(A+和B-)的电压差在 -2V~-6V 之间。

差分和单端
单端是指参考地
差分是不参考地,A 与 B 两个线之间互相参考
image.png

SP3485 芯片引脚

选用 SP3-485 转换芯片(差分转单端)

引脚名称功能
1RO接收器输出----接RX
2RE接收器输出使能(低电平-MCU接收使能)
3DE驱动器输出使能(高电平-MCU发送使能)
4DI驱动器输入----接TX
5GND接地
6A驱动器输出/接收器输入(同相)
7B驱动器输出/接收器输入(反相)
8VCC芯片供电+3.3V

RS485 转 TTL 电路

image.png
下面进行一些解释:
image.png
① 电源端接 VCC,芯片功率不大的情况下电源的滤波电容取 0.1uf/100nf
② 一般的总线都是要加终端电阻的,但是也有可能不加,这终端电阻作用是什么呢?它是防止反射的,这个反射是在高频下进行说明的,就是终端匹配啊(一般电阻就是取 120R)
③ 保护电阻
④ 静电管,防止静电带来的不必要的干扰(一般是手拔插时带的静电)
⑤ 给引脚加一个下拉电阻,让其默认处于低电平状态(默认处于单片机接收初态)


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

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

相关文章

Vue2 VS Vue3 生命周期

一、生命周期的概念 Vue组件实例在创建时要经历一系列的初始化步骤&#xff0c;在此过程中Vue会在合适的时机&#xff0c;调用特定的函数&#xff0c;从而让开发者有机会在特定阶段运行自己的代码&#xff0c;这些特定的函数统称为&#xff1a;生命周期钩子&#xff08;也会叫…

【C++中的STL】常用算法3——常用拷贝和替换算法

常用算法3 copyreplacereplace_ifswap 1、 copy容器内指定范围的元素拷贝到另一个容器中 2、 replace将容器内指定的旧元素修改为新元素 3、 replace_if容器内指定范围满足条件的元素替换为新元素 4、 swap互换两个容器的元素 copy 容器内指定范围的元素拷贝到另一个容器中…

布隆过滤器介绍及实战应用(防止缓存穿透)

布隆过滤器介绍 布隆过滤器&#xff08;Bloom Filter&#xff09;是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多&#xff0c;缺点是有一…

最全全国十七个数据入表和资产化案例深度解析

2024年1月1日起&#xff0c;财政部会计司发布的《企业数据资源相关会计处理暂行规定》正式施行&#xff0c;规定为数据资源的会计处理提供了明确的指导原则。这一里程碑事件也标志着我国在数据资产入表领域正式进入实际操作阶段&#xff0c;随后&#xff0c;数据资产入表在全国…

[BJDCTF 2020]Easy

运行之后是这个东西 我们直接IDA暴力打开 结果main函数啥也不是 &#xff08;看其他人的wp知道了照que函数&#xff09; 我也不知道咋找的&#xff0c;可能真要硬找吧 int ques() {int v0; // edxint result; // eaxint v2[50]; // [esp20h] [ebp-128h] BYREFint v3; // [e…

在vscode里面聊微信

### 1、源起 事情是这样的&#xff0c;某天下午&#xff0c;我在做项目的时候被人事叫去谈话&#xff0c;说些有的没得&#xff0c;但是我注意到她说我不要玩微信&#xff0c;“我好几次都看到你在和别人聊微信”之类的话&#xff0c;所以我打算在ide工具的命令行中聊微信&…

聊聊效能与敏捷的差异

这是鼎叔的第八十四篇原创文章。行业大牛和刚毕业的小白&#xff0c;都可以进来聊聊。 欢迎关注本专栏和微信公众号《敏捷测试转型》&#xff0c;星标收藏&#xff0c;大量原创思考文章陆续推出。 近期&#xff0c;TesterHome社区小道消息播客直播间邀请了鼎叔&#xff0c;与…

程序员的基本素养之——R语言起源、特点以及应用

R语言是一种功能强大的数据分析、统计建模、可视化、 免费、开源且跨平台的编程语言 作为用于数据统计的必备技能语言&#xff0c;博主目前正在对R语言进行基本的学习&#xff0c;这也是生物信息学领域进行统计分析的必备语言之一。下面跟我来一起看看吧&#xff01; R语言是一…

产品解读 | 新一代湖仓集存储,多模型统一架构,高效挖掘数据价值

星环科技TDH一直致力于给用户带来高性能、高可靠的一站式大数据基础平台&#xff0c;满足对海量数据的存储和复杂业务的处理需求。 同时在易用性方面持续深耕&#xff0c;降低用户开发和运维成本&#xff0c;让数据处理平民化&#xff0c;助力用户以更便捷、高效的方式去挖掘数…

【PyTorch】n卡驱动、CUDA Toolkit、cuDNN全解安装教程

文章目录 GPU、NVIDIA Graphics Drivers、CUDA、CUDA Toolkit和cuDNN的关系使用情形判断仅仅使用PyTorch使用torch的第三方子模块 安装NVIDIA Graphics Drivers&#xff08;可跳过&#xff09;前言Linux法一&#xff1a;图形化界面安装&#xff08;推荐&#xff09;法二&#x…

第十三章认识Ajax(四)

认识FormData对象 FormData对象用于创建一个表示HTML表单数据的键值对集合。 它可以用于发送AJAX请求或通过XMLHttpRequest发送表单数据。 以下是FormData对象的一些作用&#xff1a; 收集表单数据&#xff1a;通过将FormData对象与表单元素关联&#xff0c;可以方便地收集表…

【GitHub项目推荐--建一个 ChatGPT 机器人】【转载】

建一个 ChatGPT 机器人 bot-on-anything 它可以将 ChatGPT 等算法模型应用于各类平台。目前&#xff0c;它已经可以接入到个人微信、公众号、QQ、Telegram、Gmail邮箱、Slack 等待&#xff0c;并计划接入Web、企业微信、钉钉等。 通过使用该开源项目&#xff0c;开发者可以通…

一天吃透面试八股文

内容摘自我的学习网站&#xff1a;topjavaer.cn 分享50道Java并发高频面试题。 线程池 线程池&#xff1a;一个管理线程的池子。 为什么平时都是使用线程池创建线程&#xff0c;直接new一个线程不好吗&#xff1f; 嗯&#xff0c;手动创建线程有两个缺点 不受控风险频繁创…

机器学习之numpy库

机器学习之numpy库 numpy库概述numpy库历史numpy的核心numpy基础ndarray数组内存中的ndarray对象ndarray数组对象的特点ndarray数组对象的创建ndarray对象属性的基本操作数组的维度元素的类型数组元素的个数数组元素索引(下标) ndarray对象数组的自定义类型切片操作一维数组切片…

【LTSpice】导入第三方元件库 之 subckt文件类型

LTSpice想要导入第三方的元件库&#xff0c;网上教程非常多。这里记录一下一种不用include命令实现、以后可以直接在component里面添加的 subckt文件的导入。过程比较复杂。 本文只讲解subckt文件&#xff01;如果发现文件里有.SUBCKT这样的文字&#xff0c;说明可以用本文的方…

[UI5 常用控件] 03.Icon, Avatar,Image

文章目录 前言1. Icon2. Avatar2.1 displayShape2.2 initials2.3 backgroundColor2.4 Size2.5 fallbackIcon2.6 badgeIcon2.7 badgeValueState2.8 active 3. Image 前言 本章节记录常用控件Title,Link,Label。 其路径分别是&#xff1a; sap.m.Iconsap.m.Avatarsap.m.Image 1…

贪吃蛇项目(基于C语言和数据结构中的链表)

建立文件 首先先建立3个文件。 Snake.h 函数的声明 Snake.c 函数的定义 Test.c 贪吃蛇的测试 分析项目 我们分析这整个项目 建立节点 首先在我们实现游戏开始的部分之前&#xff0c;我们要先创建贪吃蛇的节点&#xff0c;再由此创建整个贪吃蛇所包含的一些信息&#…

【王道数据结构】【chapter2线性表】【P44t17~t20】【统考真题】

目录 2009年统考 2012年统考 2015年统考 2019年统考 2009年统考 #include <iostream>typedef struct node{int data;node* next; }node,*list;list Init() {list head(list) malloc(sizeof (node));head->next nullptr;head->data-1;return head; }list Buyne…

机器学习 | 如何使用 Seaborn 提升数据分析效率

Seaborn和Matplotlib都是Python可视化库&#xff0c;它们都可以用于创建各种类型的图表。但是&#xff0c;Seaborn 和Matplotlib在概念和设计上有一些不同。 Matplotlib虽然已经是比较优秀的绘图库了&#xff0c;但是它有个今人头疼的问题&#xff0c;那就是API使用过于复杂&am…

人工智能系列:机器的进化(下)

大家好&#xff0c;接着上文的图灵机&#xff0c;继续介绍机器的进化。 1. 第一台计算机 世界上第一台电子计算机是ENIAC&#xff08;埃尼阿克&#xff09;&#xff0c;这是课本上所写的。但计算机学界对于究竟哪台是第一台电子计算机其实存在着争议&#xff0c;除了 ENIAC 以…