I've done lots on the dobby control box. I was originally thinking along the lines of using solenoids as the pull, but for various reasons I have decided to go with servo motors.
you want reasons? you got 'em.
1: servos are plentiful on ebay, solenoids are not
2: servos typically come with female connectors ready to plug into a board, solenoids do not
3: servos are widely used by the R/C people, thus giving me a huge wealth of community feedback and knowledge. Solenoid, though apparently simple, are more difficult for an amateur to learn how to use
4: solenoids need to remain powered constantly while a lift is waiting, servos do not
5: solenoids get hot, servos do not
Anyway, now that i've finished slagging off solenoids (i love them really, i make my own out of paper and wire in preparation for the day when i finally crack, go completely off the rails and decide to hand-make 400 solenoids for my own jacquard liftbox) and praising servos to the sky, I should say a little thing.
Much help from Tom L at Edinburgh Hacklab in particular the long term loan of an SSC32 servo control board, capable of controlling up to 32 servos based on serial input.
right now I am successfully cycling through a weaving pattern by use of a push button, and can also go back and forth through the pattern with left and right buttons. The pattern is sent to the controller in two parts, as the servos don't like all being commanded at once, due to power issues (i don't have enough power, because I get supplies out of the random-power-supplies box at a local charity shop and you take what you're given really)
Anyhow, it works. Sorta. I always seem to have to fix something in the code every time I fire it up. Guess I should stop pissing about with it. Now I need to make a board to affix all the servos and the control board to, also the bit of stripboard that'll have the wiring for the lift detector and the forward-backward buttons. But I might just do that in software for now. Though I do want a lift detector. I might just attach some foil to the loom somewhere. The big question is where and when do I declare a lift.
The reason this is an issue is that the program uses the lifting period (when shafts are raised) to reset the servos to waiting position, so if this occurs before the lifting bar has made contact with the hooks, then the lift could be missed.
It should be relatively simple when it's sitting on the loom. Fingers crossed