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.

51 thoughts on “Fail Of The Week: Physical Pixel Display

    1. Literally, replace ball pens with syringes and attach via flexible tube to another syringe (can be different size for a gear like effect) which is rigidly attached to the servos. Hell you can get 100 10ml syringes for ~£5GBP

  1. 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.

  2. 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=

  3. 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.

      1. 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.

  4. 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.

  5. 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.

  6. 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.

    1. 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.

    2. 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…

    3. 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?

  7. 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…

    1. 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.

  8. 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).

  9. 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.

  10. 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.

  11. 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

  12. 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.

      1. Nice link! Despite having lost several months of my life to winding coils at a factory when I was younger, it just never occurred to me to use the bobbin winder on a sewing machine to do that (the factory machines did it basically the same way, including the cut fingers). Genius!

  13. 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.

  14. 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).

  15. 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.

  16. 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.

  17. 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.

  18. 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 to KleenexCommandoCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.