Industrial Fidget Controller

From Hacklab.TO Public Wiki
Jump to navigation Jump to search

What is the Industrial Fidget Controller?

  • The industrial fidget controller (IFC) was originally conceived as a joke (fidget spinners were a fad in 2017 at Hacklab 2.0, but was crowdfunded by members to become a reality.
  • The intent was design an industrial control panel with an assortment of 22mm industrial buttons, indicators, and other tactile elements as a fidget toy for visitors.

Do-Ocracy Policy

TODO List

    • TODO: Install second keystation in workshop.
    • TODO: Spin up ESP+IR Blaster device to control shop air cleaner.

Documentation

Hardware Overview

  • The IFC is installed in the members bin storage area directly under the HackTouch 3.0 screen.
  • The IFC is an portable display demo built around an industrial control panel enclosure, and a frame built out of 2020 metric extrusion.
  • The IFC uses an Automation Direct C0-11DD1E-D Click PLC, with expansion modules C0-16CDD1, and 2x C0-16NE3.
  • Internally there is a terminal strip to organize front-panel wiring from the switches to PLC contacts.
  • This unit is mains AC powered (requires NEMA C-14 power cable), and requires a Ethernet connection for Home Assistant integration for reliability.

Functionality

  • Each switch on the front panel, as well as remote devices (through connectors J1 thru J4) are exposed to Home Assistant using a MODBUS TCP integration to poll the PLC at a 5 second interval.
    • Note: polling frequency is limited by Home Assistant due to stability issues with the MODBUS TCP plugin. The PLC can support a much higher polling frequency.
  • Certain button or switch combinations can create light animations as a reward for fidgeting. More Easter eggs may be added as time progresses.
  • Inside the enclosure an electro-mechanical counter keeps track of the total number of button pushes this installation serves to satisfied customers. If you are quiet, the electro-mechanical counter can be audibly heard.
  • There are 2x remote keystations, each featuring a key-switch, a toggle switch, and a future LED back-light for the switch.


Button Mapping

  • Entities are exposed to Home Assistant based on the switch contact or LED indicator corresponding to the location below.
  • All entities are prefaced with IFC_* where * is the device address (eg: A1, B2, etc).
  • Push buttons B1, B2, C1, C2, C3, D2, D3 have been configured as latching switches and can be used to enable or disable specific Home Assistant output devices (eg: a disco ball).
  • Circuit breakers A1 + A4-A8 are configured like any other input device to the PLC and do not involve any mains AC voltage (the entire front-panel is powered by +24VDC and is grounded for safety regardless).


 

Expansion Connectors

  • Note: J1-J4 are NOT hot-pluggable. Please power down the unit before disconnecting these.
  • Connectors are GX16 8-contact connectors, bulkhead-pin, plug-socket and standard keying.

J1 and J2 Key-Stations

Pin Wire Colour Designation PLC Contact
1 GRN GND
2 GND/WHT GND
3 ORG Toggle Switch 3-X1, or 3-X3
4 ORG/WHT Key Switch 3-X2, or 3-X4
5 BLU N/C
6 BLU/WHT Backlight Enable (Future) 2-Y6, or 2-Y7
7 BRN +24V
8 BRN/WHT +24V


J3 Expansion

  • This is an unimplemented future expansion which permits 4 switch contacts.
Pin Wire Colour Designation PLC Contact
1 GRN GND
2 GND/WHT GND
3 ORG SW1 3-X5
4 ORG/WHT SW2 3-X6
5 BLU SW3 3-X7
6 BLU/WHT SW4 3-X8
7 BRN +24V
8 BRN/WHT +24V

J4 - Coin Acceptor

  • Warning: The coin acceptor mechanism requires +12V - do not connect it to J1, J2, or J3 or damage will occur.
Pin Wire Colour Designation PLC Contact
1 GRN GND
2 GND/WHT GND
3 ORG GND COM2
4 ORG/WHT RS232 TX COM2
5 BLU
6 BLU/WHT
7 BRN +12V
8 BRN/WHT +12V