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

IO 扩展板外部锁存轻松同步控制数百路继电器

零部件与物料

IO 扩展板 ×2
继电器扩展板 ×2
16 路继电器模块 ×2
Arduino Nano R3 ×1

项目简介

需同时同步控制成百上千路继电器?使用 IO 扩展板 + 继电器扩展板,启用**外部锁存**特性:以极其紧凑的位格式下发继电器新状态,再由单根 GPIO(来自 MCU 或 IO 扩展板输出)触发锁存,所有继电器同一时刻翻转。详见《Control Up to 65,280 Relays with Your Arduino》项目。

外部锁存配置示例(单块 16 路继电器板)

> g4o1;g10n;el10
ok
ok
10
>

随后设置继电器状态,再拉低 GPIO4 1ms 触发锁存:

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

扩展至双 IO 扩展板 + 双继电器板(共 64 路)

两块 IO 扩展板通过 9 位多点协议级联,最多支持 255 块。Arduino Nano 通过 HardwareSerial9Bit 库通信。

接线图

IO 扩展板 GPIO4 接继电器扩展板锁存输入,GPIO10 作为外部锁存触发源。两块 IO 扩展板串联 TX/RX,地共用。

Arduino 代码

#include 
#include "IOExpander9Bit.h"
#include 

#define MAX_BOARDS 2

void setup() {
  Serial9Bit.begin(115200, SERIAL_9N1);
  Serial9Bit.write(0); // 切换到 9-bit 模式
  wdt_enable(WDTO_8S);

  for (uint8_t b = 1; b <= MAX_BOARDS; b++)
    SerialCmdDone(b, "eb1"); // 使能继电器扩展板

  SerialCmdDone(1, "g4o1;g10n;el10"); // 板1 配置外部锁存
  SerialCmdDone(2, "g10n;el10");      // 板2 仅使能锁存
}

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); // 板1 写入
  delay(50);
  r[0] = ~r[0]; r[1] = ~r[1];        // 板2 取反
  SerialWriteRelayExpander(2, r, 2);
  delay(50);
  SerialCmdDone(1, "g4o0,1");        // 触发锁存(下降沿 1ms)
  wdt_reset();
}

演示视频

原理图

展示双 IO 扩展板级联、继电器扩展板与 16 路继电器模块连接、外部锁存信号走向。

制造工艺

  1. 汽车ECU(行车电脑)如何控制现代车辆
  2. 汽车继电器详解:作用、类型与保护车辆电气系统的原理
  3. 继电器核心技术指南:类型、应用、选型与历史演进
  4. 首次买车险全攻略:小白也能买到高性价比保障
  5. 电气控制柜:安全与投资回报的设计要点
  6. 重掌采购周期主动权:制造商的实证策略
  7. 固态继电器:优势、局限与实用洞见
  8. Energy Dynamics:响应式机器人比更快车床更符合精益效率观
  9. 洞察 Salesforce 集成的隐性成本
  10. 驾驭SaaS:在拥抱云端的同时保持掌控的策略
  11. 21世纪机器人技术:分布式系统、远程呈现与太空探索
  12. 仓库为何应立即采用IoT:提升效率、准确性与安全性