Fail of the Week: Physical Pixel Display

fotw-physical-pixel-display

This physical pixel display reminds us of a couple of different hacks that we’ve seen over the years. It looks impressive, but [Matt] couldn’t quite get it to work. It wasn’t the Kinect sensor and image interpretation that was the problem. It was a failure to get the hardware components seen above to perform reliably.

If you can’t figure out what this is supposed to do, take at look at the inFORM morphing table or the pixel wall installed at the Hyundai expo last year. [Matt's] attempt is much more modest with a grid of just 10×6. The pixels themselves are ballpoint pens (he gets bonus points for cheap and easy materials). The pens move in and out thanks to some Bowden cables connected to hobby servos. The mechanical engineers have probably already figured out the fail… the pixels seem to get hung up and despite several revisions in the materials used , it couldn’t be fixed.

The hobby servos were chosen because they are much less expensive than proper linear actuators. We thought maybe [Matt] should build his own solenoids but that’s not a great idea because you can’t have variable depth that way (can you?).  Perhaps the pens should be vertical and the servos could pull on a string attached to the pen via a pulley with gravity to return them to the starting position? There’s got to be an inexpensive and relatively simple way get this thing working. Let us know how you’d get the project back on track by leaving a comment below.


2013-09-05-Hackaday-Fail-tips-tileFail of the Week is a Hackaday column which runs every Wednesday. Help keep the fun rolling by writing about your past failures and sending us a link to the story — or sending in links to fail write ups you find in your Internet travels.

Comments

  1. Infidellic says:

    Not a cheap solution but depending on the design (no I haven’t read the links) pneumatic?

  2. justme says:

    Someone certainly has too many servos

  3. JT says:

    Yep, as he mentioned in his write-up, lubrication and less surface area holding the pens in alignment.

  4. JT says:

    Also, either increase the distance of the servo rack from the pixel hardware, or vertically stagger the servos, so the cables on the outer edges don’t bend as much.

  5. Zac says:

    Maybe a return spring near the base of each pen?

  6. Ethan Dicks says:

    Teflon sleeves for the pixels to reduce friction, compression springs to assist the servos (a retracted pixel would have a fully-compressed spring) by decreasing the force required to extend a pixel, a “push” action with the trade-off of increasing the force required to retract a pixel (a “pull” action).

    Alternately, rotating to a horizontal display and switching from servos to voice coils and magnets – solenoids, but variable (not merely binary) solenoids, retracted by gravity and extended by increasing the current on each coil.

  7. SOI Sentinel says:

    Hmmm… larger servos would have worked better. Those he has are really cheap but also very low torque. Controlling a DC solenoid can be done too. A quick search with the right keywords (it can also be called a voice coil motor), results in this:

    http://search.asee.org/search/fetch;jsessionid=1uelb7migqgrs?url=file%3A%2F%2Flocalhost%2FE%3A%2Fsearch%2Fconference%2F20%2FAC%25201996Paper495.pdf&index=conference_papers&space=129746797203605791716676178&type=application%2Fpdf&charset=

  8. Phil says:

    It doesn’t sound like he’s using springs. Surely some springs behind the pens would be the easiest way to try and get this to work, if they’re not there already? The tension in the cable just pulls against the force of the spring, when there is no tension, the pen returns.

    And yes, you can roughly control the position of a solenoid using a spring and current control. Force is roughly proportional to current, and due to the spring, position is proportional to force. Due to the non-linearities in the force vs displacement curve of most solenoids though it wouldn’t be great without a feedback loop.

    • Wired world says:

      Why not switch to nitrol wire? The current would then drive how much the pixel stood out without having all the bulky servos.

      • macona says:

        Nitinol is kind of a one way thing, you have to have something spring it back out, you might be there forever trying to find the right size return spring.

        An solenoid is the way to go on this. Using rc servos is silly.

  9. matt says:

    Besides what other people have said, how about drilling the holes larger than required? The author said his drill was wandering and from what i’ve read you usually dont want to drill a hole more than 5 times deeper than the diameter of the bit.

  10. AlanMcR says:

    Those “PVC boards” sure look like Styrofoam blocks. If so, that material has very high stiction.

  11. matt meerian says:

    All very good suggestions. I did not consider the voice coil.
    One of the main reason I used the servos I did was cost. They were about $3.50 on e-bay. Sixty of them would have been $210 USD. Yes, linear actuators would have worked better, but it would have easily gone in the several thousands of dollars. I wonder how much the MIT morphing table hardware cost.

  12. Maxzillian says:

    Rather than use stranded bowden cable for bicycles which is only for tension applications he needs to go to a push-pull cable. There are bowden cables out there that use a solid core wire is used instead of helical wrapped strands. This doesn’t offer near as much flexibility (which doesn’t appear to be much of a constraint in this application), but the solid core wire can transmit compression and tension forces instead of just tension.

    In this situation, my advice would be to replace the stranded wires with some tig welding wire which comes in a variety of sizes and should be rigid enough for this situation while still offering some flexibility. I would undersize by about .010-.015″ to minimize binding.

    • justdutch says:

      This!

      Bowden cables come in many different flavours. He seems to have used pull-pull cables (Meaning they are meant to be pulled one way, then pulled back from the other end) which are terrible at transmitting a pushing force. Get some proper push-pull bowdens and the whole thing would probably work.

    • pcf11 says:

      Choke cable?

    • Do you mean replacing the core of the bowden cable with TIG wire or replacing the whole cable? I was thinking that a bent coat hanger might work if the offset isn’t too much and you keep your angles low to avoid unwanted flex. Might have to change the servo bank configuration slightly to accommodate the hard link but that would be a fun puzzle to fit together…

    • Mr Name Required says:

      Meh. Ditch the cable idea alltogether, and use a light carbon fibre pushrod.

      As soon as I saw his servo layout, I wondered why he didn’t align them towards the plate, and why introduce unneccessary extra friction by bending the cables anyway?

  13. KleenexCommando says:

    I see this as a “meh, it won’t work after two or three tweaks – throw hands up in despair – I give up!” kind of fail. RC planes use cheap 9 gram hobby servos like that and bowden cables (ok, “push rods”) all damn day and they work fine… I could see the cables wanting to flex at the servo end as they are being pushed, so something a little stiffer, like push rods would probably have worked better, or a combo of pushrod-cable, making sure the cable stays in a sleeve for support arrangement. And maybe higher torque servos, but there isn’t much wrong there other than it being a little ugly on the workmans ship end, but prototypes will be prototypes…

  14. Karl says:

    3d print/carve a steep pitch screw for each pixel and have the servo turn that via a flexible rod.

    • Pyrofer says:

      The more I think about this the more I think its the right idea!
      In fact, with some clever gears on the back of the “pin board” you could make an array where a bank of stepper motors position the pins in one row, then it engages the next gear and positions the next row, then the next etc in a multiplexed fashion. You would need some kind of positional encoding in this example but it would reduce the need for a motor/server per pixel down to just as many as you want columns+1.

  15. Karl [k-ww] says:

    1) The wires should be thin soild piano wire.

    2) the bend on the outside actuators should be only in 1 direction, not “S” curves.

    3) the servo should drive the wire via a scotch yoke. [see: http://www.brockeng.com/mechanism/ScotchYoke.htm ]

  16. cde says:

    DIY solenoids can have variable depths. You simply tap the coil in multiple places (or have multiple coils) along the length of it. Kind of like a multi phase stepper motor.

  17. Vonskippy says:

    Flexible (i..e plastic) RC pushrods. Cheap, cut to length with wire cutters, easy to mount (zap glue), made to hook to servo’s. If they can steer a 4lb RC plane thru the air they can move a tiny piece of plastic (i.e. the pens) in and out a few inches. And use longer server arms so the movement arc is just 45 degrees or so (better power transfer then moving the arm 90 degrees or greater).

  18. Eirinn says:

    Use a piston instead of a cable, yes? :)

  19. sft2 says:

    He has the wrong cables. Too much free cable outside of he housing, and a cable made to pull, not push. Switch to flexible pushrods made for RC aircraft with the outer housing braced well and either the bare minimum free length of inner cable between the housing and servo, or a wire pushrod threaded into the inner cable in place of the short stud used to attach a clevis, which then attaches to the servo arm. Also make sure to run the servos at 4.8v minimum, 6v. Even a Hitec HS-55 should be able to move this setup easily, it’s just a matter of getting the right hardware between the servos and pixels.

  20. Jim says:

    First, I would recommend debugging the system using one of the outer pixels. After that, transfer the fix to the rest. Isolate the cable from the pixel to determine if the cable works reliably. If not, no amount of mod at the pixel end will fix it. I think the cables probably introduce most of the friction. You could use something looser. Get plastic tubing (hard plastic, not vinyl) from the hardware store and route the bike cable through that. If needed, flare the servo end of the tube, so the cable will feed into the tube even if there is some lateral motion in the wire from the servo operation. If you get the drag down, your servos should operate the pins in both directions w/ no problem. No need for fancy spring solutions, I don’t think. I agree that you probably need to switch to a solid wire rather than stranded (proper testing should resolve the question). I agree with the other commenter who suggested staggering the servos, if you need to reduce the curvature on the outer cables. This would just add a couple extra inches of cable for the servos in back. However, you could probably use half the cable length you have now if you did that, since all of the cables would essentially be straight. Carrying that thought further, if you stagger the servos so all the runs are straight, you might not need cable housings at all. Good luck.

  21. cameirn says:

    I was thinking a he may want to try a setup similar to the Bowden extruder featured earlier, why not use PLA or ABS as a “cable” you can get it for pretty cheap, bowden tubes a pretty cheap. simply drill a hole in 3mm feed stock of the color you want and use that as your cable, possibly even your pixels

  22. DainBramage1991 says:

    Cheap and easy: Stuff a small magnet into the pen bodies and wire coils into the plastic blocks surrounding each pen. Add stops on each end (some creativity may be needed here). The pens become the linear actuators and the problems disappear (at least the problems in that part of the device).

    Whether this would work or not, who knows, but that’s the way I would have tried to do this.

  23. Thinkerer says:

    Stop using bike cables (meant to be used under tension only – otherwise you’re “pushing rope”, literally and figuratively) coupled to low-force servos without the proper linkages. These servos will work well when used with low-friction flexible pushrods. Alternately use solid wire and stagger the servos to make the linkages a straight run.

    Bike cables depend on a great deal of force from the actuators (levers), are relatively high in friction, and will often bind in compression. The cable type linkages used in model aircraft are usually only used for short runs (throttle links or nosegear) and have an oversized, low friction nylon outer jacket.

    Also a bit of teflon grease around the pen barrels though with proper clearances the pen barrels should be low friction enough if everything is kept clean.

    His first mistake was not finding a good local R/C shop with devious guys behind the counter.

  24. Liberty Baker says:

    By analogy to the Norden bombsight, strap an electric motor with a large, unbalanced mass attached to its rotor to the underside of the thing. Most mechanical systems run a lot smoother when they vibrate since the vibration takes discrete motion opposed by static friction and converts it to continuous motion opposed by kinetic friction (which is generally the weaker force).

  25. Harry says:

    PTFE tubing of the type used on bowden extruders and the appropriate filament run through as the actuator. Make the holes in the blocks oversized enough for some noticeable play (if held vertical then pen bodies would drop out under gravity).
    i agree with all the comments about the uses of pull-pull cable, it does NOT like being used like this and attempts to twist and expand when pushed causing all sorts of binding.
    I have found that 2mm ID PTFE tubing and 1.75mm PLA filament wiped with cooking oil works great for this type of linkage.

  26. MRE says:

    Aliexpress has mall solenoids for cheap ($1-$2 US). Could be a higher density array. But no variable depth. Good tradeoff to reduce complexity while increasing resolution.

  27. Using syringes and coloured water with some sort of air selector a bit like the B*e*ng ones use for their tail controls would also work.
    Then he could recycle the servos and the setup would be a lot quieter :-)

    Also relevant, you could use UV LEDs and Highlighter fluid to um, highlight important pixels.

  28. Marty Lawson says:

    I’d re-mount the servos so I could directly drive each pixel with a rigid piece of wire. It looks like your pixel pitch is enough larger than the width of each servo to fit a rigid wire rod between them. This will allow the servos to be mounted close packed in staggered levels, and the control rods from lower levels can pass between the servos from the level above. i.e. 2nd level behind the 1st, 3rd behind the 2nd, and 4th lever above the 1st, etc. all levels aligned with the pixels they drive.

  29. RoadWarrior222 says:

    Graphite lube.

  30. el jonco says:

    Why don’t you use air pressure and operate in a pixel-matrix way? You have most of the setup already there. Have the pens gripped by default and free-sliding by servo operation. Apply positive air pressure, free a row and free all columns where a pen has to move out, let pens slide until kinect reports appropriate position; then let servo block that column again. Loop through rows. In a subsequent loop, apply negative pressure to pull in pixels that are too far out; air pressure change should be in the outer loop as this is the slowest changing mechanical variable. For light pens (foam cores?) a computer fan might be sufficient.
    This makes for an analog system with pixels moving only delta distance.
    Mechanical implementation: add another block of foam like the one you now have sliced horizontally, but slice vertically, slice up each foam block in 3 subslices, so each pen sits in 6 boreholes in line. Put servos on the side of the middle horizontal (slice 2) and middle vertical slice (slice5), have boreholes in slice 2 and 5 oval and pad them on one side with soft foam. Each pen is blocked (pinched) by a piece of column foam and a piece of row foam and can only move if both foams are retracted, allowing the matrix adressing.
    The number of servos in this solution also increases with order(n) rather than order sqr(n) for larger displays.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 94,612 other followers