锯齿波-RC充放电路

news2024/11/16 0:24:46
  • 锯齿波电路根据应用的不同又叫扫描电路、时基断电路,在一些仪器仪表等电子设备中经常用到的一种单元电路。锯齿波信号的明显的特征是电压或是电流先随时间呈线性增长,再迅速下降,然后再线性上升,再迅速下降,如此循环。

  • 下图所示锯齿波的参数主要有幅度Um(Im),扫描时间T1、回扫时间T2、周期T=T1+T2,扫描速率Um(Im)/T。

图片

锯齿波基本参数

  • 产生锯齿波最基本的方法就是利用RC充放电路实现,Q1截止时电源通过R1对C1充电,Q1导通时Q1将C1短接迅速放电,如下图所示可以看到大概的锯齿波形态,但不是标准锯齿波,上升曲线呈非线性增长,因为随着充电时间电容两端电压逐渐升高,通过R1到C1的充电电流逐渐减小导致电荷积累越来越慢,从而导致电压在开始上升较快,到后面越来越慢造成了非线性。

图片

RC充放电电路

图片

RC充放电曲线

  • 据锯齿波电路设计的关键是要采取适当措施来提高输出电压的线性度,其中的一个简单有效的方法就是采用恒流充电,如下图所示,增加Q2, VD1, R3组成恒流电路,三极管Q2为恒流源,稳压管VD1使Q1发射极电流保持恒定。

图片

RC恒流充放电电路

图片

RC恒流充放电曲线

  • 接下来重点关注几个重点参数指标。

1)充电电流:Ic = (3.6V-0.6V) / 3K = 1mA,这里VD1将R1上的电压钳位在3.6-0.6=3V,流过R1的电流 = 3V / 3K = 1mA,即C1充电电流被恒定在1mA。

2)锯齿波幅度Um。因有R1分压,所以C1上充电的最高电压U = VCC - R1 * Ic = 12V - 3K * 1mA = 9V。根据电量公式Q = Ic * t = Um* C,Um =Ic * t / C ,其中Ic为充电电流,C为电容C1容量,Um为C1上的电压,t为充电时间,可见锯齿波的最大幅度和充电的速率有关,而充电速率又和电容容量C和充电电流Ic相关。

为得到标准锯齿波,这里假设输入的PWM信号频率为1K,Duty = 50%,即Q2的关断时间为0.5ms,也就是充电时间t = 0.5ms,Um = 9V带入公式得出电容C = Ic* t / Um = 55nF。也就是t = 0.5ms, C = 55nF, Ic = 1mA时,得到了幅度达到最大9V的标准锯齿波,如上图所示。

通过上面推导计算,可以看出其中任何一个参数变动都会影响幅度的变化。如果将电容C1容量增大到100nF,若要达到最大幅值Um = 9V,带入公式应该t = Um * C / Ic = 0.9ms,已经>0.5ms了,超出了充电时间,所以0.5ms时达不到最大幅值的,将他= 0.5ms 带入公式得出Um = Ic * t / C = 5V,如下图所示波形。

图片

欠幅

如下如所示同样将电容C1容量减小到25nF,带入公式Um = Ic * t / C = 20V,由于供电电压限制和R1的分压,Um最大幅度只能去到9V,所以可以看到锯齿波会被限幅削顶。由于充电速率提高了所以实际上达到最大幅度所需要的的时间更少了,重新带入公式 t = Um * C / Ic = 0.225ms,<0.5ms提前达到最大幅值。

图片

削顶限幅

综上,可以得出充电速率超过标准锯齿波速率后就会出现削顶,反之充电速率低于标准锯齿波速率后就会降低幅值。通过最简单的电路及围绕电量公式Q = Ic * t = Um* C进项计算。

当然要达到高性能的锯齿波发生器要求这个电路还远不够,但能帮助我们理解最本质最的基本原理,知其然知其所以然,应用起来就会得心应手。

电路也很简单,可以自己动手动手搭建电路实验,也可以在电脑上仿真。

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

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

相关文章

