Friday, February 22, 2013

My Embedded design lab has more or less finalized on a project: The Breach CRD 3-40

Well we've got a basic plan:
Make a device that automates the following algorithm (courtesy of http://www.wikihow.com/Crack-a-%22Master-Lock%22-Combination-Lock):

  1. 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
  2. Of the 12 sticking points, discard any that roughly correspond to half-digit locations on the dial.
    1. 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)
    2. If four sticking points remain, the third number is one of the four.  This seems to be prevalent in newer the "Shim-Resistant" locks
  1. Calculate the ‘Magic Number’ = ‘Third Number’ % 4
  2. The ten possible first numbers will be ‘Magic number’ + i*4, where i=0..9
  3. The ten possible second numbers will be ‘Magic number’ - 2 + i*4, where i=0..9
  4. The two possible second numbers that are the 'Third Number' +/- 2 can be removed
  5. 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