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

同时控制/同步数百个继电器

组件和用品

IO 扩展器
× 2
中继扩展器
× 2
16 中继板
× 2
Arduino Nano R3
× 1

关于这个项目

需要同时控制和同步数百个继电器?然后将您的 Arduino、ESP8266、Pi、PC 或 Mac 连接到带有继电器扩展器的 IO 扩展器,并使用新的外部锁存功能。

这允许您以非常紧凑的位格式发送新的继电器设置以准备锁存。然后使用来自 MCU 或来自 IO 扩展器的单个 GPIO 线同时输出所有锁存数据。

使用您的 Arduino 项目查看我们的控制多达 65、280 个继电器!

那么为外部锁存设置 IO 扩展器需要什么?使用 IO 扩展器的简单命令结构,让我们设置一个简单的用例,通过外部锁存控制 x16 继电器板。

将 [g]pio 引脚 [4] 设置为具有高 [1] 电平的 [o] 输出,在 [g]pio 引脚 [10] 上,我们启用 [n] 负边沿检测,最后启用继电器 [e] xpander 外部 [l] 锁定引脚 [10]。

>g4o1;g10n;el10
ok
ok
10
>

现在我们可以打开继电器 [e]xpanders [o]n/o[f]f/[s]et 然后使用外部锁存器通过将 [g]pio 引脚 [4] 设置为 [o] 输出来启用它[1] 毫秒的低 [0] 电平。我们希望引脚 4 返回到高电平状态,以便它准备好再次锁存。

>e1o;e10o;e16o
ok
ok
ok
>g4o0,1
ok

现在让我们使用 Arduino Nano 将此项目扩展到 x2 IO 扩展器、x2 中继扩展器和 x2 16 中继板。 x2 IO 扩展器使用最多 255 个 IO 扩展器的多点 9 位协议连接在一起。

IO 扩展器外部锁存图

Arduino代码

/* IO 扩展器
*
* 继电器扩展器外部锁存
*
*/

#include
#include "IOExpander9Bit.h"
#include

//#define SERIAL_DEBUG
#define MAX_BOARDS 2

#ifdef SERIAL_DEBUG
SoftwareSerial swSerial(8,7);
#endif

void setup()
{
Serial9Bit.begin(115200) , SERIAL_9N1);
Serial9Bit.write(0); // 将 IO 扩展器设置为 9 位
#ifdef SERIAL_DEBUG
swSerial.begin(115200);
swSerialEcho =&swSerial;
#endif
wdt_enable(WDTO_8S);

for (uint8_t board =1; board <=MAX_BOARDS; board++)
SerialCmdDone(board, "eb1");

SerialCmdDone(1, "g4o1; g10n;el10"); // 为继电器外部锁存设置GPIO
SerialCmdDone(2, "g10n;el10");
}

void loop()
{
静态 uint16_t i =0;
uint8_t r[2];

r[0] =~(uint8_t)(i>> 8);
r[1] =~ (uint8_t)i++;
SerialWriteRelayExpander(1, r, 2);
delay(50);
r[0] =~r[0]; // 反转 2 板上的所有继电器
r[1] =~r[1];
SerialWriteRelayExpander(2, r, 2);
delay(50);

SerialCmdDone(1, "g4o0,1"); // 锁存所有继电器

wdt_reset();
}

IO 扩展器外部锁存操作

因此,立即获取您的 IO 扩展器并构建您的系统!

代码

  • IO 扩展器外部锁存
IO 扩展器外部锁存Arduino
/* IO 扩展器 * * 继电器扩展器外部锁存器 * */#include #include "IOExpander9Bit.h"#include //#define SERIAL_DEBUG#define MAX_BOARDS 2#ifdef SERIAL_DEBUGSoftwareSerial swSerial(8,7);#endifvoid setup(){ Serial9Bit.begin(115200, SERIAL_9N1); Serial9Bit.write(0); // 将 IO 扩展器设置为 9 位#ifdef SERIAL_DEBUG swSerial.begin(115200); swSerialEcho =&swSerial;#endif wdt_enable(WDTO_8S); for (uint8_t board =1; board <=MAX_BOARDS; board++) SerialCmdDone(board, "eb1"); SerialCmdDone(1, "g4o1;g10n;el10"); // 为继电器的外部锁存设置 GPIO SerialCmdDone(2, "g10n;el10");}void loop(){ static uint16_t i =0; uint8_t r[2]; r[0] =~(uint8_t)(i>> 8); r[1] =~(uint8_t)i++; SerialWriteRelayExpander(1, r, 2);延迟(50); r[0] =~r[0]; // 反转板 2 上的所有继电器 r[1] =~r[1]; SerialWriteRelayExpander(2, r, 2);延迟(50); SerialCmdDone(1, "g4o0,1"); // 锁存所有继电器 wdt_reset();}外部锁存器

示意图


制造工艺

  1. 机器人的未来
  2. 计算 Salesforce 集成的成本
  3. 控制双刃 SaaS 剑
  4. 固态继电器
  5. 是时候在仓库中实施物联网了吗?
  6. 电气控制面板的基础知识
  7. 响应式机器人
  8. 是时候重新控制购买周期了
  9. 了解汽车脑箱的工作原理
  10. 了解汽车继电器
  11. 关于继电器你需要知道的事情
  12. 第一次买车险怎么办?