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

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

3天内不再提示

使用Raspberry Pi进行PWM控制

星星科技指导员 来源:嵌入式计算设计 作者:Cliff Ortmeyer 2022-06-22 14:22 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

脉冲宽度调制 (PWM) 是一种广泛用于控制功率的调制技术。它通常用于电机控制应用中以控制电机的速度。Raspberry Pi 等单板计算机 (SBC) 可用于生成用于电机速度控制的 PWM 信号,但有一个限制:Raspberry Pi 上只有一个 PWM 硬件引脚可用。然而,使用Arduino 的支持 PWM 的 I/O 引脚,可以找到一种可行的解决方案,不仅适用于一个,而且适用于多个 PWM 输出。

PWM 概述

PWM 信号是一个方波,用于电子控制系统中,用于控制诸如舵机位置、电机速度和 LED 亮度之类的东西。它基于两个重要参数:频率和占空比。频率是波形在一秒钟内产生的重复周期数。占空比表示信号高与低的时间百分比。得到的波形平均值决定了传递给负载的功率量。

Raspberry Pi 和 Arduino Raspberry Pi 是一款信用卡大小的微型计算机

,部分由于其计算能力、尺寸和价格 而引起了相当多的关注。Raspberry Pi 基于 Broadcom BCM2835 嵌入式多媒体应用处理器。它配备了多个连接端口,可以通过插入电视或显示器和 USB 键盘轻松操作。它还与许多操作系统兼容;然而,为 Raspberry Pi 量身定制的 Linux 版本 Raspbian 是最常用的操作系统之一。

Arduino 是一个基于单板微控制器的平台,可为没有经验和有经验的用户提供嵌入式电子设计的简单快速入门。它是一种开源硬件设计,提供模数信号转换功能以及输入和输出控制以及 PWM 信号生成。Arduinos 还通过其板载 I/O 连接和可用的扩展板提供丰富的连接选项。

poYBAGKytU2AJLzHAAD2Vx1TJmY802.png

Raspberry Pi 上的 PWM:控制能力有限

考虑一个涉及构建机器人汽车的任务,您需要通过 Raspberry Pi 控制两个电机,Raspberry Pi 具有 26 个通用输入/输出 (GPIO) 引脚。在这些引脚中,只有一个易于访问的 PWM 输出引脚,它不足以驱动任何需要更多控制的东西,而不仅仅是开/关功能。伺服电机和 RGB LED 不能单独通过该引脚驱动。

增强 Raspberry Pi 的 PWM 功能的策略

已经提出了许多解决方案来克服Raspberry Pi的这一限制。很多人为此目的使用支持 I2C(内部集成电路)或 SPI(串行外设接口)的附件。这些设备由 Raspberry Pi 控制,它们生成 PWM 信号用于控制目的。PWM 发生器附件也可用于将支持 PWM 的输出引脚添加到 Raspberry Pi。

正在使用的另一种方法是在其他支持 GPIO 的引脚上执行软件 PWM。WiringPi 库是一个允许这种类型控制的示例库。它使用实时调度程序通过运行单个线程来优先生成 PWM 信号,但由于 Raspberry Pi 上使用的操作系统执行多任务处理,因此该解决方案不适合,因为它提供低时序分辨率和高抖动。

Arduino:合适的解决

方案 轻松开发 PWM 信号的一种解决方案是使用 Arduino 开发套件。Arduino 板有多种配置。例如,Arduino Due 有 54 个数字引脚(其中 12 个可用于 PWM 输出)和 14 个模拟引脚。有了这么多可配置的 I/O 引脚,Arduino Due 和一般的 Arduino 板是与 Raspberry Pi 接口的外部传感和控制板的理想选择。

pYYBAGKytVWASceeAAIGBY4fSkI014.png

通过 USB 连接 Arduino 和 Raspberry Pi

可以通过 匹配 Raspberry Pi 和 Arduino 平台的形式找到具有强大的 PWM 功能和高度可配置的用户界面的解决方案。基于 Arduino 的开发板可以与 Raspberry Pi 连接,以添加 PC 的功能、网络的通信和多媒体工具、通过使用微控制器与环境交互的能力以及移动设备的便携性设备。如前所述,Arduinos 是一个基于微控制器的平台,非常适合为涉及传感和控制的应用程序运行代码。连接 Raspberry Pi 和 Arduino 板的一种非常方便、低成本且可靠的方法是通过USB 电缆。 这是一个方便的解决方案,因为它需要最少数量的硬件。此外,它通常提供具有精确实时响应的电机和电源控制,例如提供高精度和低抖动,这对于许多控制应用很重要。

通过使用每块板上的 USB 接口以及现成的 pySerial 库,可以从 Raspberry Pi 发送命令来控制 Arduino 的多个 I/O。而且,以相反的方式,当 Arduino 读取多种数据类型(如温度、速度或其他需要监控的外部数据)时,串行数据可以从 Arduino 发送回 Pi。

