fabacademy

FAB ACADEMY 2017 / WIM LANZ

Mar 22: mechanical and machine design


This weeks task was to build and develop a machine. We document everything on this Documentation MR. Rob-berto. For that it was necessary that we make it as a group assignment to learn alot about project managment, organizing and bein creative in a collective.

Fablab

Project Managment


Hello World, our Team:
Oscar, Esteban, and Wim.

Softwares we are used:
Solidworks
Rhinoceros
Arduino

After some talking we decided to make a robotic arm. We called the Project "Mr. Rob-berto". So we started with setting up trello to organize ourselves. We really like trello because its easy to set up and nice to define all the tasks for everybody, making checklists and just to organize ourselve. We started to making some sketches and looking at different kind of robots. We defined our tasks in learning "Electronics" for Oscar, thinking about the "Robotic Arm and the machines" for Esteban and starting to make the "Documentation and setting up a html5" for Wim. After that we decided to create a logo for "Mr. Rob-berto" in llustrator.

Fablab Fablab Fablab Fablab Fablab

First prototype


We started with cardboard and made simple templates to see how the different axis are moving and trying to understand how we should build our arm. We made a simple connection for the rotation of the base. Then we started to make the other axis and tried the different rotations and movements. When we liked the prototype we could start to go more in a direction of how we want our robotic arm to move.

Fablab Fablab Fablab Fablab Fablab Fablab Fablab Fablab Fablab Fablab Fablab

Visit to Cinestesia


We had the opportunity to make a visit to Cinestesia who works on an open source project called CINESTESIA: Devices for an algorithmic body involving embodiment, performative arts and new technologies. worked with robots. They asked us if we would like to have a look at there studio and see how they develope there machines. Excited was an understatement ;)
We had a good look at their arduinos and servos they used and even had the chance to see the different movements of the different parts.

Fablab Fablab Fablab Fablab Fablab

Building a me Arm 4-axis robot


We looked at a lot of different robot arms and decided to build one that is similar to the MeArm tiny 4-axis robot.

We started disable the 3D file in solidworks, but found out later that it would be easier to open it in rhino make2D and lay all the parts on the stock for the lasercutter. Nie part about the file was that it already had all the simulation for the movements in solidworks. That comes in handy for the future when we want to buuild our own arm.

It was Saturday so the fablab was closed. We decided to go to the FabCafe, a place where you have to see when your visiting barcelona. They have a 3D printer and a lasercutter and for a small amount of coins we let our parts cut out of 3mm acrylic glas. After that we meet in the park and wanted to assemble the robot, but found out we would need the servos to assemble it. At least we found most of the screws we need in a hard ware shop.

On monday we found some servos in the lab and started to assemble it. It was difficult because acrylic glas in 3mm likes to split, so we lasercutted a second board just to be sure that we will have enough parts. Then we found out that a couple of the servos are broke so we needed to buy new ones.

The Arduino code we used:

//zoomkat dual pot/servo test 12-29-12 //view output using the serial monitor #include Servo myservo1; Servo myservo2; Servo myservo3; Servo myservo4; int potpin0 = A0; //my pot pin int potpin1 = A1; int potpin2 = A2; int potpin3 = A3; int newval1, oldval1; int newval2, oldval2; int newval3, oldval3; int newval4, oldval4; void setup() { Serial.begin(9600); myservo1.attach(11); myservo2.attach(9); myservo3.attach(10); myservo4.attach(6); Serial.println("testing dual pot servo"); } void loop() { newval1 = analogRead(potpin0); newval1 = map(newval1, 0, 1023, 0, 179); if (newval1 < (oldval1-2) || newval1 > (oldval1+2)){ myservo1.write(newval1); Serial.print("1- "); Serial.println(newval1); oldval1=newval1; } newval2 = analogRead(potpin1); newval2 = map(newval2, 0, 1023, 0, 179); if (newval2 < (oldval2-2) || newval2 > (oldval2+2)){ myservo2.write(newval2); Serial.print("2- "); Serial.println(newval2); oldval2=newval2; } newval3 = analogRead(potpin2); newval3 = map(newval3, 0, 1023, 0, 179); if (newval3 < (oldval3-2) || newval3 > (oldval3+2)){ myservo3.write(newval3); Serial.print("3- "); Serial.println(newval3); oldval3=newval3; } newval4 = analogRead(potpin3); newval4 = map(newval4, 0, 1023, 0, 179); if (newval4 < (oldval4-2) || newval4 > (oldval4+2)){ myservo3.write(newval4); Serial.print("4- "); Serial.println(newval4); oldval4=newval4 ; } delay(50); }

Fablab Fablab Fablab Fablab Fablab Fablab Fablab Fablab Fablab Fablab Fablab Fablab Fablab Fablab Fablab Fablab Fablab Fablab Fablab Fablab Fablab Fablab Fablab

Click here to download all the files.