Make a device that automates the following algorithm (courtesy of http://www.wikihow.com/Crack-a-%22Master-Lock%22-Combination-Lock):
- Determine the beginning of a sticking range by
pulling on the shackle with the solenoid and attempting to rotate the dial
counter-clockwise at low current until a stall occurs. Use a back-and-forth move procedure to
find the center of sticking range (known as the "sticking
point") using the encoder position register. Release the solenoid, turn the lock a
full digit, and repeat the process around the dial finding a total of 12
sticking points
- Of the 12 sticking points, discard any that
roughly correspond to half-digit locations on the dial.
- If five sticking points remain, the third
number in the combo is the sticking point that doesn’t share its last
digit with the others (e.g. with 4,14,24,27,34, the third number would be
27, since the others all end in 4)
- If four sticking points remain, the third
number is one of the four. This seems to be prevalent in newer the
"Shim-Resistant" locks
- Calculate the ‘Magic Number’ = ‘Third Number’
% 4
- The ten possible first numbers will be ‘Magic
number’ + i*4, where i=0..9
- The ten possible second numbers will be ‘Magic
number’ - 2 + i*4, where i=0..9
- The two possible second numbers that are the 'Third
Number' +/- 2 can be removed
- Once all of the potential numbers have been
calculated, increase the motor current (to prevent stalling), and try all
possible combinations of first, second, and third numbers using an
intelligent brute force method until the correct combination is found.
Using the Zedboard as the brains of this operation, we will spin a custom board to interface with the necessary electromechanical systems (at this point: stepper motor to turn the dial, quadrature encoder for feedback, pull-type solenoid to actuate the shackle, and opto-endstop to act as limit switch to determine when we have successfully opened the lock)
No comments:
Post a Comment