审核编辑:郭婷

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

    关注

    60

    文章

    8491

    浏览量

    286763
  • PWM
    PWM
    +关注

    关注

    116

    文章

    5911

    浏览量

    227197
  • Arduino
    +关注

    关注

    191

    文章

    6535

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    探索Adafruit Pi T - Cobbler Plus Kit:树莓派的绝佳搭档

    探索Adafruit Pi T - Cobbler Plus Kit:树莓派的绝佳搭档 在当今的创客世界里,树莓派(Raspberry Pi)以其小巧的身材和强大的功能,成为了众多电子爱好者和工程师
    的头像 发表于 05-10 16:55 823次阅读

    关于冷却的话题:手动控制 5V PWM 风扇,通过脚本控制,并通过内核自动控制

    @geerlingguy去年年底写了一篇有趣的文章,使用 Raspberry Pi CM4 IO 板的 EMC2301 控制 PWM 风扇,我要感谢他的出色工作。他温控风扇脚本对于
    发表于 03-18 07:13

    请问如何让 Sony-IMX219-Raspberry-Pi-V2-CMOS 相机与 VisionFive2 配合使用?

    我正在尝试获得我在 VisionFive2 版本 219a 上放置的备用 Sony-IMX2-Raspberry-Pi-V1.2-CMOS 相机。由于 VisionFive 2 有 1 个 × 2
    发表于 03-11 06:26

    PWM经典应用:LED亮度控制及呼吸灯实战

    PWM脉冲宽度调制 ——是利用微处理器的数字输出对模拟电路进行控制的一种非常有效的技术,广泛应用于测量、通信、功率控制与变换等诸多领域。 日常开发中比较典型的应用场景: 电机
    的头像 发表于 01-05 20:50 544次阅读
    <b class='flag-5'>PWM</b>经典应用:LED亮度<b class='flag-5'>控制</b>及呼吸灯实战

    Banana Pi BPI-CM6 – 一款与 Raspberry Pi CM4/CM5 载板兼容的 SpacemiT K1 RISC-V 系统模块

    Banana Pi BPI-CM6 系统模块 (SoM) 采用 SpacemiT K1 八核 RISC-V 处理器,并且与大多数 Raspberry Pi CM4 或 CM5 模块的载板兼容。 它
    发表于 11-28 16:59

    Banana Pi BPI-CM6 – 一款与 Raspberry Pi CM4/CM5 载板兼容的 SpacemiT K1 RISC-V 系统模块

    Banana Pi BPI-CM6 系统模块 (SoM) 采用 SpacemiT K1 8 核 RISC-V 处理器,并且与大多数为 Raspberry Pi CM4 或 CM5 设计的载板兼容
    的头像 发表于 11-28 16:57 2795次阅读
    Banana <b class='flag-5'>Pi</b> BPI-CM6 – 一款与 <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> CM4/CM5 载板兼容的 SpacemiT K1 RISC-V 系统模块

    如何通过PWM脉冲控制电机?

    领域。 PWM脉冲是一种脉冲宽度调制技术,通过调节脉冲的高低电平时间比例来控制电路的平均电平值,来对输出的波形进行控制,获得模拟参数,其中有几个比较重要的参数分别是频率、占空比和精度
    发表于 11-28 06:58

    伺服电机控制系统的电流环带宽提高设计

    在传统的PI电流控制器中,一旦PWM周期确定了,那么系统带宽也就随之确定了。由于电机本身的阻感电气特性是系统中惯性最大的部分,PI控制器需要
    的头像 发表于 11-17 09:57 5289次阅读
    伺服电机<b class='flag-5'>控制</b>系统的电流环带宽提高设计

    PWM控制器的控制方法

    总结了脉宽调制(PWM ) 技术的几种控制方法 叙述了它们的基本工作原理 并分析了它们的优缺 点。介绍一种非线性控制方法 单周控制法 通过分析对比得出单周
    发表于 10-23 16:17 3次下载

    PWM信号是如何控制舵机的?

     PWM(脉冲宽度调制)信号控制舵机的核心原理是通过固定周期内高电平的持续时间(脉宽)对应舵机的旋转角度,舵机内部电路根据检测到的脉宽驱动电机转动到目标位置并保持。以下是具体实现过程: 一、核心控制
    的头像 发表于 09-29 10:48 1964次阅读

    Raspberry Pi携手上海晶珩 助力工业与物联网创新

     2025年9月23日下午,全球嵌入式解决方案的领导者 Raspberry Pi 在 2025 上海工博会首次亮相,并携手其在华重要合作伙伴 上海晶珩(EDATEC) ,正式发布专为中国市场打造
    的头像 发表于 09-26 15:29 831次阅读
    <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>携手上海晶珩 助力工业与物联网创新

    按照官方文档在ART-PI上开启PWM,但是串口输出找不到设备,怎么解决?

    大佬们,我在cubemx里打开了TIM3及其通道3, rtthread-setting,里打开了PWM,硬件On-chip Peripheral里添加了TIM3,并且使能了他
    发表于 09-17 06:27

    Banana Pi BPI-R4 Lite:新型单板计算机比 Raspberry Pi 5 更具优势

    Raspberry Pi 5(亚马逊售价 66 美元起)的替代品。 然而,它的侧重点略有不同,尤其适合网络应用。例如,它可以作为 OpenWrt 路由器的基础。Banana Pi 最新的 SBC
    的头像 发表于 08-26 16:46 1834次阅读
    Banana <b class='flag-5'>Pi</b> BPI-R4 Lite:新型单板计算机比 <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 5 更具优势

    PWM逆变器的不同调制方法对比

    进行控制,使得逆变器输出电压等效为正弦波。PWM调制具体可以分为几种方法,本文主要对几种PWM调制方法进行对比分析。
    的头像 发表于 07-16 14:00 4636次阅读
    <b class='flag-5'>PWM</b>逆变器的不同调制方法对比