top of page

2.5 DOF System: Automatic Screwdriver

The project was to create a 2.5 DOF system with an end effector that does a unique function. The end effector we decided on was an automatic screw driver. The primary application of this would be an assembly line or to be used alongside image recognition and detect screws that need to be screwed and unscrewed.

Planning

We started with an initial sketch of our system. The bars in the system would be made out of 80/20 aluminum bars, which would serve as the primary structure for our system. Originally we had planned to use this for small items with precise screw holes in known areas, such as a PCB board. The materials needed for this were the following: 

  • NEMA Stepper Motors: 3

  • Driving Pulleys: 4

  • Servo-Motor: 1

  • Arduino with Wiring: 1

  • Automatic Screwdriver: 1

  • 80/20 Aluminum Bars (1 foot long): 4

Sketch of System

 

 

 

 

 

 

 

 

Assembling

There would have to be parts 3D printed in order to support the structure. Specifically we would need attachments on the ends of the rails to support motors and belt, sliders in order for the top rail to move, parts to hold the end effector, and specific brackets to hold parts being screwed. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

After the parts were made, the system was assembled with the proper bolts and holes in the 80/20. The system also needed to be raised in order for the screwdriver to sufficiently go down. The system was secured to a wood board where the parts were also bolted into. Once the system was assembled, the motors needed to be coded in order to function correctly. 

Coding

The coding was done on Repetier host, and the motors were powered by an Arduino. There were 3 separate motors that needed to be coded simultaneously. The two base ones had to move at the same rate in order to control the X motion of the system. There was one motor that would have to move the end effector carriage in the Y direction. Finally there was a motor that would raise and lower the screwdriver in the Z direction. A servo motor was also needed to push the button and activate the screwdriver. This meant that these needed to be coded sequentially with precise timing. The most challenging part was getting the motor to gradually lower or raise the screwdriver while the screwdriver screwed and unscrewed so that it would not get stuck. We had to use the angular velocity of the screwdriver to find how fast the screwdriver needed to be lowered based on the number of revolutions that were being completed per second.

unknown (6).png

The Final Product

ME360team.jfif
bottom of page