Continuum

Client: Luftwerk

Museum Installation

This project is a kinetic sculpture with 55 spinning discs. Each disc has individual speed and direction control. They move in a repeated sequence, cascading left to right by color group, speed up, come to a stop, and then move in the opposite direction.

Technical Design

Top Level Architecture
This project had far too many IO neeeds to be driven off of one controller. One of my priorities with this project was to give the most granular control possible to the array without making the control logic unmanagably compelx. I settled on making two types of controllers that ran entirely different firmware. The primary controller was responsible for containing the organizaitonal structure of the array, and carrying out the animation sequence. The secondary controller was responsible for powering the motors, and doing all of the motion control processing.

Primary Controllers
The primary controllers were built on the Raspberry Pi Pico. There were 3 additional pieces of hardware on that board, a buck converter to allow it to operate on the 6v supply for the motors, an RS485 Comms circuit, and an external hardware watchdog to guard against any long-running memory related crashes

Mechanical Elements
Being fairly light, these discs were driven by 130 size DC motors at 6v. This wound up providing ample torque, and we only needed about 15% of the power they could deliver. These were mounted to the wall with L brackets and vibration dampening material. JST cables were terminated onto the motor, and soldered to the secondary controllers to allow for quick connect-disconnect.

Motion Control
The primary motion control loop resembles a rendering engine, tracking the current speed of all the motors, and moving those speeds to new targets set by the primary controller over given intervals of time. There is a fair amount of conditional control for situations where motors were spinning up from a standstill and needed extra power to break a stall, as well as decelerating faster than the natural decay rate from simply cutting power. Without encoders to deliver me positional data, a lot of these algorithms were made from trial and error, and were specific to the mechanical properties of the discs.

Secondary Controllers
The secondary controllers were much more complicated than the primaries. These featured 7 dual-channel motor drivers, allowing them to drive 14 motors at a time with individual speed and direction control. These boards were built with the Teensy 4.1 as the processor. These boards also featured an RS485 Rx circuit for receiving controls from the primary controller, and an external hardware watchdog that would reboot the device if the firmware ever crashed. These boards also featured rotary address switches, and inverse polarity protection.

Images

Project Team

Visual Design: Petra Bachmaier and Sean Gallero
Technical Design: Andy Kauff
Photography: Kate Joyce

Supported by:
Cheekwood Estate and Gardens

Tech Elements

  • Custom Designed and Hand Soldered PCBs
  • Teensy 4.1
  • Raspberry Pi Pico
  • RS485 Communications
  • Custom Serial Protocol