this machine design and programming is built on the work of opendot team to make Mosaic pick and place machine. here is the link of the machine project. this machine is taking the tiles and place them in XY plane forming the initial index picture, I start with scaling the picture to 40X40cm, decomposing it to 10X10 pieces with height/width of 4cm each, I then find the x and y coordinates of pieces forming the picture, I use VVVV program for this part, here are the screenshots.
in the last picture are the pieces/tiles to place, layout and machne design is the same as opendot group. here I present machine behavior four flowcharts, start, pick flowhart, place flochart, pause flowchart, it is an XY axis machine, servo motor used to move the suction up and down in order to have it in the right position on the top of one tile and dc motor is used to do vacuum which is pick and place operands, servo motor and DC motor are attached to sashakit board according to design below the program is developped in arduino IDE, pick and place machine program is built in python language and gestalt hardware modules, please find below the explainations and screeshots.
I. Start flowchart.
1. servo move up, Move to 0,0.
II. Pick flowchart.
1. Move to zero position close to tile dispenser.
2. MoveBack 4cm position back this will push the tile dispenser.
3. MoveDown (servo Move down) in order for the suction to reach the right position to take one tile, the servo push the suction.
4. Pick (dc motor turn left and do vacuum) in order to pick one tile.
5. MoveUp (servo move up) servo lift the suction with the attached tile.
6. Move to zero position.
III. Place flowchart.
1. Move to (x,y) real coordinates.
2. MoveDown (servo Move down) in order for the suction to reach the right position to place one tile, the servo push the suction.
3. Place (dc motor turn right) in order to place one tile.
4. MoveUP (servo Move up).
IV. Pause.
1. pause Move to Zero position.
machine steps are:
1. Start servo move up, Move to 0,0 .
2. Move to zero position close to tile dispenser.
3. MoveBack 4cm one time to push the tile dispenser.
4. MoveDown (servo Move down) in order for the suction to reach the right position to take one tile, the servo push the suction.
5. Pick (dc motor turn left and do vacuum) in order to pick one tile.
6. MoveUp (servo move up) z axis and servo lift the suction with the attached tile.
7. Move to zero position.
8. Move to (x,y) real coordinates.
9. MoveDown (servo Move down) in order for the suction to reach the right position to place one tile, the servo push the suction.
10. Place (dc motor turn right) in order to place one tile.
11. MoveUP (servo Move up).
12. repeat 2 to 12 when it is not last tile otherwise 13.
13. pause Move to Zero.
please see the circuit design and milling in input and out put device projects of satshakit and bridge.
note that here im not using the proper dc motor, Im using the vibrating dc motor of my output devive project. it was difficut to take the video. the result of uploading the code on the circuit is correct
I tried to apply a PID controller on dc and servo motors using circuits above and data driven control approach, for data acquisition , system identification and PID controller design to find and test P I and D values then rewrite the arduino codes for DC and servo motors, the serial communication with arduino didnt work properly.
To download design on eagle and png files.
here is the board of satshakit card for pick and place machine on eagle
here is the shematic of satshakit card for pick and place machine on eagle
here is motor board for pick and place machine on eagle.
here is motor schematic for pick and place machine on eagle.
here is machine motor board for pick and place machine on png.
here is machine motor outline for pick and place machine on png.
here is sashakit machine traces
here is sashakit machine outline.
To download vvvv.
here is pick and place machine tiles to form the picture
To download csv file.
here is pick and place machine instructions
To download arduino file.
here is machine servo and dc motors programs developped with arduino IDE
To download gestalt file.
here is machine control program.