Arduino平台软硬件原理及使用——PWM脉宽调制信号的原理及使用

文章目录:
一、先看百度百科给出的定义及原理
二、一图看懂PWM脉宽调制原理
三、Arduino中PWM脉宽调制信号的使用

一、先看百度百科给出的定义及原理

脉冲宽度调制是一种模拟控制方式,根据相应载荷的变化来调制晶体管基极或MOS管栅极的偏置,来实现晶体管或MOS管导通时间的改变,从而实现开关稳压电源输出的改变。这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字信号对模拟电路进行控制的一种非常有效的技术。广泛应用在从测量、通信到功率控制与变换的许多领域中。
在这里插入图片描述

脉宽调制(PWM)基本原理:控制方式就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等但宽度不一致的脉冲,用这些脉冲来代替正弦波或所需要的波形。也就是在输出波形的半个周期中产生多个脉冲,使各脉冲的等值电压为正弦波形,所获得的输出平滑且低次谐波少。按一定的规则对各脉冲的宽度进行调制,既可改变逆变电路输出电压的大小,也可改变输出频率。

二、一图看懂PWM脉宽调制原理

对于上述文字读起来的确专业但更晦涩难懂,因此我们通过下文来了解其基本原理;
在这里插入图片描述
上图为给端口分别输出高电平及低电平时的波形,其分别恒定在高低两个电平不会发生变化,且输出电压也分别恒定在5V与0V,但如果想输出中间数值的电压,则需要进行PWM脉宽调制。
在这里插入图片描述
如上图所示,每两条蓝色虚线之间为一个周期,通过调节一个周期内高低电平的占比从而可以得到不同的输出电压,此时高电平所占一个周期的比例,称之为“占空比”。

比如占空比为75%时,则可以输出3.75V的电压——即5V * 75%;
比如占空比为20%时,则输出1V的电压——即5V * 20%。

三、Arduino中PWM脉宽调制信号的使用

在这里插入图片描述
观察arduino板中数字信号区域(DIGITAL),其中3、5、6、9、10、11号端口后都带有“”符号,也就表示这几个端口都可以输出PWM信号,使用方法也很简单:
在这里插入图片描述
通过LED发光二极管的亮度控制来演示PWM信号的使用:

void setup()
{
	pinMode(3,OUTPUT);
	pinMode(4,OUTPUT);  //设置3、4号端口为输出
	digitalWrite(4, LOW);  //设置4号端口为低电平
}
void loop()
{
	analogWrite(3, 0);  //亮度最暗
	delay(1000);  //延时1000毫秒
	analogWrite(3, 100);  //逐渐变亮
	delay(1000);  //延时1000毫秒
	analogWrite(3, 200);  //逐渐变亮
	delay(1000);  //延时1000毫秒
	analogWrite(3, 255);  //亮度最亮
}

观察上述程序,其可实现LED发光二极管不同亮度的变化,并注意PWM信号范围为0~255,即0为最低电平,255为最高电平,其中间的数值则按照比例进行转换成相应的电平。
除了可以使用PWM脉宽调制信号来控制LED发光二极管的亮度外,也可用于控制风扇的转速等。
关于PWM脉宽调制信号的具体实例可参考文章——Arduino项目式编程教学第二章——呼吸灯

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C预处理 | pragma详解

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和…

pci_enable_device()

前言 在 PCI 总线下,当 PCIe 设备和 PCIe 驱动匹配后,就会执行驱动的 probe() 函数来初始化设备,以让设备正常运行。 在 probe() 函数中,最先做的事情就是执行 pci_enable_device() 来使能设备。如果设备都无法使能的话&#xff…

MES系统是什么?MES系统的功能有哪些?

在现代制造业的快速发展中,所有规模的企业都面临着类似的挑战:如何提高生产效率、确保产品质量、减少浪费、降低成本,同时迅速响应市场变化。而在这个过程中,传统企业管理往往有以下几个典型痛点: 纸质文件堆叠如山&a…

框架面试题

文章目录 1. spring中的bean是线程安全的吗2. 事务的实现--AOP3. 项目中用到的AOP4.spring中事务的失效场景5. Bean的生命周期6.spring中的循环引用问题7. springMVC的执行流程8. springboot自动装配原理9. 常见注解10 Mybatis11 Mybatis一二级缓存 1. spring中的bean是线程安全…

约束-练习题

练习1 已经存在数据库test04_emp,两张表emp2和dept2 CREATE DATABASE test04_emp; use test04_emp; CREATE TABLE emp2( id INT, emp_name VARCHAR(15) ); CREATE TABLE dept2( id INT, dept_name VARCHAR(15) );题目: 向表emp2的id列中添加PRIMARY KEY约束向表d…

前端---css 的介绍

