Go Down

Topic: Help! Vibrating a cloth with servo (Read 605 times) previous topic - next topic


Nov 12, 2011, 01:51 pm Last Edit: Nov 12, 2011, 01:58 pm by InteRactiv Reason: 1
Hello, I am fairly new to arduino and I would really appreciate some help on my project.

I want to make a piece of cloth vibrate at different frequencies, generating various wavy patterns. The attached file is an image showing my approach. I am thinking to attach the edges of a piece of cloth to 4 servos or motors with some steel rods. Could you help me figuring out with kind of motors would be most appropriate (servo, dc motor or stepper motor)?
The idea is to use a piezo sensor to detect the amount of vibration on the platform. Can the various vibration levels detected with the piezo sensor control the rotation speed of the motor/servo?


Well as a servo and stepping motor will not work fast enough that only leaves you with a DC motor and some sort of mechanical mechanism to turn rotary motion into reciprocal motion.


What would probably be ideal for this kind of application would be a linear motor with some kind of positional feedback (optical, most likely):


Unfortunately, I've never found a source for linear motors where they didn't cost a fortune for any appreciable stroke length.

You might be able to do something with a DC motor connected fairly directly to a rack and pinion system; basically a form of a linear actuator, but without the gearing down that is common for those devices. I would think it would have to be fairly precision designed to keep it mostly quiet and long running (likely using well lubricated nylon or other plastic gearing).

Another possibility (hinted at by Grumpy_Mike) would be a to use a scotch yoke or other crank mechanism; the only problem there is that at the top and bottom of the stroke, there is non-linearities involved; I'm not sure if in your application it will matter, though.

All of these solutions may require some kind of positional feedback, once again depending on what you are trying to do (if you are just trying to randomly flutter the cloth, no positional feedback is likely required - but if you are wanting to try to set of standing waves or such between the "nodes", knowing which actuator is where would probably be important).
I will not respond to Arduino help PM's from random forum users; if you have such a question, start a new topic thread.


the only problem there is that at the top and bottom of the stroke, there is non-linearities involved; I'm not sure if in your application it will matter, though.

I think this is a positive advantage for this application as you need to excite the cloth with a sin wave and that is just what you get with this sort of mechanism.


Continous rotation servos can be modified for more speed.

Google forum search: Use Google Advanced Search and use Http://forum.arduino.cc/index in the "site or domain:" box.


Nov 13, 2011, 02:39 am Last Edit: Nov 13, 2011, 02:41 am by GoForSmoke Reason: 1
If you put a spiral of wire into the cloth at each corner and a magnet beneath then ran current through the spiral, you could just about do audio.

Here they make their own speakers but you want to use lower frequencies.

If you want, you could even add shake to the middle.

PS -- you might even be able to put coils below and induct into unconnected coils in the cloth, but I'm not totally sure on that.
Nick Gammon on multitasking Arduinos:
1) http://gammon.com.au/blink
2) http://gammon.com.au/serial
3) http://gammon.com.au/interrupts


A point in a previous post was good, if you are vibrating each corner at the same frequency, using 1 servo to vibrate the centre of the cloth might do the same thing.

Fish tank air pump motors might be some inspiration.

Go Up