面试常问,ADC,PWM

一 PWM介绍

pwm全名(Pulse Width Modulation):脉冲宽度调制

在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效地获得所需要的模拟参量,常应用于电机控速等领域。PWM一定程度上是数字到模拟的桥梁。

1.1基本原理:

面积等效原理:在冲量相同,形状不同的窄带波,加在具有惯性的环节上,出现的效果基本是相同的。

  解释:简单来说,PWM的根本原理图就是对于上面这张图的应用,如果说他们的电压和输出时间相等,我们可以把模拟信号也就是正弦波,等化为相同的方波信号。所以说我们可以通过调节数字信号也就是说方波信号,或者说是离散信号来控制模拟信号设备。本质上这上面划分的面积是大概相等的,所以我们可以调节方波来改变模拟信号的功率输出。

1.2常见概念解释:

1.2.1占空比就是指:在一定周期内,高电平所占整个周期的比例。

1.2.2分辨率 :占空比变化步距。

1.3常见问题:

1.3.1怎么产生pwm信号?

一般来说可以通过软件和硬件来实现。

软件上,首先通过定时器产生一个固定的周期时间,在51我们可以通过设置一个compare比较值来比较控制是否输出高低电平。在32基本定时器或者高级定时器当中我们可以通过配置输出比较通道输出PWM信号。

硬件上,通过在单片机外部连接几个电路、电容等元件来实现对PWM的控制。具体来讲,就是通过与硬件电路连接的比较器和计数器等元件,生成固定的PWM信号,然后再将PWM信号输出到某个器件(比如电机、LED灯)上。与软件实现相比,硬件实现的PWM控制精度更高、可靠性更强,应用领域也更广。

1.3.2怎么消除噪声干扰?

采用滤波器:在PWM信号的输出端或负载的输入端加设LC低通平衡滤波器。这样可以有效地减少尖峰干扰,并改善噪声状况。对于特定应用,可能需要组合使用多种滤波器。

1.3.3PWM的应用?

多应用于电机控制等领域,简单的可以有呼吸灯,电机调速。

二 ADC介绍:

2.1 ADC简介:

模数转换器(Analog-to-Digital Converter):ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁。

我们常常把各种传感器的模拟信号电压,通过ADC转化为数字信号量,通过单片机显示处理等等。

2.2.1 工作原理:

采样:采样阶段是将时间上连续变化的模拟信号转化为时间上离散变化的信号。这一过程是通过采样保持电路完成的,该电路在特定的时间间隔内对输入信号进行取样。采样的频率决定了转换后数字信号的分辨率和能够表示的模拟信号的频率范围。

保持:在采样阶段,ADC会将采样得到的结果储存起来,直到下一次采样。这个过程称为保持,它的目的是在量化阶段之前稳定信号,确保每次采样的准确性。

量化:量化是将采样后的模拟信号映射为一组离散的数值,通常使用二进制表示。

编码:编码则是将量化后的数值转换为数字形式的输出。在量化过程中,ADC会比较采样值与一组预定的阈值,每个阈值对应于数字输出的一位。如果采样值高于某个阈值,则相应的位会被设置为1;如果采样值低于阈值,则相应的位会被设置为0。

对于不同的ADC他们的具体实现不同,但本质上原理相同,离不开四个步骤(采样,保持,量化,编码)

2.2.2 ADC常见的类型:

在单片机领域内通常由,由并联比较型号,和逐次逼近型。

并联比较型号:

主要分为:分压部分+比较部分+编码部分

我们通过把模拟电压和参考电压进行输入对比,当对应的输入电压和参考电压相同时,比较器输出1否则输出0,最后编码器进行编码输出二进制数字量。

优点:转换速度快。

缺点:需要很多电阻,以及比较器占据很多硬件资源,对应成本较高,其次分辨率往往很低。

逐次逼近型(单片机常用):

简单简述一下逐次逼近型的工作原理,以上是我从百度搜索的一张简单原理图。

主要分为:控制电路+数码寄存器+D/A转换器+电压比较器;

首先我们需要,把VREF对应也就ADC的参考电压,我们把它保持,通过数码寄存器,不断产生一个

二进制数字量,通过D/A把二进制数字量转化为模拟电压,和输入的模拟电压,不断比较,

不断比较,是得我们不断逼近这个输入的模拟电压值,直到大致相同,输出到输出缓冲器,对应也就是一种数据寄存器。我们就可以读取数字寄存器DR,并且根据测量范围,进行一定比例的缩放运算,得到输入的模拟电压。

优点硬件成本较低

缺点:需要不断调节,不断逼近输入的模拟电压值,转换速度较慢

(其次对于时钟和控制,在之前有讲过);

2.3 ADC常见概念理解:

分辨率表示ADC能辨别的最小模拟量,用二进制数字表示。

(这个分辨率通常用二进制位数来表示,它决定了转换器所能分辨的输入模拟信号的最小增量。常见的有8,10,12,16。对于stm32来说是12位ADC)。

采样时间:STM32 ADC的总转换时间为: TCONV = 采样时间 + 12.5个ADC周期,也可以说是转换时间。

