0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

chipKIT Uno32板的PWM引脚说明

454398 来源:网络整理 作者:网络整理 2019-12-05 17:34 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

脉冲宽度调制(PWM)是一种使用开关数字信号来控制传递到电子负载的功率量的技术。该技术背后的关键思想是,可以通过改变信号的占空比来改变数字信号的平均DC值,从而改变传递给负载的功率。该方法通常用于控制直流电动机的速度和灯的亮度。开关电源也基于PWM技术。在本教程中,我们将讨论chipKIT Uno32板的PWM引脚,并通过控制两个外部LED的亮度来说明该概念。

chipKIT Uno32板的PWM引脚说明

PWM

理论

脉宽调制(PWM)是一种通过能量传递能量的方式脉冲而不是连续变化的信号。通过增加或减少脉冲宽度(频率保持不变),可以控制输出功率。信号打开的时间周期的一部分称为占空比。信号的平均DC值可以通过改变占空比来改变。占空比可以在0(信号始终关闭)到1(信号一直打开)之间的任何位置。假设,如果信号在开启时为+5 V,在关闭状态时为0 V,则通过更改信号的占空比,可以模拟0-5 V之间的任何电压。该方法通常用于控制直流电动机的速度和灯的亮度。 PWM的原理如下图所示。

PWM

电路设置

在chipKIT Uno32板上,可以将I/O引脚3、5、6、9和10配置为提供PWM输出。我们将两个LED(红色和绿色)连接到PWM引脚3和5,并通过改变驱动这些LED的PWM信号的占空比来控制它们的亮度。两个100电阻用于限制通过LED的电流

电路设置

在面包板上的实际设置

写草图

可以使用 analogWrite生成Arduino平台中的PWM信号()命令。在括号内,您可以指定引脚号和所需的占空比(0-255)。占空比“ 0”表示始终关闭,“ 255”表示始终打开。调用 analogWrite()时,将在指定的PWM引脚上生成具有指定占空比的稳定方波。下图使用变化的占空比PWM信号来控制传递到两个LED的输出功率。两个LED交替淡入和淡出,这意味着当一个LED处于峰值强度时,另一个LED变暗,反之亦然。

int redLED = 3; // Red LED is connected to pin 3

int greenLED = 5; // Green LED is connected to pin 5

int redCount = 255; // Initial PWM values, RED is full

int greenCount = 1; // Green is dim

int i = 0;

void setup()

{

pinMode(redLED, OUTPUT);

pinMode(greenLED, OUTPUT);

}

void loop()

{

if (i 《 255) // First phase

{

redCount = redCount-1; // Red down

greenCount = greenCount+1; // Green up

}

else if (i 《 509) // Second phase

{

redCount = redCount+1; // Red up

greenCount = greenCount-1; // Green down

}

else // Re-set

{

i = 0;

}

i += 1;

analogWrite(redLED, redCount); // Write current values to LED pins

analogWrite(greenLED, greenCount);

delay(10); // Pause for 10 millisecond

}

输出

在程序中的职责周期以1为步长从1更改为255。首先,红色LED由占空比为255的PWM信号驱动,这意味着它将完全打开。驱动绿色LED的PWM信号的占空比为1,这意味着其强度最小。在每10 ms中,驱动红色LED的PWM信号的占空比减小1,而绿色LED的占空比则增大1。大约2550 ms之后,亮度条件反转,并且绿色LED完全点亮。重复此操作以交替产生淡入和淡出效果。

淡入和淡出

红色LED处于最大强度,而绿色则变暗了

绿色处于最大强度而红色却变淡

