PWM波转DC直流之二阶RC低通滤波器设计
1.原理及用途
(1)原理直接引用*原子STM32讲解PWM转DAC的篇章*
(2)当MCU中DAC功能不够用时,而还要输出可控的DC电平,这时可以使用这种模式来达到目的;另外一些由PWM控制的负载器件,比如比例阀、电机,要测试这些负载流过的等效电流,也可以使用这种方法
2.需求分析
我们这里使用二阶RC低通滤波来达到检流电阻的PWM波等效DC直流电平的功能;
电路示意图如下,这里的PWM不是MCU直接输出的,而是经过推挽放大电路处理过的信号
R11/R12 、C3/C4组成二阶RC滤波;这里R11=R12、C3=C4
3.数学计算
假如我们要求经过滤波后结果达到检测电流±1mA,则1个位的精度达到1.5/2048=0.0007324V,采样电阻电平范围0-1.5V
假设被滤波的信号电压范围0-1.5V,那么一次谐波的最大值1.5*2/π=0.95496,那么电路要至少提供-20log(0.95496/0.0007324V)=-63dB衰减
这里使用的PWM是F=20KHz
如果是一阶RC滤波,那截止频率Fs的计算由-10*log[1+(F/Fs)^2]=-63dB,得Fs=14Hz
如果是二阶RC滤波,那截止频率Fs的计算由-20*log[1+(F/Fs)^2]=-63dB,得Fs=532Hz
参数RC选择:
这里使用二阶低通滤波器,Fs=1/2πRC,得R=1KΩ,C=300nF(这里是由设计者选取),(R11=R12=R,C3=C4=C),这个RC乘积是个定值,至于R C选择组合,可根据实际应用来确定,但是有一个思路:R或C不能太小,比如R取很大时,C必然取小,这时由于电路的寄生效应,导致最后的等效电容增大比例很多,会影响滤波效果,这样就不行了;反过来选取R一样
一阶二阶对比,除了电路上不同;计算的截止频率差别也是很大
二阶衰减比一阶严重一点、但是二阶延迟较小,而且一阶纹波大
4.电路仿真及波形数据-二阶滤波器
因为实际负载工作电流范围:0-1A,故而电流电阻上的电压范围0-1.5V
参数说明:这里使用Cadence OrCAD电路仿真功能
V1是输出最小电平
V2是输出最大电平,实际在V1-V2之间选择来试验
TD是PWM波延迟时间
TR是边沿上升时间
TF是边沿下降时间
PW占空比
PER周期
由图可知绿色波形在t=3-4ms时达到稳定,最大有3-4ms的延迟(按照100%计算)
实际的RC参数确定,要根据输出的延迟时间、纹波大小来综合考量;当然这个只是仿真,到实际硬件电路中,你会发现还要有更改
仿真波形中,你会发现滤波后的波形会有衰减,这个要进行补偿
5.硬件实验波形及数据
最后选定参数R=1kΩ、C=220nF 实际硬件测得的波形如下:
仿真结果如下:
对比波形,仿真和实际硬件测试基本上一致
PWM波转DC直流之二阶RC低通滤波器设计相关推荐
- 一阶RC和二阶RC低通滤波器
一阶RC和二阶RC低通滤波器 RC电路原理推导 一阶RC低通滤波电路 二阶RC低通滤波电路 RC电路原理推导 因为最近有做一些RC滤波电路的东西,这部分内容都是在大学本科的时候学习的,很多东西也记得不 ...
- 比较器应用三:占空比可调的PWM波
本文章产生占空比可调的PWM波主要原理是直流波和三角波通过比较器比较,从而比较器输出端输出PWM波,通过图1来说明. 假设三角波接入比较器的负输入端,直流波接入比较器的正输入端,即当直流波大于三角波时 ...
- RC低通滤波器截止频率公式推导
一阶RC低通滤波器 一阶RC滤波器如图所示,电阻RRR串联电容CCC,输入电压记为UiU_iUi,输出电压记为UoU_oUo,电容容抗记为Xc=1jωcX_c=\frac{1}{j\omega c ...
- PWM通过RC低通滤波器模拟DAC
当我们电路需要DAC而单片机并没有DAC外设时,则可采用PWM通过RC低通滤波器来模拟实现DAC功能. RC低通滤波器 当采用低通滤波器模拟DAC时,PWM频率应远大于RC低通滤波电路的截止频率fc= ...
- arduino利用三种方法产生pwm波使用l298n驱动12v小车电机(附电路连接图和pwm详解)
前段时间参加硕士复试,有一道题是pwm是什么,如何产生pwm,录取成功后接下来在这里写一下吧! 1.脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法,由于计算机不能输出模拟电压,只能输出0 ...
- pwm波如何控制电机代码_PWM波控制720电机
详细方案四:pwm与720电机控制 电机硬件分析 什么是电机? 电机(俗称"马达")是指依据电磁感应定律实现电能转换或传递的一种电磁装置.它的主要作用是产生驱动转矩,作为用电器或各 ...
- STM8学习笔记---定时器输出7路PWM波
STM8S003F3P6单片机共有三个定时器定时器1.定时器2.定时器4.其中定时器1为16位高级定时器,定时器2为16位通用定时器,定时器4为8位基本定时器.定时器1和定时器2可以输出PWM波.其中 ...
- 电池SOC仿真系列-基于遗忘因子的最小二乘法电池参数辨识(二阶RC)
基于遗忘因子的最小二乘法电池参数辨识 最小二乘法是系统辨识中最常用的一种估算方法.为了克服最小二乘法存在"数据饱和"的问题,我们通常采用含有遗忘因子的递推最小二乘法(Forge ...
- stm32+定时器PWM波+电机驱动+直流电机
利用stm32单片机控制直流电机. 硬件部分:stm32f103c8t6.TB6612电机驱动模块.直流减速电机 首先搞明白原理.例如一个12v的直流电机,在其两端接上12v的电压,电机会满额转动,转 ...
- 张飞硬件开发视频第五部电路详细讲解,纯硬件也可以做PWM波
学习了张飞老师的硬件开发视频,把这一部的电路拿出来写一下. 项目的目的我就不写了,主要写一下硬件电路.分析一下这一个电路是怎么样工作的. 首先是电源部分,左边是用了一个三极管和一个稳压管搭建的稳压电源 ...
最新文章
- 关于MySQL的四种事务隔离级别!
- nightwatchjs --Expect element to not include text
- linux 软件包的安装
- vs2017 release模式断点调试
- 从零开始学习docker(十六)Swarm mode 创建集群
- border 外边框
- 公交车座椅上有个洞,竟是为了…很多人都不知道
- kotlin之plus、copyOf、reverse、forEach、filter、map、reduce、fold等函数解释和使用
- python中难的算法_Python算法很难吗?python神书《算法图解》PDF电子版分享给你
- 关于Zookeeper的几个问题
- HDU 5769 Substring(后缀数组)
- oracle中冗余,各位有没有检查冗余索引的脚本
- 消息驱动式微服务:Spring Cloud Stream RabbitMQ
- paip.提升用户体验----gcc c++ JIT-debugging 技术
- 【优化算法】哈里斯鹰算法(HHO)【含Matlab源码 1309期】
- javaBean本质
- MIPS体系结构简介
- mysql heartbeat_mysql管理工具之pt-heartbeat
- 不是因为有了互联网,才有了互联网思维
- 十六进制转八进制(十六进制转十进制,十进制转八进制)
热门文章
- 飞行的小鸟(Flybird)C语言小游戏C++简单小程序超简单
- vue中 jsbarcode的使用技巧
- tcl脚本中list(列表的用法)附举例说明
- 【f1c200s/f1c100s】全志f1c200s开发板设计(含原理图和PCB)
- 序章:企业潜规则认知
- 3d建模渲染效果图步骤
- python爬贴吧回复内容_Python爬虫_获取贴吧内容
- Origin 2021 创建双y轴
- 杰理AC692X系列---关于692x及693x的打开在线调EQ功能(4)
- 宏晶STC单片机使用STC-ISP串口烧录失败的解决方法及实例汇总 (Ver0.99.15)