moving Silk Screen with servos

Hi all,
I need some advises about one issue.
I need to move a big silk screen, 8x4m, that will be hanged in many points, not sure how many now I’m imagining something between 8-12 points where servo motors could move and make the silk dance.

  1. My first doubt is which model of servo motor could be the right one?
  2. How can I control the power for the motors.
  3. Is enough one Arduino Uno?
    Thanks a lot for the help
    David

[quote author=David Dalmazzo link=topic=54905.msg393215#msg393215 date=1299757571] Hi all, I need some advises about one issue. I need to move a big silk screen, 8x4m, that will be hanged in many points, not sure how many now I'm imagining something between 8-12 points where servo motors could move and make the silk dance. 1) My first doubt is which model of servo motor could be the right one? 2) How can I control the power for the motors. 3) Is enough one Arduino Uno? Thanks a lot for the help David [/quote]

That's a pretty large piece of cloth, but it is silk - so maybe it doesn't weigh much; any idea how much it will weigh?

Standard size (-not- mini) servo motors would likely work well; get ones with the highest torque (gm or kg per cm) you can find, and get ones with metal bushings or ball bearings on the output shaft at both ends, and metal gears. These will be more expensive, but will last longer than cheaper servos. With such servos, you can probably hang the cloth directly off the control horns (you may need to purchase longer single-lever control horns, then drill out the end to allow attachment with hooks to the cloth), with the servos securely attached (in some manner) to a metal bar (a piece of alluminum extrusion with holes milled/machined to allow you to attach the servos using standard hardware will work best).

While you could in theory use the standard Servo library to control up to 12 servos with a single Arduino Uno, it might be better if you got a multi-servo controller (I always suggest pololu.com - but there are other vendors as well), and ran the servos from that (with its own separate power supply for the servos - budget about 1A per servo); these controllers have a separate power input just for the servo motors, plus they can be controlled by serial commands (use the software serial library) over a couple of wires from the Uno. Otherwise, if you choose to go the cheap route with only the Uno and the Servo library, you would have to come up with your own power supply setup to run separate power to each servo; this isn't difficult, but it will all depend on your level of knowledge and your budget for parts, of course.

The nice thing about a servo controller is that it has a built in microcontroller controlling the servos, taking commands on where to position the servos from a master controller (in this case, your Arduino). This means your Arduino can "set-and-forget" about the servos, while the controller handles all the positioning, freeing up processing time and such on the Arduino for other tasks. Most can be daisy-chained and are addressable (generally up to 250+ servos, sometimes more); these controllers aren't that expensive, either (under $25.00 USD usually). Their downside (which isn't really a huge downside) is the need to develop an interface using the software serial library to communicate with them. Do some research, though; somebody may have already built a library for such interfacing with one or more different servo controllers.

Good luck, and I hope this helps. :)

hey! Thanks a lot for your answer. Very complete. I think I'm going to buy one of those controllers, the "Mini Maestro 12-Channel USB Servo Controller" looks perfect. Is this controller the correct one, or I need to have the serial instead of the usb? How can I connect this controller with my arduino? Thanks a lot for the help David

[quote author=David Dalmazzo link=topic=54905.msg397415#msg397415 date=1300222124] hey! Thanks a lot for your answer. Very complete. I think I'm going to buy one of those controllers, the "Mini Maestro 12-Channel USB Servo Controller" looks perfect. Is this controller the correct one, or I need to have the serial instead of the usb? How can I connect this controller with my arduino? Thanks a lot for the help David

[/quote]

Pololu's stuff is nice in that they support multiple protocols for comms; in this particular controller, they support USB, TTL serial, and on-board "scripting". The manual will tell you more, but you can basically set it up to control with TTL serial. You would use a Software Serial driver library on the Arduino, and hook the pin on the controller to the chosen digital I/O pin on the Arduino (see the library docs for which pins can/should be used), and connect the ground of the controller to the ground on the Arduino (common ground, like everything else). You would then have to write some communication code to set the baud rate, etc and send the appropriate serial commands to the controller to actuate the servos (there is already examples for similar code for the Pololu controllers and the Arduino out there; just google "Arduino Pololu servo controller code" or the like).

Good luck!

:)