I was thinking of using a setup like the old ir encoders from a PS2 mouse for the job (attach the encoder dial to the shaft). As the shaft turns the arduino would pick up the breaks to measure how many it had to work out a length.
Then a solenoid would be triggered to cut the chain.
Would i be correct in the approach?
Should i use a salvaged sensor from a mouse with chip or can i buy a it speed sensor and use that.
You should be able to use an spoked/cogged wheel and an optical interrupter to count the beads as the wheel rotates. This should give you "to the bead" equal lengths just by counting. As long as the wheel can't slip, you can just count the tips of the wheel going by at any point in the rotation (you don't have to directly sense the bead, the wheel stops turning if there are no beads.) This makes it mechanically simpler as well as trivial to code.
Isn't it easier to use a stepper motor with the white wheel in the picture? The wheel has 12 sockets (I guess) and this means that 1 revolution is 12 balls, ie. 72 mm. This makes it easy to program how many steps to turn the stepper motor to the desired length. Perhaps it would be good to set the desired length to be a multiple of the string step, ie. 6 mm. I don't think there is a need for additional sensors and the program becomes quite simple.
Depends if you're driving or driven. I thought the idea was to count as something else drove the spindle and you needed to fire the "cut" solenoid every Nth bead. Naturally if you're DRIVING the feeder, then yes, a stepper, or even a solenoid as the pawl on a ratchet, makes more sense. But if someone/thing is pulling the beads and we need to say "enough", then a sensor is needed to watch the idler turn.
Print up a lightly spring loaded tapered end lever with a slotted optic switch off the same.
Count the times it drops into the joiner section and when count reaches the required total, "CUT".
Above could be located anywhere along the chain so long as an arrangement is made to keep it in a guided path.