
HACK-A-THING COMPETITION
2019
Challenge: Sift 'n Screw
I built a screw sorting machine for this competition. The machine is a perfect exemplar of mechatronic engineering.
As a team leader, I was in charge of concept generation, mechanical design, circuit design, prototyping, testing, and assembly.
We won the third place and was awarded $2,000 for this design.

Meet The Team

Sean Cai
Project Lead

Daniel Olsen
Mechanical Engineer

Challenge Background
A UR-5 Robot Arm, equipped with a power screwdriver, is used to drive screws at various locations within an automotive component. A bin full of screws are available, but they need to be picked up, properly oriented and fed to the power screwdriver in order to truly automate the screw driving process.
Problem Statement
Enable a UR5 to pick up only one screw at a time that can be used to fasten parts. Screws will be placed in a bulk container to start.

The Machine

Key features
Shaker Mechanism
One of the problem I faced was the screw stuck in the feeding slide. I observed that, even though screws at one end of the feeding slide are getting picked up, the ones at the other end would not move due to friction.
I designed this reciprocating mechanism using a DC motor and a linear rail. This mechanism effectively shake all the screws in the feeding slide. The screw does not stuck there anymore.

Jam Detection
Jam happens, and it happens a lot! The screw could be jammed through out this sorting process. If a screw is jammed and there is no protection mechanism for it, it will lead to anywhere from motor wear and tear to a catastrophically failure. A reliable jam detection mechanism is crucial.
The mechanism I designed includes an encoder wheel, a laser emitter, and a receiver. The encoder wheel has slots that are evenly spaced. The laser emitter shines a beam through the encoder wheel, and the laser is received on the other end. When the encoder wheel starts turning, the microcontroller will start counting ON and OFF counts of the Laser Receiver.
It takes less than 25 counts to pass a slot. When everything is normal, it would be 25 counts ON, 25 counts OFF, 25 counts ON... However, when jam happens, there will be more than 25 counts of ON or OFF. In that case, the microcontroller will automatically reverse the motor for a few seconds, then move forward again. During my testing run, it would solve the jam 99% of the time.


Orientation Stage
The last piece of the puzzle is the orientation stage. This stage has three functionalities: tilt, rotate, and press.
Tilt: Since there is not a feedback loop for the robot to know where the screw is, the screw has to go to an exact location every time. The tilt mechanism ensures that the screw will slide into the center of the rotating plate every time.
Rotate: The screwdriver bit is a Trox type. Without matching the Trox pattern on the screw to the pattern on the screwdriver bit, the screw will not be magnetically connected to the bit. A rotating mechanism that powered by a servo ensures that the screw will be attached on the bit every time.
Press: In order for to ensure the screw is fully pushed into the screwdriver bit, the rotating plate and the base is connected by 4 compression springs. The UR5 robot can now fully push down on the screw and pick it up using the screwdriver, without worrying about its joint locking.