LED的工作电流非常低,因此,可以直接通过UNO32板的PWM输出驱动它们。对于直流电动机控制,需要一个外部电动机驱动器电路(例如H桥),该电路基本上将从微控制器引脚发出的低电流PWM信号放大为能够提供足够电流来驱动电动机的高电流PWM信号。
责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • PWM
    PWM
    +关注

    关注

    116

    文章

    5847

    浏览量

    223817
  • 开发板
    +关注

    关注

    25

    文章

    6122

    浏览量

    113326
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【RA-Eco-RA6M4开发评测】PWM输出

    ,将GPT3 的 GTIOC3A 信号输出连接到 P111引脚。 Figure 3‑1 打开GPT输出引脚 接下来就是添加PWM stack。 Figure 3‑2 添加PWM s
    发表于 11-09 21:30

    Arduino UNO Q 登陆 DigiKey,现已开放预订

    DigiKey 日前宣布,最新发布的 Arduino® UNO Q 现已可通过 DigiKey 官网进行预订。这款前沿新一代开发集成了高性能微处理器、图形加速功能以及专用微控制器,助力产品开发更高效、更
    的头像 发表于 10-13 14:55 273次阅读
    Arduino <b class='flag-5'>UNO</b> Q 登陆 DigiKey,现已开放预订

    【RA4E2开发评测】PWM 驱动舵机

    3、杜邦线若干 接线方式 舵机: 开发引脚 舵机引脚 3V3 VCC GND GND P206 SIGN 软件说明 舵机: • 舵机接受 50 Hz(周期 20 ms)
    发表于 09-09 15:13

    【RA-Eco-RA6M4开发评测】PWM 驱动舵机

     本篇使用 RA6M4 的 PWM 输出,来驱动舵机转动 硬件准备 1、RA6M4 开发 2、舵机 3、杜邦线若干 接线方式 舵机: DuoS 开发引脚 舵机
    发表于 09-01 01:10

    如何将 GPIO PWM 和 GPIO Capture 驱动程序导入 Linux 内核,实现 PWM 输出并检测引脚的变化状态?

    如何将 GPIO PWM 和 GPIO Capture 驱动程序导入 Linux 内核,实现 PWM 输出并检测引脚的变化状态
    发表于 08-20 08:20

    如何用Arduino Nano/UNO R3开发给另一个Arduino IDE不能下载的Arduino Nano/UNO R3开发重新烧录引导程序bootlaoder

    本文介绍了如何用能够Arduino IDE下载的Arduino Nano/UNO R3开发给另一个Arduino IDE不能下载的Arduino Nano/UNO R3开发重新烧录
    的头像 发表于 08-08 20:16 3062次阅读
    如何用Arduino Nano/<b class='flag-5'>UNO</b> R3开发<b class='flag-5'>板</b>给另一个Arduino IDE不能下载的Arduino Nano/<b class='flag-5'>UNO</b> R3开发<b class='flag-5'>板</b>重新烧录引导程序bootlaoder

    basys2开发说明

    basys2开发说明
    发表于 06-08 09:52 1次下载

    HCLSoftware发布HCL UnO Agentic

    -HCLSoftware发布HCL UnO Agentic:以智能编排技术引领业务优化新纪元 印度诺伊达 2025年5月8日 /美通社/ -- HCLSoftware是HCLTech的企业软件部
    的头像 发表于 05-09 14:57 369次阅读

    基于小凌派RK2206开发:OpenHarmony如何使用IoT接口控制PWM外设

    1、案例简介本案例是在小凌派-RK2206开发上使用IoT库PWM接口,进行PWM编程开发。例程将创建一个任务,每隔5秒将PWM0~10依次启用,输出1000Hz。
    的头像 发表于 04-09 08:59 2058次阅读
    基于小凌派RK2206开发<b class='flag-5'>板</b>:OpenHarmony如何使用IoT接口控制<b class='flag-5'>PWM</b>外设

    在IMX RT1170的POR期间,PWM引脚变为高电平是怎么回事?

    我使用GPIO_AD_00生成 PWM 信号,并且工作正常。但是当我在 RT1170 中执行 POR作时。然后 PWM 引脚变高,直到电路启动。启动后,它按预期生成
    发表于 03-31 08:22

    嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-开发适配之PWM

    。IOMUX配置从上图可以看出PWM2连接到了连接器的65脚。接下来我们需要找到这个引脚在软件上的信号名称。我们需要打开硬件资料中的 ELF 1开发资料包\\05-硬件资料\\05-4 管脚分配表找到65
    发表于 02-07 10:33

    飞凌嵌入式ElfBoard ELF 1板卡-开发适配之PWM

    。IOMUX配置从上图可以看出PWM2连接到了连接器的65脚。接下来我们需要找到这个引脚在软件上的信号名称。我们需要打开硬件资料中的 ELF 1开发资料包\\05-硬件资料\\05-4 管脚分配表找到65
    发表于 02-06 09:56

    2引脚VSFN mikroBUS™插座用户指南

    电子发烧友网站提供《2引脚VSFN mikroBUS™插座用户指南.pdf》资料免费下载
    发表于 01-21 13:53 0次下载
    2<b class='flag-5'>引脚</b>VSFN mikroBUS™插座<b class='flag-5'>板</b>用户指南

    飞凌嵌入式-ELFBOARD-核心pimmux的配置

    一种方案,每一行列出了某一引脚的复用功能。列之间可以自由组合出不同的方案,每一行只能选择一种功能。下面,以图2.1为例,进一步说明表格的使用方法。 图2.1 核心pinmux配置图 如上图所示
    发表于 01-14 09:31

    自己设计的Arduino UNO R3主控原理图+PCB源文件(可直接打样)

    一年前做的Arduino UNO r3,开源精神,把自己这块板子奉献给大家,板子没有什么问题,可以直接打样制作,原理图文件都表明了型号。不用谢~ Arduino UNO R3主控原理图部分截图: *附件:MYArduino
    发表于 12-10 10:14