mysql8 Found option without preceding group错误

这个错误说起来是真的坑,今晚帮同学在window操作系统上安装mysql8当自定义my.ini文件的时候 就出现一下错误,死活启动不起来 一直报错。当删掉这个my.ini文件的时候却能启动,刚开始以为是my.ini里的配置选项不对,一个一个筛查后依…

【群智能算法改进】一种改进的鹈鹕优化算法 IPOA算法[2]【Matlab代码#58】

文章目录 【获取资源请见文章第5节:资源获取】1. 原始POA算法2. 改进后的IPOA算法2.1 随机对立学习种群初始化2.2 动态权重系数2.3 透镜成像折射方向学习 3. 部分代码展示4. 仿真结果展示5. 资源获取 【获取资源请见文章第5节:资源获取】 1. 原始POA算法…

09:STM32-------USART串口通信+串口数据包

目录 一:串口协议 1:通信接口 2:串口通信 3:硬件电路 4:电平标准 5:串口参数及其时序 二:USART介绍 1:简历 2:USART框图 3:USART的基本结构 4:数据帧 5: 波特率发生器 6:数据模式 三:案例 A:串口发送--单发送 1:连接图 2:函数介绍 3:代码 B:串口发送接收 1…

微服务06-Dockerfile自定义镜像+DockerCompose部署多个镜像

常见的镜像在DockerHub能找到,但是我们自己写项目得自己构造镜像 1 镜像结构 作用:提高复用性,当应用需要更新时,不再是整个系统重装进行更新 ,而是对需要更新的部分进行更新,其他地方不动——>这就是分…

第67步 时间序列建模实战:ARIMA建模(Stata)