转换时间:表示完成一次A/D转换所需要的时间,转换时间越短,采样率越高。

精度:最小刻度基础上叠加各种误差的参数,进度受ADC性能,温度,和气压等影响;

2.4 ADC改进:

2.4.1如何改进精度?

可以采用更加准确的参考电压;

可以通过采用位数更高的ADC;

可以开启ADC后的延时采样与过采样,在开启ADC后,延时一段时间再进行采样可以排除初始阶段的电压波动。而过采样,即采样频率高于信号最高频率的两倍,也可以提高采样精度。通过尽可能快地采样数据并求平均,可以进一步减少噪声和误差

2.4.2如何改变分辨率?

可以通过软件操作数据结果进行一定的移位操作,来改变分辨率,一般可以用于降低。

2.4.3防止噪声干扰?

在硬件方面上,采用滤波器(加电容),过滤噪声干扰。

在软件方面,主要采取的措施包括:过采样:通过提高采样率,多次采样并平均数据,可以提高数据稳定性,减弱噪声,从而提高ADC的精度。

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

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

相关文章

Ansible非标记语言YAML与任务剧本Playbook

前言 上篇介绍了 Ansible 单模块(AD-Hoc)的相关内容Ansible自动化运维Inventory与Ad-Hoc-CSDN博客,Ad-Hoc 命令是一次性的、即时执行的命令,用于在远程主机上执行特定任务,这些命令通常用于快速执行简单的任务。当需要…

专业无网设备如何远程运维?向日葵远程控制能源场景案例解析

清洁能源领域,拥有庞大的上下游产业链,涉及的相关工业设备门类多、技术覆盖全、行业应用广。在这一领域内,相关专业设备的供应商的核心竞争力除了本身产品的技术能力之外,服务也是重要的一环。 某企业作为致力于节能环保方向的气…

vscode创建文件夹跟在后面,怎么解决?

如果你遇到类似问题。 按照以下操作即可。

mybatis实现动态sql和关联映射以及延迟加载策略

一、动态sql的简述 什么是动态sql:在不同条件下拼接不同的sql Mybatis框架的动态sql技术是一种根据特定条件动态拼接SQl语句的功能,他存在的意义是为了解决拼接SQL语句字符串时的痛点问题。比如我们在用淘宝之类的软件在进行商品属性选择的时候,我们会发…

【JavaScript】JavaScript 运算符 ② ( 表达式 与 返回值 | 自增 与 自减运算符 细节 | 前置自增运算符 | 后置自增运算符 )

文章目录 一、JavaScript 运算符1、表达式 与 返回值2、自增 与 自减运算符 细节3、前置自增运算符4、后置自增运算符5、自增 / 自减 运算符 代码示例 一、JavaScript 运算符 1、表达式 与 返回值 " 表达式 " 是 由 数字 , 运算符 , 变量 组成的 " 式子 " …

【四 (2)数据可视化之 Matplotlib 常用图表及代码实现 】

目录 文章导航一、介绍二、安装Matplotlib三、导入Matplotlib四、设置可以中文显示四、常用图形1、散点图(Scatter Plot)2.1、线性图(Line Plot)2.2、堆叠折线图2.3、多图例折线图3.1、柱状图/条形图(Bar Chart&#x…

【C#】.net core 6.0 使用第三方日志插件Log4net,配置文件详细说明

欢迎来到《小5讲堂》 大家好,我是全栈小5。 这是《C#》系列文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识点的理解和掌握。…

PostMan测试文件上传

后端代码 package com.example.backend.controller;import cn.hutool.core.io.FileUtil; import cn.hutool.core.util.StrUtil; import com.example.backend.common.Result; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import org…

stm32-定时器输出比较PWM

目录 一、输出比较简介 二、PWM简介 三、输出比较模式实现 1.输出比较框图(以通用定时器为例) 2.PWM基本结构 四、固件库实现 1.程序1:PWM呼吸灯 2.程序2:PWM驱动直流电机 3.程序3:控制舵机 一、输出比较简介 死区生成和互补输出一般…

【计算机网络_传输层】UDP和TCP协议

文章目录 1. 重新理解端口号端口号划分netstat指令pidof 2. UDP协议2.1 UDP协议端格式2.2 UDP的特点2.3 UDP的注意事项2.4 基于UDP的应用层协议 3. TCP协议(传输控制协议)3.1 TCP协议的格式和报头字段3.2 如何解包和分用3.3 理解TCP协议报头3.4 TCP协议的…

一款比 K8S 更好用的编排工具——Nomod

今天给笔友们推荐一款最近发现的服务编排工具Nomad。综合感觉就是功能很强大,姿势很优雅,相比 K8S 更加轻量级,相比 Docker-Compose 能轻松支持分布式。 Nomad 能做什么? Nomad 采用统一的工作流程,既可以轻松部署和管…

基于正点原子潘多拉STM32L496开发板的简易示波器

一、前言 由于需要对ADC采样性能的评估,重点在于对原波形的拟合性能。 考虑到数据的直观性,本来计划采集后使用串口导出,并用图形做数据拟合,但是这样做的效率低下,不符合实时观察的需要,于是将开发板的屏幕…