Creating The BMW Kinetic Sculpture

Hi all,

It's my second discussion of how to create a smaller version of this sculpture :

I found an old thread in this forum, but looks like no one ever got it done :

https://forum.arduino.cc/index.php?topic=94065.0

I've thought about ways to to do it but don't have enough experience, so I need your guidance.
I'd be happy to even discuss an eventual "pay for the job".

Solutions I've considered:

  1. 48 cheap stepper motors with 3D printed pulleys, fishing lines and small spheres.
    Problem: How do I control 48 steppers, not enough pins. Use multiple Mega's as master and slave ?

  2. Small Dc motors. Make all motors go to the top, hit an end stop switch (wired in series), then
    create the patterns using millies in the software. This way I think I won't have to deal with positions.
    Problem: How do I control 48 DC motors ? What exactly do I need ? How to control
    speed and direction ?

  3. Use 48 Continuous rotation servos (costly). Can I use PCA9685 with continuous rotation servos ?
    Speed and direction control ?

  4. Modify cheap 180° servos, daisy chain 3 PCA9685 ? Speed and direction control ?

Please bear with me if I sound naif and let me thank you in advance for your help.

IMHO you need stepper motors in order to get the positioning precision for a system like that - nearly in the right place would not be good enough.

I suspect the hardware is by far the simplest part of the project - even if it costs money.

...R

Robin,
How do I control 50+ steppers ? Can you explain pls ?

ba47:
How do I control 50+ steppers ? Can you explain pls ?

With several Arduinos ?

The details depend on the stepper motor drivers that you propose to use.

...R

Shift registers are another possibility.

I'd be happy to even discuss an eventual "pay for the job".

How much are you willing to spend?

Think hundreds of hours in design, construction and programming. Plus 48x(hardware cost per unit).

one of the members Crossroads

I believe has moved down this line. created a board with a micro that would drive multiple steppers.

think of the project as say, one Arduino Micro, one board with 3 drivers. controls 3 steppers.
that Micro has a set program, or lots of set programs.

the master tells each micro to run program " ? "
your sculpture might have 100 sets of these micros.
so the master can send all the data out to the micros and then at the appropriate time....
'START'
Then the joyous dance of motors, wires and balls begins.

Steppers would be able to work, as would a DC motor with encoder.
the program becomes simple when you only have one micro controlling a few balls.
hundreds or thousands of micros becomes really hard to program on the fly

Choreography is a separate art in itself.
just getting 300 motors to move to a spot so the final form is reached would be amazing rewarding after the hours of programming.
The dance to get to that is something else.

It looks like the matrix is 22 x 17 = 374 total motors.

jremington:

I'd be happy to even discuss an eventual "pay for the job".

How much are you willing to spend?

Think hundreds of hours in design, construction and programming. Plus 48x(hardware cost per unit).

if BMW commissioned that sculpture, then we know at least one company was able to support the Arts.
I see this as two concurrent trades
hardware for the motors, pulleys, frame, etc
software and electronics.
If I were asked to make such a thing, I would reach out to the one that has already done it.
or, from the multiple videos, has already done more than a few.
You bring up a point, unstated. That a person well versed in software would have to send a lot of time to make something like this.

ba47:
kinetic sclpture thread

Recreating the BMW Kinetic Sculpture? - Motors, Mechanics, Power and CNC - Arduino Forum
,,,,,,,,, eventual "pay for the job".

  1. Use 48 Continuous rotation servos (costly).

everything is relative.
costly is an understatement if you think some servos are costly.
on that thread you listed kinetic sculpture thread

Crossroads posted a possible motor and wire design. The large final wheel would have an encoder so that wheel would be the accurate device to measure the motion.

The work Crossroads did, I believe was posted under a stepper clock video some time ago.

a bit or reasoning :
a servo has an on-board control system with encoder for feedback and position logic control to move to the point that is sent from the Arduino.

my thought is that a motor, encoder or stepper, etc, and an Arduino can do the same thing, but in discrete parts.

whereas the 300+ servos require constant signals to move in unison, a pre-programmed ballet with final resting point can be programmed into a module. ( or modules)

The question is re-programming later on.

also, everything between the start and the final point of the shape of the car, is the choreography.
you can 'dance' the balls for some time, then go to that final point with a command or timing.
the wave could be one program and the final point a second. the final point is only coordinates so really is not that difficult. the speeds and such for the dance before getting to those final points is where the art comes in.

ba47:
I'd be happy to even discuss an eventual "pay for the job".

I missed that bit.

I reckon it would cost several £000 to commission a replica of that - and i would probably be cheapest to get the guys who built the BMW system to build you a copy. They already have all the software.

...R

Thank you all for joining and chipping in.

First let me repeat that I was talking about a much smaller version of the BMW sculpture, i.e. 48 motors.

  • dave-in-nj, time ago I exchanged emails with Crossroads about this project, but we got nowhere.

  • wildbill, could you please explain more on how to use shift registers ?

  • Robin, I was thinking of using 28BYJ-48 steppers and master-slaving several Arduinos.

"... how much am I willing to spend ? " I bet the BMW sculpture and the one in Changi airport :

Art at Changi: Kinetic Rain - YouTube

cost millions. I was thinking of a small DIY project and will pay dues for help.

