WKT03a-21 Automatic Wiring Machine

Subscribe
Notify of
8 Comments
Inline Feedbacks
View all comments
YIP, Kam Wai(@eekeith)
January 19, 2022 5:24 pm

How do you tighten the screw with proper torques?

CHAN, Siu Lung(@slchanam)
January 19, 2022 5:32 pm
Reply to  YIP, Kam Wai

The electric screwdriver has anti-stripped mechanism in-built. So for the control procedure, we begin with a slow rotation to fit the screwdriver’s head into the screw head. Then we rotate the screwdriver for a certain amount of time to make sure it is tight. Benefit from the anti-stripped mechanism, we can prevent the damage on the screwdriver and the screw’s head with proper torque.

CAO, Xuanyu(@eexcao)
January 19, 2022 3:58 pm

What’s the main challenge of implementing this automatic wiring machine?

LI, Ka Yui(@kyliat)
January 19, 2022 4:03 pm
Reply to  CAO, Xuanyu

Thank you for your question, we are confused about the “implementing” the automatic wiring machine, do you mean developing the machine or apply the machine on the field?

CHAN, Siu Lung(@slchanam)
January 19, 2022 6:10 pm
Reply to  LI, Ka Yui

For challenge of developing the machine:

  1. For mechanical part
  2. the existing gantry system on the market is usually expensive and we have need of integrating a pneumatic slide table as the z-axis movement. As existing design like screw thread system is using pulse to move. If the PLCs have different height, screw thread system can break the machine. On the other hand, it does not matter for using pneumatic slide table for z-axis movement even the PLCs have different height.

CONT.

CHAN, Siu Lung(@slchanam)
January 19, 2022 6:14 pm
Reply to  CHAN, Siu Lung

For software part
When extracting the information from FreeCad, we have to figure out which specific command line. We discover that if we want to obtain the module’s location, we need to use for loop to find “typ_uk2.5B “model first, and then use “Placement” to get the model’s name and the coordinates. After that, we can use “Placement.Base” to insert them to the “ComponentPlacement” array, but we only can use “Geometry. Location” to get the location of the screw holes instead of “Placement.Base”. We take some time to research this task. At last, we can get and store the module’s location and its screw hole successfully.

CHAN, Siu Lung(@slchanam)
January 19, 2022 6:22 pm
Reply to  CHAN, Siu Lung

Furthermore, Before coding the wiring path algorithm using Python, we had discussed Ho the rules of the routing path. At first, we have researched and watched the procedure of the DB box manually. There are some common points, e.g., there are one to two turning points mainly, the cable must be followed by cable trucking, and the cable capability of cable trucking has the maximum number. According to those rules, we have a first approach. 

The progress is in the following:

  1. Defaulting all cables are starting at the source point (0,0)
  2. Determine the screw is left or right, and what is the closest cable trucking
  3. If the cable trucking is next to the source point, go to point(0,y1). y1 is the location of the y-axis of the  screw hole. And then move to (x1, y1). (x1, y1) is the final location of the screw hole.
  4. If the cable trucking is not next to the source point, then go to point(x,0), x is the location of the x-axis of the cable trucking. After that, move to (x,y1). y1 is the location of the y-axis of the screw hole. And then move to (x1, y1). (x1, y1) is the final location of the screw hole.
  5. When arrived the final location of the screw hole, turn 90 degrees clockwise or anti-clockwise, which depend on the screw is left or right.
  6. The wiring action is performed repeatedly until all connection has competed.

However, sometimes, the connection is different and not flexible, cannot apply all case. so we have to design another approach which is approach 2:

  1. generate all turning points
  2. filter out all useless turning point
  3. calculate the shortest path distance

this approach is the best idea that we have

at last, In order to make the pathing visible, I utilise the Tkinter library of Python to build a GUI. All components information is listed and projected to the GUI, such as the size of the metal base, location of screws and cable holes. On the 2D graph of the DB box, there are different symbols. The circles are screw location; the single line is wiring path; the tribe line is cable trucking. The GUI is beneficial to programmers and technicians. It helps to design the routing path and understand the progress that the machine will operate.

those challenges that we have faced when doing the FYP project. Thank you !