1. css 的定义 css(Cascading Style Sheet)层叠样式表,它是用来美化页面的一种语言。 没有使用css的效果图 使用css的效果图 2. css 的作用 美化界面, 比如: 设置标签文字大小、颜色、字体加粗等样式。控制页面布局, 比如: 设置浮动、定位等样式。 3. css 的基本语…

【2024 行人重识别最新进展】ReID3D:首个关注激光雷达行人 ReID 的工作!

【2024 行人重识别最新进展】ReID3D:首个关注激光雷达行人 ReID 的工作! 摘要:数据集:方法模型:多任务预训练:ReID Network: 实验结果:结论: 来源:Arxiv 2023…

[Linux] MySQL数据库之事务

一、事务的概念 事务就是一组数据库操作序列(包含一个或者多个 SQL 操作命令),事务会把所有 操作看作是一个不可分割的整体向数据库系统提交或撤消操作,所有操作要么都执行,要么都不执行。 事务是一种机制、一个操作序…

Java 基础学习(十七)多线程高级

1 多线程并发安全(续) 1.1 synchronized方法 1.1.1 synchronized方法 与同步代码块不同,同步方法将子线程要访问的代码放到一个方法中,在该方法的名称前面加上关键字synchronized即可,这里默认的锁为this&#xff0…

短视频矩阵系统的崛起和影响

近年来,短视频矩阵系统已经成为了社交媒体中的一股新势力。这个新兴的社交媒体形式以其独特的魅力和吸引力,迅速吸引了大量的用户。这个系统简单来说就是将海量短视频整合在一个平台上,使用户可以方便地观看和分享好玩有趣的短视频。 短视频…

测试员有必要转测试开发吗?

为什么很多公司都在招测试开发? 质量保证和软件稳定性:测试开发人员在软件开发生命周期中扮演着关键的角色,他们负责编写和执行测试代码,以确保软件的质量和稳定性。他们可以帮助发现和修复潜在的问题和缺陷,提高软件…

短视频矩阵系统源码是如何运作的?

在当今数字化时代,短视频已经成为人们日常生活中的重要娱乐方式。而为了更好地满足用户需求以及提升使用体验,短视频平台需要依靠一个强大而高效的短视频矩阵系统。那么,这个系统又是如何运作的呢? 首先,短视频矩阵系…

[机器人-1]:开源MIT Min cheetah机械狗设计(一):系统方案及硬件解析

目录 一、MIT Min cheetah机械狗系统设计 1.1 指标需求 1.2 系统框图 1)腿部硬件构成:机械狗每条腿 (共四条腿) 2) 数据通信转换板部分 2 STM32 * 2 CAN * (4 * 3):FOC算法 3)UP board 计算机板卡硬件…

【C++】explicit关键字

explicit关键字通常用于声明构造,是为了防止编译器进行隐式类型转换。 当加上explicit关键字后,只能显示的调用构造函数

Android---Kotlin 学习009

继承 在 java 里如果一个类没有被 final 关键字修饰,那么它都是可以被继承的。而在 kotlin 中,类默认都是封闭的,要让某个类开放继承,必须使用 open 关键字修饰它,否则会编译报错。此外在子类中,如果要复写…

09-为Java开疆拓土的ZGC深度剖析

文章目录 引言ZGC出现背景STW带来的问题手机系统(Android) 显示卡顿证券交易系统实时性要求大数据平台(Hadoop集群性能) 垃圾回收器的发展 ZGC介绍ZGC中JVM内存布局和设计为什么这么设计? ZGC支持NUMA(了解即可) ZGC的核心概念指针着色技术&a…

智能优化算法应用:基于人工蜂鸟算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于人工蜂鸟算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于人工蜂鸟算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.人工蜂鸟算法4.实验参数设定5.算法结果6.…

Redis源码精读:字符串

文章目录 前言代码位置核心类型SDS结构获取sds字符串的元数据的宏获取字符串长度重新设置sds长度创建字符串感悟最后 前言 Redis中实现了sds(simple dynamic string)这种字符串,它比c语言标准库的char*字符串更加实用 代码位置 src/sdc.h …

Ascon加解密算法分析

参数定义 加密架构图 整个过程是在处理320bits的数据,所以在最开始需要对原始的数据进行一个初始化,获得320bits的数据块, 图里看到的pa和pb都是在做置换(对320bits的数据进行一个置换) 置换(Permutation&…

不可能得到的最短骰子序列

说在前面 🎈不知道大家对于算法的学习是一个怎样的心态呢?为了面试还是因为兴趣?不管是出于什么原因,算法学习需要持续保持。 题目描述 给你一个长度为 n 的整数数组 rolls 和一个整数 k 。你扔一个 k 面的骰子 n 次,…