基于WIN10的64位系统演示 一、写在前面 这一期,我们使用Stata进行SARIMA模型的构建。 同样,使用某省2005年1月至2016年12月AIDS死亡率的时间序列数据。 二、Stata建立SARIMA实战 (1)问GPT怎么用 咒语:我有一批{数…

【Arduino28】LM35温度传感器实验

硬件准备 LM35温度传感器:1 个 面包板:1个 杜邦线:3根 硬件连线 VCC引脚接 5V 电源 OUT引脚接 A0接口 GND引脚接 GND 接口 软件程序 #define temp_pin A0 //温度传感器引脚void setup(){Serial.begin(9600); }void loop(){float val …

【C++】STL-常用算法-常用查找算法

0.前言 1.find #include <iostream> using namespace std;// 常用查找算法 find #include<vector> #include<algorithm>//查找 内置数据类型 void test01() {vector<int>v;for (int i 0; i < 10; i){v.push_back(i);}//查找 容器中 是否有 5 这个元…

C--小Why的商品归位-- 牛客小白月赛77

输入 3 3 1 1 2 1 3 2 3 输出 2 解析&#xff1a; 先不考虑购物车的容量&#xff0c;即购物车容量为无限大。这样我们可以通过每种货物上车、下车的时间计算出每一个时间点内&#xff0c;购物车中货物的数量。 统计出所有时间点内&#xff0c;货物数量的最大值max。这个最大…

CRM软件系统的三大优势

随着市场环境的不断发展和变化&#xff0c;企业的管理模式也在不断地调整。CRM管理系统是企业数字化转型的重要一环&#xff0c;可以帮助企业更好地管理客户关系和市场销售&#xff0c;提高企业运营效率和经济效益&#xff0c;CRM管理系统有哪些优势呢&#xff1f;今天小编就来…

Vue2+Vue3基础入门到实战项目(七)——智慧商城项目

Vue 核心技术与实战 智慧商城 接口文档&#xff1a;https://apifox.com/apidoc/shared-12ab6b18-adc2-444c-ad11-0e60f5693f66/doc-2221080 演示地址&#xff1a;http://cba.itlike.com/public/mweb/#/ 01. 项目功能演示 1.明确功能模块 启动准备好的代码&#xff0c;演示…

深入了解苹果证书及其分类,提升iOS应用开发效率

目录 1. 企业证书 2. 开发者证书 开发证书&#xff1a; 发布证书&#xff1a; 3. 推送证书 4. 分发证书 5. MDM证书 摘要&#xff1a;本文将详细介绍苹果证书的作用及分类&#xff0c;包括企业证书、开发者证书、推送证书、分发证书和MDM证书&#xff0c;帮助开发者了解…

Win11如何显示文件后缀名

有小伙伴发现在更新了Win11之后&#xff0c;文件的后缀名就被隐藏起来了&#xff0c;那么Win11怎么显示文件的后缀名呢&#xff0c;下面小编就给大家带来Win11显示文件后缀名的方法&#xff0c;大家感兴趣的话可以来看一看。 Win11显示文件后缀名的方法&#xff1a; 方法一&a…

低代码平台是否能替代电子表格?

在计算机技术普及之前&#xff0c;会计、助理或者是销售人员&#xff0c;都需要用纸和笔来记录和维护每一笔交易。计算机技术兴起之后&#xff0c;一项技术发明——电子表格的出现改变了低效的状况。电子表格的第一个版本出现在1977年&#xff0c;一个名为“VisiCalc”的程序。…

OpenCV(二十七):图像距离变换

1.像素间距离 2.距离变换函数distanceTransform() void cv::distanceTransform ( InputArray src, OutputArray dst, int distanceType, int maskSize, int dstType CV_32F ) src:输入图像&#xff0c;数据类型为CV8U的单通道图像dst:输出图像&#xff0c;与输入图像…

2023-09-07 LeetCode每日一题(修车的最少时间)

2023-09-07每日一题 一、题目编号 2594. 修车的最少时间二、题目链接 点击跳转到题目位置 三、题目描述 给你一个整数数组 ranks &#xff0c;表示一些机械工的 能力值 。ranksi 是第 i 位机械工的能力值。能力值为 r 的机械工可以在 r * n2 分钟内修好 n 辆车。 同时给你…

WebServer 解析HTTP 请求报文

一、TCP 状态转换 浏览器访问网址&#xff0c;TCP传输全过程 二、TCP协议的通信过程 三、TCP 通信流程 // TCP 通信的流程 // 服务器端 &#xff08;被动接受连接的角色&#xff09; 1. 创建一个用于监听的套接字- 监听&#xff1a;监听有客户端的连接- 套接字&#xff1a;这…

C#开发的OpenRA游戏之系统参数选项按钮

C#开发的OpenRA游戏之系统参数选项按钮 前面分析了信标按钮,从图上可以看到,靠右边的按钮,就是系统参数选项按钮: 这个按钮与前面三个按钮是不一样的,虽然它们在排列位置上是放在一起,但是处理的方法方式是不一样的,因为这个选项按钮,并不需要发命令给服务器,再返回来…

Kafka的文件存储与稀疏索引机制

![在这里插入图片描述](https://img-blog.csdnimg.cn/dde7fc866d214985baaa87300a472578.png)这些是存储在分区(分区才是实际的存储)文件中的. seg是逻辑概念 而实际由log存储的. index是偏移量索引而timeindex是时间戳索引 log就是seg 找数据就是先找log 再从log去找

使用aidlux进行模型迁移、部署、推理

AidLux是一个构建在ARM硬件上&#xff0c;基于创新性跨Android/鸿蒙 Linux融合系统环境的智能物联网 (AIoT) 应用开发和部署平台。 说的直白点&#xff0c;aidlux就是一个在arm架构芯片的设备上运行的linux系统&#xff0c;我们可以将身边的安卓设备当作边缘设备&#xff0c;在…

stm32f4_奇怪的bug_串口数据错乱,一个串口收到另一个串口的数据

1、开发环境简介 芯片型号&#xff1a;stm32f407igt6 官方库函数&#xff1a;HAL库 2、bug现象描述和原因推测 使用了2个串口&#xff0c;一个是串口5-波特率115200&#xff0c;一个是串口4-波特率9600&#xff0c;但是串口4时不时会收到上一次发给串口5的数据。不是同一个串…