Motor Madness

In tthe big gap between posts here, I started working on another kinetic piece. I had always intended to follow up on the original work I did back in January but have never gotten around to it.

Despite being a first effort, I like how this one came out. While some people find the sound it makes objectionable, others have expressed that it feels like it is singing to them when it moves. My original intent was to simply duplicate the original with a different color scheme, while avoiding all the mistakes I made in the original work. That plan did not last long. The notion of using the sound as part of the art took root in my head. This was aided in part by finding that the source code from the original had been mangled by attempts to use the Arduino 2.0 IDE. I dabbled in that on the prior project but found that I like the older 1.8.xxx versions. Since new code was needed anyway, I dusted off ancient memories of “the physics of musical sound” which was an elective I took way back in the early 80s and coded with music in mind.

These motors work on the basis of energizing one of a pair of coils for a moment, then energizing the other to create a step in motion. 200 steps per revolution so plenty of pulses to play with while spinning the motor. The pulses make noise. Musical notes are vibrations at a specific frequency. For example the note A that is often use to tune up a band or orchestra is really a vibration at 440 Hz or 440 cycles per second. The motor, if pulsing 440 times a second will make a noise at a similar pitch. With a bit of math (calculating 1 divided by the frequency) I determined how long pulse per coil needed to be to generate a given note. Then, mixing in a bit of musical theory, I determined this pulse timing for a a group of notes that could form a cord or a note progression for arpeggiation. A bit more musical theory give up a series of cords to play to make a cord progression (i.e. a small bit of a tune).

After a bit of experimentation and some creative code writing, I was able to use the arduino to rive the motors to play cords and arpeggios using a set of 3 motors and one arduino/motor board. The eventual goal being to get all 9 motors to play the tune then come to rest in a way that forms one of the 512 patterns that are possible ( see version 1 above)

This was all going smoothly until I tried to expand to add additional motors and drivers and arduinos. Big troubles. The motors would either not turn and/or made horrible noises. I tried different driver boards, different motors, higher driving voltage and many changes to the code . Nothing worked. It was maddening. Many hours lost. I was on the verge of punting when i noticed….

one of these things is no like the other……

So, once the evil, non-matching cables were thrown into a volcano and proper cables were secured, the motors all started behaving properly.

I still have a bit of work to do to finish but I am optimistic:

  • adding position sensing ( magnets and hall effect sensors) to maintain the position of the discs

  • synchronizing 3 arduinos to give one coordinated performance (some sort of leader/follower deal)

  • adding decorative faces for the discs

  • determine if higher or lower frequencies are possible (possibly with larger / higher power versions of the same motors)

  • putting it all into a frame for display and protection

Previous
Previous

Long overdue update

Next
Next

Solo Show: 10/28 - 11/30