If you pick appropriate drivers, you need a step and direction pin for each motor, so 96 pins. I don't know of any Arduino that has that many, but since you mention Crossroads, I have a feeling that there is a Bobduino that does.

However, there are chips called port extenders or shift registers that let you control multiple pins from one or two on the Arduino. Some of them can be daisy chained too. So a mega with a few of them would mean that you could have the necessary addressable pins.

The downsides are that your code would be more complex and things will run a bit slower. Since we're talking stepper motors though, I wouldn't expect the speed reduction to matter.

The advantage of course is that you would not need to coordinate between multiple boards, so things are rather simpler on the coding side.

ba47:

  • Robin, I was thinking of using 28BYJ-48 steppers and master-slaving several Arduinos.

The ULN2003 driver that is normally used with 28BYJ-48 stepper motors requires 4 pins from the Arduino. So a nano could control 4 motors.

I would not consider using shift-registers to extend the number of I/O pins because (as well as making things more complex) if you connect more motors to the Arduino you will need more steps-per-second in total and you run the risk that the Arduino can't keep up. Remember that it also needs time to receive instructions from the master - whatever that may be.

Considering the likely total cost of the project I don't think it would be extravagant to use one nano for every 4 motors. This is definitely a project where there is a huge advantage in keeping everything simple.

...R

PS ... while a Mega has a lot more I/O pins its microprocessor is no faster than a nano.

You said 3D printing... add your spool of fishing line to the stepper. only need to make a hub, not a whole pulley.

If you drill a hole and feed the line through a hole, it will go up and down vertically (for the most part) a full plate (see video) would keep them in the correct alignment.

The more precise you want the final product, the more precision is needed in the drive train.
The idea of the encoder on the large roller, that sort of thing.

Look at the A4988, it uses two pins, one for step, one for direction. that greatly reduces pins on your Arduino.
there are sites on-line that guide you through the setup and wiring, etc.

As I mentioned in a prior post. the final resting point of each motor/ball will be a fixed and known point.
you can find out that point and hard code it for that channel.

Typically we use a separate end switch for steppers, but if you drive the ball to the top plate and then keep driving, the stepper will miss steps. ball is at 'home', then home = 0 steps. no need for switches per motor. does not harm the motor or driver, so is an acceptable alternative.

if you feel the need to have home switches, you can have multiples, wired in parallel. home stepper #1, move 10 steps,
home #2, move that 10 steps... it would take an extra minute, but only need one pin.

you can drop your balls to the final form, then note what units are too high or too low, then re-code those points.

There is no reason you could not use one mega, then control 20 or more of the A4988 drivers on 2 pins each.

As a note, the A4988 uses step on one pin and direction on another. you could have 10 steppers on one direction pin and drive them all in one direction, even at different speeds. you can reverse and drive one (or more) then reverse again and drive others. more programming, so more advanced.

With the seemingly random dance from start to when the command is sent to go to the finished design, there is no real need to have two (or more) micros trying to synchronize. Even if one were to use all even numbered balls and the other to use all odd number balls, the kinetic sculpture would be amazing to watch them all settle into that final shape. Just a single 'start' command would be needed.

MEGA vs NANO

A mega has more pins so could do many more steppers

using 6 NANO's would offer 3 times the speed or some such. (over 2 mega's)
using the A4988 drivers would require 2 pins, so 8 motors per NANO as a few housekeeping pins would be needed,

Also, if you were to make a custom board, using a NANO and drivers would be more manageable.

If this were my project, I would get 5 motors, 5 A4988 drivers, a 12V power supply and figure out how to mount or create the spools. then get 5 units to work and see how things move.

I am currently experimenting with TPIC6B595 shift registers and 28BYJ-48 stepper motors.
Plans for designing a 4"x4" board with 24 smd TPIC chips for 48 steppers.
An Uno has no problems controlling 144 steppers (three of those boards) at 12RPM.
I have working code, and a test setup. Still waiting for more parts though.
Will share when done.
Leo..

1 Like

Hi,
In the artry sculptures, the motor controllers would be on a comms system such as RS485 or modbus.

The stepper and controller would be almost integrated into one assembly, as the load on the stepper would not be very high, so looking down on the "bed" of steppers you would see controller and stepper together.
That way you only need to have supply and comms wires.

This would make assembly easy so labour costs would be down and service/repair jobs very quick and efficient.

As mentioned earlier, money would not be a problem for such a result.
Most of the cost would have gone into the creators backpocket/labour cost.

Tom... :slight_smile:

In the hobby world money IS a problem for such projects.
That's why I'm trying with cheap steppers and cheap drivers.
Leo..

Wawa:
I am currently experimenting with TPIC6B595 shift registers and 28BYJ-48 stepper motors.
Plans for designing a 4"x4" board with 24 smd TPIC chips for 48 steppers.
An Uno has no problems controlling 144 steppers (three of those boards) at 12RPM.

What you say is interesting but I'm curious to know the advantage of going to all the trouble to design, build and test your own board with SMD chips compared with using a bunch of nanos?

Unless you are planning to put the board into production I would be surprised if the money saved (if any) would cover the cost of the extra design and build time.

...R

Maybe, but with Nanos you still need the motor drivers, and the extra wiring.
Designing/building/testing is a hobby, and this seem a challenge.
Leo..