亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

Pi 伺服帽连接指南

简介

SparkFun Pi Servo Hat 允许您的 Raspberry Pi 通过 I2C 连接控制多达 16 个伺服电机。这可以节省 GPIO 并让您将板载 GPIO 用于其他目的。此外,Pi Servo Shield 添加了一个串行终端连接,让您无需将其连接到显示器和键盘即可启动 Raspberry Pi。

所需材料

这是您在本教程中需要遵循的内容。我们建议购买空白 microSD 卡而不是 NOOBS 就绪卡,因为 NOOBS 就绪卡可能没有足够新的操作系统来支持 Pi Zero W。



此外,您需要某种伺服电机来测试设置。首先尝试使用通用亚微伺服测试本教程后面提供的示例。


所需工具

无需特殊工具即可完成此产品组装。您将需要烙铁、焊锡和一般焊接配件。


硬件概览

黑板上只有几个有趣的项目,因为它是一顶设计难度最小的帽子。

USB Micro B 接口 – 此连接器可仅用于为伺服电机供电,或为伺服电机以及连接到帽子的 Pi 供电。也可用于通过串口连接到树莓派,避免使用显示器和键盘来设置树莓派。

电源隔离跳线 – 可以清除此跳线(默认情况下关闭)以将伺服电源轨与 Pi 5V 电源轨隔离。你为什么想这么做?如果有多个伺服器,或负载较重的大型伺服器,伺服电机在电源轨上产生的噪音可能会导致 Pi 出现意外操作,甚至完全重置或关闭。请注意,只要 Pi 通电,无论该跳线处于何种状态,串行接口仍将工作。

伺服电机排针 – 这些接头间隔开,以便更容易地将伺服电机连接到它们。对于大多数业余型伺服电机连接器,它们按正确的顺序引出。

硬件组装

我们建议将公头焊接到 Pi Zero W 上。

对于这种情况,我最喜欢的技巧是焊下一个引脚,然后用右手拿着熨斗熔化该引脚上的焊料,然后用我的左手调整接头,直到它如下图所示平放。确保使用接头较短的一侧进行焊接,而较长的引脚在组件一侧。固定一个引脚后,将所有引脚焊接到 Pi 零 W。

用母头和 Pi 伺服帽重复这些步骤。

确保从电路板底部插入短引脚,并在组件侧添加焊料,以便 Pi Servo Hat 堆叠在 Pi Zero W 的公头引脚的顶部。在焊接所有引脚之前,您还需要确保接头处于水平位置。

焊接接头后,将 Pi Servo Hat 堆叠在 Pi Zero W 上。然后根据您使用的伺服将业余伺服连接到通道“0”。尝试查看业余伺服的数据表或参考本教程中列出的一些标准伺服连接器引脚排列。使用足够的 5V 壁式适配器,我们可以为 Pi Zero W 供电。将壁式适配器插入壁式插座供电,然后连接 Pi Zero W 上标有“PWR IN”端口的 micro-B 连接器。

软件 – Python

我们将在这里详细介绍如何在 Python 中访问和使用 pi 伺服帽。

产品 GitHub 存储库中提供了完整的示例代码。

设置对 SMBus 资源的访问

第一点:在大多数操作系统级别的交互中,I 2 C总线被称为SMBus。这样我们就得到了第一行代码。这将导入 smbus 模块,创建一个 SMBus 类型的对象,并将其附加到 Pi 的各种 SMBuse 的总线“1”。
import smbus
bus =smbus.SMBus(1)

我们必须告诉程序零件的地址。默认为0x40,所以设置一个变量以备后用。

addr =0x40

接下来,我们要使能 PWM 芯片并告诉它在写入后自动增加地址(这让我们可以进行单操作多字节写入)。

bus.write_byte_data(addr, 0, 0x20)bus.write_byte_data(addr, 0xfe, 0x1e)

将值写入 PWM 寄存器

这就是所有需要完成的设置。从这里开始,我们可以将数据写入 PWM 芯片并期望它响应。这是一个例子。

bus.write_word_data(addr, 0x06, 0)bus.write_word_data(addr, 0x08, 1250)

第一次写入通道0的“开始时间”寄存器。默认情况下,芯片的PWM频率为200Hz,即每5ms一个脉冲。起始时间寄存器确定脉冲在 5ms 周期内何时变高。所有通道都与该周期同步。通常,这应该写入 0。第二次写入是“停止时间”寄存器,它控制脉冲何时应该变低。该值的范围是从 0 到 4095,每个计数代表该 5ms 周期 (5ms/4095) 的一个片段,或大约 1.2us。因此,上面写的值 1250 表示每 5ms 周期大约有 1.5ms 的高电平时间。

伺服电机从该脉冲宽度中获取控制信号。一般来说,1.5ms 的脉冲宽度会产生一个“中性”位置,介于电机范围的两个极端之间。 1.0ms 产生大约 90 度偏离中心,2.0ms 产生 -90 度偏离中心。在实践中,这些值可能略大于或小于 90 度,并且电机可能能够在任一方向上略大于或小于 90 度。

要寻址其他通道,只需将上述两个寄存器的地址增加 4。因此,通道 1 的起始时间为 0x0A,通道 2 为 0x0E,通道 3 为 0x12,等等,通道 1 的停止时间地址为 0x0C,通道 2 为 0x10,通道 3 为 0x14,依此类推,见下表。

Channel # 起始地址 停止地址
通道 0 0x06 0x08
第 1 章 0x0A 0x0C
第二章 0x0E 0x10
第三章 0x12 0x14
第 4 章 0x16 0x18
第 5 章 0x1A 0x1C
第 6 章 0x1E 0x20
第七章 0x22 0x24
第 8 章 0x26 0x28
第 9 章 0x2A 0x2C
第 10 章 0x2E 0x30
第 11 章 0x32 0x34
第 12 章 0x36 0x38
第 13 章 0x3A 0x3C
第 14 章 0x3E 0x40
第 15 章 0x42 0x44

如果将 0 写入起始地址,则从 90 度偏移的每一度都需要写入停止地址的 4.6 个计数。换句话说,将您希望获得的中性偏移度数乘以 4.6,然后根据您希望的运动方向,将结果与 1250 相加或减去。例如,从中心偏移 45 度将是 207 (45×4.6) 个计数或大于或小于 1250,具体取决于您希望运动的方向。

阅读更多信息...

Pi伺服帽连接指南


制造工艺

  1. CNC 原型制作指南
  2. FLIR Lepton 连接指南
  3. Raspberry Pi 3 入门套件连接指南
  4. Qwiic HAT for Raspberry Pi 连接指南
  5. 预组装 40 针 Pi 楔形连接指南
  6. 简单的 Pi 机器人
  7. 电锤指南
  8. 锻造锻造指南
  9. 精密铸造指南
  10. GD&T 并行快速指南
  11. 伺服压力机简介
  12. 什么是伺服液压机?