WO2022213207A1 - System and method for assembly and/or modification of printed circuit boards (pcbs) - Google Patents

System and method for assembly and/or modification of printed circuit boards (pcbs) Download PDF

Info

Publication number
WO2022213207A1
WO2022213207A1 PCT/CA2022/050539 CA2022050539W WO2022213207A1 WO 2022213207 A1 WO2022213207 A1 WO 2022213207A1 CA 2022050539 W CA2022050539 W CA 2022050539W WO 2022213207 A1 WO2022213207 A1 WO 2022213207A1
Authority
WO
WIPO (PCT)
Prior art keywords
pcb
component
working
processors
component unit
Prior art date
Application number
PCT/CA2022/050539
Other languages
French (fr)
Inventor
Gowtham RAMACHANDRAN
Perumal Varun Chadalavada
Susan Wu
Adam POSNER
Kaustubh SHINDE
Original Assignee
Addem Labs Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Addem Labs Inc. filed Critical Addem Labs Inc.
Publication of WO2022213207A1 publication Critical patent/WO2022213207A1/en

Links

Classifications

    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K13/00Apparatus or processes specially adapted for manufacturing or adjusting assemblages of electric components
    • H05K13/04Mounting of components, e.g. of leadless components

Definitions

  • TITLE SYSTEM AND METHOD FOR ASSEMBLY AND/OR MODIFICATION OF
  • PCBS PRINTED CIRCUIT BOARDS
  • PCBs printed circuit boards
  • PCBs Printed circuit boards
  • a PCB functions as a mechanical support platform that can electrically couple different electronic circuit components to build various circuit design configurations.
  • the process of producing an assembled PCB typically involves initially fabricating the PCB, or otherwise, modifying a blank PCB to include one or more fabricated features including, inter alia, one or more connection points (i.e. , contact pads) as well as one or more conductive interconnections (i.e., traces).
  • connection points i.e. , contact pads
  • conductive interconnections i.e., traces.
  • the contact pads allow for mounting electronic circuit components (i.e., surface mounted devices or through-hole components) to the PCB, while the conductive traces form the electrical connections between these circuit components.
  • the PCBs are fabricated in accordance with specific circuit design layouts which map the desired locations of the various fabricated features.
  • electronic components may then be mounted to the PCB by soldering contact points of these electronic components (i.e., pins, etc.) to respective contact pads (i.e., footprints on the PCB).
  • Electronic components that can be mounted to the PCB include, for example, passive electrical components (i.e., resistors, capacitors, diodes, etc.), as well as active electrical components (i.e., microcontroller chips, etc.).
  • a system for automated assembly and/or modification of printed circuit boards comprising: at least one working-component unit, the at least one working-component unit comprising a pick-and-place device; a motion system for translating the at least one working-component unit to various positions; a PCB receiving area for mounting an at least partially fabricated PCB; one or more processors coupled to the at least one working-component unit and the motion system, the one or more processors being configured to: receive a trigger event to remove an electronic component mounted to an area of the printed circuit board (PCB); heat paste located at the area to a pre-determ ined temperature; and control the pick-and-place device to remove the electronic component from the PCB.
  • PCB printed circuit board
  • the trigger event comprises receiving a user input to remove the electronic component.
  • the user input is received via an insertable plug-in of a user interface associated with a PCB design software.
  • the trigger event comprises accessing an assembly design file which comprises a modification to the PCB involving removing the electronic component.
  • the at least one working-component unit further comprises a localized heating device, and wherein the one or more processors are configured to perform the heating by operating the localized heating device.
  • the at least one working-component unit further comprises one or more of an electrical test probe or at least one camera
  • the one or more processors are configured to: conduct a validation test to determine correct placement of electronic components on the PCB, wherein the validation test comprises testing one or more electronic components using the electrical test probe or by imaging at least a portion of the PCB using the at least one camera.
  • the trigger event comprises a failed validation test result in respect of incorrect placement of the electronic component.
  • the pre-determ ined temperature is a second pre determined temperature
  • the at least one working-component unit further comprises an area heater operatively coupled to the one or more processors, and the one or more processors are configured to: prior to heating the past at the area, operate the area heater to heat the PCB to a first pre-determ ined temperature that is different than the second pre determined temperature in order to heat the paste to a pre-melting temperature point.
  • the area heater comprises a plurality of sub heating blocks, and the one or more processors are configured to activate one or more sub heating blocks, located underneath the area, to heat the paste located at the area.
  • the area heater comprises a plurality of sub heating blocks
  • the one or more processors are configured to activate the one or more sub-heating blocks, located underneath the area, to heat the paste located at the area.
  • the system further comprises a part receiving area housing a number of un-assembled electronic components
  • the at least one working- component unit further comprises a paste dispenser
  • the one or more processors are configured to: control the gantry head translation mechanism to translate the at least one working-component unit to the part receiving area; control the pick-and-place device, of the at least one working-component unit, to pick-up an un-assembled electronic component from the part receiving area; control the motion system to translate the at least one working- component unit to a target area of the PCB after the pick-up of the un-assembled electronic component; control the pick-and-place device, of the at least one working-component unit, to mount the un-assembled electronic component to the target area; and concurrently control the motion system and the paste dispenser to deposit paste around the mounted electronic component.
  • the one or more processors prior to controlling the pick-and-place device to pick-up the un-assembled electronic component, are configured to: classify one or more un-assembled electronic components in the part receiving area using one or more classification tests; and based on the one or more classification tests, identify the un-assembled electronic component as a target component for assembly.
  • the classification test is an imaging test
  • the at least one working-component unit further comprises at least one camera
  • the one or more processors are configured to: control the at least one camera to capture an image of at least a portion of the receiving area; perform image analysis on the captured image to classify one or more un-assembled electronic components in the captured image; and identify the un-assembled electronic component based on the image analysis.
  • the one or more processors are further configured to: identify at least one or more visual indicia in the image; and determine a component type corresponding to each visual indicia to classify the one or more un-assembled electronic components.
  • the one or more classification tests include an electrical probe test
  • the at least one working-component unit further comprises at least one electrical probe
  • the one or more processors are configured to: control the at least one working-component unit to electrically couple the at least one electrical probe to at least one un-assembled electronic component in the receiving area; receive measured electrical property data in respect of the at least one un-assembled electronic component that is electrically coupled to the at least one electrical probe; and classify the at least one un assembled electronic component based on comparing the measured electrical property data to pre-determ ined electrical property data of various un-assembled electronic components.
  • the classification test is a component weight test
  • the at least one working-component unit further comprises at least one weight sensor
  • the one or more processors are configured to: control the motion system and the pick-and-place device to pick-up each one or more un-assembled electronic components; receive measured weight property data in respect of the one or more un-assembled electronic components; and classify the one or more un-assembled electronic component by comparing the measured weight property data to pre-determ ined weight property data of various un-assembled electronic components.
  • the one or more processors are operated in a user-controlled mode, wherein in the user-controlled model, the one or more processors are configured to control the at least one working-component unit and the motion system only in response to received user command inputs.
  • the one or more processors are operated in a semi- automated mode, wherein in the semi-automated mode, the one or more processors are configured to receive one or more initial user command inputs, and are further configured to automatically control the at least one working-component unit and the motion system to automatically perform subsequent actions in accordance with the one or more initial user command inputs.
  • the one or more processors are operated in an automated mode, wherein in the automated mode, the one or more processors are configured to control the at least one working-component unit and the motion system in a fully-automated manner.
  • the system further comprises a memory coupled to the one or more processors, and in the user-controlled mode, the one or more processors are further configured to record, in the memory, the user command inputs and generate one or more user preference rules, and in the automated or semi-automated modes, the one or more processors are configured to automatically control the at least one working-component unit and the motion system in accordance with the one or more user preference rules.
  • the at least one working-component unit comprises a gantry head assembly
  • the motion system comprises a gantry head translation mechanism
  • the motion system comprises at least one of: one or more SCARA arms, one or more five bar linkage robots, one or more independent motion robots, one or more wheeled robots or one or more swarm robots.
  • the paste dispenser comprises at least one of: a mechanical dispenser, a stencil dispenser, a pneumatic dispenser, a hydraulic dispenser, a piezo dispenser, or an inkjet dispenser.
  • the paste comprises at least one of a conductive paste, epoxies or other conductive inks.
  • the localized heater comprises at least one of a radiative infrared (IR) heater, a convective heater or a contact heater.
  • IR infrared
  • the pick and place device comprises at least one of a mechanical finger, a joint based gripper, electrostatic gripper or a pneumatic gripper.
  • PCBs printed circuit boards
  • the method comprising: receiving a trigger event to remove an electronic component mounted to an area of a printed circuit board (PCB); heat paste located at the area to a pre-determined temperature; and controlling a pick-and-place device of the at least one working-component unit to remove the electronic component from the PCB, wherein the method is performed using one or more processors.
  • the heating occurs by operating a localized heating device of at least one working component unit.
  • the trigger event comprises receiving a user input to remove the electronic component.
  • the user input is received via an insertable plug-in of a user interface associated with a PCB design software.
  • the trigger event comprises accessing an assembly design file which comprises a modification to the PCB involving removing the electronic component.
  • the trigger event comprises a failed validation test result in respect of incorrect placement of the electronic component.
  • the method further comprises: conducting a validation test to determine correct placement of electronic components on the PCB, wherein the validation test comprises testing one or more electronic components using the electrical test probe at least one working-component unit, or by imaging at least a portion of the PCB using at least one camera of the at least one working-component unit.
  • the trigger event comprises a failed validation test result in respect of incorrect placement of the electronic component.
  • the pre-determ ined temperature is a second pre determined temperature
  • the method further comprises: prior to heating the paste at the area, operating, by the one or more processors, an area heater to heat the PCB to a first pre determined temperature that is different than the second pre-determ ined temperature in order to heat the paste to a pre-melting temperature point.
  • the area heater comprises a plurality of sub heating blocks
  • the method comprises heating the paste at the area by activating one or more sub-heating blocks located underneath the area.
  • the area heater comprises a plurality of sub heating blocks
  • the method comprises heating the paste at the area by activating one or more sub-heating blocks located underneath the area.
  • the method further comprises: controlling a motion system to translate the at least one working-component unit to a part receiving area housing a number of un-assembled electronic components; controlling the pick-and-place device, of the at least one working-component unit, to pick-up an un-assembled electronic component from the part receiving area; controlling the motion system to translate the at least one working-component unit to a target area of the PCB after the pick-up of the un assembled electronic component; controlling the pick-and-place device, of the at least one working-component unit, to mount the un-assembled electronic component to the target area; and concurrently controlling the motion system and a paste dispenser on the at least one working-component unit, to deposit paste around the mounted electronic component.
  • the method prior to controlling the pick-and-place device to pick-up the un-assembled electronic component, the method further comprises: classifying one or more un-assembled electronic components in the part receiving area using one or more classification tests; and based on the one or more classification tests, identifying the un-assembled electronic component as a target component for assembly.
  • the classification test is an imaging test
  • the method further comprises: controlling at least one camera on the at least one working-component unit to capture an image of at least a portion of the receiving area; perform image analysis on the captured image to classify one or more un-assembled electronic components in the captured image; and identifying the un-assembled electronic component based on the image analysis.
  • the method further comprises: identifying at least one or more visual indicia in the image; and determining a component type corresponding to each visual indicia to classify the one or more un assembled electronic components.
  • the classification test is an electrical probe test
  • the method further comprises: controlling the at least one working-component unit to electrically couple at least one electrical probe of the at least one working-component unit to at least one un-assembled electronic components in the receiving area; receiving measured electrical property data in respect of the at least one un-assembled electronic component that is electrically coupled to the at least one electrical probe; and classifying the at least one un-assembled electronic component based on comparing the measured electrical property data to pre-determ ined electrical property data of various un-assembled electronic components.
  • the classification test is a component weight test
  • the method further comprises: controlling the motion system and the pick-and-place device to pick-up each of the one or more un-assembled electronic components; receiving measured weight property data in respect of the one or more un-assembled electronic components; and classifying the one or more un-assembled electronic components by comparing the measured weight property data to pre-determ ined weight property data of various un-assembled electronic components.
  • the one or more processors operate in a user-controlled mode, wherein in the user-controlled model, the one or more processors are configured to control the at least one working-component unit and the motion system only in response to received user command inputs.
  • the one or more processors operate in a semi- automated mode, wherein in the semi-automated mode, the one or more processors are configured to receive one or more initial user command inputs, and are further configured to automatically control the at least one working-component unit and the motion system to automatically perform subsequent actions in accordance with the one or more initial user command inputs.
  • the one or more processors operate in an automated mode, wherein in the automated mode, the one or more processors are configured to control the at least one working-component unit and the motion system in a fully-automated manner.
  • the method further comprises recording the user command inputs and generating one or more user preference rules, and in the automated or semi-automated mode, automatically controlling the at least one working-component unit and the motion system in accordance with user preference rules.
  • the at least one working-component unit comprises a gantry head assembly
  • the motion system comprises a gantry head translation mechanism
  • the motion system comprises at least one of: one or more SCARA arms, one or more five bar linkage robots, one or more independent motion robots, one or more wheeled robots, or one or more swarm robots.
  • the paste dispenser comprises at least one of: a mechanical dispenser, a stencil dispenser, a pneumatic dispenser, a hydraulic dispenser, a piezo dispenser, or an inkjet dispenser.
  • the paste comprises at least one of a conductive paste, epoxies or other conductive inks.
  • the localized heater comprises at least one of a radiative infrared (IR) heater, a convective heater or a contact heater.
  • the pick and place device comprises at least one of a mechanical finger, a joint based gripper, electrostatic gripper and a pneumatic gripper.
  • a system for automated assembly and/or modification of printed circuit boards comprising: at least one working-component unit, the at least one working-component unit comprising a pick-and-place device for picking-up and dropping electronic components, a localized heating device, a paste dispenser, and at least one camera; a motion system for translating the at least one working-component unit to various positions; a PCB receiving area for mounting a PCB; a part receiving area for receiving unassembled electronic components; one or more processors coupled to the at least one working-component unit and the motion system, the one or more processors being configured to assemble and/or modify the PCB in one or more an automated mode, a semi- automated mode or a user-controlled mode.
  • PCBs printed circuit boards
  • the one or more processors are configured to control the at least one working-component unit and the motion system only in response to received user command inputs.
  • the one or more processors are configured to receive one or more initial user command inputs, and are further configured to automatically control the at least one working-component unit and the motion system to automatically perform subsequent actions in accordance with the one or more initial user command inputs.
  • the system further comprises at least one user computer device, and one or more initial user command inputs are received from the at least one user computer device.
  • the system further comprises an integrated input interface, and the one or more initial user command inputs are received via the integrated input interface.
  • the one or more processors are configured to control the at least one working-component unit and the motion system in a fully-automated manner.
  • the one or more processors are further configured to record the user command inputs and generate one or more user preference rules, and in the automated or semi-automated mode, the one or more processors are further configured to automatically control the at least one working-component unit and the motion system in accordance with user preference rules.
  • FIG. 1A is an example embodiment of an environment for operating an apparatus for automated assembly of printed circuit board (PCBs).
  • PCBs printed circuit board
  • FIG. 1 B is an illustration of an example embodiment of the apparatus for automated PCB assembly in accordance with the teachings herein, and showing a top perspective view of the apparatus.
  • FIG. 1 C is an illustration of an example embodiment of the apparatus for automated PCB assembly, and showing an elevation view of the apparatus.
  • FIG. 1 D is a schematic illustration of an example pre-fabricated PCB.
  • FIG. 2 is a simplified block diagram for an example embodiment of a system for automated PCB assembly in accordance with the teachings herein.
  • FIG. 3 is a simplified block diagram of an example embodiment of the hardware components of the apparatus for automated PCB assembly in accordance with the teachings herein.
  • FIG. 4 is a simplified block diagram for an example embodiment of a gantry head assembly, in accordance with at least one embodiment.
  • FIG. 5 is a schematic illustration of an example embodiment of the interior of the apparatus for automated PCB assembly.
  • FIG. 6A is a schematic illustration of an example embodiment of a PCB mounting structure and area heater.
  • FIG. 6B is a schematic illustration of an example embodiment of a mounting platform used in the PCB mounting structure of FIG. 6A.
  • FIG. 6C is a schematic illustration of an example embodiment of a securing clamp used in the PCB mounting structure of FIG. 6A.
  • FIG. 6D is an example embodiment of an underside imaging device that can be used in the apparatus for automated PCB assembly.
  • FIG. 7A is a schematic illustration showing a perspective view of an example gantry head assembly.
  • FIG. 7B is a schematic illustration showing a side elevation of the example gantry head assembly of FIG. 7A.
  • FIG. 7C is a schematic illustration showing a front view of the example gantry head assembly of FIG. 7A.
  • FIG. 8 is an example embodiment of a method for automated assembly of PCBs, in accordance with at least one embodiment.
  • FIG. 9A is an example embodiment of a method for classifying pre-sorted electrical components that are received into the apparatus.
  • FIG. 9B is an example embodiment of a method for classifying unsorted electrical components that are received in the apparatus.
  • FIG. 9C is a schematic illustration of an example electrical component compound wheel.
  • FIG. 9D is a schematic illustration of electrical components in a pre-sorted and a post-sorted stage.
  • FIG. 9E is a schematic illustration of one or more electronic compartment units located over an open area platform defining a component receiving area.
  • FIG. 10 is an example embodiment of a method for matching (i.e. , pairing) un- assembled electrical components to electrical components identified in a PCB design file.
  • FIG. 11 is an example embodiment of a method for automated PCB assembly, in accordance with at least one embodiment.
  • FIG. 12 is example embodiment of a method for automated editing or re working of a PCB.
  • FIG. 13 is an example embodiment of a method for using a de-soldering head, on a gantry head assembly, to remove solder from PCB contact pads during re-working or editing of a PCB.
  • FIG. 14 shows an example architecture for a machine learning model used for image analysis.
  • Coupled can have several different meanings depending in the context in which these terms are used.
  • the terms coupled or coupling can have a mechanical, fluidic or electrical connotation.
  • the terms coupled or coupling can indicate that two elements or devices can be directly connected to one another or connected to one another through one or more intermediate elements or devices via an electrical or magnetic signal, electrical connection, an electrical element or a mechanical element depending on the particular context.
  • coupled electrical elements may send and/or receive data.
  • communicative as in “communicative pathway,” “communicative coupling,” and in variants such as “communicatively coupled,” is generally used to refer to any engineered arrangement for transferring and/or exchanging information.
  • exemplary communicative pathways include, but are not limited to, electrically conductive pathways (e.g., electrically conductive wires, electrically conductive traces), magnetic pathways (e.g., magnetic media), optical pathways (e.g., optical fiber), electromagnetically radiative pathways (e.g., radio waves), or any combination thereof.
  • Exemplary communicative couplings include, but are not limited to, electrical couplings, magnetic couplings, optical couplings, radio couplings, or any combination thereof.
  • infinitive verb forms are often used. Examples include, without limitation: “to detect,” “to provide,” “to transmit,” “to communicate,” “to process,” “to route,” and the like. Unless the specific context requires otherwise, such infinitive verb forms are used in an open, inclusive sense, that is as “to, at least, detect,” to, at least, provide,” “to, at least, transmit,” and so on.
  • the example embodiments of the systems and methods described herein may be implemented as a combination of hardware or software.
  • the example embodiments described herein may be implemented, at least in part, by using one or more computer programs, executing on one or more programmable devices comprising at least one processing element, and a data storage element (including volatile memory, non-volatile memory, storage elements, or any combination thereof).
  • These devices may also have at least one input device (e.g. a keyboard, mouse, touchscreen, or the like), and at least one output device (e.g. a display screen, a printer, a wireless radio, or the like) depending on the nature of the device.
  • some elements that are used to implement at least part of at least one of the embodiments described herein may be implemented via software that is written in a high-level procedural language such as object-oriented programming.
  • the program code may be written in C ++ , C#, JavaScript, Python, or any other suitable programming language and may comprise modules or classes, as is known to those skilled in object-oriented programming.
  • some of these elements implemented via software may be written in assembly language, machine language, or firmware as needed. In either case, the language may be a compiled or interpreted language.
  • At least some of these software programs may be stored on a computer readable medium such as, but not limited to, a ROM, a magnetic disk, an optical disc, a USB key, and the like that is readable by a device having at least one processor, an operating system, and the associated hardware and software that is used to implement the functionality of at least one of the embodiments described herein.
  • the software program code when read by the device, configures the device to operate in a new, specific, and predefined manner (e.g., as a specific-purpose computer) in order to perform at least one of the methods described herein.
  • At least some of the programs associated with the devices, systems, and methods of the embodiments described herein may be capable of being distributed in a computer program product comprising a computer readable medium that bears computer usable instructions, such as program code, for one or more processing units.
  • the medium may be provided in various forms, including non-transitory forms such as, but not limited to, one or more diskettes, compact disks, tapes, chips, and magnetic and electronic storage.
  • the medium may be transitory in nature such as, but not limited to, wire-line transmissions, satellite transmissions, internet transmissions (e.g., downloads), media, digital and analog signals, and the like.
  • the computer useable instructions may also be in various formats, including compiled and non-compiled code.
  • prior systems for automating PCB assembly are typically adapted for large volume PCB production. That is, these systems are operable to efficiently produce, en-masse, PCBs using “tried-and-tested” design layouts. Once the system has been configured to re-produce the PCB design for one PCB, the system may then be automated to replicate the same layout for a large volume of PCBs in an assembly-line fashion. In turn, many of these systems are best suited for industrial scale production of PCBs. These conventional systems are, however, otherwise poorly suited for small scale PCB assembly.
  • systems adapted for volume production of PCBs may not find particular suited applicability in contexts where the PCB design layout is not yet “tried-and-tested”, but is still in the design phase. This is because these systems often involve large, complicated and inflexible setups. For example, it is often the case that PCB design engineers, hobbyists and the like, may need to iterate through multiple PCB design layouts before settling on an optimal design. To this end, each iteration of the PCB design may require the PCB to be assembled using different electrical components, or electrical components arranged in different configurations.
  • a method and system for fully automated and efficient PCB assembly there is a desire for a method and system for fully automated and efficient PCB assembly.
  • a method and system for automated PCB assembly which may not only permit forward assembly processes, but may also allow for a non-linear assembly process. More particularly, such a method and system may allow for “jumping” between assembly stages such that the system may be able to reverse the assembly and allow for modifications to the assembly layout. In this manner, users may be enabled to vary, test and observe various PCB design configurations.
  • the non-linear assembly process may be one that is enabled by a computer aided physical editing (CAPE) process.
  • CAE computer aided physical editing
  • FIGS. 1A - 1 C there is shown various schematic representations of example embodiments of an apparatus 105 for automated assembly of printed circuit boards (PCBs).
  • PCBs printed circuit boards
  • an apparatus 105 may be provided which can receive pre-fabricated PCBs (i.e., PCBs fabricated with contact pads and traces, etc.) as well as loose electronic components.
  • FIG. 1 D provides an example schematic illustration of an example partially assembled pre-fabricated PCB that may be received by the apparatus 105.
  • the pre-fabricated PCB may include one or more traces 150 that connect various contacts pads 155.
  • An electronic component 160 may be installed (i.e. , mounted) to one of the contact pads, and electrically coupled to other more electronic components through the traces 150. It will be appreciated that more complex PCBs may include more advanced fabricated features (i.e., through vias, etc.).
  • the apparatus 105 may have a housing body 115 that includes a receiving slot 120 that can receive an un-assembled, partially assembled, or fully assembled PCB 125.
  • the apparatus 105 may then be configured to assemble loose electronic components on the unassembled or partially assembled PCB.
  • the apparatus 105 may also be operable to dis-assemble (i.e., re-work, or modify) a partially or fully assembled PCB by removing assembled electronic components, and in some cases, replacing these electronic components with other electronic components.
  • the automated assembly (or disassembly) process of the apparatus 105 may be guided by instructions received, for example, from a user 110 (i.e., a PCB design engineer, a hobbyist, etc.).
  • a user 110 i.e., a PCB design engineer, a hobbyist, etc.
  • the user 110 may generate, or otherwise simply retrieve, a PCB design layout (i.e., a CAD file) on the user terminal 135, which is then transmitted as a PCB design file to the apparatus 105.
  • the apparatus 105 may receive and parse the design file, and may assemble the design in accordance with the assembly layout included in the design file.
  • the user 110 may also transmit more specific assembly instructions to the apparatus 105 (i.e., in respect of re-working or re- editing the PCB).
  • the apparatus 105 may also include a display screen (i.e., an LCD screen) 130 that may display various status indicators (i.e., assembly status).
  • the display screen 130 may also include an input interface (i.e., a touchable display screen) for receiving user inputs and commands. In other cases, the input interface may be provided separately from the display screen 130.
  • the provided system may be conveniently provided in a small form factor such that it may be easily disposed within non-industrial settings (i.e., homes, offices, labs, etc.).
  • the system or apparatus may have under a 1 meter x 1 meter footprint (i.e., 60 cm x 60 cm footprint).
  • FIG. 2 there is shown a simplified block diagram for an example embodiment system 200 for automated assembly of PCBs, in accordance with at least one embodiment.
  • the system 200 generally includes the assembly apparatus 105 which may communicate, via a network 205, to a user terminal 125 and/or a remote server 210.
  • network 205 may be connected to the internet. Typically, the connection between network 205 and the Internet may be made via a firewall server (not shown). In some cases, there may be multiple links or firewalls, or both, between network 205 and the Internet. Some organizations may operate multiple networks 205 or virtual networks 205, which can be internetworked or isolated. These have been omitted for ease of illustration, however it will be understood that the teachings herein can be applied to such systems.
  • Network 205 may be constructed from one or more computer network technologies, such as IEEE 802.3 (Ethernet), IEEE 802.11 and similar technologies.
  • Server 210 is a computer server that is connected to network 205.
  • Server 210 has a processor, volatile and non-volatile memory, at least one network interface, and may have various other input/output devices. As with all devices shown in the system 200, there may be multiple servers 210, although not all are shown. It will also be appreciated that the server 210 need not be a dedicated physical computer.
  • the various logical components that are shown as being provided on server 210 may be hosted by a third party “cloud” hosting service such as AmazonTM Web ServicesTM Elastic Compute Cloud (Amazon EC2).
  • the server memory can be used to store PCB design files, which can also be transmitted to the apparatus 105 for assembly (i.e., via the server network interface).
  • User terminal 135 may be any suitable computing device, such as a desktop computer, and may also include mobile devices such as smartphones, tablets or laptops. Similar to the server 210, the user terminal 135 may include a processor, volatile and non- volatile memory, at least one network interface. User terminal 135 may also include one or more input interfaces (i.e. , keyboards, mouses, etc.) as well as display devices (i.e., an LCD screen). In at least one case, the user terminal 135 may store (i.e., in the user terminal memory) various programs that can be used to generate PCB design layouts, which can be transmitted to the apparatus 105 for assembly. The user terminal 135 can also be used by the user 110 to transmit assembly commands (i.e., in real-time or near real-time) to the apparatus 105 to modify or edit PCBs (i.e., transmit modification data or modification files to the apparatus 105).
  • assembly commands i.e., in real-time or near real-time
  • modify or edit PCBs i.e.
  • FIG. 3 shows a simplified block diagram of an example embodiment of an apparatus 105 used for automated assembly of printed circuit boards (PCBs), according to at least one embodiment.
  • PCBs printed circuit boards
  • the apparatus 105 generally includes a processor 302 coupled, via a data bus 301 , to a memory 304.
  • Processor 302 may also couple to one or more of a communication interface 306, at least one working-component unit 308, a motion system 310, an area heater 312, underside image sensor(s) 314, one or more multi-spectral lights 316, a display device 318, an input interface 320, an input/output (I/O) interface 322 and a power supply 326.
  • the apparatus 105 may include more than one processor (e.g., a multi-processor device), with each processor being configured to execute the same or different program instructions.
  • a single processor may perform all acts of a method (i.e., executing instructions, etc.) or multiple processors may be used for performing different (or overlapping) acts of the method in any manner, order or arrangement.
  • Processor 302 is a computer processor, such as a general purpose microprocessor. In some other cases, processor 302 may be a field programmable gate array (FPGA), application specific integrated circuit (ASIC), microcontroller, or other suitable computer processor.
  • FPGA field programmable gate array
  • ASIC application specific integrated circuit
  • microcontroller or other suitable computer processor.
  • Processor 302 is coupled, via computer data bus, to memory 304.
  • Memory 304 may include both a volatile and non-volatile memory.
  • Non-volatile memory stores computer programs consisting of computer-executable instructions, which may be loaded into volatile memory for execution by processor 302 as needed. It will be understood by those skilled in the art that reference herein to the apparatus 105 as carrying out a function, or acting in a particular way, imply that processor 302 is executing instructions (e.g., a software program) stored in memory 304 and possibly transmitting or receiving input data and output data via one or more interfaces. Memory 304 may also store input data to, or output data from, processor 302 in the course of executing the computer-executable instructions.
  • the memory 304 may store a PCB design file analysis program 304a, a PCB assembly program 304b and an image analysis program 304c.
  • the PCB design file analysis program 304a may be configured to receive a PCB design file input (i.e. , a CAD file) having a PCB assembly configuration layout in respect of how a PCB is to be assembled.
  • the PCB design file input may be received, for example, from the user terminal 135 and/or server 210.
  • the analysis program 304a may then analyze the PCB design file to extract and parse various relevant data, including an electronic component list, a pick-and-place instruction file, and a vector format design layout (i.e., Gerber data). In other cases, the apparatus 105 may separately receive these data files without needing to extract these data files from a PCB design file.
  • the PCB assembly program 304b may be configured to perform one or more of the methods provided herein for automated assembly of the PCB in accordance with the PCB design file.
  • the image analysis program 304c may be configured to analyze images, also in accordance with various embodiments provided herein. In various cases, as provided herein, images can be analyzed to classify (i.e., identify) electrical component types.
  • Communication interface 306 is one or more data network interface, such as an IEEE 802.3 or IEEE 802.11 interface, for communication over a network (i.e., network 205).
  • a network i.e., network 205.
  • Working-component unit 308 comprises one or more components which are used to assemble the printed circuit boards (PCBs).
  • the working-component unit 308 comprises a gantry head assembly 308.
  • the gantry head assembly 308 can include one or more components that are mounted on a mounting bracket 502.
  • the components of the gantry head assembly 308 are operable to pick-up loose electronic components, i.e. , surface mount devices (SMDs), disposed on a component receiving area 512, and transport these electronic components for installation on a PCB.
  • SMDs surface mount devices
  • the gantry head assembly 308 can include one or more imaging devices (i.e., cameras), and one or more sensor components that are used in one or more stages of the assembly process.
  • imaging devices i.e., cameras
  • sensor components that are used in one or more stages of the assembly process.
  • the structure of the head assembly 308 is explained in greater detail herein with reference to FIG. 4.
  • Motion system 310 is used to translate the working-component unit 308 to access at least one location (or a workspace area) within the apparatus 105.
  • the motion system 308 may be used pick-up and drop electronic components (i.e., SMDs) in order to mount or remove these components from a PCB.
  • FIG. 5 shows an example embodiment of a motion system 310 comprising a gantry head translation mechanism 310.
  • the apparatus 105 can include one or more beams (or one or more rails) which are used to translate the gantry head assembly 308 along each of the transversal and longitudinal directions (i.e., along the “x” and “y” axis). More particularly, in the illustrated embodiment, the apparatus 105 includes a primary traversal beam 504 extending along the X-axis (herein referred to as an X-beam 504), as well as one or more secondary longitudinal beams 508a, 508b extending along the Y-axis (herein referred to as Y-beams 508a, 508b).
  • X-beam 504 extending along the X-axis
  • secondary longitudinal beams 508a, 508b extending along the Y-axis
  • the gantry head assembly 308 is moveably mounted onto the X- beam 504 via its mounting bracket 502.
  • the mounting bracket 502 may have one or more roller wheels (not shown) that are controlled by a motor control unit (not shown) forming part of the gantry head translation mechanism 310, and which engage the X-beam 504.
  • the roller wheels may make a friction fit within channels at the upper and/or lower portion of the beams to be able to translate there within when moving the gantry head assembly, or the roller wheels may have teeth on an outer circumference thereof and the upper and/or lower portions of the beams may have tracks that are engaged by the teeth of the roller wheels.
  • the roller wheels can be controlled to rotate and slide the gantry head assembly 308 to various positions over the length of the X-beam 502. In this manner, the gantry head assembly 308 is translatable side-to-side along an X-coordinate axis to access any transversal position within the apparatus 105.
  • the X-beam 504 may, in turn, be supported at either distal end 504a, 504b to secondary translation brackets 506a, 506b.
  • the secondary translation brackets 506a, 506b are each moveably mounted on a respective Y-beam 508a, 508b.
  • each secondary bracket 506a, 506b can also include one or more motor-controlled wheels (i.e.
  • roller wheels 510a, 510b are controllable by a motor control unit 310 also forming part of the gantry head translation mechanism 310. Accordingly, the roller wheels can be controlled to slide the secondary brackets 506 along the Y-beam 508, and in turn, translate the X-beam 504 forwardly and rearwardly. In this manner, the gantry head assembly 308 - mounted on the X-beam 504 - may be translated to various longitudinal Y-coordinate positions within the apparatus 105.
  • the gantry head assembly translation mechanism 310 can be used to translate the gantry head assembly 308 to any X-Y coordinate positions within the apparatus 105. It will be understood, however, that the gantry head translation mechanism 310 illustrated in FIG. 5 has only been shown herein by way of non-limiting example, and that any other motion system 310 may be provided to allow for translative motion (i.e., XYZ motion) of the working-component unit 308 to access at least one area within the apparatus 105.
  • translative motion i.e., XYZ motion
  • the motion system 310 may include, by way of non-limiting examples, one or more SCARA (Selective Compliance Assembly Robot) arms, one or more five-bar linkage robots, and/or one or more wheeled robot or swarm robots.
  • the apparatus 105 may not necessarily be a closed apparatus 105, but may comprise an open space area where the robots are allowed to move.
  • more than one working-component unit 308 may be provided in the apparatus 105.
  • each robot may carry one or more working tools (i.e., 402 - 422 in FIG. 4).
  • each arm or robot may have its own working-component unit 308.
  • Each working-component unit 308 may have the same or different component tools.
  • apparatus 105 can also include an area heater 312. As explained herein, the area heater 312 can be used to heat solder paste applied to the PCB.
  • solder is a high viscosity paste that is placed onto the PCB contact pads to electrically and mechanically adhere electrical components to the PCB during the assembly process. To this end, solder becomes a mechanical attachment and an electrical conductor when heated above certain melting temperatures.
  • the area heater 312 - which may be, for example, a large area heating plate - can be used to heat the entire (or any portion) of the PCB in order to heat the solder to appropriate temperatures.
  • the area heater 312 can also be used during disassembly of components from the PCB (i.e. , upon editing or re-working the board) by heating the solder to appropriate temperatures such that the solder may be made more viscous, thereby facilitating dismounting of electrical components from the PCB.
  • the area heater 312 may be positioned beneath an area receiving the PCB 501 . In this manner, the area heater 312 may be automatically operated to heat the PCB. In other cases, however, the area heater 312 may be positioned in any other location within the apparatus 105. For example, the area heater 312 may be distally positioned from the PCB, and the PCB may be relocated (i.e., by the gantry head assembly 308) to be disposed over the area heater 312.
  • the apparatus 105 can include one or more image sensor(s) 314 (i.e., cameras (i.e., red, green and blue (RGB) cameras, infrared (IR) cameras, hyperspectral cameras, etc.) and the like).
  • the underside camera 314 may be disposed below an opening on the top operating surface 503 of the apparatus 105.
  • the camera 314 may be operated to capture one or more pictures of loose electronic components.
  • the pick and place (PnP) head 402 - of the gantry head assembly 308 - can be used to pick-up a loose electronic component that requires assembly.
  • the gantry translation mechanism 310 can be operated to move the PnP head 402 over the underside camera 314.
  • the camera 314 can then be controlled to capture one or more images of the electrical component.
  • capturing images of the electrical component, using the underside camera 314, can facilitate capturing images of, for example, the bottom (or underside) of the component - or any other view of the component - that may be otherwise difficult to capture from a top-side camera.
  • the capturing of underside images of electrical components can assist the system in classifying the component type based on, for example, the size/footprint of the component, the number of bottom-side contact pins of the component, etc.
  • FIG. 6D shows an example embodiment of the underside camera 314.
  • the camera 314 - which may be disposed below the top apparatus surface 503 - may be secured to a bracket 602d through a retention brace 604d.
  • the camera lens 606d may be oriented to face a reflective mirror 608d which reflects light from above the top apparatus surface 503 into the camera lens.
  • the reflective mirror 608d may be also supported within a support frame 61 Od.
  • the apparatus 105 can also include one or more multi-spectral lights 316 (FIGS. 3, 5 and 6D).
  • the illuminators can be positioned, for instance, in proximity to the underside camera 314 (FIG. 6D) and can be used to provide illuminating light (i.e. , flash light) to allow for capturing clearer pictures using the camera 314.
  • apparatus 105 can also include a display device 318 (e.g., an LCD screen, etc.).
  • Display device 318 can be used to display various status indicators (i.e., error messages, indications that the assembly is in-progress or complete, etc.).
  • Apparatus 105 can also include one or more input interface(s) 320 for receiving user inputs.
  • the input interface(s) 320 may be integrated directly into the display device 318, as the case may be for touchscreen displays (i.e., capacitive touchscreens, etc.)
  • Apparatus 105 may also include an I/O interface 322 - which can be used to connect various other external electronics to the apparatus 105 (i.e., a user computer terminal 135 via a USB link).
  • a power supply 324 may also be included for powering the apparatus 105 (i.e., an on-board power supply, such as one or more batteries, or an AC power supply feed).
  • FIG. 4 shows a simplified block diagram for an example embodiment of a working-component unit 308, according to at least one embodiment.
  • FIGS. 7A - 7C illustrate various schematic illustrative views of an example embodiment of the gantry head assembly 308. More particularly, FIG. 7 A illustrates an example front side perspective view of the gantry head assembly 308, FIG. 7B illustrates an example side elevation view of the gantry head assembly 308 and the FIG. 7C illustrates an example front plan view of the gantry head assembly 308.
  • the working-component unit 308, which may comprise a gantry head assembly 308, may generally include a pick-and-place head 402, as well as one or more of a paste dispenser 404, a servo motor 406, and one or more imaging devices (i.e., cameras) 408.
  • the gantry head assembly 308 can also include one or more sensor(s) 410, electrical test probe(s) 412, a de-soldering head 414, multi-spectral lights 416, a flux dispenser 418, as well as one or more empty slot connectors 420.
  • Pick-and-place (PnP) head 402 is controllable (i.e., by processor 302), to pick and drop objects (i.e., electronic components).
  • the PnP head 402 can be used to retrieve loose electrical components, and mount these electrical components to a relevant portion of the PCB in order to assemble the PCB.
  • the PnP head 402 can be used to disassemble components from the PCB, such as by picking-up the component from the PCB and dropping-off the component elsewhere.
  • the PnP head 402 can be used to pick-up components which may undergo identification or classification, as explained in further detail herein.
  • the PnP head 402 may have any suitable construction.
  • the PnP head 402 can include a suction nozzle, which upon activation, can generate negative air pressure to suction (i.e., pick-up) an electronic component.
  • the suction nozzle may be operated to retain an electrical component while the gantry head assembly 308 is being translated, and can be de-activated to release (i.e., drop) the component when desired.
  • the PnP head 402 may use mechanical figures, or other joint based grippers, such as - and by way of non-limiting examples - electrostatic or pneumatic grippers.
  • FIGS. 7A - 7C illustrate an example PnP head 402.
  • the PnP head 402 is secured to a front face 502a of the gantry head mounting bracket 502.
  • the PnP head 402 may include a downward facing nozzle tip 402a which applies the suction force to objects.
  • a main body portion 402b is disposed over the nozzle tip 402a, and may be include the hardware (i.e. , electrical and mechanical) for generating the suction force upon activation, i.e., by processor 302.
  • Working-component unit 308 also includes the paste dispenser 404.
  • Paste dispenser 404 can be used to retain, and apply, solder paste to the various contact pads on the PCB.
  • the solder paste can be used to create mechanical adhesion and electrical coupling of electrical components to the PCB, and specifically when heated to pre defined temperatures.
  • conductive paste, epoxies or any other conductive ink may be used in place of solder.
  • the dispenser 404 may be - by way of non-limiting examples - a mechanical dispenser, a stencil dispenser, a pneumatic dispenser, a hydraulic dispenser a piezo dispenser, or an inkjet dispenser.
  • dispensing paste may include mounting components using any other type of dispensing mechanism as is understood in the art (e.g., at act 114 in FIG. 11 ).
  • the gantry head assembly 308 may include more than one dispensing mechanism 404, or a dispensing mechanism capable of more than one type of dispensing.
  • the paste dispenser 404 may also be secured to the front face 502a of the gantry head mounting bracket 502.
  • the paste dispenser 404 can include a main body portion 404a for retaining a volume of solder paste, as well as a downward facing opening 404b for extruding the paste.
  • the paste dispenser 404 can also include a plunger 404c which can be used to force solder paste out of the opening 404b.
  • the plunger 404c may be motor controlled (not shown) by operation of processor 302.
  • the paste dispenser 404 may comprise an auger valve dispenser.
  • a servo motor 406 can also be provided in the gantry head assembly 308.
  • the servo motor 406 can be disposed, for example, between the front face 502a and the rear face 502b of the gantry head mounting bracket 502 (FIG. 7B).
  • the servo motor 406 can be operable to move one or more of the PnP head 402 and the paste dispenser 404 along a vertical Z-coordinate axis (i.e., up-and-down) (FIG. 6). In this manner, the PnP head 402 and/or the paste dispenser 404 can be lowered to engage an object (i.e., the PCB, or a loose/mounted electronic component), and raised to disengage the object.
  • an object i.e., the PCB, or a loose/mounted electronic component
  • the servo motor 406 may be used in conjunction with a mechanical rack-and-pinion system to adjust the vertical heights of each the PnP head 402 and/or the paste dispenser 404.
  • the servo motor 406 may mechanically couple to rotating a gear 704 disposed on the front face 502a of the mounting bracket.
  • each of the PnP head 402 and paste dispenser 404 may be mounted to a respective mounting rack 708a, 708b.
  • Each of the mounting racks 708a, 708b are in turn, secured to the front mounting bracket face 502a.
  • each mounting rack 708a, 708b may be slidably secured to the bracket 502 via a sliding engagement member 710 on the rack which slidably engages a protruding vertical member 711 on the mounting rack 502 (FIGS. 7A and 7B). In this manner, the racks 708a, 708b may slide vertically (i.e., up-and-down) relative to the mounting bracket 502.
  • each mounting rack 708a, 708b can include a respective longitudinal edge 704a, 704b having one or more teeth which engage the rotating gear 704. That is, the gear 704 may be interposed, and in fitting engagement, with the longitudinal edges 704a, 704b on each mounting rack 708a, 708b. In this manner, upon activating the servo motor 406 - the gear 704 may rotate to cause reciprocal sliding of the mounting racks 704a, 704b relative the mounting bracket 502. For example, in FIG.
  • the gear 704 may be rotated clockwise to slidably lower the rack 708a (i.e., carrying the PnP head 402), and slidably raise the rack 708b (i.e., carrying the paste dispenser 404). Otherwise, the gear 704 may be rotated counter-clockwise to raise the PnP rack 708a, and lower the solder paste rack 708b,
  • the working-component unit 308 can also include one or more imaging device(s) 408, sensor(s) 410 and a test probe 412.
  • Imaging device(s) 408 may be, for example, one or more cameras (i.e., RGB cameras, infrared cameras, hyperspectral cameras, etc.). As explained herein, the cameras on the working-component unit 408 can be used to image various work areas within the apparatus 105. For instance, in at least one embodiment, the cameras can be used to image loose electronic components that require assembly on the PCB. The images may then be analyzed to classify the electronic components (i.e. , based on an image analysis). In other cases, the one or more cameras can be used to capture one or more images of the PCB in order to analyze the topology and layout of the PCB, as well as to identify where to mount or dismount components from the PCB.
  • the cameras on the working-component unit 408 can be used to image various work areas within the apparatus 105. For instance, in at least one embodiment, the cameras can be used to image loose electronic components that require assembly on the PCB. The images may then be analyzed to classify the electronic components (i.e. , based on
  • FIGS. 7A and 7B illustrate an example camera 408a mounted on the mounting bracket 502.
  • a downward facing camera 408 is provided and secured to the gantry head assembly mounting bracket 502 (i.e., between the front and rear faces 502b, 502c).
  • the camera 408a may be secured to the mounting bracket 502, for example, via a retention member 706.
  • more than one imaging devices 408 can be located on the gantry head 308.
  • the imaging device(s) 408 can include a wide angle lens camera and a narrow angle lens camera.
  • the camera 408a may be a wide angle lens camera
  • the mounting bracket 502 can additionally include a narrow angle lens camera 408b, i.e., provided on a lower portion of the mounting bracket 502 (FIG. 7B). Cameras having different lens-types may find different uses in different contexts.
  • a wide angle lens camera 408a can capture images with a large field of view, as the case may be when capturing a high-level image of the entire PCB or an image of a component receiving area 512 that receives a number of loose electronic components.
  • a narrow angle lens camera can be used to capture more granular images and in higher-detail. For instance, this may be the case when imaging specific electronic components in the electronic component receiving area 512.
  • the narrow angle lens camera 408b can be used during electronic component classification (i.e., identification).
  • one or more cameras may be provided having adjustable focal lengths (i.e., wide and narrow).
  • Sensors 410 include a variety of sensors for use in assembly, testing and re working of PCBs.
  • sensors 410 can include, for example, temperature sensors (i.e., including infrared (IR) temperature sensors).
  • IR infrared
  • the temperature sensors 410a may be mounted to a lower portion of the gantry bracket 502.
  • the temperature sensor can be used to monitor the temperature of various elements of the PCB.
  • the sensors 410 can also include one or more weight sensors (i.e. , weight sensor 410b in FIG. 7B).
  • weight sensors can be used to measure the weight of various loose electronic components. In particular, weight measurements can assist the system in classifying (i.e., identifying) component type for unidentified electronic components.
  • Electrical test probes 412 may also be located on the working- component unit 308.
  • probes 412 can be used to classify un-identified electronic components.
  • the probes 412 can be used to apply a probe current across an electrical component (i.e., a resistor or capacitor), and measure one or more electrical properties of that component. The measured electrical properties can then be used to identify the component type.
  • the probes 412 can be used to test portions of an assembled (or partially) assembled PCB to determine whether the PCB circuit demonstrates an expected electrical response and/or whether there has been errors in the assembly process.
  • the electrical test probes 412 can be individual test probes or multiple test probes.
  • the electrical test probes 412 may be provided separately from the working-component unit 308, and may be provided as stationary components within the apparatus 105 (i.e., on the apparatus surface 503). In these cases, components may be placed over the contact pads (i.e., picked and dropped), to allow for measurement of component electrical properties.
  • the working-component unit 308 can also include a de-soldering head 414, and in at least one embodiment, one or more multi spectral lights 416, a flux dispenser 418, a localized heater 420 and one or more empty electrical slot connectors 422.
  • De-soldering head 414 may be provided for removing paste from the PCB. For instance, in embodiments provided herein, it may be desired to edit and/or re-work a PCB by dismounting electrical components. In these cases, the paste can be heated to a viscous state, and the de-soldering head 414 can be used to remove any quantity of molten solder from the PCB contact pads before and/or after the electrical component is dismounted. In at least one embodiment, the de-soldering head 414 may use, for example, negative suction to remove solder, or may use any other technique as may be known in the art.
  • Multi-spectral lights 416 include, for instance, one or more LEDs. In at least one case, the multi-spectral lights 416 may be used to illuminate specific areas over which the gantry head assembly 308 is positioned. In particular, the multi-spectral lights 416 can be used to illuminate an area that is desired to be imaged using the imaging devices 408. In this manner, clearer images may be captured under acceptable light conditions.
  • Flux dispenser 418 can be used to retain and dispense flux, and in particular, can be used for etching away corrosion from metallic PCB surfaces so that solder will bond to the surface.
  • the flux dispenser 418 may be provided separately.
  • the flux may be mixed together with the solder paste in the paster dispenser 404.
  • Localized heater 420 may be a heating element that can be used to heat targeted areas.
  • the localized heater 420 can be used for heating solder paste around a defined area on the PCB (e.g., during component disassembly).
  • the heater 420 may be a radiative infrared (IR) heater, a convective heater, or a contact heater.
  • IR infrared
  • Empty slot connectors 420 can be one or more empty slots with electrical and/or mechanical connectors for installing additional heads to the gantry head assembly 308 as needed.
  • FIG. 5 there is shown a schematic illustration of an example embodiment of the interior of the apparatus 105. While the majority of the elements illustrated in FIG. 5 have been previously described herein with reference to FIGS. 3 and 4 - a number of additional features of the apparatus 105 will be now be explained in greater detail.
  • the apparatus 105 may include an area defining a component receiving area 512 that may receive the loose electronic components.
  • the system i.e. , the PnP head 402 on the gantry head assembly 308 may pick-up the components from the area 512, and may mount the components to the appropriate area (i.e., location) on the PCB 501. In other cases, components that are removed (i.e., disassembled) from the PCB 501 may be returned to the component receiving area 512.
  • the component receiving area 512 may simply comprise an open platform space, as shown in FIG. 5. Accordingly, a user may simply deposit an amalgamation of unassembled electronic components on the area 512. For example, the user may simply place an un-sorted array of electronic components in the component receiving area 512 for assembly on the PCB 501. In other cases, the user may place an amalgamation of pre-sorted electronic components on the component receiving area 512. For example, the user may sort the components based on component type (i.e., resistors, capacitors, inductors, etc.), as well as component value (i.e., separating resistors having separate resistance values, etc.). In some cases, the user may also sort the components based on model, part number or manufacture number.
  • component type i.e., resistors, capacitors, inductors, etc.
  • component value i.e., separating resistors having separate resistance values, etc.
  • the user may also sort the components based on model, part number or manufacture number.
  • different components may then be placed in different area portions of the component receiving area 512.
  • the user may place the components in one or more bins, trays, opened bags - or generally any other compartment unit - and may place the compartment units on the retention area 512.
  • the users may purchase the various components (i.e., from an on-line store), and the components may be delivered in separate “bags” or “containers”, whereby each bag, container, etc., may hold a separate type of component, and the user may simply place the opened bags, containers, etc. over the component reception area 512.
  • a user may place various opened boxes 904e - each containing a particular component type - over the open platform area 512.
  • the PnP head 402 may then be used to access components located in these compartment units.
  • the component receiving area 512 may not be necessarily configured as an open area platform as shown in FIG. 5.
  • the component receiving area 512 may include one or more physically separated slots, each slot being configured to receive a specific type of electronic component.
  • separate component types can be disposed in separate slots and accessed by the PnP head 402.
  • the slots may be configured to receive electronic component reels.
  • electronic component reels may comprise rolled tape that retains a volume of a specific type of electronic component. A plurality of reels can be fitted into engagement with the apparatus 105, and the tape on each reel may be inserted into a feeder device that is controllable (i.e.
  • the component receiving area 512 may be configured (i.e., designed) to receive a compound wheel.
  • compound wheels are wheels which are divided into one or more compartment slots, each slot being used to retain a particular type of electronic component (i.e., compound wheel 900c in FIG. 9C).
  • the component receiving area 512 is broadly any area that is configured to receive loose electronic components for assembly on the PCB 501 , and may otherwise have any suitable design or configuration.
  • the apparatus 105 can also include a nozzle changer unit 514.
  • the nozzle changer 514 can house one or more nozzle units that can be used for the PnP head 402.
  • the nozzle changer 514 can house nozzles of various sizes and diameters which allow for different pick-and-place functionality for the PnP head 402.
  • the nozzle on the PnP head 402 may be single adjustable nozzle.
  • FIGS. 6A - 6C show an example structure for the area heater 312 and a PCB mounting bracket.
  • the PCB 501 - received in the apparatus 105 - can be positioned in a PCB receiving area.
  • the PCB receiving area is located over the area heater
  • the workspace area can include one or more clamp structures 602a, 602b that can be used to secure the PCB 501 over the area heater 501 .
  • Each clamp structure can include an elevated longitudinal member 604a, 604b (FIG. 6B), over which the PCB 501 is placed.
  • the elevated members can raise the PCB 501 a particular height over the area heater 312, such that the area heater 312 is not in direct contact with the PCB.
  • one or more securing clamps 606 can be placed over the PCB, and fastened from either end to the elevated members by fastening members 608. It will be appreciated that the structure in FIGS. 6A - 6C has only been illustrated herein by way of example, and other PCB receiving and securing structures may be used.
  • FIGS. 8 - 13 illustrate various example embodiments for methods for operating the apparatus 105 to automatically assemble PCBs.
  • FIG. 8 shows an example embodiment of a method 800 for automated assembly of printed circuit board (PCBs), in accordance with at least one embodiment.
  • Method 800 may be performed, for example, by the processor 302. Alternatively, in at least one embodiment, different processors may be used to perform different aspects of method 800.
  • the apparatus 105 can receive a pre-fabricated PCB.
  • the PCB may be received in a PCB receiving area using the retention structure shown in FIGS. 6A - 6C.
  • the pre-fabricated PCB may be similar to what is shown in FIG. 1 D, whereby the PCB has been fabricated with various conductive traces 150, as well as contact pads 155 for installing electronic component (i.e. , surface mounted devices (SMDs)).
  • the pre-fabricated PCB may be either unassembled or partially assembled (i.e., requiring further assembly). In some other cases, as well, the PCB may be fully assembled.
  • the current system as compared to prior systems, may enable a user to edit, modify or re-work partially or fully assembled PCBs.
  • a PCB design file is received and analyzed.
  • the PCB design file can include data in respect of assembling electronic components on the PCB.
  • the PCB design file can be received from a user of a user computer terminal
  • a user designing a PCB may transmit, via computer terminal 135, a PCB design file that was generated by the user on the computer 135.
  • the apparatus 105 may then be configured to assemble the PCB in accordance with the PCB design file (i.e., immediately after receiving the file, or any time thereafter).
  • the PCB design file may be retrieved from a memory archive.
  • a previously generated PCB design file may be stored on the apparatus memory 304 and/or on a server memory. Accordingly, the PCB design file may be retrieved from memory in order to assemble the PCB.
  • the apparatus 105 may retrieve the PCB design file in response to receiving a command (i.e. , from user terminal 135) to execute the PCB design in the PCB design file.
  • the PCB design file may be a design file (i.e., a CAD file) that includes a visualized representation of how the electronic components are to be assembled on the PCB.
  • the processor 302 can extract one or more sub-data files, including: (a) vectorized PCB layout data; (b) an electronic component parts list; and (c) pick-and-place data.
  • the vectorized PCB layout data may comprise, for example, an ASCII vector format file (i.e., a Gerber file), which includes vector coordinates of various fabricated PCB features (i.e., copper traces, vias, pads, solder mask, silk screen).
  • the electronic component list data may include an extracted list of all electronic components that are located in the PCB design file, and which require assembly on the PCB.
  • the part list data may be expressed in terms of electrical components type, or otherwise, in terms of part or model numbers.
  • the pick-and-place data includes, for instance, coordinate data for positioning each electronic component, in the parts list, on the fabricated PCB.
  • the pick-and- place data is used to control translation of the gantry head assembly 308 in order to assemble the PCB.
  • each of the sub-data files may be also separately received by the apparatus 105, and may not otherwise have to be extracted from a PCB design file.
  • a custom plug-in may be used that can automatically convert design files (i.e., CAD files) into a file format that is adapted to work with the apparatus 105, and may be more information-rich than the vectorized PCB layout data (i.e., the Gerber files).
  • the system can receive the un-assembled electronic components that may be assembled on the PCB in accordance with the assembly configuration layout included in the received PCB design file.
  • the un-assembled electronic components may be received in the component receiving area 512 (FIG. 5).
  • the PCB may place the loose electronic components in the component receiving area 512.
  • the components may be simply deposited in an un-sorted arrangement on the open receiving area 512.
  • the components 512 may have been pre-sorted by the user before placement in the receiving area 512.
  • the user may have pre-sorted components according to component type, and may deposit each component type in an isolated area within the receiving area 512.
  • the components 512 may also be placed in one or more compartment units (i.e. , open bins, tray, etc.) (FIG. 9E), and the compartment units may be placed over the receiving area 512.
  • components of a similar type can be placed in separate compartment units, and the units placed over the receiving area 512.
  • a single compartment unit may have multiple sub compartments (i.e., a bin or tray having multiple slots), with each sub-compartment unit holding a particular component type (i.e., compound wheel 900c in FIG. 9C).
  • the apparatus 105 may be configured to include various slots for receiving different components.
  • the apparatus 105 can be configured to have slots and feed devices for receiving electronic component reels.
  • the un-assembled electronic components i.e., located in the component receiving area 512
  • are identified i.e., classified.
  • the system identifies the types of components that have been received in the receiving area 512.
  • the system may also match the received components to the electronic component list (i.e., extracted at act 804), to determine whether all required components are provided to the apparatus 105.
  • Act 808 is explained in greater detail with reference to method 900 of FIG. 9.
  • the system may commence assembly of the electronic components on the PCB in accordance with the PCB design file received at act 804.
  • the gantry head assembly 308 may controlled, via the gantry head translation mechanism 310, to pick-up relevant components from the component receiving area 512, and transfer these components to the relevant area on the PCB 501 for mounting.
  • the system may determine whether or not any modifications are required to the assembly (i.e., re-working, editing, etc.).
  • the modifications can relate to removing one or more target electronic components from the PCB and/or replacing those electronic components with other components.
  • the modifications can be in respect of moving one or more target components from one area of the PCB to another area of the PCB.
  • the modifications may be user-initiated. For example, a user may desire to re-configure the board to vary the design (i.e. , to achieve a more optimal design, or to simply try and test new design configurations).
  • the modifications may be in response to one or more verification tests conducted to ensure that the PCB is assembled correctly.
  • the method 800a may initially skip act 810 and proceed directly to act 812. In other words, the method 800 may directly begin by removing components before, optionally, assembling any new components.
  • the system may modify the PCB accordingly at act 814.
  • the method 800 may then return to act 810 to continue assembling the electronic components on the PCB.
  • the method 800 may return to act 804 if the modifications involve receiving new PCB design files. For example, if the user desires to vary the design, the user may need to transmit modified design data to the apparatus 105. In cases where the modified PCB design data includes new electronic components, then the method may have to re-iterate at act 806 and 808 to again receive new components and to classify and match the newly received electronic components.
  • the method 800 can skip acts 806 and 808, and proceed to act 810.
  • the assembly 800 may proceed to act 816, whereby it is determined if the assembly is complete. In various cases, the assembly may be determined to be complete if all components identified in the
  • the method can return to act 810 and continue to iterate until assembly of the PCB is complete. Otherwise, if assembly is determined to be complete, the method can end at act 818.
  • the method 800 can be performed in one of three modes: a fully automated mode; a semi-automated mode, and a user-controlled mode.
  • each act of the method 800 is performed automatically once the PCB design file and un-assembled electronic components are received. That is, in the fully automated mode, the apparatus 105 completes PCB assembly from start to finish, and with no human intervention.
  • the system may allow users to manually provide some high-level assembly guidance. For example, users may instruct the apparatus 105 (i.e., via a GUI on the user terminal 135, or using the input interface 320 of apparatus 105), as to the order of component assembly. For instance, the user may guide the system as to which group of electrical components should be assembled, or which portions of the PCB should be assembled. Upon receiving the users instructions, the system may automatically assemble the desired components or PCB portions.
  • the system may identify how to assemble the desired components (i.e., where to mount the components on the PCB), and may assemble the components in that manner.
  • the user may instruct the system to disassemble one or more target components, and in response, the system may automatically identify the components on the PCB requiring disassembly, and then disassemble the identified components.
  • the system automates portions of the assembly process, but the automation is in accordance with the user’s high-level directives.
  • the semi-automated assembly is any form of automated assembly that is short of a fully-automated assembly mode. In this manner, the semi-automated mode may allow users to exert more control over the automated design process.
  • the semi-automated mode may be useful when users are editing and re-working PCBs.
  • the user-controlled mode may involve complete human intervention during the assembly process.
  • the system may require user directives at each step of the assembly process. That is, in contrast to the semi-automated mode, the system in the user-controlled mode is not able to automatically assemble certain component types or portions of a PCB (i.e. , as directed by the user), but rather, the user may explicitly identify to the system - at a granular level - each individual component that requires assembling, and exactly where that component should be assembled on the PCB. That is, in the user-controlled mode, the system is unable to automatically replicate the PCB design file by automated determination of component placement. Rather, the user-controlled mode is devoid of intelligent automation on part of the system, but allows for the greatest degree of user control.
  • operating the apparatus in the user-controlled mode may help to “teach” the system - that is, the system may be adapted to track and learn the user’s preferences. For instance, and by way of non-limiting example, the system may track where the user has commanded it to install certain classes of components, or what types of classifications the user has assigned to certain types of components. Based on this tracking, the system can automatically generate and store (i.e., memory 304b) one or more “user preference rules” that can be relied on if the system encounters the same situation subsequently.
  • the system may track where the user has commanded it to install certain classes of components, or what types of classifications the user has assigned to certain types of components. Based on this tracking, the system can automatically generate and store (i.e., memory 304b) one or more “user preference rules” that can be relied on if the system encounters the same situation subsequently.
  • the user may observe how the system is behaving in the automated or semi-automated mode, and may override the automated or semi- automated mode to manually correct (or alter) the systems behavior (i.e., an incorrectly or undesirably placed component, or an incorrectly identified/classified component). Accordingly, when (and if) the system reverts back to an automated or semi-automated mode, the system may modify its behavior to reflect the user’s preference rules in subsequent actions or iterations.
  • the system may automatically retrieve component “X” rather than component ⁇ ”, and place components of type “X” in each identified area “Z” of the PCB. Accordingly, the placement of components of type “X” in specific areas “Z” may constitute one example user preference rule.
  • the system may have identified a component (i.e., classified) a component of type “X”, and the user may have overridden the system to identify the component as component of type ⁇ ”. Accordingly, in this example case, another user preference rule is that all components of this type are to be classed as component ⁇ ”.
  • the system may have attempted to replace a component “X” with another component ⁇ ”, and the user may have overridden this action to replace component “X” with component “Z”.
  • the user preference rule generated by the system is that components of type ⁇ ” should be replaced (automatically, or upon user command) by component “Z”.
  • User preference rules can also be generated any time the system is unable to determine how to address an assembly problem (i.e., and generates a notification), and the user intervenes (i.e., via the user terminal) to correct the problem.
  • the user preferences generated through user-controlled intervention can be used for automation in both the semi-automated and automated modes.
  • the apparatus 105 may be dynamically configurable as between the three modes.
  • the apparatus 105 may have settings that are configurable in real-time, or near real-time, based on inputs received from a user terminal 135 and/or the input interface 320 of the apparatus 105. This, in turn, may allow the user to exert varying levels of control over the assembly operation of the apparatus 105.
  • the apparatus 105 may commence in a fully automated mode. Flowever, part way through the assembly, the user may wish to re-work or edit the PCB. Accordingly, the user may intervene in the automated assembly, in which case, the system may revert to either a semi-automated mode or a user-controlled mode to accommodate the users preferences.
  • the apparatus 105 may be configurable between all three modes. In other cases, the apparatus 105 may be configurable between at least two modes (i.e. , automated and semi-automated, automated and user-controlled, or semi- automated and user-controlled). In still other embodiments, the apparatus 105 may be configurable in only a single mode.
  • FIGS. 9A and 9B show various example embodiments of methods for automated classification (i.e., identification) of un-assembled electrical components that are received in the component receiving area 512 (i.e., act 808 of method 808 in FIG. 8) during the assembly of a PCB.
  • FIG. 9A shows a method for classifying pre-sorted arrangements of components
  • FIG. 9B shows a method for classifying unsorted arrangements of components.
  • FIG. 9A shows an example embodiment of a method 900a for classifying pre-sorted electrical components which are received into the apparatus 105.
  • users may insert loose electronic components that are used in assembly into the apparatus 105, whereby the components have already been pre-sorted based on component type into one or more sorted arraignment groups. Accordingly, method 900a allows for classification of these pre-sorted components.
  • the apparatus 105 may receive one or more sorted arrangements of unassembled electrical components in the compartment receiving area 512.
  • the electrical components may be sorted, for example, according to component type, or otherwise part or model number.
  • the pre-sorted components may be sorted in any suitable manner.
  • the components may be received in different compartment units (i.e. , reels, compounds wheels, trays, bins or bags) - whereby each compartment unit retains a single type of electrical component.
  • the compartment units may, themselves, have multiple sub-compartment units. For example, a compound wheel - as shown in FIG.
  • 9C - can include a plurality of sub-compartments 902c - 916c, whereby each sub-compartment holds one type of electrical component.
  • the components may be sorted (i.e., by a user) into separate spatial zones of an open compartment receiving area (i.e., FIG. 5).
  • the system may determine the spatial location of each sorted component arrangement received in the component receiving area 512. For example, the system may determine the spatial XY gantry coordinates required to access each sorted component arrangement in order to retrieve and classify components in that sorted arrangement.
  • the component receiving area 512 may be configured as a plurality of slots, whereby each slot receives a single type of electrical component.
  • the component receiving area 512 may include a plurality of slots that are specially adapted for receiving one or more electrical component reels.
  • the slots may simply comprise partitioned areas in which a user can insert same type electronic components.
  • the memory 304 may have a priori knowledge of the XY gantry coordinates required to access each slot based on the known positioning of slots comprising the component receiving area 512. That is, the XY gantry coordinates to access each slot may have been pre-programmed into the system.
  • the component receiving area 512 may be configured as an open platform area, as best shown in FIG. 5. That is, rather than comprising slots - the component receiving area 512 may be an open platform area in which users can place sorted electrical components.
  • the user may place the electrical components directly on the platform 512, and may sort the electrical components by placing different types of electrical components in different areas of the platform 512 (i.e., diodes may be piled in the top right-corner of the platform, and spatially distanced from transistors, which are piled at the bottom right-corner of the platform).
  • the user may place the components in pre-sorted compartment units (i.e.
  • bins, trays, etc. which are then placed over the platform 512 (FIG. 9E).
  • a plurality of small bins i.e., unsealed by opening the lid
  • each bin may contain a separate sorted component type.
  • the component receiving area 512 does not include a plurality of slots, but rather, comprises an open platform area 512 in which the user can place the sorted components - it may be more complex for the system to determine the spatial positioning of each sorted arrangement of components. That is, the system may not be able to immediately identify the XY gantry coordinates required to access each sorted electrical component arrangement. In particular, this is because the system may not immediately recognize where the user has placed each component type on the platform area 512. To resolve this issue, the gantry head assembly 308 can be translated to the known XY gantry coordinates corresponding to the platform area 512.
  • the gantry camera 408 (i.e., the wide- lens camera 408), can then be used to capture one or more images of the platform 512.
  • An image analysis software i.e., image analysis software 304c stored in memory 304
  • image analysis software 304c stored in memory 304
  • the images can be analyzed to identify that the user has created six different piles of components, or has placed six different component bins over the platform 512.
  • the identification of sorted arrangements in images of the open platform 512 can be performed using one or more edge detection image processing techniques, that can identify the presence of spatially isolated objections in the image. In this manner, the system may recognize the spatial location of each component arrangement.
  • the system can associate different XY gantry coordinates (or ranges of XY gantry coordinates) with each identified sorted arrangement. For example, the system can determine - based on the known dimensions of the platform 512, and with reference to the images of platform 512 - that an identified bin or tray located in the top-right of the image of platform 512 can be accessed by moving the gantry head assembly 308 to coordinates (X,Y). In this manner, the system is also able to identify how to access each sorted arrangement.
  • the system may then classify the types of components that are located in each of the sorted arrangements. This, in turn, allows the system to determine (i.e.. memorize) which sorted arrangement to access when a specific component is required for assembly.
  • components can be classified (i.e., identified) using a variety of classification tests.
  • classification tests can include, by way of non-limiting examples: image scanning of visual indicators, image analysis and classification, electrical probe tests and/or weight tests.
  • sorted electrical components may be classified based on scanning visual indicators located on compartment units (i.e., bins, trays, reels, etc.) which retain the electrical components.
  • the compartment units may include visual indicators (i.e., barcode, QR code, etc.) that can be scanned to provide information about the types of components contained in these compartment unit (i.e., model information, part number, component type, etc.).
  • the visual indicators may be placed on the compartment units by the component manufacturer.
  • the compartment units i.e., bins, reels, etc.
  • the compartment units may be part of the component packaging, and may include visual indicators placed on the packaging exterior by the manufacturer.
  • the visual indicators may be scanned using one or more cameras 408 of the gantry head assembly 308.
  • the gantry head assembly 308 may be translated to the component receiving area 512 - and may scan (i.e., using imaging devices 408) the component receiving area 512 to identify the visual indicators.
  • the component receiving area 512 can include a plurality of slots
  • the gantry head assembly 308 may be translated to each pre-determined XY position corresponding to the known location of each slot.
  • the camera 408 can be activated to capture one or more images of a compartment unit located in that slot (i.e., the reel).
  • the image analysis program 304c in the memory 304, may then analyze the images to identify the visual indicators located on each compartment units.
  • the component receiving area 512 may comprise an open platform area 512 (i.e., as shown in FIG. 5).
  • the gantry head assembly 308 can be translated over the component receiving area 512, and the camera(s) 408 can be activated to capture one or more wide view images of the platform area 512 (i.e., using a wide-lens camera).
  • the images may then be analyzed - i.e., using the image analysis program 304c - to identify each visual indicator in the image.
  • Each visual indicator, identified in the image can then be associated with a corresponding compartment unit, based on the spatial location analysis in act 904a, i.e., which determined the spatial location of each compartment unit on the platform area 512.
  • the gantry head assembly 308 may simple translate to each separate compartment unit located on the platform 512, and the camera 408 may capture one or more specific images of each compartment unit (i.e., using a narrow lensed camera). The images may then be analyzed to detect the presence of visual indicators associated with each compartment unit.
  • classification of sorted electrical components can occur based on an image analysis of the actual components. That is, images of the actual components can be analyzed to classify the component type.
  • the image analysis program 304c may be configured with one or more trained machine learning models (i.e. , convolution neural networks (CNNs)) which can analyze images to classify the type of component being imaged. For example, components can be classified based on analyzing various external features of these components (i.e., shape profile, dimensions, color scheme, size, number of contact pins, footprint size, etc.).
  • CNNs convolution neural networks
  • FIG. 14 illustrates an example architecture 1400 for a machine learning model which can be used to analyze images, e.g., by the image analysis program 304c.
  • the machine learning model may comprise a convolutional neural network (CNN).
  • the CNN can receive an input image 1402 (e.g., an image of electrical components).
  • the CNN may include a feature extractor 1404a and a classifier 1404b.
  • the feature extractor 1404a includes a first convolution layer 1406, a first pooling layer 1408, a second convolution layer 1410, a second pooling layer 1412, a third convolution layer 1414 and a third pooling layer 1416.
  • the classifier 1404b includes a fully connected layer 1418 and an output layer 1420.
  • any other image analysis technique can be used.
  • the system may store pre-captured images of each type of component and a label of the imaged component. The system may then compare the imaged component to the one or more pre-captured images to determine a similarity factor. The pre-captured image with the highest similarity factor may indicate the component. Any image similarity algorithm known in the art can be used.
  • the input layers may have same dimensions as the number of pixels in the input image 1402. For example, this may be anywhere from a VGA 640x480 to a larger image.
  • components can be imaged, for example, using the camera 408 of the gantry head assembly 308.
  • the gantry head assembly 308 can translate to pre determined XY positions corresponding to the known positions of each slot.
  • one or more images may be captured of the components located in that slot, and the images can be analyzed to classify the component types.
  • the component receiving area 512 may not have slots - but may comprise an open platform (i.e. , as shown in FIG. 5) for receiving sorted arrangements of components.
  • gantry head assembly 308 may be translated to each spatial grouping of components to capture one or more images.
  • the image analysis program 304c can then be used to analyze the captured images to classify the component type located in each spatial grouping [00222] Alternatively or in addition to using the camera 408 of the gantry head assembly 308 - the underside camera 314 (FIG. 5), can also be used to image the components for classification purposes.
  • the PnP head 404 - of the gantry head assembly 308 - can pick up one or more sample components from each sorted grouping of components, i.e. , in the component receiving area 512.
  • the gantry head assembly 308 may then translate to the known XY position corresponding to the underside camera 314.
  • the underside camera 314 may then capture one or more images of the components.
  • the image analysis program 304c can classify components based on a combination of images captured by the gantry assembly camera 408 and/or the underside camera 314.
  • the use of the underside camera 314 can assist in capturing images of features that may not be easily observed from a top-view of these component (i.e., as captured by the camera 408 of the gantry head assembly 308).
  • features such as the footprint sizes of components, number of contact pins, etc., which are also useful for component classification, may involve underside pictures of the components.
  • the components located in the receiving area 512 may not always be positioned in the up-right position (i.e., they may be upside down, or stacked over each other). In these cases, it may also be useful to pick up the component, and capture images of the component using the underside camera 314.
  • electronic components can be identified based on their electrical properties.
  • the electrical test probes 412 can be used to measure various electrical properties of the loose electrical components.
  • the gantry head assembly 308 may be translated to each sorted grouping of components in the component receiving area 512.
  • the electrical test probes 412 can engage one or more contact pins of sample electrical components in that sorted grouping.
  • the camera 408 can be used to capture one or more images of the sorted groupings, and the images can be analyzed (i.e., via image analysis program 304c) to locate the pin positions.
  • the images can be analyzed using a trained Flaar cascades object detection algorithm.
  • the system may identify the gantry XY coordinates to move the gantry head 308 to engage the contact pins. Once engaged, the probes 412 may apply a probe current across the electrical component (i.e., resistor) in order to measure the electrical response (i.e., resistance, capacitance, inductance, etc.) of that component. The measured electrical response can then be used to classify that electrical component (i.e., a resistor having a 1 ohm value, etc.)
  • electrical components can be classified based on their weight properties.
  • the weight of a component can assist in classifying the component (i.e. , small and light resistors versus large and heavy resistors, etc.)
  • the PnP head 402 can be used to pick-up one or more sample components from each sorted component grouping, and the weight sensor on the gantry head assembly 308 (i.e., sensor 410 on assembly 308) may record the component weight.
  • the memory 308 may store an index (i.e., a look-up table) of various components and their pre-determ ined (or known) weights to help classify the component.
  • any number of classification tests can be used to classify electronic components in each sorted grouping of components.
  • more than one classification test may be used to classify components.
  • the weight of a component may provide insufficient information to identify the component.
  • an image analysis test of the component may also be performed.
  • the image analysis test may identify the component as a resistor, while the electrical probe test and/or weight test can narrow the particular resistance of that resistor (i.e., one ohm resistor versus a one kilo ohm resistor).
  • the system may simply perform each test on each component grouping, and use the aggregate results from each test to classify each component. In some cases, to mitigate conflicts between the results of multiple tests - the system may give preference to the results of some tests over others. In other cases, the system may have a hierarchal order of tests to perform in order to classify each component in each grouping. For example, the system may first determine if there are any visual indicators, and if not, the system may then perform an image analysis test of the actual component. Further, if the system is unable to precisely classify the component based on the image analysis, then one of the electrical probe and weight tests may be conducted.
  • an indication of the component classification, for each sorted arrangement of components can be stored in the memory 304.
  • FIG. 9B shows an example embodiment of a method 900b for classifying un-assorted electrical components that are received in the apparatus 105.
  • Method 900b may be performed, for example, by the processor 302.
  • the apparatus 105 may enable users to simply place (i.e., insert) an assortment of un-sorted electrical components that are used during assembly.
  • the system may classify each electrical component received in the receiving area 512, rather than relying on classifying sorted component groupings (i.e., method 900a of FIG. 9A).
  • conventional systems for PCB assembly are not typically adapted to handle unsorted components. This, in turn, may complicate the assembly process for users, who may not have the time (or sophistication knowledge) to pre-sort components.
  • - users may purchase PCB assembly kits, which deliver the components required for assembly in a single aggregated package.
  • one or more unsorted un-assembled electrical components are received, i.e. , in the component receiving area 512.
  • the unsorted electrical components may be components required for assembly of the PCB.
  • the system can determine the spatial position of each electrical component in the workspace area 512.
  • one or more images of the component receiving 512 can be captured using, for example, the gantry camera 408.
  • the image analysis program 304c - stored on memory 304 - can analyze the captured images (i.e., using edge detection processing techniques) to identify the locations of each component in the image of the component receiving area 512.
  • the system can determine the gantry XY coordinates corresponding to each location in the image where a component has been identified. In this manner, the system may determine how to translate the gantry head assembly 308 to access each electrical component.
  • the gantry head assembly 308 is used to classify each received component.
  • the gantry head assembly 308 can be translated to each electrical component identified at act 904b.
  • each component may be analyzed using one or more classification tests (e.g., image analysis of the component, electrical probe tests and/or weight test).
  • the system may sort similar components into separate spatial zones.
  • the component receiving area 512 may receive unsorted components 804c.
  • the PnP head 402 - of the gantry head assembly 308 - can transport similar type components to one or more component-specific zones in the component receiving area 512 (i.e., 806d - 816d). In this manner, the components may be sorted by the system into different areas for ease of access.
  • the apparatus 105 may also include one or more empty compartment units that can be used to receive sorted components.
  • the system can store the classification of components and/or their spatial arrangement.
  • the memory 304 may store gantry co-ordinate positions (i.e. , a range of positions) corresponding to each spatial zone, and may store associated data about the component stored in that spatial zone.
  • the system can store the classification at 904b using other techniques. For example, if the components are merely maintained in their initial unsorted position - the image of the component receiving area 512 (i.e., captured at act 904b) may be simply annotated with each component classification. In other words, each component identified in the images captured at act 904b can be annotated with classification information. Accordingly, when it is desired to retrieve a particular component - the processor 302 can access the annotated image, identify components having an appropriate classification label, and determine the associated gantry XY coordinates to retrieve the component based on the object’s location in the image.
  • FIG. 10 there is shown an example embodiment of a method 1000 for matching (i.e., pairing) un-assembled electrical components, to electrical components identified in a PCB design data (i.e., act 808 of FIG. 8).
  • the method 1000 can ensure that apparatus 105 has received all components required to assemble the PCB in accordance with the received PCB design data.
  • an electrical component list may be extracted from the PCB design file.
  • the PCB design file can be analyzed to determine which electrical components are required for assembly.
  • the extracted electrical components may be expressed, for example, as part (or model) numbers, or in terms of component class.
  • the electrical component list may also specify the required quantity of each component.
  • the received un-assembled electrical components may be classified in accordance with methods 900a and/or 900b, as previously explained.
  • the memory 304 can store a record of each identified component, as well as the quantity of that component.
  • the identified (i.e. , classified) components are compared (i.e. , matched) to the electrical component list identified at act 1002. In particular, it is determined whether each type and quantity of components in the electronic component list has been located in the component receiving area 512.
  • an error alert may be generated. For example, an error alert can be generated if there is an identified mismatch as to the required type or quantity of a particular type of component.
  • the alert generated at act 1010 may be displayed on a display interface of the apparatus 105 (i.e., display device 318).
  • the error alert may be communicated to the user computer (i.e., via network 205), and displayed on the computer’s display. The alert can, for example, identify the particulars of the mismatch.
  • a user in response to receiving the alert, a user may supply the missing components to the component receiving area 512.
  • the method can return to act 1004 to re-classify the received components to determine if there is a match. If not, the method 1000 can iterate until the correct component(s) are placed and/or the user has overridden the error alert.
  • the system may automatically monitor if new components have been received in the component receiving area 512, i.e., by imaging the component receiving area 512.
  • the user may also inform the apparatus of the new component placement by transmitting an indication to the apparatus 105 (i.e., via a user terminal or input interface 320). This may prompt the system to then classify the new component(s).
  • method 1000 may end at act 1012, and the assembly process 800 in FIG. 8 may resume.
  • Method 1100 can correspond, for example, to act 810 in FIG. 8.
  • Method 1100 is performed, for example, by the processor 302.
  • the PCB design file can be accessed (e.g., a CAD file).
  • the PCB design file may be analyzed or processed to identify assembly configuration data.
  • the assembly configuration data may express a spatial mapping of electronic component placement on the PCB.
  • the assembly configuration data may include a design layout of where each electrical component is to be placed on the PCB.
  • the assembly configuration data can include a vector format file (i.e. , a Geber file) of the fabricated PCB layout, as well as a pick-and-place file indicating the coordinate placement of each electrical component on the PCB.
  • the gantry head assembly 308 is translated to a work area where the PCB is located (i.e., 501 of FIG. 5).
  • One or more cameras 408 of the gantry head assembly are then used to capture one or more images of the PCB (i.e., using a wide-lens camera 408a).
  • An image analysis program 304c i.e., stored on the memory 304, may then analyze the images, and overlay the PCB assembly map - included in the assembly configuration data - over the PCB image. This, in turn, can allow the system to conduct a one-to-one mapping of various imaged areas of the PCB to the assembly configuration data, in order to translate image pixel coordinates to gantry head assembly XY motion coordinates.
  • the error may be detected if there is a mismatch between the dimensions of the imaged PCB, and the PCB expressed in the assembly configuration data.
  • there may be a mismatch in respect of the fabrication layout of the PCB i.e., missing traces, contact pads, etc.
  • an error alert may be generated (i.e., on a display device 318 of the apparatus 105 or transmitted to a user terminal 135).
  • the user may either, for example, (a) over-ride the error alert; (b) modify the PCB design file and/or the assembly configuration data; and (c) retrieve the PCB and insert a corrected fabricated PCB.
  • the method 1100 may return to act 1104 to re-iterate.
  • the apparatus 105 may commence the assembly of the PCB.
  • the gantry head assembly 308 i.e. , the PnP head 402
  • the PnP head 402 may be operated to retrieve the relevant components from the component receiving area 512, and place (i.e., install) the components at the relevant area of the PCB board.
  • the system can reference each component in the PCB design file, identify the location placement of that component on the PCB, and operate the gantry head assembly to retrieve the component from the component receiving area 512 and place the component over the relevant area portion of the PCB.
  • the system may have a memory of where each required component is located in the component receiving area 512 (i.e., the range of XY gantry coordinates required to access that component).
  • the system may determine where to place the component on the PCB.
  • the assembly design file may include data in respect of the order of assembly, which can be used to guide the assembly process.
  • the paste dispenser 404 (and/or the flux dispenser 418) can be operated to dispense paste (i.e., solder and/or flux) around the contact pads. In other embodiments, this may be done at any other stage of the assembly process (i.e., prior to mounting the component on the contact pad, or anytime thereafter).
  • the system may determine locations for contact pads that require component mounting, and may automatically place paste on these areas. For example, the system may reference the PCB design file (at act 1102) to determine locations for contact pads to dispense paste over. In other cases, the system may also image the board using one or more imaging device(s) 408, and may analyze the images to determine the locations of contact pads for dispensing paste.
  • the method 1100 may return to act 1112 and may re-iterate until all electronic components have been installed.
  • the area heater 312 can be activated (i.e. , the area heater 312 located below the PCB 501 in FIG. 5).
  • the solder may be heated to a target temperature whereby it may adopts conductive and mechanical adhesive properties.
  • the components may be mechanically secured to the PCB, and also electrically coupled to other components on the PCB via the conductive traces, etc.
  • the temperature of the solder on the PCB can be monitored using, for example, the gantry head temperature sensors 410.
  • the gantry head assembly 308 may be positioned over, or in proximity, of the PCB to ensure that the temperature sensor 410 is proximal enough to measure temperature.
  • the temperature of the solder is then monitored to determine if the solder has reached the target threshold temperature, which may be slightly above the melting point of solder (i.e., 60° to 450°).
  • the method 1100 can return to act 1118, whereby the area heater 312 is continued to be cycled. Otherwise, if the temperature threshold has been reached, then the PCB assembly may be determined to be complete at act 1122.
  • FIG. 12 shows an example embodiment of a method 1200 for automated editing or re-working of a PCB (i.e., acts 812 and 814 of method 800 of FIG. 8).
  • Method 1200 may be performed, for example, by the processor 302.
  • method 1200 may occur any time before, during or after the PCB assembly process, and accordingly, may allow a user (or system) to re-work or edit the PCB at any point in time. More specifically, it has been appreciated that conventional systems for assembling PCBs do not permit for a non-linear process by which the assembly process can be reversed to allow for editing or re-working of PCB. Rather, conventional systems follow a linear path of forward assembly, whereby components can only be assembled on PCBs, but not otherwise removed. By allowing editing and re-working of PCBs, users are enabled with the flexibility of not only correcting errors, but also testing new and novel combinations of
  • PCB designs i.e., with different components
  • this may be particularly suited for PCB design engineers, as well as hobbyist who are experimenting with different PCB configurations.
  • a trigger event may be received to modify the PCB assembly configuration.
  • the trigger event may be received at any point before, during or after the assembly process.
  • the trigger event can be user-initiated.
  • the user may transmit instructions to the processor 302 to modify an assembly configuration of the PCB.
  • the user may desire to try new PCB assembly configurations (i.e. , more optimal configurations, or corrected designs), and accordingly, may desire the PCB to be modified to reflect the new configurations.
  • the user may wish to try different values of certain electrical components, or alter the placement of specific components.
  • the user may, for example, transmit, i.e., from the user terminal 135, a modified PCB design file to the processor 302, which may act as the trigger event.
  • the user may be able to modify the PCB design file (i.e., in real time or near real-time) via, for example, the user terminal 135, to alter the placement of electrical components on the PCB.
  • the apparatus 105 may receive real-time or near real-time PCB design modification data from the user terminal 135.
  • the command to remove a piece may be received via an installable software plug-in for a user interface associated with a PCB design program or software.
  • a PCB i.e., partially or fully assembled
  • the PCB can be inserted into the apparatus 105, and the PCB can be analyzed (i.e., imaged using imaging device(s) 408 or using electrical test probes 412 to test various electrical components), to identify the PCB design configuration.
  • the system can automatically retrieve (i.e., access) a PCB design file that is associated with that board (i.e., based on a similarity measure between the analyzed design configuration and the PCB design file) and can further detect differences between the PCB design file and the inserted PCB. These difference can then also act as a trigger to modify the PCB at act 1202.
  • the event trigger may be automatically initiated by the processor 302 in response to a PCB test inspection.
  • the system may be operable to conduct inspection tests on the PCB to ensure that components are correctly placed. The test inspections may occur, for example, part-way through the assembly or at the end of the assembly. In response to performing a test inspection, the system can determine that an electrical component is misplaced, and therefore the PCB requires editing.
  • various types of PCB validation test inspections can result in trigger events for modifying the PCB, and can include optical and electrical test inspections.
  • optical inspections one or more images of the PCB may be captured (i.e., via the camera 408 of the gantry head assembly 308).
  • the image analysis program 304c may then analyze the captured images to identify the various component placements on the PCB, as well the type of components at each location of the PCB.
  • one or more edge detection and image classification techniques can be used to identify the location of component placement on the PCB within the captured images, as well as identify the type of components that are mounted.
  • the results of the image processing can then be compared to the assembly configuration data in the PCB design file to identify and localize any errors.
  • the identification of any errors, resulting from the optical inspection may act as an event trigger for modifying the PCB.
  • electrical test inspections can also be used to determine whether to modify the PCB.
  • the electrical test probes 412 can be used to apply a probe current through one or more portions of the PCB circuitry. The electrical response to the probe current may then be measured. The measured electrical response may then be compared to the expected electrical response, based on the PCB design file.
  • the PCB design file may be input into one or more simulators that can simulate electrical circuit response. The simulations can, in turn, generate the expected electrical response for the PCB design.
  • the electrical response can be measured by the electrical probes 412 in view of the PCB being connected, for example, to an external current or voltage source (i.e., by the user).
  • any errors identified by the electrical test inspection can also act as an event trigger for modifying the PCB.
  • an IR temperature sensor 410 can be used to scan the PCB for thermal defects and in order to build a temperature profile of the board for diagnostic purposes (i.e., as a form for validation testing).
  • the processor 302 may automatically modify the PCB to correct the error.
  • the PCB may not be modified without user authorization.
  • the user may be alerted of the error (i.e., via a notification to the user terminal 135 and/or the apparatus display device 318).
  • the system may automatically identify how to correct the error, and the user may simply accept the system’s suggestion.
  • remediating the error may involve the user, for example, supplying replacement components to the apparatus 105 and/or transmitting PCB modification data.
  • the system can identify one or more target electrical components that may be removed from the PCB, in order to modify the PCB. For example, this may be determined automatically after conducting one or more inspection tests.
  • the user may specify to the system (i.e., via the user terminal 315 and/or the input interface 320) which components to modify. For example, the user may select certain components to remove on the PCB design file, and this modification data may be transmitted to the apparatus 105. Otherwise, the user may transmit an updated PCB design file, and the system may determine - based on a comparison with the original PCB design file - which components require removing.
  • the PCB is analyzed to determine the locations of these electrical components (i.e., through one or more image captures of the PCB).
  • the area heater 312 (i.e., located below the PCB 501 in FIG. 5) can be operated to re-heat the solder to a first pre-determ ined temperature.
  • the first pre-determ ined temperature is a temperature that heats all of the solder on the PCB to just before the solder melting point (i.e., within 1 ° to 10° of solder melting point).
  • the solder temperature is monitored to determine if it has reached the first pre-determ ined temperature.
  • the monitoring can occurring using the gantry head temperature sensor 410.
  • the gantry head assembly 308 may be positioned over, or in proximity, of the PCB to ensure that the temperature sensor 410 is proximal enough to measure temperature.
  • the method may return to act 1208 and iterate until the solder is appropriately heated. Otherwise, once the solder has reached the first pre-determ ined temperature, at act 1212, the area heater 312 is de-activated, and the localized gantry heater is positioned in proximity of the one or more target components that require removing (i.e. , the gantry head assembly 308 can be translated, in turn, to each individual component requiring removing from the PCB). The localized gantry heater 420 is then operated to further heat the solder, around the components requiring removing, to a second pre-determ ined temperature. In particular, the second pre-determ ined temperature corresponds to the melting point of the solder (or just slightly above), and allows the solder to be sufficiently viscous for the target component to be dismounted.
  • the solder temperature around the target electrical component is again monitored to determine if it has reached the second pre-determ ined temperature (e.g., using the gantry temperature sensor 410).
  • the method can return to act 1212 and can iterate until the second pre-determ ined temperature is reached. Otherwise, at act 1216, the electrical component can be removed from the PCB (i.e., using the PnP head 402 of the gantry head assembly 308). The removed component may then be relocated back to an appropriate location in the component receiving area 512, or otherwise simply disposed. As explained in greater detail with reference to FIG. 13, at act 1216, the de-soldering head 414, on the gantry head assembly 308, may also be operated to remove at least some of the remaining melted solder on the PCB contact pads, after (or before) removing the component.
  • the component may be electrically tested (i.e., via electrical test probes 412).
  • the electrical properties determined from the testing can be stored, or used for sorting the component in the component receiving area 512.
  • the component may also be classified in a manner as similarly expressed at act 808 in FIG. 8 (i.e., imaging, or weight or electrical testing), to allow for sorting the component appropriately in the component receiving area 512 and/or for subsequent identification and use of that component.
  • the combination of area heater 312 and the localized gantry heating element 420 can allow for more efficient melting of the solder around the target component requiring dismounting.
  • the area heater 312 may be first used to heat the solder - i.e., across the entire board - to the first pre-determ ined temperature. This may then allow operation of the localized gantry heater 420 to heat the solder around the target component to the second pre-determ ined temperature, which is different than the first pre determined temperature.
  • the localized gantry heater 420 may operate to heat the pre-heated solder within a limited time frame after the area heater 312 is de activated (i.e., within 3 to 5 seconds). This is to ensure that the solder does not significantly cool down prior to operating the localized gantry heater 420.
  • the method 1200 may not include acts 1208 to 1210, and a localized gantry heater 420, with sufficient power, can be used to heat only a desired portion of solder to the second pre determined temperature.
  • the localized heating may be also provided by the area heater 312.
  • the area heater 312 may comprise a plurality of sub-heating blocks.
  • this may be a grid of M x N sub heating blocks, wherein M expresses the number of rows and N expresses the number of columns.
  • the sub-heating blocks may be configured in any other arrangement (e.g., nested concentric circles of varying diameter).
  • the sub-heating blocks may be controllably activated such as to localize the heating to desired areas on the PCB.
  • the sub-heating blocks may all be controlled by, e.g., processor 302, and only sub heating blocks around (e.g., directly beneath) the area of the target component, which requires dismounting, may be activated.
  • the specific sub-heating blocks that are activated may be selected based on knowledge of where the target component area is located on the surface of the PCB relative to the grid of sub-heating blocks (e.g., based on spatial analysis of images captured of the PCB).
  • FIG. 13 shows an example embodiment of a method 1300 for using the de-soldering head 414, on the gantry head assembly 308, to remove solder from the PCB contact pads during re-working or editing of the PCB.
  • the method 1300 may allow removing only a pre-determ ined quantity of solder from the PCB contact pads as to not damage the contact pads using the de-soldering head 414.
  • one or more images can be captured of a target area of the PCB where solder requires removing (i.e. , an area where a component has been dismounted).
  • images can be captured using one or more cameras 408 of the gantry head assembly 308.
  • the images can be analyzed to determine a quantity of solder on the target area.
  • the image analysis program 304c - in the memory 304c - can use one or more image analysis techniques (i.e., edge detection techniques) to quantify the volume or remaining solder.
  • the de-soldering head 414 can be operated to remove the excess solder paste. For example, based on the known suction rate of the de soldering head 414 - and the known quantity of solder to be removed - the de-soldering head 414 can be operated for a pre-determ ined period of time. Otherwise, if the quantity is not greater than the threshold, the method can end at act 1310. While the above description describes features of example embodiments, it will be appreciated that some features and/or functions of the described embodiments are susceptible to modification without departing from the spirit and principles of operation of the described embodiments.

Abstract

A system and method for automated assembly and/or modification of printed circuit boards (PCBs) is provided herein. In at least one embodiment, the apparatus comprises a at least one working-component unit, the at least one working-component unit comprising a pick-and-place device; one or more processors coupled to the at least one working-component unit, the one or more processors being configured to: receive a trigger event to remove an electronic component mounted to an area of a printed circuit board (PCB); heat paste located at the area to a pre-determined temperature; and control the pick-and-place device to remove the electronic component from the PCB.

Description

TITLE: SYSTEM AND METHOD FOR ASSEMBLY AND/OR MODIFICATION OF
PRINTED CIRCUIT BOARDS (PCBS)
FIELD
[0001] Various embodiments are described herein that generally relate to printed circuit boards, and in particular, to a system and method for assembly and/or modification of printed circuit boards (PCBs).
BACKGROUND
[0002] Printed circuit boards (PCBs) form the building blocks of many modern electronic devices, and are common features in almost all consumer electronic products. In general, a PCB functions as a mechanical support platform that can electrically couple different electronic circuit components to build various circuit design configurations. The process of producing an assembled PCB typically involves initially fabricating the PCB, or otherwise, modifying a blank PCB to include one or more fabricated features including, inter alia, one or more connection points (i.e. , contact pads) as well as one or more conductive interconnections (i.e., traces). To this end, the contact pads allow for mounting electronic circuit components (i.e., surface mounted devices or through-hole components) to the PCB, while the conductive traces form the electrical connections between these circuit components. In many cases, the PCBs are fabricated in accordance with specific circuit design layouts which map the desired locations of the various fabricated features. Once the PCB has been fabricated, electronic components may then be mounted to the PCB by soldering contact points of these electronic components (i.e., pins, etc.) to respective contact pads (i.e., footprints on the PCB). Electronic components that can be mounted to the PCB include, for example, passive electrical components (i.e., resistors, capacitors, diodes, etc.), as well as active electrical components (i.e., microcontroller chips, etc.). SUMMARY OF VARIOUS EMBODIMENTS
[0003] In accordance with a broad aspect of the teachings herein, there is provided at least one embodiment of a system for automated assembly and/or modification of printed circuit boards (PCBs), the apparatus comprising: at least one working-component unit, the at least one working-component unit comprising a pick-and-place device; a motion system for translating the at least one working-component unit to various positions; a PCB receiving area for mounting an at least partially fabricated PCB; one or more processors coupled to the at least one working-component unit and the motion system, the one or more processors being configured to: receive a trigger event to remove an electronic component mounted to an area of the printed circuit board (PCB); heat paste located at the area to a pre-determ ined temperature; and control the pick-and-place device to remove the electronic component from the PCB.
[0004] In at least one embodiment, the trigger event comprises receiving a user input to remove the electronic component.
[0005] In at least one embodiment, the user input is received via an insertable plug-in of a user interface associated with a PCB design software.
[0006] In at least one embodiment, the trigger event comprises accessing an assembly design file which comprises a modification to the PCB involving removing the electronic component.
[0007] In at least one embodiment, the at least one working-component unit further comprises a localized heating device, and wherein the one or more processors are configured to perform the heating by operating the localized heating device.
[0008] In at least one embodiment, the at least one working-component unit further comprises one or more of an electrical test probe or at least one camera , and the one or more processors are configured to: conduct a validation test to determine correct placement of electronic components on the PCB, wherein the validation test comprises testing one or more electronic components using the electrical test probe or by imaging at least a portion of the PCB using the at least one camera. [0009] In at least one embodiment, the trigger event comprises a failed validation test result in respect of incorrect placement of the electronic component.
[0010] In at least one embodiment, the pre-determ ined temperature is a second pre determined temperature, and the at least one working-component unit further comprises an area heater operatively coupled to the one or more processors, and the one or more processors are configured to: prior to heating the past at the area, operate the area heater to heat the PCB to a first pre-determ ined temperature that is different than the second pre determined temperature in order to heat the paste to a pre-melting temperature point.
[0011] In at least one embodiment, the area heater comprises a plurality of sub heating blocks, and the one or more processors are configured to activate one or more sub heating blocks, located underneath the area, to heat the paste located at the area.
[0012] In at least one embodiment, the area heater comprises a plurality of sub heating blocks, and the one or more processors are configured to activate the one or more sub-heating blocks, located underneath the area, to heat the paste located at the area.
[0013] In at least one embodiment, the system further comprises a part receiving area housing a number of un-assembled electronic components, and the at least one working- component unit further comprises a paste dispenser, and the one or more processors are configured to: control the gantry head translation mechanism to translate the at least one working-component unit to the part receiving area; control the pick-and-place device, of the at least one working-component unit, to pick-up an un-assembled electronic component from the part receiving area; control the motion system to translate the at least one working- component unit to a target area of the PCB after the pick-up of the un-assembled electronic component; control the pick-and-place device, of the at least one working-component unit, to mount the un-assembled electronic component to the target area; and concurrently control the motion system and the paste dispenser to deposit paste around the mounted electronic component.
[0014] In at least one embodiment, prior to controlling the pick-and-place device to pick-up the un-assembled electronic component, the one or more processors are configured to: classify one or more un-assembled electronic components in the part receiving area using one or more classification tests; and based on the one or more classification tests, identify the un-assembled electronic component as a target component for assembly.
[0015] In at least one embodiment, the classification test is an imaging test, and the at least one working-component unit further comprises at least one camera, and the one or more processors are configured to: control the at least one camera to capture an image of at least a portion of the receiving area; perform image analysis on the captured image to classify one or more un-assembled electronic components in the captured image; and identify the un-assembled electronic component based on the image analysis.
[0016] In at least one embodiment, wherein during image analysis, the one or more processors are further configured to: identify at least one or more visual indicia in the image; and determine a component type corresponding to each visual indicia to classify the one or more un-assembled electronic components.
[0017] In at least one embodiment, the one or more classification tests include an electrical probe test, and the at least one working-component unit further comprises at least one electrical probe, and the one or more processors are configured to: control the at least one working-component unit to electrically couple the at least one electrical probe to at least one un-assembled electronic component in the receiving area; receive measured electrical property data in respect of the at least one un-assembled electronic component that is electrically coupled to the at least one electrical probe; and classify the at least one un assembled electronic component based on comparing the measured electrical property data to pre-determ ined electrical property data of various un-assembled electronic components.
[0018] In at least one embodiment, The system of any one of claims 8 to 11 , wherein the classification test is a component weight test, and the at least one working-component unit further comprises at least one weight sensor, and the one or more processors are configured to: control the motion system and the pick-and-place device to pick-up each one or more un-assembled electronic components; receive measured weight property data in respect of the one or more un-assembled electronic components; and classify the one or more un-assembled electronic component by comparing the measured weight property data to pre-determ ined weight property data of various un-assembled electronic components. [0019] In at least one embodiment, the one or more processors are operated in a user- controlled mode, wherein in the user-controlled model, the one or more processors are configured to control the at least one working-component unit and the motion system only in response to received user command inputs.
[0020] In at least one embodiment, the one or more processors are operated in a semi- automated mode, wherein in the semi-automated mode, the one or more processors are configured to receive one or more initial user command inputs, and are further configured to automatically control the at least one working-component unit and the motion system to automatically perform subsequent actions in accordance with the one or more initial user command inputs.
[0021] In at least one embodiment, the one or more processors are operated in an automated mode, wherein in the automated mode, the one or more processors are configured to control the at least one working-component unit and the motion system in a fully-automated manner.
[0022] In at least one embodiment, the system further comprises a memory coupled to the one or more processors, and in the user-controlled mode, the one or more processors are further configured to record, in the memory, the user command inputs and generate one or more user preference rules, and in the automated or semi-automated modes, the one or more processors are configured to automatically control the at least one working-component unit and the motion system in accordance with the one or more user preference rules.
[0023] In at least one embodiment, the at least one working-component unit comprises a gantry head assembly, and the motion system comprises a gantry head translation mechanism.
[0024] In at least one embodiment, the motion system comprises at least one of: one or more SCARA arms, one or more five bar linkage robots, one or more independent motion robots, one or more wheeled robots or one or more swarm robots.
[0025] In at least one embodiment, the paste dispenser comprises at least one of: a mechanical dispenser, a stencil dispenser, a pneumatic dispenser, a hydraulic dispenser, a piezo dispenser, or an inkjet dispenser. [0026] In at least one embodiment, the paste comprises at least one of a conductive paste, epoxies or other conductive inks.
[0027] In at least one embodiment, the localized heater comprises at least one of a radiative infrared (IR) heater, a convective heater or a contact heater.
[0028] In at least one embodiment, the pick and place device comprises at least one of a mechanical finger, a joint based gripper, electrostatic gripper or a pneumatic gripper.
[0029] In accordance with another broad aspect of the teachings herein, there is provided at least one embodiment of method for automated assembly and/or modification of printed circuit boards (PCBs), the method comprising: receiving a trigger event to remove an electronic component mounted to an area of a printed circuit board (PCB); heat paste located at the area to a pre-determined temperature; and controlling a pick-and-place device of the at least one working-component unit to remove the electronic component from the PCB, wherein the method is performed using one or more processors.
[0030] In at least one embodiment, the heating occurs by operating a localized heating device of at least one working component unit.
[0031] In at least one embodiment, the trigger event comprises receiving a user input to remove the electronic component.
[0032] In at least one embodiment, the user input is received via an insertable plug-in of a user interface associated with a PCB design software.
[0033] In at least one embodiment, the trigger event comprises accessing an assembly design file which comprises a modification to the PCB involving removing the electronic component.
[0034] In at least one embodiment, the trigger event comprises a failed validation test result in respect of incorrect placement of the electronic component.
[0035] In at least one embodiment, the method further comprises: conducting a validation test to determine correct placement of electronic components on the PCB, wherein the validation test comprises testing one or more electronic components using the electrical test probe at least one working-component unit, or by imaging at least a portion of the PCB using at least one camera of the at least one working-component unit.
[0036] In at least one embodiment, the trigger event comprises a failed validation test result in respect of incorrect placement of the electronic component.
[0037] In at least one embodiment, the pre-determ ined temperature is a second pre determined temperature, and the method further comprises: prior to heating the paste at the area, operating, by the one or more processors, an area heater to heat the PCB to a first pre determined temperature that is different than the second pre-determ ined temperature in order to heat the paste to a pre-melting temperature point.
[0038] In at least one embodiment, the area heater comprises a plurality of sub heating blocks, and the method comprises heating the paste at the area by activating one or more sub-heating blocks located underneath the area.
[0039] In at least one embodiment, the area heater comprises a plurality of sub heating blocks, and the method comprises heating the paste at the area by activating one or more sub-heating blocks located underneath the area.
[0040] In at least one embodiment, wherein the method further comprises: controlling a motion system to translate the at least one working-component unit to a part receiving area housing a number of un-assembled electronic components; controlling the pick-and-place device, of the at least one working-component unit, to pick-up an un-assembled electronic component from the part receiving area; controlling the motion system to translate the at least one working-component unit to a target area of the PCB after the pick-up of the un assembled electronic component; controlling the pick-and-place device, of the at least one working-component unit, to mount the un-assembled electronic component to the target area; and concurrently controlling the motion system and a paste dispenser on the at least one working-component unit, to deposit paste around the mounted electronic component.
[0041] In at least one embodiment, prior to controlling the pick-and-place device to pick-up the un-assembled electronic component, the method further comprises: classifying one or more un-assembled electronic components in the part receiving area using one or more classification tests; and based on the one or more classification tests, identifying the un-assembled electronic component as a target component for assembly.
[0042] In at least one embodiment, wherein the classification test is an imaging test, and the method further comprises: controlling at least one camera on the at least one working-component unit to capture an image of at least a portion of the receiving area; perform image analysis on the captured image to classify one or more un-assembled electronic components in the captured image; and identifying the un-assembled electronic component based on the image analysis.
[0043] In at least one embodiment, during the image analysis, the method further comprises: identifying at least one or more visual indicia in the image; and determining a component type corresponding to each visual indicia to classify the one or more un assembled electronic components.
[0044] In at least one embodiment, the classification test is an electrical probe test, and the method further comprises: controlling the at least one working-component unit to electrically couple at least one electrical probe of the at least one working-component unit to at least one un-assembled electronic components in the receiving area; receiving measured electrical property data in respect of the at least one un-assembled electronic component that is electrically coupled to the at least one electrical probe; and classifying the at least one un-assembled electronic component based on comparing the measured electrical property data to pre-determ ined electrical property data of various un-assembled electronic components.
[0045] In at least one embodiment, the classification test is a component weight test, and the method further comprises: controlling the motion system and the pick-and-place device to pick-up each of the one or more un-assembled electronic components; receiving measured weight property data in respect of the one or more un-assembled electronic components; and classifying the one or more un-assembled electronic components by comparing the measured weight property data to pre-determ ined weight property data of various un-assembled electronic components. [0046] In at least one embodiment, wherein the one or more processors operate in a user-controlled mode, wherein in the user-controlled model, the one or more processors are configured to control the at least one working-component unit and the motion system only in response to received user command inputs.
[0047] In at least one embodiment, the one or more processors operate in a semi- automated mode, wherein in the semi-automated mode, the one or more processors are configured to receive one or more initial user command inputs, and are further configured to automatically control the at least one working-component unit and the motion system to automatically perform subsequent actions in accordance with the one or more initial user command inputs.
[0048] In at least one embodiment, the one or more processors operate in an automated mode, wherein in the automated mode, the one or more processors are configured to control the at least one working-component unit and the motion system in a fully-automated manner.
[0049] In at least one embodiment, the method further comprises recording the user command inputs and generating one or more user preference rules, and in the automated or semi-automated mode, automatically controlling the at least one working-component unit and the motion system in accordance with user preference rules.
[0050] In at least one embodiment, the at least one working-component unit comprises a gantry head assembly, and the motion system comprises a gantry head translation mechanism.
[0051] In at least one embodiment, the motion system comprises at least one of: one or more SCARA arms, one or more five bar linkage robots, one or more independent motion robots, one or more wheeled robots, or one or more swarm robots.
[0052] In at least one embodiment, the paste dispenser comprises at least one of: a mechanical dispenser, a stencil dispenser, a pneumatic dispenser, a hydraulic dispenser, a piezo dispenser, or an inkjet dispenser.
[0053] In at least one embodiment, the paste comprises at least one of a conductive paste, epoxies or other conductive inks. [0054] In at least one embodiment, the localized heater comprises at least one of a radiative infrared (IR) heater, a convective heater or a contact heater.
[0055] In at least one embodiment, the pick and place device comprises at least one of a mechanical finger, a joint based gripper, electrostatic gripper and a pneumatic gripper.
[0056] In accordance with another broad aspect of the teachings herein, there is provided a system for automated assembly and/or modification of printed circuit boards (PCBs), the system comprising: at least one working-component unit, the at least one working-component unit comprising a pick-and-place device for picking-up and dropping electronic components, a localized heating device, a paste dispenser, and at least one camera; a motion system for translating the at least one working-component unit to various positions; a PCB receiving area for mounting a PCB; a part receiving area for receiving unassembled electronic components; one or more processors coupled to the at least one working-component unit and the motion system, the one or more processors being configured to assemble and/or modify the PCB in one or more an automated mode, a semi- automated mode or a user-controlled mode.
[0057] In at least one embodiment, in the user-controlled mode, the one or more processors are configured to control the at least one working-component unit and the motion system only in response to received user command inputs.
[0058] In at least one embodiment, in the semi-automated mode, the one or more processors are configured to receive one or more initial user command inputs, and are further configured to automatically control the at least one working-component unit and the motion system to automatically perform subsequent actions in accordance with the one or more initial user command inputs.
[0059] In at least one embodiment, the system further comprises at least one user computer device, and one or more initial user command inputs are received from the at least one user computer device.
[0060] In at least one embodiment, the system further comprises an integrated input interface, and the one or more initial user command inputs are received via the integrated input interface. [0061] In at least one embodiment, in the automated mode, the one or more processors are configured to control the at least one working-component unit and the motion system in a fully-automated manner.
[0062] In at least one embodiment, the one or more processors are further configured to record the user command inputs and generate one or more user preference rules, and in the automated or semi-automated mode, the one or more processors are further configured to automatically control the at least one working-component unit and the motion system in accordance with user preference rules.
[0063] Other features and advantages of the present application will become apparent from the following detailed description taken together with the accompanying drawings. It should be understood, however, that the detailed description and the specific examples, while indicating preferred embodiments of the application, are given by way of illustration only, since various changes and modifications within the spirit and scope of the application will become apparent to those skilled in the art from this detailed description.
BRIEF DESCRIPTION OF THE DRAWINGS
[0064] For a better understanding of the various embodiments described herein, reference will be made, to the accompanying drawings. The drawings are not intended to limit the scope of the teachings described herein.
[0065] FIG. 1A is an example embodiment of an environment for operating an apparatus for automated assembly of printed circuit board (PCBs).
[0066] FIG. 1 B is an illustration of an example embodiment of the apparatus for automated PCB assembly in accordance with the teachings herein, and showing a top perspective view of the apparatus.
[0067] FIG. 1 C is an illustration of an example embodiment of the apparatus for automated PCB assembly, and showing an elevation view of the apparatus.
[0068] FIG. 1 D is a schematic illustration of an example pre-fabricated PCB. [0069] FIG. 2 is a simplified block diagram for an example embodiment of a system for automated PCB assembly in accordance with the teachings herein.
[0070] FIG. 3 is a simplified block diagram of an example embodiment of the hardware components of the apparatus for automated PCB assembly in accordance with the teachings herein.
[0071] FIG. 4 is a simplified block diagram for an example embodiment of a gantry head assembly, in accordance with at least one embodiment.
[0072] FIG. 5 is a schematic illustration of an example embodiment of the interior of the apparatus for automated PCB assembly. [0073] FIG. 6A is a schematic illustration of an example embodiment of a PCB mounting structure and area heater.
[0074] FIG. 6B is a schematic illustration of an example embodiment of a mounting platform used in the PCB mounting structure of FIG. 6A.
[0075] FIG. 6C is a schematic illustration of an example embodiment of a securing clamp used in the PCB mounting structure of FIG. 6A.
[0076] FIG. 6D is an example embodiment of an underside imaging device that can be used in the apparatus for automated PCB assembly.
[0077] FIG. 7A is a schematic illustration showing a perspective view of an example gantry head assembly. [0078] FIG. 7B is a schematic illustration showing a side elevation of the example gantry head assembly of FIG. 7A.
[0079] FIG. 7C is a schematic illustration showing a front view of the example gantry head assembly of FIG. 7A.
[0080] FIG. 8 is an example embodiment of a method for automated assembly of PCBs, in accordance with at least one embodiment.
[0081] FIG. 9A is an example embodiment of a method for classifying pre-sorted electrical components that are received into the apparatus. [0082] FIG. 9B is an example embodiment of a method for classifying unsorted electrical components that are received in the apparatus.
[0083] FIG. 9C is a schematic illustration of an example electrical component compound wheel. [0084] FIG. 9D is a schematic illustration of electrical components in a pre-sorted and a post-sorted stage.
[0085] FIG. 9E is a schematic illustration of one or more electronic compartment units located over an open area platform defining a component receiving area.
[0086] FIG. 10 is an example embodiment of a method for matching (i.e. , pairing) un- assembled electrical components to electrical components identified in a PCB design file.
[0087] FIG. 11 is an example embodiment of a method for automated PCB assembly, in accordance with at least one embodiment.
[0088] FIG. 12 is example embodiment of a method for automated editing or re working of a PCB. [0089] FIG. 13 is an example embodiment of a method for using a de-soldering head, on a gantry head assembly, to remove solder from PCB contact pads during re-working or editing of a PCB.
[0090] FIG. 14 shows an example architecture for a machine learning model used for image analysis. [0091] Further aspects and features of the example embodiments described herein will appear from the following description taken together with the accompanying drawings.
DETAILED DESCRIPTION OF THE EMBODIMENTS
[0092] Various embodiments in accordance with the teachings herein will be described below to provide an example of at least one embodiment of the claimed subject matter. No embodiment described herein limits any claimed subject matter. The claimed subject matter is not limited to devices, systems or methods having all of the features of any one of the devices, systems or methods described below or to features common to multiple or all of the devices, systems or methods described herein. It is possible that there may be a device, system or method described herein that is not an embodiment of any claimed subject matter. Any subject matter that is described herein that is not claimed in this document may be the subject matter of another protective instrument, for example, a continuing patent application, and the applicants, inventors or owners do not intend to abandon, disclaim or dedicate to the public any such subject matter by its disclosure in this document.
[0093] It will be appreciated that for simplicity and clarity of illustration, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements or steps. In addition, numerous specific details are set forth in order to provide a thorough understanding of the example embodiments described herein. However, it will be understood by those of ordinary skill in the art that the embodiments described herein may be practiced without these specific details. In other instances, well-known methods, procedures and components have not been described in detail so as not to obscure the embodiments described herein. Also, the description is not to be considered as limiting the scope of the example embodiments described herein.
[0094] It should also be noted that the terms “coupled” or “coupling” as used herein can have several different meanings depending in the context in which these terms are used. For example, the terms coupled or coupling can have a mechanical, fluidic or electrical connotation. For example, as used herein, the terms coupled or coupling can indicate that two elements or devices can be directly connected to one another or connected to one another through one or more intermediate elements or devices via an electrical or magnetic signal, electrical connection, an electrical element or a mechanical element depending on the particular context. Furthermore coupled electrical elements may send and/or receive data.
[0095] Unless the context requires otherwise, throughout the specification and claims which follow, the word “comprise” and variations thereof, such as, “comprises” and “comprising” are to be construed in an open, inclusive sense, that is, as “including, but not limited to”. [0096] It should also be noted that, as used herein, the wording “and/or” is intended to represent an inclusive-or. That is, “X and/or Y” is intended to mean X or Y or both, for example. As a further example, “X, Y, and/or Z” is intended to mean X or Y or Z or any combination thereof.
[0097] It should be noted that terms of degree such as "substantially", "about" and "approximately" as used herein mean a reasonable amount of deviation of the modified term such that the end result is not significantly changed. These terms of degree may also be construed as including a deviation of the modified term, such as by 1 %, 2%, 5% or 10%, for example, if this deviation does not negate the meaning of the term it modifies.
[0098] Furthermore, the recitation of numerical ranges by endpoints herein includes all numbers and fractions subsumed within that range (e.g. 1 to 5 includes 1 , 1.5, 2, 2.75, 3, 3.90, 4, and 5). It is also to be understood that all numbers and fractions thereof are presumed to be modified by the term "about" which means a variation of up to a certain amount of the number to which reference is being made if the end result is not significantly changed, such as 1 %, 2%, 5%, or 10%, for example.
[0099] Reference throughout this specification to “one embodiment”, “an embodiment”, “at least one embodiment” or “some embodiments” means that one or more particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments, unless otherwise specified to be not combinable or to be alternative options.
[00100] As used in this specification and the appended claims, the singular forms “a,” “an,” and “the” include plural referents unless the content clearly dictates otherwise. It should also be noted that the term “or” is generally employed in its broadest sense, that is, as meaning “and/or” unless the content clearly dictates otherwise.
[00101] The headings and Abstract of the Disclosure provided herein are for convenience only and do not interpret the scope or meaning of the embodiments.
[00102] Similarly, throughout this specification and the appended claims the term “communicative” as in “communicative pathway,” “communicative coupling,” and in variants such as “communicatively coupled,” is generally used to refer to any engineered arrangement for transferring and/or exchanging information. Exemplary communicative pathways include, but are not limited to, electrically conductive pathways (e.g., electrically conductive wires, electrically conductive traces), magnetic pathways (e.g., magnetic media), optical pathways (e.g., optical fiber), electromagnetically radiative pathways (e.g., radio waves), or any combination thereof. Exemplary communicative couplings include, but are not limited to, electrical couplings, magnetic couplings, optical couplings, radio couplings, or any combination thereof.
[00103] Throughout this specification and the appended claims, infinitive verb forms are often used. Examples include, without limitation: “to detect,” “to provide,” “to transmit,” “to communicate,” “to process,” “to route,” and the like. Unless the specific context requires otherwise, such infinitive verb forms are used in an open, inclusive sense, that is as “to, at least, detect,” to, at least, provide,” “to, at least, transmit,” and so on.
[00104] The example embodiments of the systems and methods described herein may be implemented as a combination of hardware or software. In some cases, the example embodiments described herein may be implemented, at least in part, by using one or more computer programs, executing on one or more programmable devices comprising at least one processing element, and a data storage element (including volatile memory, non-volatile memory, storage elements, or any combination thereof). These devices may also have at least one input device (e.g. a keyboard, mouse, touchscreen, or the like), and at least one output device (e.g. a display screen, a printer, a wireless radio, or the like) depending on the nature of the device.
[00105] It should also be noted that some elements that are used to implement at least part of at least one of the embodiments described herein may be implemented via software that is written in a high-level procedural language such as object-oriented programming. The program code may be written in C++, C#, JavaScript, Python, or any other suitable programming language and may comprise modules or classes, as is known to those skilled in object-oriented programming. Alternatively, or in addition thereto, some of these elements implemented via software may be written in assembly language, machine language, or firmware as needed. In either case, the language may be a compiled or interpreted language. [00106] At least some of these software programs may be stored on a computer readable medium such as, but not limited to, a ROM, a magnetic disk, an optical disc, a USB key, and the like that is readable by a device having at least one processor, an operating system, and the associated hardware and software that is used to implement the functionality of at least one of the embodiments described herein. The software program code, when read by the device, configures the device to operate in a new, specific, and predefined manner (e.g., as a specific-purpose computer) in order to perform at least one of the methods described herein.
[00107] At least some of the programs associated with the devices, systems, and methods of the embodiments described herein may be capable of being distributed in a computer program product comprising a computer readable medium that bears computer usable instructions, such as program code, for one or more processing units. The medium may be provided in various forms, including non-transitory forms such as, but not limited to, one or more diskettes, compact disks, tapes, chips, and magnetic and electronic storage. In alternative embodiments, the medium may be transitory in nature such as, but not limited to, wire-line transmissions, satellite transmissions, internet transmissions (e.g., downloads), media, digital and analog signals, and the like. The computer useable instructions may also be in various formats, including compiled and non-compiled code.
[00108] As stated in the background, the process of assembling PCBs is often an arduous and time intensive task, especially for large circuit board designs. While there have been previous attempts at systems that automate and simplify PCB assembly, these systems often suffer from a number of significant drawbacks. In particular, many of these prior systems only partially automate the assembly process, and otherwise require a significant degree of human intervention to guide the assembly process.
[00109] Still further, prior systems for automating PCB assembly are typically adapted for large volume PCB production. That is, these systems are operable to efficiently produce, en-masse, PCBs using “tried-and-tested” design layouts. Once the system has been configured to re-produce the PCB design for one PCB, the system may then be automated to replicate the same layout for a large volume of PCBs in an assembly-line fashion. In turn, many of these systems are best suited for industrial scale production of PCBs. These conventional systems are, however, otherwise poorly suited for small scale PCB assembly. In particular, systems adapted for volume production of PCBs may not find particular suited applicability in contexts where the PCB design layout is not yet “tried-and-tested”, but is still in the design phase. This is because these systems often involve large, complicated and inflexible setups. For example, it is often the case that PCB design engineers, hobbyists and the like, may need to iterate through multiple PCB design layouts before settling on an optimal design. To this end, each iteration of the PCB design may require the PCB to be assembled using different electrical components, or electrical components arranged in different configurations. Conventional PCB assembly systems - which are based on a linear forward moving assembly processes - do not allow users to reverse, re-work and re-configure assembled, or partially assembled, PCBs with new electronic components, or differently arranged components. Rather, each time the user desires to modify the PCB layout, the user is compelled to discard a previously assembled PCB, and assemble an entirely new PCB with the modified layout. In many cases, the user may also devote significant time to reconfigure (i.e. , re-teach) the automated system to build the modified PCB layout.
[00110] In view of the foregoing, there is a desire for a method and system for fully automated and efficient PCB assembly. There is also a desire for a method and system for automated PCB assembly which may not only permit forward assembly processes, but may also allow for a non-linear assembly process. More particularly, such a method and system may allow for “jumping” between assembly stages such that the system may be able to reverse the assembly and allow for modifications to the assembly layout. In this manner, users may be enabled to vary, test and observe various PCB design configurations. In at least one case, the non-linear assembly process may be one that is enabled by a computer aided physical editing (CAPE) process.
[00111] Referring now to FIGS. 1A - 1 C, there is shown various schematic representations of example embodiments of an apparatus 105 for automated assembly of printed circuit boards (PCBs).
[00112] To facilitate automated assembly of PCBs, an apparatus 105 may be provided which can receive pre-fabricated PCBs (i.e., PCBs fabricated with contact pads and traces, etc.) as well as loose electronic components. FIG. 1 D provides an example schematic illustration of an example partially assembled pre-fabricated PCB that may be received by the apparatus 105. As shown, the pre-fabricated PCB may include one or more traces 150 that connect various contacts pads 155. An electronic component 160 may be installed (i.e. , mounted) to one of the contact pads, and electrically coupled to other more electronic components through the traces 150. It will be appreciated that more complex PCBs may include more advanced fabricated features (i.e., through vias, etc.).
[00113] In the illustrated example embodiment, the apparatus 105 may have a housing body 115 that includes a receiving slot 120 that can receive an un-assembled, partially assembled, or fully assembled PCB 125. The apparatus 105 may then be configured to assemble loose electronic components on the unassembled or partially assembled PCB. The apparatus 105 may also be operable to dis-assemble (i.e., re-work, or modify) a partially or fully assembled PCB by removing assembled electronic components, and in some cases, replacing these electronic components with other electronic components.
[00114] In various embodiments, the automated assembly (or disassembly) process of the apparatus 105 may be guided by instructions received, for example, from a user 110 (i.e., a PCB design engineer, a hobbyist, etc.). For example, the user 110 may generate, or otherwise simply retrieve, a PCB design layout (i.e., a CAD file) on the user terminal 135, which is then transmitted as a PCB design file to the apparatus 105. The apparatus 105 may receive and parse the design file, and may assemble the design in accordance with the assembly layout included in the design file. In other cases, the user 110 may also transmit more specific assembly instructions to the apparatus 105 (i.e., in respect of re-working or re- editing the PCB).
[00115] The apparatus 105 may also include a display screen (i.e., an LCD screen) 130 that may display various status indicators (i.e., assembly status). In some cases, the display screen 130 may also include an input interface (i.e., a touchable display screen) for receiving user inputs and commands. In other cases, the input interface may be provided separately from the display screen 130.
[00116] In contrast to conventional automated PCB assembly systems - the provided system may be conveniently provided in a small form factor such that it may be easily disposed within non-industrial settings (i.e., homes, offices, labs, etc.). For example, in at least one embodiment, the system or apparatus may have under a 1 meter x 1 meter footprint (i.e., 60 cm x 60 cm footprint).
[00117] Reference is now made to FIG. 2, there is shown a simplified block diagram for an example embodiment system 200 for automated assembly of PCBs, in accordance with at least one embodiment.
[00118] As shown, the system 200 generally includes the assembly apparatus 105 which may communicate, via a network 205, to a user terminal 125 and/or a remote server 210.
[00119] In at least one embodiment, network 205 may be connected to the internet. Typically, the connection between network 205 and the Internet may be made via a firewall server (not shown). In some cases, there may be multiple links or firewalls, or both, between network 205 and the Internet. Some organizations may operate multiple networks 205 or virtual networks 205, which can be internetworked or isolated. These have been omitted for ease of illustration, however it will be understood that the teachings herein can be applied to such systems. Network 205 may be constructed from one or more computer network technologies, such as IEEE 802.3 (Ethernet), IEEE 802.11 and similar technologies.
[00120] Server 210 is a computer server that is connected to network 205. Server 210 has a processor, volatile and non-volatile memory, at least one network interface, and may have various other input/output devices. As with all devices shown in the system 200, there may be multiple servers 210, although not all are shown. It will also be appreciated that the server 210 need not be a dedicated physical computer. For example, in at least one embodiment, the various logical components that are shown as being provided on server 210 may be hosted by a third party “cloud” hosting service such as Amazon™ Web Services™ Elastic Compute Cloud (Amazon EC2). In at least one case, the server memory can be used to store PCB design files, which can also be transmitted to the apparatus 105 for assembly (i.e., via the server network interface).
[00121] User terminal 135 may be any suitable computing device, such as a desktop computer, and may also include mobile devices such as smartphones, tablets or laptops. Similar to the server 210, the user terminal 135 may include a processor, volatile and non- volatile memory, at least one network interface. User terminal 135 may also include one or more input interfaces (i.e. , keyboards, mouses, etc.) as well as display devices (i.e., an LCD screen). In at least one case, the user terminal 135 may store (i.e., in the user terminal memory) various programs that can be used to generate PCB design layouts, which can be transmitted to the apparatus 105 for assembly. The user terminal 135 can also be used by the user 110 to transmit assembly commands (i.e., in real-time or near real-time) to the apparatus 105 to modify or edit PCBs (i.e., transmit modification data or modification files to the apparatus 105).
[00122] Reference is now made to FIG. 3, which shows a simplified block diagram of an example embodiment of an apparatus 105 used for automated assembly of printed circuit boards (PCBs), according to at least one embodiment.
[00123] As shown, the apparatus 105 generally includes a processor 302 coupled, via a data bus 301 , to a memory 304. Processor 302 may also couple to one or more of a communication interface 306, at least one working-component unit 308, a motion system 310, an area heater 312, underside image sensor(s) 314, one or more multi-spectral lights 316, a display device 318, an input interface 320, an input/output (I/O) interface 322 and a power supply 326. In at least one embodiment, the apparatus 105 may include more than one processor (e.g., a multi-processor device), with each processor being configured to execute the same or different program instructions. In such embodiments, a single processor may perform all acts of a method (i.e., executing instructions, etc.) or multiple processors may be used for performing different (or overlapping) acts of the method in any manner, order or arrangement.
[00124] Processor 302 is a computer processor, such as a general purpose microprocessor. In some other cases, processor 302 may be a field programmable gate array (FPGA), application specific integrated circuit (ASIC), microcontroller, or other suitable computer processor.
[00125] Processor 302 is coupled, via computer data bus, to memory 304. Memory 304 may include both a volatile and non-volatile memory. Non-volatile memory stores computer programs consisting of computer-executable instructions, which may be loaded into volatile memory for execution by processor 302 as needed. It will be understood by those skilled in the art that reference herein to the apparatus 105 as carrying out a function, or acting in a particular way, imply that processor 302 is executing instructions (e.g., a software program) stored in memory 304 and possibly transmitting or receiving input data and output data via one or more interfaces. Memory 304 may also store input data to, or output data from, processor 302 in the course of executing the computer-executable instructions.
[00126] In at least one case, the memory 304 may store a PCB design file analysis program 304a, a PCB assembly program 304b and an image analysis program 304c.
[00127] The PCB design file analysis program 304a may be configured to receive a PCB design file input (i.e. , a CAD file) having a PCB assembly configuration layout in respect of how a PCB is to be assembled. The PCB design file input may be received, for example, from the user terminal 135 and/or server 210. The analysis program 304a may then analyze the PCB design file to extract and parse various relevant data, including an electronic component list, a pick-and-place instruction file, and a vector format design layout (i.e., Gerber data). In other cases, the apparatus 105 may separately receive these data files without needing to extract these data files from a PCB design file.
[00128] The PCB assembly program 304b may be configured to perform one or more of the methods provided herein for automated assembly of the PCB in accordance with the PCB design file.
[00129] The image analysis program 304c may be configured to analyze images, also in accordance with various embodiments provided herein. In various cases, as provided herein, images can be analyzed to classify (i.e., identify) electrical component types.
[00130] Communication interface 306 is one or more data network interface, such as an IEEE 802.3 or IEEE 802.11 interface, for communication over a network (i.e., network 205).
[00131] Working-component unit 308 comprises one or more components which are used to assemble the printed circuit boards (PCBs). In the illustrated embodiment, the working-component unit 308 comprises a gantry head assembly 308. For example, as shown in FIG. 5, the gantry head assembly 308 can include one or more components that are mounted on a mounting bracket 502. As explained herein, the components of the gantry head assembly 308 are operable to pick-up loose electronic components, i.e. , surface mount devices (SMDs), disposed on a component receiving area 512, and transport these electronic components for installation on a PCB. As well, as provided herein, the gantry head assembly 308 can include one or more imaging devices (i.e., cameras), and one or more sensor components that are used in one or more stages of the assembly process. The structure of the head assembly 308 is explained in greater detail herein with reference to FIG. 4.
[00132] Motion system 310 is used to translate the working-component unit 308 to access at least one location (or a workspace area) within the apparatus 105. In this manner, the motion system 308 may be used pick-up and drop electronic components (i.e., SMDs) in order to mount or remove these components from a PCB.
[00133] FIG. 5 shows an example embodiment of a motion system 310 comprising a gantry head translation mechanism 310. As shown, the apparatus 105 can include one or more beams (or one or more rails) which are used to translate the gantry head assembly 308 along each of the transversal and longitudinal directions (i.e., along the “x” and “y” axis). More particularly, in the illustrated embodiment, the apparatus 105 includes a primary traversal beam 504 extending along the X-axis (herein referred to as an X-beam 504), as well as one or more secondary longitudinal beams 508a, 508b extending along the Y-axis (herein referred to as Y-beams 508a, 508b).
[00134] As shown, the gantry head assembly 308 is moveably mounted onto the X- beam 504 via its mounting bracket 502. To this end, the mounting bracket 502 may have one or more roller wheels (not shown) that are controlled by a motor control unit (not shown) forming part of the gantry head translation mechanism 310, and which engage the X-beam 504. The roller wheels may make a friction fit within channels at the upper and/or lower portion of the beams to be able to translate there within when moving the gantry head assembly, or the roller wheels may have teeth on an outer circumference thereof and the upper and/or lower portions of the beams may have tracks that are engaged by the teeth of the roller wheels. The roller wheels can be controlled to rotate and slide the gantry head assembly 308 to various positions over the length of the X-beam 502. In this manner, the gantry head assembly 308 is translatable side-to-side along an X-coordinate axis to access any transversal position within the apparatus 105. [00135] The X-beam 504 may, in turn, be supported at either distal end 504a, 504b to secondary translation brackets 506a, 506b. The secondary translation brackets 506a, 506b are each moveably mounted on a respective Y-beam 508a, 508b. For example, each secondary bracket 506a, 506b can also include one or more motor-controlled wheels (i.e. , roller wheels 510a, 510b), and are controllable by a motor control unit 310 also forming part of the gantry head translation mechanism 310. Accordingly, the roller wheels can be controlled to slide the secondary brackets 506 along the Y-beam 508, and in turn, translate the X-beam 504 forwardly and rearwardly. In this manner, the gantry head assembly 308 - mounted on the X-beam 504 - may be translated to various longitudinal Y-coordinate positions within the apparatus 105.
[00136] In view of the foregoing, the gantry head assembly translation mechanism 310 can be used to translate the gantry head assembly 308 to any X-Y coordinate positions within the apparatus 105. It will be understood, however, that the gantry head translation mechanism 310 illustrated in FIG. 5 has only been shown herein by way of non-limiting example, and that any other motion system 310 may be provided to allow for translative motion (i.e., XYZ motion) of the working-component unit 308 to access at least one area within the apparatus 105. For example, in other embodiments, the motion system 310 may include, by way of non-limiting examples, one or more SCARA (Selective Compliance Assembly Robot) arms, one or more five-bar linkage robots, and/or one or more wheeled robot or swarm robots. In cases where the motion system 310 comprises robots or arms, the apparatus 105 may not necessarily be a closed apparatus 105, but may comprise an open space area where the robots are allowed to move. In some cases as well, more than one working-component unit 308 may be provided in the apparatus 105. For example, in cases where the motion system 310 comprises one or more arms or robots, each robot may carry one or more working tools (i.e., 402 - 422 in FIG. 4). Accordingly, each arm or robot may have its own working-component unit 308. Each working-component unit 308 may have the same or different component tools. Referring back to FIG. 3, apparatus 105 can also include an area heater 312. As explained herein, the area heater 312 can be used to heat solder paste applied to the PCB. In particular, solder is a high viscosity paste that is placed onto the PCB contact pads to electrically and mechanically adhere electrical components to the PCB during the assembly process. To this end, solder becomes a mechanical attachment and an electrical conductor when heated above certain melting temperatures. Accordingly, the area heater 312 - which may be, for example, a large area heating plate - can be used to heat the entire (or any portion) of the PCB in order to heat the solder to appropriate temperatures. In various cases provided herein, the area heater 312 can also be used during disassembly of components from the PCB (i.e. , upon editing or re-working the board) by heating the solder to appropriate temperatures such that the solder may be made more viscous, thereby facilitating dismounting of electrical components from the PCB.
[00137] As shown in FIG. 5, and by way of illustrative example, the area heater 312 may be positioned beneath an area receiving the PCB 501 . In this manner, the area heater 312 may be automatically operated to heat the PCB. In other cases, however, the area heater 312 may be positioned in any other location within the apparatus 105. For example, the area heater 312 may be distally positioned from the PCB, and the PCB may be relocated (i.e., by the gantry head assembly 308) to be disposed over the area heater 312.
[00138] Referring back to FIG. 3, in various cases, the apparatus 105 can include one or more image sensor(s) 314 (i.e., cameras (i.e., red, green and blue (RGB) cameras, infrared (IR) cameras, hyperspectral cameras, etc.) and the like). For example, as shown in FIG. 5, the underside camera 314 may be disposed below an opening on the top operating surface 503 of the apparatus 105. In embodiments provided herein, the camera 314 may be operated to capture one or more pictures of loose electronic components. For example, the pick and place (PnP) head 402 - of the gantry head assembly 308 - can be used to pick-up a loose electronic component that requires assembly. The gantry translation mechanism 310 can be operated to move the PnP head 402 over the underside camera 314. The camera 314 can then be controlled to capture one or more images of the electrical component. As explained herein, capturing images of the electrical component, using the underside camera 314, can facilitate capturing images of, for example, the bottom (or underside) of the component - or any other view of the component - that may be otherwise difficult to capture from a top-side camera. In at least one embodiment, the capturing of underside images of electrical components can assist the system in classifying the component type based on, for example, the size/footprint of the component, the number of bottom-side contact pins of the component, etc.
[00139] FIG. 6D shows an example embodiment of the underside camera 314. As shown, the camera 314 - which may be disposed below the top apparatus surface 503 - may be secured to a bracket 602d through a retention brace 604d. The camera lens 606d may be oriented to face a reflective mirror 608d which reflects light from above the top apparatus surface 503 into the camera lens. The reflective mirror 608d may be also supported within a support frame 61 Od.
[00140] To assist in capturing pictures of the component using the underside camera 314, the apparatus 105 can also include one or more multi-spectral lights 316 (FIGS. 3, 5 and 6D). The illuminators can be positioned, for instance, in proximity to the underside camera 314 (FIG. 6D) and can be used to provide illuminating light (i.e. , flash light) to allow for capturing clearer pictures using the camera 314.
[00141] As shown in FIG. 3, apparatus 105 can also include a display device 318 (e.g., an LCD screen, etc.). Display device 318 can be used to display various status indicators (i.e., error messages, indications that the assembly is in-progress or complete, etc.).
[00142] Apparatus 105 can also include one or more input interface(s) 320 for receiving user inputs. In some cases, the input interface(s) 320 may be integrated directly into the display device 318, as the case may be for touchscreen displays (i.e., capacitive touchscreens, etc.)
[00143] Apparatus 105 may also include an I/O interface 322 - which can be used to connect various other external electronics to the apparatus 105 (i.e., a user computer terminal 135 via a USB link). A power supply 324 may also be included for powering the apparatus 105 (i.e., an on-board power supply, such as one or more batteries, or an AC power supply feed).
[00144] Reference is now made to FIG. 4, which shows a simplified block diagram for an example embodiment of a working-component unit 308, according to at least one embodiment. Concurrent reference is also made to FIGS. 7A - 7C, which illustrate various schematic illustrative views of an example embodiment of the gantry head assembly 308. More particularly, FIG. 7 A illustrates an example front side perspective view of the gantry head assembly 308, FIG. 7B illustrates an example side elevation view of the gantry head assembly 308 and the FIG. 7C illustrates an example front plan view of the gantry head assembly 308.
[00145] As shown in FIG. 4, the working-component unit 308, which may comprise a gantry head assembly 308, may generally include a pick-and-place head 402, as well as one or more of a paste dispenser 404, a servo motor 406, and one or more imaging devices (i.e., cameras) 408. In various embodiments, the gantry head assembly 308 can also include one or more sensor(s) 410, electrical test probe(s) 412, a de-soldering head 414, multi-spectral lights 416, a flux dispenser 418, as well as one or more empty slot connectors 420.
[00146] Pick-and-place (PnP) head 402 is controllable (i.e., by processor 302), to pick and drop objects (i.e., electronic components). For example, in at least one embodiment provided herein, the PnP head 402 can be used to retrieve loose electrical components, and mount these electrical components to a relevant portion of the PCB in order to assemble the PCB. In other cases, the PnP head 402 can be used to disassemble components from the PCB, such as by picking-up the component from the PCB and dropping-off the component elsewhere. In still other cases, the PnP head 402 can be used to pick-up components which may undergo identification or classification, as explained in further detail herein.
[00147] The PnP head 402 may have any suitable construction. In at least one embodiment, the PnP head 402 can include a suction nozzle, which upon activation, can generate negative air pressure to suction (i.e., pick-up) an electronic component. For example, the suction nozzle may be operated to retain an electrical component while the gantry head assembly 308 is being translated, and can be de-activated to release (i.e., drop) the component when desired. In other embodiments, the PnP head 402 may use mechanical figures, or other joint based grippers, such as - and by way of non-limiting examples - electrostatic or pneumatic grippers.
[00148] FIGS. 7A - 7C illustrate an example PnP head 402. In the illustrated example embodiment, the PnP head 402 is secured to a front face 502a of the gantry head mounting bracket 502. As shown, in the upright position, the PnP head 402 may include a downward facing nozzle tip 402a which applies the suction force to objects. A main body portion 402b is disposed over the nozzle tip 402a, and may be include the hardware (i.e. , electrical and mechanical) for generating the suction force upon activation, i.e., by processor 302.
[00149] Working-component unit 308 also includes the paste dispenser 404. Paste dispenser 404 can be used to retain, and apply, solder paste to the various contact pads on the PCB. In particular, the solder paste can be used to create mechanical adhesion and electrical coupling of electrical components to the PCB, and specifically when heated to pre defined temperatures. In other cases, conductive paste, epoxies or any other conductive ink may be used in place of solder. In other embodiments, the dispenser 404 may be - by way of non-limiting examples - a mechanical dispenser, a stencil dispenser, a pneumatic dispenser, a hydraulic dispenser a piezo dispenser, or an inkjet dispenser. It will therefore be generally understood that reference herein to dispensing paste (i.e., to mount components) may include mounting components using any other type of dispensing mechanism as is understood in the art (e.g., at act 114 in FIG. 11 ). In at least one embodiment, the gantry head assembly 308 may include more than one dispensing mechanism 404, or a dispensing mechanism capable of more than one type of dispensing.
[00150] As shown in FIGS. 7A - 7C, the paste dispenser 404 may also be secured to the front face 502a of the gantry head mounting bracket 502. In particular, the paste dispenser 404 can include a main body portion 404a for retaining a volume of solder paste, as well as a downward facing opening 404b for extruding the paste. The paste dispenser 404 can also include a plunger 404c which can be used to force solder paste out of the opening 404b. In at least one embodiment, the plunger 404c may be motor controlled (not shown) by operation of processor 302. In at least some example cases, the paste dispenser 404 may comprise an auger valve dispenser.
[00151] A servo motor 406 can also be provided in the gantry head assembly 308. The servo motor 406 can be disposed, for example, between the front face 502a and the rear face 502b of the gantry head mounting bracket 502 (FIG. 7B). In particular, as explained herein, the servo motor 406 can be operable to move one or more of the PnP head 402 and the paste dispenser 404 along a vertical Z-coordinate axis (i.e., up-and-down) (FIG. 6). In this manner, the PnP head 402 and/or the paste dispenser 404 can be lowered to engage an object (i.e., the PCB, or a loose/mounted electronic component), and raised to disengage the object.
[00152] More particularly, the servo motor 406 may be used in conjunction with a mechanical rack-and-pinion system to adjust the vertical heights of each the PnP head 402 and/or the paste dispenser 404. For example, in the illustrated example embodiment in FIGS. 7 A and 7B - the servo motor 406 may mechanically couple to rotating a gear 704 disposed on the front face 502a of the mounting bracket.
[00153] In particular, each of the PnP head 402 and paste dispenser 404 may be mounted to a respective mounting rack 708a, 708b. Each of the mounting racks 708a, 708b, are in turn, secured to the front mounting bracket face 502a. To this end, each mounting rack 708a, 708b may be slidably secured to the bracket 502 via a sliding engagement member 710 on the rack which slidably engages a protruding vertical member 711 on the mounting rack 502 (FIGS. 7A and 7B). In this manner, the racks 708a, 708b may slide vertically (i.e., up-and-down) relative to the mounting bracket 502.
[00154] Additionally, each mounting rack 708a, 708b can include a respective longitudinal edge 704a, 704b having one or more teeth which engage the rotating gear 704. That is, the gear 704 may be interposed, and in fitting engagement, with the longitudinal edges 704a, 704b on each mounting rack 708a, 708b. In this manner, upon activating the servo motor 406 - the gear 704 may rotate to cause reciprocal sliding of the mounting racks 704a, 704b relative the mounting bracket 502. For example, in FIG. 7C, the gear 704 may be rotated clockwise to slidably lower the rack 708a (i.e., carrying the PnP head 402), and slidably raise the rack 708b (i.e., carrying the paste dispenser 404). Otherwise, the gear 704 may be rotated counter-clockwise to raise the PnP rack 708a, and lower the solder paste rack 708b,
[00155] Referring back to FIG. 4, the working-component unit 308 can also include one or more imaging device(s) 408, sensor(s) 410 and a test probe 412.
[00156] Imaging device(s) 408 may be, for example, one or more cameras (i.e., RGB cameras, infrared cameras, hyperspectral cameras, etc.). As explained herein, the cameras on the working-component unit 408 can be used to image various work areas within the apparatus 105. For instance, in at least one embodiment, the cameras can be used to image loose electronic components that require assembly on the PCB. The images may then be analyzed to classify the electronic components (i.e. , based on an image analysis). In other cases, the one or more cameras can be used to capture one or more images of the PCB in order to analyze the topology and layout of the PCB, as well as to identify where to mount or dismount components from the PCB.
[00157] FIGS. 7A and 7B illustrate an example camera 408a mounted on the mounting bracket 502. As shown, a downward facing camera 408 is provided and secured to the gantry head assembly mounting bracket 502 (i.e., between the front and rear faces 502b, 502c). The camera 408a may be secured to the mounting bracket 502, for example, via a retention member 706.
[00158] In at least one embodiment, more than one imaging devices 408 can be located on the gantry head 308. For example, the imaging device(s) 408 can include a wide angle lens camera and a narrow angle lens camera. For instance, the camera 408a may be a wide angle lens camera, and the mounting bracket 502 can additionally include a narrow angle lens camera 408b, i.e., provided on a lower portion of the mounting bracket 502 (FIG. 7B). Cameras having different lens-types may find different uses in different contexts. For instance, a wide angle lens camera 408a can capture images with a large field of view, as the case may be when capturing a high-level image of the entire PCB or an image of a component receiving area 512 that receives a number of loose electronic components. Conversely, a narrow angle lens camera can be used to capture more granular images and in higher-detail. For instance, this may be the case when imaging specific electronic components in the electronic component receiving area 512. For instance, as provided herein, the narrow angle lens camera 408b can be used during electronic component classification (i.e., identification). In other cases, one or more cameras may be provided having adjustable focal lengths (i.e., wide and narrow).
[00159] Sensors 410 include a variety of sensors for use in assembly, testing and re working of PCBs. In some cases, sensors 410 can include, for example, temperature sensors (i.e., including infrared (IR) temperature sensors). For instance, as shown in FIG. 7B, the temperature sensors 410a may be mounted to a lower portion of the gantry bracket 502. In at least one embodiment herein, the temperature sensor can be used to monitor the temperature of various elements of the PCB. For instance, during operation of the area heater 312 (FIG. 5), the temperature sensor 410a can monitor the solder temperature to determine when it has reached a threshold curing temperature where the solder becomes conductive. In other embodiments, the sensors 410 can also include one or more weight sensors (i.e. , weight sensor 410b in FIG. 7B). As explained herein, weight sensors can be used to measure the weight of various loose electronic components. In particular, weight measurements can assist the system in classifying (i.e., identifying) component type for unidentified electronic components.
[00160] Electrical test probes 412 (not shown) may also be located on the working- component unit 308. As explained herein, in at least one embodiment, probes 412 can be used to classify un-identified electronic components. For example, the probes 412 can be used to apply a probe current across an electrical component (i.e., a resistor or capacitor), and measure one or more electrical properties of that component. The measured electrical properties can then be used to identify the component type. In other cases, the probes 412 can be used to test portions of an assembled (or partially) assembled PCB to determine whether the PCB circuit demonstrates an expected electrical response and/or whether there has been errors in the assembly process. In at least one embodiment, the electrical test probes 412 can be individual test probes or multiple test probes. In at least one embodiment, the electrical test probes 412 may be provided separately from the working-component unit 308, and may be provided as stationary components within the apparatus 105 (i.e., on the apparatus surface 503). In these cases, components may be placed over the contact pads (i.e., picked and dropped), to allow for measurement of component electrical properties.
[00161] Referring still further to FIG. 4, the working-component unit 308 can also include a de-soldering head 414, and in at least one embodiment, one or more multi spectral lights 416, a flux dispenser 418, a localized heater 420 and one or more empty electrical slot connectors 422.
[00162] De-soldering head 414 may be provided for removing paste from the PCB. For instance, in embodiments provided herein, it may be desired to edit and/or re-work a PCB by dismounting electrical components. In these cases, the paste can be heated to a viscous state, and the de-soldering head 414 can be used to remove any quantity of molten solder from the PCB contact pads before and/or after the electrical component is dismounted. In at least one embodiment, the de-soldering head 414 may use, for example, negative suction to remove solder, or may use any other technique as may be known in the art.
[00163] Multi-spectral lights 416 include, for instance, one or more LEDs. In at least one case, the multi-spectral lights 416 may be used to illuminate specific areas over which the gantry head assembly 308 is positioned. In particular, the multi-spectral lights 416 can be used to illuminate an area that is desired to be imaged using the imaging devices 408. In this manner, clearer images may be captured under acceptable light conditions.
[00164] Flux dispenser 418 (not shown) can be used to retain and dispense flux, and in particular, can be used for etching away corrosion from metallic PCB surfaces so that solder will bond to the surface. In some cases, the flux dispenser 418 may be provided separately. In other cases, the flux may be mixed together with the solder paste in the paster dispenser 404.
[00165] Localized heater 420 (not shown) may be a heating element that can be used to heat targeted areas. In various cases, as explained herein, the localized heater 420 can be used for heating solder paste around a defined area on the PCB (e.g., during component disassembly). In at least one embodiment, the heater 420 may be a radiative infrared (IR) heater, a convective heater, or a contact heater.
[00166] Empty slot connectors 420 can be one or more empty slots with electrical and/or mechanical connectors for installing additional heads to the gantry head assembly 308 as needed.
[00167] Referring now to FIG. 5, there is shown a schematic illustration of an example embodiment of the interior of the apparatus 105. While the majority of the elements illustrated in FIG. 5 have been previously described herein with reference to FIGS. 3 and 4 - a number of additional features of the apparatus 105 will be now be explained in greater detail.
[00168] In particular, to receive loose electronic components for assembly - the apparatus 105 may include an area defining a component receiving area 512 that may receive the loose electronic components. The system (i.e. , the PnP head 402 on the gantry head assembly 308) may pick-up the components from the area 512, and may mount the components to the appropriate area (i.e., location) on the PCB 501. In other cases, components that are removed (i.e., disassembled) from the PCB 501 may be returned to the component receiving area 512.
[00169] In at least one embodiment, the component receiving area 512 may simply comprise an open platform space, as shown in FIG. 5. Accordingly, a user may simply deposit an amalgamation of unassembled electronic components on the area 512. For example, the user may simply place an un-sorted array of electronic components in the component receiving area 512 for assembly on the PCB 501. In other cases, the user may place an amalgamation of pre-sorted electronic components on the component receiving area 512. For example, the user may sort the components based on component type (i.e., resistors, capacitors, inductors, etc.), as well as component value (i.e., separating resistors having separate resistance values, etc.). In some cases, the user may also sort the components based on model, part number or manufacture number. In at least some cases, different components may then be placed in different area portions of the component receiving area 512. In other cases, the user may place the components in one or more bins, trays, opened bags - or generally any other compartment unit - and may place the compartment units on the retention area 512. For example, the users may purchase the various components (i.e., from an on-line store), and the components may be delivered in separate “bags” or “containers”, whereby each bag, container, etc., may hold a separate type of component, and the user may simply place the opened bags, containers, etc. over the component reception area 512. For example, as shown in FIG. 9E, a user may place various opened boxes 904e - each containing a particular component type - over the open platform area 512. The PnP head 402 may then be used to access components located in these compartment units.
[00170] In other embodiments (not shown), the component receiving area 512 may not be necessarily configured as an open area platform as shown in FIG. 5. For example, in other embodiments of the apparatus 105, the component receiving area 512 may include one or more physically separated slots, each slot being configured to receive a specific type of electronic component. In particular, separate component types can be disposed in separate slots and accessed by the PnP head 402. In some example cases, the slots may be configured to receive electronic component reels. In particular, electronic component reels may comprise rolled tape that retains a volume of a specific type of electronic component. A plurality of reels can be fitted into engagement with the apparatus 105, and the tape on each reel may be inserted into a feeder device that is controllable (i.e. , by processor 302) to draw tape from the reel in order to allow the PnP head 402 to access the electronic components on the reel tape (i.e., as is generally known in the art). In still other cases, the component receiving area 512 may be configured (i.e., designed) to receive a compound wheel. In particular, compound wheels are wheels which are divided into one or more compartment slots, each slot being used to retain a particular type of electronic component (i.e., compound wheel 900c in FIG. 9C).
[00171] Accordingly, it will be appreciated that the component receiving area 512 is broadly any area that is configured to receive loose electronic components for assembly on the PCB 501 , and may otherwise have any suitable design or configuration.
[00172] Referring still to FIG. 5, the apparatus 105 can also include a nozzle changer unit 514. In particular, the nozzle changer 514 can house one or more nozzle units that can be used for the PnP head 402. For example, the nozzle changer 514 can house nozzles of various sizes and diameters which allow for different pick-and-place functionality for the PnP head 402. In other cases, rather than providing more than one nozzle, the nozzle on the PnP head 402 may be single adjustable nozzle.
[00173] Reference is now made to FIGS. 6A - 6C, which show an example structure for the area heater 312 and a PCB mounting bracket.
[00174] As shown, the PCB 501 - received in the apparatus 105 - can be positioned in a PCB receiving area. In some cases, the PCB receiving area is located over the area heater
312. For example, the workspace area can include one or more clamp structures 602a, 602b that can be used to secure the PCB 501 over the area heater 501 . Each clamp structure can include an elevated longitudinal member 604a, 604b (FIG. 6B), over which the PCB 501 is placed. In particular, the elevated members can raise the PCB 501 a particular height over the area heater 312, such that the area heater 312 is not in direct contact with the PCB. Once the PCB 501 is placed over the elevated members 604, one or more securing clamps 606 can be placed over the PCB, and fastened from either end to the elevated members by fastening members 608. It will be appreciated that the structure in FIGS. 6A - 6C has only been illustrated herein by way of example, and other PCB receiving and securing structures may be used.
[00175] Reference is now made to FIGS. 8 - 13, which illustrate various example embodiments for methods for operating the apparatus 105 to automatically assemble PCBs.
[00176] Referring first to FIG. 8, which shows an example embodiment of a method 800 for automated assembly of printed circuit board (PCBs), in accordance with at least one embodiment. Method 800 may be performed, for example, by the processor 302. Alternatively, in at least one embodiment, different processors may be used to perform different aspects of method 800.
[00177] At act 802, the apparatus 105 can receive a pre-fabricated PCB. For example, the PCB may be received in a PCB receiving area using the retention structure shown in FIGS. 6A - 6C. In at least one case, the pre-fabricated PCB may be similar to what is shown in FIG. 1 D, whereby the PCB has been fabricated with various conductive traces 150, as well as contact pads 155 for installing electronic component (i.e. , surface mounted devices (SMDs)). The pre-fabricated PCB may be either unassembled or partially assembled (i.e., requiring further assembly). In some other cases, as well, the PCB may be fully assembled. In particular, as stated previously - and as explained in further detail herein - the current system, as compared to prior systems, may enable a user to edit, modify or re-work partially or fully assembled PCBs.
[00178] At act 804, a PCB design file is received and analyzed. In particular, the PCB design file can include data in respect of assembling electronic components on the PCB. In at least one case, the PCB design file can be received from a user of a user computer terminal
135 that is connected to the apparatus 105 (i.e., computer terminal 135 in FIG. 1A). For example, a user designing a PCB may transmit, via computer terminal 135, a PCB design file that was generated by the user on the computer 135. The apparatus 105 may then be configured to assemble the PCB in accordance with the PCB design file (i.e., immediately after receiving the file, or any time thereafter). In other cases, the PCB design file may be retrieved from a memory archive. For example, a previously generated PCB design file may be stored on the apparatus memory 304 and/or on a server memory. Accordingly, the PCB design file may be retrieved from memory in order to assemble the PCB. For example, the apparatus 105 may retrieve the PCB design file in response to receiving a command (i.e. , from user terminal 135) to execute the PCB design in the PCB design file.
[00179] In at least one embodiment, the PCB design file may be a design file (i.e., a CAD file) that includes a visualized representation of how the electronic components are to be assembled on the PCB. In analyzing the PCB design file, the processor 302 can extract one or more sub-data files, including: (a) vectorized PCB layout data; (b) an electronic component parts list; and (c) pick-and-place data.
[00180] The vectorized PCB layout data may comprise, for example, an ASCII vector format file (i.e., a Gerber file), which includes vector coordinates of various fabricated PCB features (i.e., copper traces, vias, pads, solder mask, silk screen). The electronic component list data may include an extracted list of all electronic components that are located in the PCB design file, and which require assembly on the PCB. In various cases, the part list data may be expressed in terms of electrical components type, or otherwise, in terms of part or model numbers. The pick-and-place data includes, for instance, coordinate data for positioning each electronic component, in the parts list, on the fabricated PCB. In particular, the pick-and- place data is used to control translation of the gantry head assembly 308 in order to assemble the PCB. In at least one embodiment, each of the sub-data files may be also separately received by the apparatus 105, and may not otherwise have to be extracted from a PCB design file. In still other cases, a custom plug-in may be used that can automatically convert design files (i.e., CAD files) into a file format that is adapted to work with the apparatus 105, and may be more information-rich than the vectorized PCB layout data (i.e., the Gerber files).
[00181] At act 806, the system can receive the un-assembled electronic components that may be assembled on the PCB in accordance with the assembly configuration layout included in the received PCB design file.
[00182] In various cases, the un-assembled electronic components may be received in the component receiving area 512 (FIG. 5). For example, a user desiring to assemble the
PCB may place the loose electronic components in the component receiving area 512. For instance, the components may be simply deposited in an un-sorted arrangement on the open receiving area 512. In other cases, the components 512 may have been pre-sorted by the user before placement in the receiving area 512. For example, the user may have pre-sorted components according to component type, and may deposit each component type in an isolated area within the receiving area 512. In some cases, the components 512 may also be placed in one or more compartment units (i.e. , open bins, tray, etc.) (FIG. 9E), and the compartment units may be placed over the receiving area 512. For example, components of a similar type can be placed in separate compartment units, and the units placed over the receiving area 512. In other cases, a single compartment unit may have multiple sub compartments (i.e., a bin or tray having multiple slots), with each sub-compartment unit holding a particular component type (i.e., compound wheel 900c in FIG. 9C).
[00183] In still other cases, as previously stated, the apparatus 105 may be configured to include various slots for receiving different components. For example, the apparatus 105 can be configured to have slots and feed devices for receiving electronic component reels.
[00184] At act 808, the un-assembled electronic components, i.e., located in the component receiving area 512, are identified (i.e., classified). In other words, the system identifies the types of components that have been received in the receiving area 512. The system may also match the received components to the electronic component list (i.e., extracted at act 804), to determine whether all required components are provided to the apparatus 105. Act 808 is explained in greater detail with reference to method 900 of FIG. 9.
[00185] At act 810, the system may commence assembly of the electronic components on the PCB in accordance with the PCB design file received at act 804. In particular, as explained herein, the gantry head assembly 308 may controlled, via the gantry head translation mechanism 310, to pick-up relevant components from the component receiving area 512, and transfer these components to the relevant area on the PCB 501 for mounting.
[00186] At act 812, through-out the process of assembling the PCB - the system may determine whether or not any modifications are required to the assembly (i.e., re-working, editing, etc.). For example, as explained in further detail herein, the modifications can relate to removing one or more target electronic components from the PCB and/or replacing those electronic components with other components. In other cases, the modifications can be in respect of moving one or more target components from one area of the PCB to another area of the PCB. In some cases, as provided herein, the modifications may be user-initiated. For example, a user may desire to re-configure the board to vary the design (i.e. , to achieve a more optimal design, or to simply try and test new design configurations). In other cases, the modifications may be in response to one or more verification tests conducted to ensure that the PCB is assembled correctly.
[00187] In some cases, where a fully (or partially assembled PCB) is received at 802 - and it is desired to edit the PCB by removing components - the method 800a may initially skip act 810 and proceed directly to act 812. In other words, the method 800 may directly begin by removing components before, optionally, assembling any new components.
[00188] To this end, and as stated previously, it has been appreciated that conventional PCB assembly systems primarily rely on forward assembly processes. That is, these machines do not enable users with the flexibility of reversing, and re-editing fully or partially assembled PCBs. Accordingly, this prevents users (i.e., design engineers and/or hobbyists) from trying and testing different PCB design configurations.
[00189] At act 812, if a modification to the PCB assembly is required, then the system may modify the PCB accordingly at act 814. The method 800 may then return to act 810 to continue assembling the electronic components on the PCB. In some cases, however, the method 800 may return to act 804 if the modifications involve receiving new PCB design files. For example, if the user desires to vary the design, the user may need to transmit modified design data to the apparatus 105. In cases where the modified PCB design data includes new electronic components, then the method may have to re-iterate at act 806 and 808 to again receive new components and to classify and match the newly received electronic components. Otherwise, if the modified PCB design data is analyzed and is determined to not require additional components (i.e., the electronic component list extracted from the modified design data does not include changes from the previous iteration), then the method 800 can skip acts 806 and 808, and proceed to act 810.
[00190] Otherwise, if no modifications are required to the assembly - then the method
800 may proceed to act 816, whereby it is determined if the assembly is complete. In various cases, the assembly may be determined to be complete if all components identified in the
PCB design file have been assembled onto the PCB. In other cases, the assembly may only be determined to be complete if all post-assembly verification tests have been conducted, as explained herein. If not, the method can return to act 810 and continue to iterate until assembly of the PCB is complete. Otherwise, if assembly is determined to be complete, the method can end at act 818.
[00191] In various cases, the method 800 can be performed in one of three modes: a fully automated mode; a semi-automated mode, and a user-controlled mode.
[00192] In the fully automated mode, each act of the method 800 is performed automatically once the PCB design file and un-assembled electronic components are received. That is, in the fully automated mode, the apparatus 105 completes PCB assembly from start to finish, and with no human intervention.
[00193] In contrast, in the semi-automated mode, partial human intervention may be allowed. For example, rather than assembling the PCB automatically from start to finish (i.e. , in accordance with the PCB design file), the system may allow users to manually provide some high-level assembly guidance. For example, users may instruct the apparatus 105 (i.e., via a GUI on the user terminal 135, or using the input interface 320 of apparatus 105), as to the order of component assembly. For instance, the user may guide the system as to which group of electrical components should be assembled, or which portions of the PCB should be assembled. Upon receiving the users instructions, the system may automatically assemble the desired components or PCB portions. That is, the system may identify how to assemble the desired components (i.e., where to mount the components on the PCB), and may assemble the components in that manner. Similarly, the user may instruct the system to disassemble one or more target components, and in response, the system may automatically identify the components on the PCB requiring disassembly, and then disassemble the identified components. Accordingly, in the semi-automated mode, the system automates portions of the assembly process, but the automation is in accordance with the user’s high-level directives. In this manner, the semi-automated assembly is any form of automated assembly that is short of a fully-automated assembly mode. In this manner, the semi-automated mode may allow users to exert more control over the automated design process. In at least one case, the semi-automated mode may be useful when users are editing and re-working PCBs. [00194] In still further contrast, the user-controlled mode may involve complete human intervention during the assembly process. In particular, in the user-controlled mode, the system may require user directives at each step of the assembly process. That is, in contrast to the semi-automated mode, the system in the user-controlled mode is not able to automatically assemble certain component types or portions of a PCB (i.e. , as directed by the user), but rather, the user may explicitly identify to the system - at a granular level - each individual component that requires assembling, and exactly where that component should be assembled on the PCB. That is, in the user-controlled mode, the system is unable to automatically replicate the PCB design file by automated determination of component placement. Rather, the user-controlled mode is devoid of intelligent automation on part of the system, but allows for the greatest degree of user control.
[00195] In at least one embodiment, operating the apparatus in the user-controlled mode (or in the manual portion of the semi-automated mode) may help to “teach” the system - that is, the system may be adapted to track and learn the user’s preferences. For instance, and by way of non-limiting example, the system may track where the user has commanded it to install certain classes of components, or what types of classifications the user has assigned to certain types of components. Based on this tracking, the system can automatically generate and store (i.e., memory 304b) one or more “user preference rules” that can be relied on if the system encounters the same situation subsequently.
[00196] For example, in some cases, the user may observe how the system is behaving in the automated or semi-automated mode, and may override the automated or semi- automated mode to manually correct (or alter) the systems behavior (i.e., an incorrectly or undesirably placed component, or an incorrectly identified/classified component). Accordingly, when (and if) the system reverts back to an automated or semi-automated mode, the system may modify its behavior to reflect the user’s preference rules in subsequent actions or iterations.
[00197] By way of example, if the system observes that the user has overridden the system to place component “X” (rather than component Ύ”) at a target area “Z”, in subsequent time instances, in the automated or semi-automated mode - each time the system identifies (i.e., in the PCB design file) that a target area “Z” is located in the file (i.e., one or more areas that are identified in the PCB design file to receive a common component type), the system may automatically retrieve component “X” rather than component Ύ”, and place components of type “X” in each identified area “Z” of the PCB. Accordingly, the placement of components of type “X” in specific areas “Z” may constitute one example user preference rule. In another example case, the system may have identified a component (i.e., classified) a component of type “X”, and the user may have overridden the system to identify the component as component of type Ύ”. Accordingly, in this example case, another user preference rule is that all components of this type are to be classed as component Ύ”. In yet another example case, the system may have attempted to replace a component “X” with another component Ύ”, and the user may have overridden this action to replace component “X” with component “Z”. Accordingly, the user preference rule generated by the system is that components of type Ύ” should be replaced (automatically, or upon user command) by component “Z”. User preference rules can also be generated any time the system is unable to determine how to address an assembly problem (i.e., and generates a notification), and the user intervenes (i.e., via the user terminal) to correct the problem.
[00198] The user preferences generated through user-controlled intervention can be used for automation in both the semi-automated and automated modes. In some cases, the system may also track user actions, =even when the user has not necessarily overridden then system. For example, at any point where the user interacts with the apparatus (i.e., transmitting commands or files via the user terminal), the system may record the user actions and attempt to derive one or more user preference rules to streamline further assembly.
[00199] In at least one embodiment, the apparatus 105 may be dynamically configurable as between the three modes. For example, the apparatus 105 may have settings that are configurable in real-time, or near real-time, based on inputs received from a user terminal 135 and/or the input interface 320 of the apparatus 105. This, in turn, may allow the user to exert varying levels of control over the assembly operation of the apparatus 105. In some examples, the apparatus 105 may commence in a fully automated mode. Flowever, part way through the assembly, the user may wish to re-work or edit the PCB. Accordingly, the user may intervene in the automated assembly, in which case, the system may revert to either a semi-automated mode or a user-controlled mode to accommodate the users preferences. In at least some embodiments, the apparatus 105 may be configurable between all three modes. In other cases, the apparatus 105 may be configurable between at least two modes (i.e. , automated and semi-automated, automated and user-controlled, or semi- automated and user-controlled). In still other embodiments, the apparatus 105 may be configurable in only a single mode.
[00200] Reference is now made to FIGS. 9A and 9B, which show various example embodiments of methods for automated classification (i.e., identification) of un-assembled electrical components that are received in the component receiving area 512 (i.e., act 808 of method 808 in FIG. 8) during the assembly of a PCB. In particular, FIG. 9A shows a method for classifying pre-sorted arrangements of components, while FIG. 9B shows a method for classifying unsorted arrangements of components.
[00201] More particularly, it has been appreciated that prior systems for PCB assembly often require users to manually classify (i.e., identify) components to the system. In particular, these systems are unable to automatically identify received electrical components, and further, match these components to the component list in a PCB design file. Accordingly, it is desirable to provide a system which can automatically classify and identify electronic components (i.e., without manual human intervention), and in turn, can provide for a more seamless experience for users, including inexperienced users.
[00202] Referring first to FIG. 9A, which shows an example embodiment of a method 900a for classifying pre-sorted electrical components which are received into the apparatus 105. In particular, in at least one case, users may insert loose electronic components that are used in assembly into the apparatus 105, whereby the components have already been pre-sorted based on component type into one or more sorted arraignment groups. Accordingly, method 900a allows for classification of these pre-sorted components.
[00203] At act 902a, the apparatus 105 may receive one or more sorted arrangements of unassembled electrical components in the compartment receiving area 512. The electrical components may be sorted, for example, according to component type, or otherwise part or model number. [00204] The pre-sorted components may be sorted in any suitable manner. For example, in at least one embodiment, the components may be received in different compartment units (i.e. , reels, compounds wheels, trays, bins or bags) - whereby each compartment unit retains a single type of electrical component. In other embodiments, the compartment units may, themselves, have multiple sub-compartment units. For example, a compound wheel - as shown in FIG. 9C - can include a plurality of sub-compartments 902c - 916c, whereby each sub-compartment holds one type of electrical component. In other cases, rather than using compartment units, the components may be sorted (i.e., by a user) into separate spatial zones of an open compartment receiving area (i.e., FIG. 5).
[00205] At act 904a, the system may determine the spatial location of each sorted component arrangement received in the component receiving area 512. For example, the system may determine the spatial XY gantry coordinates required to access each sorted component arrangement in order to retrieve and classify components in that sorted arrangement.
[00206] In at least one embodiment, as discussed earlier, the component receiving area 512 may be configured as a plurality of slots, whereby each slot receives a single type of electrical component. For example, the component receiving area 512 may include a plurality of slots that are specially adapted for receiving one or more electrical component reels. In other cases, the slots may simply comprise partitioned areas in which a user can insert same type electronic components. Where the systems includes a plurality of slots, the memory 304 may have a priori knowledge of the XY gantry coordinates required to access each slot based on the known positioning of slots comprising the component receiving area 512. That is, the XY gantry coordinates to access each slot may have been pre-programmed into the system.
[00207] In other cases, the component receiving area 512 may be configured as an open platform area, as best shown in FIG. 5. That is, rather than comprising slots - the component receiving area 512 may be an open platform area in which users can place sorted electrical components. In some cases, the user may place the electrical components directly on the platform 512, and may sort the electrical components by placing different types of electrical components in different areas of the platform 512 (i.e., diodes may be piled in the top right-corner of the platform, and spatially distanced from transistors, which are piled at the bottom right-corner of the platform). In other cases, the user may place the components in pre-sorted compartment units (i.e. , bins, trays, etc.), which are then placed over the platform 512 (FIG. 9E). For example, a plurality of small bins (i.e., unsealed by opening the lid), may be placed directly over the platform 512, and each bin may contain a separate sorted component type.
[00208] In cases where the component receiving area 512 does not include a plurality of slots, but rather, comprises an open platform area 512 in which the user can place the sorted components - it may be more complex for the system to determine the spatial positioning of each sorted arrangement of components. That is, the system may not be able to immediately identify the XY gantry coordinates required to access each sorted electrical component arrangement. In particular, this is because the system may not immediately recognize where the user has placed each component type on the platform area 512. To resolve this issue, the gantry head assembly 308 can be translated to the known XY gantry coordinates corresponding to the platform area 512. The gantry camera 408 (i.e., the wide- lens camera 408), can then be used to capture one or more images of the platform 512. An image analysis software (i.e., image analysis software 304c stored in memory 304), can be used to analyze the images in order to identify the separate spatial arrangements of components. For example, the images can be analyzed to identify that the user has created six different piles of components, or has placed six different component bins over the platform 512. In some cases, the identification of sorted arrangements in images of the open platform 512 can be performed using one or more edge detection image processing techniques, that can identify the presence of spatially isolated objections in the image. In this manner, the system may recognize the spatial location of each component arrangement. In at least one cases, once the sorted arrangements are identified in the images of the platform 512, the system can associate different XY gantry coordinates (or ranges of XY gantry coordinates) with each identified sorted arrangement. For example, the system can determine - based on the known dimensions of the platform 512, and with reference to the images of platform 512 - that an identified bin or tray located in the top-right of the image of platform 512 can be accessed by moving the gantry head assembly 308 to coordinates (X,Y). In this manner, the system is also able to identify how to access each sorted arrangement. [00209] At act 906a, once the spatial location of each sorted arrangement is identified, the system may then classify the types of components that are located in each of the sorted arrangements. This, in turn, allows the system to determine (i.e.. memorize) which sorted arrangement to access when a specific component is required for assembly.
[00210] More particularly, components can be classified (i.e., identified) using a variety of classification tests. The classification tests can include, by way of non-limiting examples: image scanning of visual indicators, image analysis and classification, electrical probe tests and/or weight tests.
(i) Image Scanning of Visual Indicators
[00211] In at least one embodiment, sorted electrical components may be classified based on scanning visual indicators located on compartment units (i.e., bins, trays, reels, etc.) which retain the electrical components. For example, if the user has sorted the electrical components in one or more compartment units, the compartment units may include visual indicators (i.e., barcode, QR code, etc.) that can be scanned to provide information about the types of components contained in these compartment unit (i.e., model information, part number, component type, etc.). In various cases, for example, the visual indicators may be placed on the compartment units by the component manufacturer. For example, the compartment units (i.e., bins, reels, etc.) may be part of the component packaging, and may include visual indicators placed on the packaging exterior by the manufacturer.
[00212] The visual indicators may be scanned using one or more cameras 408 of the gantry head assembly 308. For example, the gantry head assembly 308 may be translated to the component receiving area 512 - and may scan (i.e., using imaging devices 408) the component receiving area 512 to identify the visual indicators.
[00213] For example, as discussed previously, where the component receiving area 512 can include a plurality of slots, and the gantry head assembly 308 may be translated to each pre-determined XY position corresponding to the known location of each slot. At each slot, the camera 408 can be activated to capture one or more images of a compartment unit located in that slot (i.e., the reel). The image analysis program 304c, in the memory 304, may then analyze the images to identify the visual indicators located on each compartment units. [00214] In other cases, the component receiving area 512 may comprise an open platform area 512 (i.e., as shown in FIG. 5). In these cases, the gantry head assembly 308 can be translated over the component receiving area 512, and the camera(s) 408 can be activated to capture one or more wide view images of the platform area 512 (i.e., using a wide-lens camera). The images may then be analyzed - i.e., using the image analysis program 304c - to identify each visual indicator in the image. Each visual indicator, identified in the image, can then be associated with a corresponding compartment unit, based on the spatial location analysis in act 904a, i.e., which determined the spatial location of each compartment unit on the platform area 512. In other cases, as the system may already have awareness of the spatial location of each compartment unit on the platform 512 (i.e., based on act 904a) - the gantry head assembly 308 may simple translate to each separate compartment unit located on the platform 512, and the camera 408 may capture one or more specific images of each compartment unit (i.e., using a narrow lensed camera). The images may then be analyzed to detect the presence of visual indicators associated with each compartment unit.
(II) Image Analysis of Electrical Components
[00215] In other embodiments, classification of sorted electrical components can occur based on an image analysis of the actual components. That is, images of the actual components can be analyzed to classify the component type.
[00216] For example, the image analysis program 304c may be configured with one or more trained machine learning models (i.e. , convolution neural networks (CNNs)) which can analyze images to classify the type of component being imaged. For example, components can be classified based on analyzing various external features of these components (i.e., shape profile, dimensions, color scheme, size, number of contact pins, footprint size, etc.).
To this end, it has been appreciated that different electrical components may have different distinctive exterior visual features that can assist in identifying the components (i.e., resistors may have different color coded schemes that can identify their resistance value). The images can also be analyzed to detect any model or part number (i.e., that may be embossed on the component packaging), and which can also indicate the component type. [00217] Reference is now made to FIG. 14, which illustrates an example architecture 1400 for a machine learning model which can be used to analyze images, e.g., by the image analysis program 304c.
[00218] As shown, the machine learning model may comprise a convolutional neural network (CNN). The CNN can receive an input image 1402 (e.g., an image of electrical components). The CNN may include a feature extractor 1404a and a classifier 1404b. The feature extractor 1404a includes a first convolution layer 1406, a first pooling layer 1408, a second convolution layer 1410, a second pooling layer 1412, a third convolution layer 1414 and a third pooling layer 1416. The classifier 1404b includes a fully connected layer 1418 and an output layer 1420.
[00219] In other cases, any other image analysis technique can be used. For example, the system may store pre-captured images of each type of component and a label of the imaged component. The system may then compare the imaged component to the one or more pre-captured images to determine a similarity factor. The pre-captured image with the highest similarity factor may indicate the component. Any image similarity algorithm known in the art can be used.
[00220] In at least some cases, the input layers may have same dimensions as the number of pixels in the input image 1402. For example, this may be anywhere from a VGA 640x480 to a larger image.
[00221] To this end, components can be imaged, for example, using the camera 408 of the gantry head assembly 308. For example, in cases where each component receiving area 512 includes a plurality of slots - the gantry head assembly 308 can translate to pre determined XY positions corresponding to the known positions of each slot. At each slot, one or more images may be captured of the components located in that slot, and the images can be analyzed to classify the component types. In other example cases, the component receiving area 512 may not have slots - but may comprise an open platform (i.e. , as shown in FIG. 5) for receiving sorted arrangements of components. In these cases, gantry head assembly 308 may be translated to each spatial grouping of components to capture one or more images. The image analysis program 304c can then be used to analyze the captured images to classify the component type located in each spatial grouping [00222] Alternatively or in addition to using the camera 408 of the gantry head assembly 308 - the underside camera 314 (FIG. 5), can also be used to image the components for classification purposes.
[00223] For example, the PnP head 404 - of the gantry head assembly 308 - can pick up one or more sample components from each sorted grouping of components, i.e. , in the component receiving area 512. The gantry head assembly 308 may then translate to the known XY position corresponding to the underside camera 314. The underside camera 314 may then capture one or more images of the components. In at least one embodiment, the image analysis program 304c can classify components based on a combination of images captured by the gantry assembly camera 408 and/or the underside camera 314.
[00224] In particular , it has been appreciated that the use of the underside camera 314 can assist in capturing images of features that may not be easily observed from a top-view of these component (i.e., as captured by the camera 408 of the gantry head assembly 308). For example, features such as the footprint sizes of components, number of contact pins, etc., which are also useful for component classification, may involve underside pictures of the components. Additionally, in some cases, the components located in the receiving area 512 may not always be positioned in the up-right position (i.e., they may be upside down, or stacked over each other). In these cases, it may also be useful to pick up the component, and capture images of the component using the underside camera 314.
[00225]
(iii) Electrical Probe Testing of Electrical Components
[00226] In still yet other embodiments, electronic components can be identified based on their electrical properties.
[00227] For example, the electrical test probes 412 can be used to measure various electrical properties of the loose electrical components. For example, the gantry head assembly 308 may be translated to each sorted grouping of components in the component receiving area 512. For each sorted grouping, the electrical test probes 412 can engage one or more contact pins of sample electrical components in that sorted grouping. To locate the pins of sample electrical components, the camera 408 can be used to capture one or more images of the sorted groupings, and the images can be analyzed (i.e., via image analysis program 304c) to locate the pin positions. For example, the images can be analyzed using a trained Flaar cascades object detection algorithm. Based on the image analysis, the system may identify the gantry XY coordinates to move the gantry head 308 to engage the contact pins. Once engaged, the probes 412 may apply a probe current across the electrical component (i.e., resistor) in order to measure the electrical response (i.e., resistance, capacitance, inductance, etc.) of that component. The measured electrical response can then be used to classify that electrical component (i.e., a resistor having a 1 ohm value, etc.)
(iv) Weight Testing of Electrical Components
[00228] In still yet other embodiments, electrical components can be classified based on their weight properties. In particular, it has been appreciated that the weight of a component can assist in classifying the component (i.e. , small and light resistors versus large and heavy resistors, etc.)
[00229] More particularly, the PnP head 402 can be used to pick-up one or more sample components from each sorted component grouping, and the weight sensor on the gantry head assembly 308 (i.e., sensor 410 on assembly 308) may record the component weight. The memory 308 may store an index (i.e., a look-up table) of various components and their pre-determ ined (or known) weights to help classify the component.
[00230] In view of the foregoing, it is appreciated that any number of classification tests can be used to classify electronic components in each sorted grouping of components. In various cases, more than one classification test may be used to classify components. For example, in some instances, the weight of a component may provide insufficient information to identify the component. In these cases, an image analysis test of the component may also be performed. For example, the image analysis test may identify the component as a resistor, while the electrical probe test and/or weight test can narrow the particular resistance of that resistor (i.e., one ohm resistor versus a one kilo ohm resistor). [00231] In at least one embodiment, the system may simply perform each test on each component grouping, and use the aggregate results from each test to classify each component. In some cases, to mitigate conflicts between the results of multiple tests - the system may give preference to the results of some tests over others. In other cases, the system may have a hierarchal order of tests to perform in order to classify each component in each grouping. For example, the system may first determine if there are any visual indicators, and if not, the system may then perform an image analysis test of the actual component. Further, if the system is unable to precisely classify the component based on the image analysis, then one of the electrical probe and weight tests may be conducted.
[00232] At act 908a, an indication of the component classification, for each sorted arrangement of components, can be stored in the memory 304.
[00233] Reference is now made to FIG. 9B, which shows an example embodiment of a method 900b for classifying un-assorted electrical components that are received in the apparatus 105. Method 900b may be performed, for example, by the processor 302.
[00234] In particular, in various cases, the apparatus 105 may enable users to simply place (i.e., insert) an assortment of un-sorted electrical components that are used during assembly. In these cases, as the components are un-sorted, the system may classify each electrical component received in the receiving area 512, rather than relying on classifying sorted component groupings (i.e., method 900a of FIG. 9A). To this end, it has been further appreciated that conventional systems for PCB assembly are not typically adapted to handle unsorted components. This, in turn, may complicate the assembly process for users, who may not have the time (or sophistication knowledge) to pre-sort components. For example, in some example cases - users may purchase PCB assembly kits, which deliver the components required for assembly in a single aggregated package. In these cases, user may want to simply empty the aggregate package into the apparatus 105 without performing further component sorting. In other cases, as the user is trying and testing different PCB configurations, they user may simply wish to place a subset of new unsorted components into the apparatus 105, and allow the apparatus to automatically classify and assemble the components. [00235] As shown, at act 902b, one or more unsorted un-assembled electrical components are received, i.e. , in the component receiving area 512. The unsorted electrical components may be components required for assembly of the PCB.
[00236] At act 904b, the system can determine the spatial position of each electrical component in the workspace area 512. In particular, one or more images of the component receiving 512 can be captured using, for example, the gantry camera 408. The image analysis program 304c - stored on memory 304 - can analyze the captured images (i.e., using edge detection processing techniques) to identify the locations of each component in the image of the component receiving area 512. Once the components are identified in the image - the system can determine the gantry XY coordinates corresponding to each location in the image where a component has been identified. In this manner, the system may determine how to translate the gantry head assembly 308 to access each electrical component.
[00237] At act 906b, the gantry head assembly 308 is used to classify each received component. In particular, the gantry head assembly 308 can be translated to each electrical component identified at act 904b. Further, as previously explained with reference to act 906a of method 900 - each component may be analyzed using one or more classification tests (e.g., image analysis of the component, electrical probe tests and/or weight test).
[00238] At act 908b, in at least one embodiment - during or after classification, the system may sort similar components into separate spatial zones. For example, as shown by way of an illustrative schematic 900d in FIG. 9C - the component receiving area 512 may receive unsorted components 804c. During the process of classifying components (or thereafter), the PnP head 402 - of the gantry head assembly 308 - can transport similar type components to one or more component-specific zones in the component receiving area 512 (i.e., 806d - 816d). In this manner, the components may be sorted by the system into different areas for ease of access. In some cases, the apparatus 105 may also include one or more empty compartment units that can be used to receive sorted components.
[00239] At act 910b, the system can store the classification of components and/or their spatial arrangement. [00240] For example, in cases where the components were sorted into different spatial zones (i.e. , act 906b), the memory 304 may store gantry co-ordinate positions (i.e. , a range of positions) corresponding to each spatial zone, and may store associated data about the component stored in that spatial zone.
[00241] In other cases, where components are not sorted at 906b - the system can store the classification at 904b using other techniques. For example, if the components are merely maintained in their initial unsorted position - the image of the component receiving area 512 (i.e., captured at act 904b) may be simply annotated with each component classification. In other words, each component identified in the images captured at act 904b can be annotated with classification information. Accordingly, when it is desired to retrieve a particular component - the processor 302 can access the annotated image, identify components having an appropriate classification label, and determine the associated gantry XY coordinates to retrieve the component based on the object’s location in the image.
[00242] Reference is now made FIG. 10, there is shown an example embodiment of a method 1000 for matching (i.e., pairing) un-assembled electrical components, to electrical components identified in a PCB design data (i.e., act 808 of FIG. 8). In particular, the method 1000 can ensure that apparatus 105 has received all components required to assemble the PCB in accordance with the received PCB design data.
[00243] At act 1002, an electrical component list may be extracted from the PCB design file. For example, the PCB design file can be analyzed to determine which electrical components are required for assembly. The extracted electrical components may be expressed, for example, as part (or model) numbers, or in terms of component class. In various cases, the electrical component list may also specify the required quantity of each component.
[00244] At act 1004, the received un-assembled electrical components (i.e., received in the component receiving area 512) may be classified in accordance with methods 900a and/or 900b, as previously explained. As the components are being classified, the memory 304 can store a record of each identified component, as well as the quantity of that component. [00245] At act 1006, the identified (i.e. , classified) components are compared (i.e. , matched) to the electrical component list identified at act 1002. In particular, it is determined whether each type and quantity of components in the electronic component list has been located in the component receiving area 512.
[00246] At act 1010, if a mismatch has been determined, then an error alert may be generated. For example, an error alert can be generated if there is an identified mismatch as to the required type or quantity of a particular type of component. In various cases, the alert generated at act 1010 may be displayed on a display interface of the apparatus 105 (i.e., display device 318). In other cases, the error alert may be communicated to the user computer (i.e., via network 205), and displayed on the computer’s display. The alert can, for example, identify the particulars of the mismatch.
[00247] In various cases, in response to receiving the alert, a user may supply the missing components to the component receiving area 512. In some cases, after the user has supplied the missing components - the method can return to act 1004 to re-classify the received components to determine if there is a match. If not, the method 1000 can iterate until the correct component(s) are placed and/or the user has overridden the error alert. In at least one embodiment, once the error has been generated - the system may automatically monitor if new components have been received in the component receiving area 512, i.e., by imaging the component receiving area 512. In at least one embodiment, once the user has inserted new component(s) into the apparatus, the user may also inform the apparatus of the new component placement by transmitting an indication to the apparatus 105 (i.e., via a user terminal or input interface 320). This may prompt the system to then classify the new component(s).
[00248] Otherwise, if no mismatch has been identified, then method 1000 may end at act 1012, and the assembly process 800 in FIG. 8 may resume.
[00249] Reference is now made to FIG. 11 , which shows an example embodiment of method 1100 for automated PCB assembly, in accordance with at least one embodiment. Method 1100 can correspond, for example, to act 810 in FIG. 8. Method 1100 is performed, for example, by the processor 302. [00250] At act 1102, the PCB design file can be accessed (e.g., a CAD file). At act 1104, the PCB design file may be analyzed or processed to identify assembly configuration data. The assembly configuration data may express a spatial mapping of electronic component placement on the PCB. In particular, the assembly configuration data may include a design layout of where each electrical component is to be placed on the PCB. In at least one embodiment, the assembly configuration data can include a vector format file (i.e. , a Geber file) of the fabricated PCB layout, as well as a pick-and-place file indicating the coordinate placement of each electrical component on the PCB.
[00251] At act 1106, the gantry head assembly 308 is translated to a work area where the PCB is located (i.e., 501 of FIG. 5). One or more cameras 408 of the gantry head assembly are then used to capture one or more images of the PCB (i.e., using a wide-lens camera 408a). An image analysis program 304c, i.e., stored on the memory 304, may then analyze the images, and overlay the PCB assembly map - included in the assembly configuration data - over the PCB image. This, in turn, can allow the system to conduct a one-to-one mapping of various imaged areas of the PCB to the assembly configuration data, in order to translate image pixel coordinates to gantry head assembly XY motion coordinates.
[00252] At act 1108, in some cases, it is determined whether there are any errors (i.e., mismatches) between the assembly configuration data and the imaged PCB. For example, the error may be detected if there is a mismatch between the dimensions of the imaged PCB, and the PCB expressed in the assembly configuration data. In other cases, there may be a mismatch in respect of the fabrication layout of the PCB (i.e., missing traces, contact pads, etc.).
[00253] If a mismatch is detected at act 1108, then at act 1110, an error alert may be generated (i.e., on a display device 318 of the apparatus 105 or transmitted to a user terminal 135). In this case, the user may either, for example, (a) over-ride the error alert; (b) modify the PCB design file and/or the assembly configuration data; and (c) retrieve the PCB and insert a corrected fabricated PCB. In this case, the method 1100 may return to act 1104 to re-iterate.
[00254] At act 1108, if no mismatch has been detected (or otherwise, if a mismatch determination was not performed), then at act 1112 the apparatus 105 may commence the assembly of the PCB. In particular, the gantry head assembly 308 (i.e. , the PnP head 402) may be operated to retrieve the relevant components from the component receiving area 512, and place (i.e., install) the components at the relevant area of the PCB board.
[00255] More particularly, at act 1112, the system can reference each component in the PCB design file, identify the location placement of that component on the PCB, and operate the gantry head assembly to retrieve the component from the component receiving area 512 and place the component over the relevant area portion of the PCB. To this end, based on the classification performed in methods 900a, 900b, the system may have a memory of where each required component is located in the component receiving area 512 (i.e., the range of XY gantry coordinates required to access that component). Further, based on the image spatial overlay at act 1106, the system may determine where to place the component on the PCB. In some cases, the assembly design file may include data in respect of the order of assembly, which can be used to guide the assembly process.
[00256] At act 1114, once the component has been placed in the relevant area of the PCB (i.e., aligned with the relevant contact pads), the paste dispenser 404 (and/or the flux dispenser 418) can be operated to dispense paste (i.e., solder and/or flux) around the contact pads. In other embodiments, this may be done at any other stage of the assembly process (i.e., prior to mounting the component on the contact pad, or anytime thereafter). In at least one embodiment, the system may determine locations for contact pads that require component mounting, and may automatically place paste on these areas. For example, the system may reference the PCB design file (at act 1102) to determine locations for contact pads to dispense paste over. In other cases, the system may also image the board using one or more imaging device(s) 408, and may analyze the images to determine the locations of contact pads for dispensing paste.
[00257] At act 1116, it is determined whether all components have been installed on the PCB. For example, this determination may be made with reference to the PCB design file. For example, the system may track each component in the PCB design file to determine that the component has, or has not, been installed.
[00258] If not all components have been installed, then the method 1100 may return to act 1112 and may re-iterate until all electronic components have been installed. [00259] Otherwise, at act 1118, the area heater 312 can be activated (i.e. , the area heater 312 located below the PCB 501 in FIG. 5). In particular, by activating the area heater 312, the solder may be heated to a target temperature whereby it may adopts conductive and mechanical adhesive properties. In this manner, the components may be mechanically secured to the PCB, and also electrically coupled to other components on the PCB via the conductive traces, etc.
[00260] At act 1120, as the area heater 312 is being operated, the temperature of the solder on the PCB can be monitored using, for example, the gantry head temperature sensors 410. For example, the gantry head assembly 308 may be positioned over, or in proximity, of the PCB to ensure that the temperature sensor 410 is proximal enough to measure temperature. The temperature of the solder is then monitored to determine if the solder has reached the target threshold temperature, which may be slightly above the melting point of solder (i.e., 60° to 450°).
[00261] If the target temperature has not been reached, then the method 1100 can return to act 1118, whereby the area heater 312 is continued to be cycled. Otherwise, if the temperature threshold has been reached, then the PCB assembly may be determined to be complete at act 1122.
[00262] Reference is now made to FIG. 12, which shows an example embodiment of a method 1200 for automated editing or re-working of a PCB (i.e., acts 812 and 814 of method 800 of FIG. 8). Method 1200 may be performed, for example, by the processor 302.
[00263] In particular, method 1200 may occur any time before, during or after the PCB assembly process, and accordingly, may allow a user (or system) to re-work or edit the PCB at any point in time. More specifically, it has been appreciated that conventional systems for assembling PCBs do not permit for a non-linear process by which the assembly process can be reversed to allow for editing or re-working of PCB. Rather, conventional systems follow a linear path of forward assembly, whereby components can only be assembled on PCBs, but not otherwise removed. By allowing editing and re-working of PCBs, users are enabled with the flexibility of not only correcting errors, but also testing new and novel combinations of
PCB designs (i.e., with different components) in order, for example, to test different design configurations and/or determine optimal designs. As previously mentioned, this may be particularly suited for PCB design engineers, as well as hobbyist who are experimenting with different PCB configurations.
[00264] As shown, at act 1202, a trigger event may be received to modify the PCB assembly configuration. As noted, the trigger event may be received at any point before, during or after the assembly process.
[00265] In one example, the trigger event can be user-initiated. For example, the user may transmit instructions to the processor 302 to modify an assembly configuration of the PCB. For instance, the user may desire to try new PCB assembly configurations (i.e. , more optimal configurations, or corrected designs), and accordingly, may desire the PCB to be modified to reflect the new configurations. For example, the user may wish to try different values of certain electrical components, or alter the placement of specific components.
[00266] To initiate the modification, the user may, for example, transmit, i.e., from the user terminal 135, a modified PCB design file to the processor 302, which may act as the trigger event. In other cases, the user may be able to modify the PCB design file (i.e., in real time or near real-time) via, for example, the user terminal 135, to alter the placement of electrical components on the PCB. That is, the apparatus 105 may receive real-time or near real-time PCB design modification data from the user terminal 135. In some cases, the command to remove a piece may be received via an installable software plug-in for a user interface associated with a PCB design program or software.
[00267] In at least one embodiment, a PCB (i.e., partially or fully assembled) can be inserted into the apparatus 105, and the PCB can be analyzed (i.e., imaged using imaging device(s) 408 or using electrical test probes 412 to test various electrical components), to identify the PCB design configuration. Based on this analysis, the system can automatically retrieve (i.e., access) a PCB design file that is associated with that board (i.e., based on a similarity measure between the analyzed design configuration and the PCB design file) and can further detect differences between the PCB design file and the inserted PCB. These difference can then also act as a trigger to modify the PCB at act 1202.
[00268] In other embodiments, the event trigger may be automatically initiated by the processor 302 in response to a PCB test inspection. For example, in at least one embodiment, the system may be operable to conduct inspection tests on the PCB to ensure that components are correctly placed. The test inspections may occur, for example, part-way through the assembly or at the end of the assembly. In response to performing a test inspection, the system can determine that an electrical component is misplaced, and therefore the PCB requires editing.
[00269] To this end, various types of PCB validation test inspections can result in trigger events for modifying the PCB, and can include optical and electrical test inspections. In optical inspections, one or more images of the PCB may be captured (i.e., via the camera 408 of the gantry head assembly 308). The image analysis program 304c may then analyze the captured images to identify the various component placements on the PCB, as well the type of components at each location of the PCB. For example, one or more edge detection and image classification techniques can be used to identify the location of component placement on the PCB within the captured images, as well as identify the type of components that are mounted. The results of the image processing can then be compared to the assembly configuration data in the PCB design file to identify and localize any errors. In particular, the identification of any errors, resulting from the optical inspection, may act as an event trigger for modifying the PCB.
[00270] In other cases, electrical test inspections can also be used to determine whether to modify the PCB. For example, the electrical test probes 412 can be used to apply a probe current through one or more portions of the PCB circuitry. The electrical response to the probe current may then be measured. The measured electrical response may then be compared to the expected electrical response, based on the PCB design file. For example, the PCB design file may be input into one or more simulators that can simulate electrical circuit response. The simulations can, in turn, generate the expected electrical response for the PCB design. In of the cases, the electrical response can be measured by the electrical probes 412 in view of the PCB being connected, for example, to an external current or voltage source (i.e., by the user). Accordingly, any errors identified by the electrical test inspection can also act as an event trigger for modifying the PCB. [00271] In still other embodiments, an IR temperature sensor 410 can be used to scan the PCB for thermal defects and in order to build a temperature profile of the board for diagnostic purposes (i.e., as a form for validation testing).
[00272] In some cases, once an error is identified in the PCB, the processor 302 may automatically modify the PCB to correct the error. In other cases, the PCB may not be modified without user authorization. For example, once an error is identified, the user may be alerted of the error (i.e., via a notification to the user terminal 135 and/or the apparatus display device 318). In some cases, the system may automatically identify how to correct the error, and the user may simply accept the system’s suggestion. In other cases, remediating the error may involve the user, for example, supplying replacement components to the apparatus 105 and/or transmitting PCB modification data.
[00273] At act 1204, in response to receiving the event trigger, the system can identify one or more target electrical components that may be removed from the PCB, in order to modify the PCB. For example, this may be determined automatically after conducting one or more inspection tests. In other cases, the user may specify to the system (i.e., via the user terminal 315 and/or the input interface 320) which components to modify. For example, the user may select certain components to remove on the PCB design file, and this modification data may be transmitted to the apparatus 105. Otherwise, the user may transmit an updated PCB design file, and the system may determine - based on a comparison with the original PCB design file - which components require removing.
[00274] At act 1206, the PCB is analyzed to determine the locations of these electrical components (i.e., through one or more image captures of the PCB).
[00275] At act 1208, the area heater 312 (i.e., located below the PCB 501 in FIG. 5) can be operated to re-heat the solder to a first pre-determ ined temperature. In some cases, the first pre-determ ined temperature is a temperature that heats all of the solder on the PCB to just before the solder melting point (i.e., within 1 ° to 10° of solder melting point).
[00276] At act 1210, the solder temperature is monitored to determine if it has reached the first pre-determ ined temperature. For example, the monitoring can occurring using the gantry head temperature sensor 410. For example, the gantry head assembly 308 may be positioned over, or in proximity, of the PCB to ensure that the temperature sensor 410 is proximal enough to measure temperature.
[00277] If the temperature has not yet reached the first pre-determ ined temperature, the method may return to act 1208 and iterate until the solder is appropriately heated. Otherwise, once the solder has reached the first pre-determ ined temperature, at act 1212, the area heater 312 is de-activated, and the localized gantry heater is positioned in proximity of the one or more target components that require removing (i.e. , the gantry head assembly 308 can be translated, in turn, to each individual component requiring removing from the PCB). The localized gantry heater 420 is then operated to further heat the solder, around the components requiring removing, to a second pre-determ ined temperature. In particular, the second pre-determ ined temperature corresponds to the melting point of the solder (or just slightly above), and allows the solder to be sufficiently viscous for the target component to be dismounted.
[00278] At act 1214, the solder temperature around the target electrical component is again monitored to determine if it has reached the second pre-determ ined temperature (e.g., using the gantry temperature sensor 410).
[00279] If the temperature has not reached the second pre-determ ined temperature, the method can return to act 1212 and can iterate until the second pre-determ ined temperature is reached. Otherwise, at act 1216, the electrical component can be removed from the PCB (i.e., using the PnP head 402 of the gantry head assembly 308). The removed component may then be relocated back to an appropriate location in the component receiving area 512, or otherwise simply disposed. As explained in greater detail with reference to FIG. 13, at act 1216, the de-soldering head 414, on the gantry head assembly 308, may also be operated to remove at least some of the remaining melted solder on the PCB contact pads, after (or before) removing the component.
[00280] In at least one embodiment, as the component is being removed from the board at act 1216, the component may be electrically tested (i.e., via electrical test probes 412).
The electrical properties determined from the testing can be stored, or used for sorting the component in the component receiving area 512. In at least one embodiment, the component may also be classified in a manner as similarly expressed at act 808 in FIG. 8 (i.e., imaging, or weight or electrical testing), to allow for sorting the component appropriately in the component receiving area 512 and/or for subsequent identification and use of that component.
[00281] In particular, the combination of area heater 312 and the localized gantry heating element 420 can allow for more efficient melting of the solder around the target component requiring dismounting. In particular, as the localized gantry heater 420 may not have sufficient power to melt the solder, the area heater 312 may be first used to heat the solder - i.e., across the entire board - to the first pre-determ ined temperature. This may then allow operation of the localized gantry heater 420 to heat the solder around the target component to the second pre-determ ined temperature, which is different than the first pre determined temperature. In various cases, the localized gantry heater 420 may operate to heat the pre-heated solder within a limited time frame after the area heater 312 is de activated (i.e., within 3 to 5 seconds). This is to ensure that the solder does not significantly cool down prior to operating the localized gantry heater 420. In other cases, however, the method 1200 may not include acts 1208 to 1210, and a localized gantry heater 420, with sufficient power, can be used to heat only a desired portion of solder to the second pre determined temperature.
[00282] In other embodiments, in addition to or in the alternative of using a localized gantry heating element 420 to heat paste to dismount an electronic component - the localized heating may be also provided by the area heater 312. For example, the area heater 312 may comprise a plurality of sub-heating blocks. For example, this may be a grid of M x N sub heating blocks, wherein M expresses the number of rows and N expresses the number of columns. In other cases, the sub-heating blocks may be configured in any other arrangement (e.g., nested concentric circles of varying diameter). The sub-heating blocks may be controllably activated such as to localize the heating to desired areas on the PCB. For example, the sub-heating blocks may all be controlled by, e.g., processor 302, and only sub heating blocks around (e.g., directly beneath) the area of the target component, which requires dismounting, may be activated. In particular, the specific sub-heating blocks that are activated may be selected based on knowledge of where the target component area is located on the surface of the PCB relative to the grid of sub-heating blocks (e.g., based on spatial analysis of images captured of the PCB).
[00283] Reference is now made to FIG. 13, which shows an example embodiment of a method 1300 for using the de-soldering head 414, on the gantry head assembly 308, to remove solder from the PCB contact pads during re-working or editing of the PCB. In particular, the method 1300 may allow removing only a pre-determ ined quantity of solder from the PCB contact pads as to not damage the contact pads using the de-soldering head 414.
[00284] At act 1302, one or more images can be captured of a target area of the PCB where solder requires removing (i.e. , an area where a component has been dismounted). For example, images can be captured using one or more cameras 408 of the gantry head assembly 308.
[00285] At act 1304, the images can be analyzed to determine a quantity of solder on the target area. For example, the image analysis program 304c - in the memory 304c - can use one or more image analysis techniques (i.e., edge detection techniques) to quantify the volume or remaining solder.
[00286] At act 1306, it is determine if the quantity of remaining solder is above a pre determined threshold. If so, then at act 308, the de-soldering head 414 can be operated to remove the excess solder paste. For example, based on the known suction rate of the de soldering head 414 - and the known quantity of solder to be removed - the de-soldering head 414 can be operated for a pre-determ ined period of time. Otherwise, if the quantity is not greater than the threshold, the method can end at act 1310. While the above description describes features of example embodiments, it will be appreciated that some features and/or functions of the described embodiments are susceptible to modification without departing from the spirit and principles of operation of the described embodiments. For example, the various characteristics which are described by means of the represented embodiments or examples may be selectively combined with each other. Accordingly, what has been described above is intended to be illustrative of the claimed concept and non-limiting. It will be understood by persons skilled in the art that other variants and modifications may be made without departing from the scope of the invention as defined in the claims appended hereto. The scope of the claims should not be limited by the preferred embodiments and examples, but should be given the broadest interpretation consistent with

Claims

CLAIMS:
1. A system for automated assembly and/or modification of printed circuit boards (PCBs), the apparatus comprising: at least one working-component unit, the at least one working- component unit comprising a pick-and-place device; a motion system for translating the at least one working-component unit to various positions; a PCB receiving area for mounting an at least partially fabricated PCB; one or more processors coupled to the at least one working-component unit and the motion system, the one or more processors being configured to: receive a trigger event to remove an electronic component mounted to an area of the printed circuit board (PCB); heat paste located at the area to a pre-determ ined temperature; and control the pick-and-place device to remove the electronic component from the PCB.
2. The system of claim 1 , wherein the trigger event comprises receiving a user input to remove the electronic component.
3. The system of claim 2, wherein the user input is received via an installable plug-in of a user interface associated with a PCB design software.
4. The system of any one of claims 1 to 3, wherein the trigger event comprises accessing an assembly design file which comprises a modification to the PCB involving removing the electronic component.
5. The system of any one of claims 1 to 4, wherein the at least one working-component unit further comprises a localized heating device, and wherein the one or more processors are configured to perform the heating by operating the localized heating device.
6. The system of any one of claims 1 to 5, wherein the pre-determ ined temperature is a second pre-determ ined temperature, and the at least one working-component unit further comprises an area heater operatively coupled to the one or more processors, and the one or more processors are configured to: prior to heating the paste at the area, operate the area heater to heat the PCB to a first pre-determ ined temperature that is different than the second pre-determ ined temperature in order to heat the paste to a pre-melting temperature point.
7. The system of claim 6, wherein the area heater comprises a plurality of sub-heating blocks, and the one or more processors are configured to activate one or more sub heating blocks, located underneath the area, to heat the paste located at the area.
8. The system of any one of claims 1 to 7, wherein the system further comprises a part receiving area housing a number of un-assembled electronic components, and the at least one working-component unit further comprises a paste dispenser, and the one or more processors are configured to: control the gantry head translation mechanism to translate the at least one working-component unit to the part receiving area; control the pick-and-place device, of the at least one working- component unit, to pick-up an un-assembled electronic component from the part receiving area; control the motion system to translate the at least one working- component unit to a target area of the PCB after the pick-up of the un-assembled electronic component; control the pick-and-place device, of the at least one working- component unit, to mount the un-assembled electronic component to the target area; and concurrently control the motion system and the paste dispenser to deposit paste around the mounted electronic component.
9. The system of claim 8, wherein prior to controlling the pick-and-place device to pick up the un-assembled electronic component, the one or more processors are configured to: classify one or more un-assembled electronic components in the part receiving area using one or more classification tests; and based on the one or more classification tests, identify the un-assembled electronic component as a target component for assembly.
10. The system of claim 9, wherein the classification test is an imaging test, and the at least one working-component unit further comprises at least one camera, and the one or more processors are configured to: control the at least one camera to capture an image of at least a portion of the receiving area; perform image analysis on the captured image to classify one or more un-assembled electronic components in the captured image; and identify the un-assembled electronic component based on the image analysis.
11. The system of claim 10, wherein during image analysis, the one or more processors are further configured to: identify at least one or more visual indicia in the image; and determine a component type corresponding to each visual indicia to classify the one or more un-assembled electronic components.
12. The system of any one of claims 8 to 11 , wherein the one or more classification tests include an electrical probe test, and the at least one working-component unit further comprises at least one electrical probe, and the one or more processors are configured to: control the at least one working-component unit to electrically couple the at least one electrical probe to at least one un-assembled electronic component in the receiving area; receive measured electrical property data in respect of the at least one un assembled electronic component that is electrically coupled to the at least one electrical probe; and classify the at least one un-assembled electronic component based on comparing the measured electrical property data to pre-determ ined electrical property data of various un-assembled electronic components.
13. The system of claim 1 to 12, wherein the one or more processors are operated in a user-controlled mode, wherein in the user-controlled model, the one or more processors are configured to control the at least one working-component unit and the motion system only in response to received user command inputs.
14. The system of claim 1 to 13 wherein the one or more processors are operated in a semi-automated mode, wherein in the semi-automated mode, the one or more processors are configured to receive one or more initial user command inputs, and are further configured to automatically control the at least one working-component unit and the motion system to automatically perform subsequent actions in accordance with the one or more initial user command inputs.
15. The system of claim 1 to 14, wherein the one or more processors are operated in an automated mode, wherein in the automated mode, the one or more processors are configured to control the at least one working-component unit and the motion system in a fully-automated manner.
16. The system of claim 15, when depending on claims 13 or 14, wherein the system further comprises a memory coupled to the one or more processors, and in the user- controlled mode, the one or more processors are further configured to record, in the memory, the user command inputs and generate one or more user preference rules, and in the automated or semi-automated modes, the one or more processors are configured to automatically control the at least one working-component unit and the motion system in accordance with the one or more user preference rules.
17. The system of anyone of claims 1 to 16, wherein the at least one working-component unit comprises a gantry head assembly, and the motion system comprises a gantry head translation mechanism.
18. The system of anyone of claims 1 to 16, wherein the motion system comprises at least one of: one or more SCARA arms, one or more five bar linkage robots, one or more independent motion robots, one or more wheeled robots or one or more swarm robots.
19. The system of anyone of claims 1 to 18, wherein the paste dispenser comprises at least one of: a mechanical dispenser, a stencil dispenser, a pneumatic dispenser, a hydraulic dispenser, a piezo dispenser, or an inkjet dispenser.
20. The system of anyone of claims 1 to 19, wherein the paste comprises at least one of a conductive paste, epoxies or other conductive inks.
21. The system of claim 5, wherein the localized heater comprises at least one of a radiative infrared (IR) heater, a convective heater or a contact heater.
22. The system of anyone of claims 1 to 21 , wherein the pick and place device comprises at least one of a mechanical finger, a joint based gripper, electrostatic gripper or a pneumatic gripper.
23. A method for automated assembly and/or modification of printed circuit boards (PCBs), the method comprising: receiving a trigger event to remove an electronic component mounted to an area of a printed circuit board (PCB); heating paste located at the area to a pre-determ ined temperature; and controlling a pick-and-place device of the at least one working- component unit to remove the electronic component from the PCB, wherein the method is performed using one or more processors.
24. The method of claim 23, wherein the heating occurs by operating a localized heating device of at least one working component unit.
25. The method of any one of claims 23 to 24, wherein the trigger event comprises receiving a user input to remove the electronic component.
26. The method of claim 25, wherein the user input is received via an installable plug-in of a user interface associated with a PCB design software.
27. The method of any one of claims 23 or claim 26, wherein the trigger event comprises accessing an assembly design file which comprises a modification to the PCB involving removing the electronic component.
28. The method of any one of claims 23 to 27, wherein the pre-determ ined temperature is a second pre-determ ined temperature, and the method further comprises: prior to heating the paste at the area, operating, by the one or more processors, an area heater to heat the PCB to a first pre-determ ined temperature that is different than the second pre-determ ined temperature in order to heat the paste to a pre melting temperature point.
29. The method of claim 28, wherein the area heater comprises a plurality of sub-heating blocks, and the method comprises heating the paste at the area by activating one or more sub-heating blocks located underneath the area.
30. The method of anyone of claims 23 to 29, wherein the method further comprises: controlling a motion system to translate the at least one working- component unit to a part receiving area housing a number of un-assembled electronic components; controlling the pick-and-place device, of the at least one working- component unit, to pick-up an un-assembled electronic component from the part receiving area; controlling the motion system to translate the at least one working- component unit to a target area of the PCB after the pick-up of the un-assembled electronic component; controlling the pick-and-place device, of the at least one working- component unit, to mount the un-assembled electronic component to the target area; and concurrently controlling the motion system and a paste dispenser on the at least one working-component unit, to deposit paste around the mounted electronic component.
31. The method of claim 30, wherein prior to controlling the pick-and-place device to pick up the un-assembled electronic component, the method further comprises: classifying one or more un-assembled electronic components in the part receiving area using one or more classification tests; and based on the one or more classification tests, identifying the un assembled electronic component as a target component for assembly.
32. The method of claim 30, wherein the classification test is an imaging test, and the method further comprises: controlling at least one camera on the at least one working-component unit to capture an image of at least a portion of the receiving area; perform image analysis on the captured image to classify one or more un-assembled electronic components in the captured image; and identifying the un-assembled electronic component based on the image analysis.
33. The method of claim 31, wherein during the image analysis, the method further comprises: identifying at least one or more visual indicia in the image; and determining a component type corresponding to each visual indicia to classify the one or more un-assembled electronic components.
34. The method of any one of claims 30 to 33, wherein the classification test is an electrical probe test, and the method further comprises: controlling the at least one working-component unit to electrically couple at least one electrical probe of the at least one working-component unit to at least one un-assembled electronic components in the receiving area; receiving measured electrical property data in respect of the at least one un-assembled electronic component that is electrically coupled to the at least one electrical probe; and classifying the at least one un-assembled electronic component based on comparing the measured electrical property data to pre-determ ined electrical property data of various un-assembled electronic components.
35. The method of anyone of claims 23 to 34, wherein the one or more processors operate in a user-controlled mode, wherein in the user-controlled model, the one or more processors are configured to control the at least one working-component unit and the motion system only in response to received user command inputs.
36. The method of anyone of claims 23 to 35, wherein the one or more processors operate in a semi-automated mode, wherein in the semi-automated mode, the one or more processors are configured to receive one or more initial user command inputs, and are further configured to automatically control the at least one working-component unit and the motion system to automatically perform subsequent actions in accordance with the one or more initial user command inputs.
37. The method of anyone of claims 23 to 36, wherein the one or more processors operate in an automated mode, wherein in the automated mode, the one or more processors are configured to control the at least one working-component unit and the motion system in a fully-automated manner.
38. The method of claim 37, when depending on claims 35 or 36, wherein the method further comprises recording the user command inputs and generating one or more user preference rules, and in the automated or semi-automated mode, automatically controlling the at least one working-component unit and the motion system in accordance with user preference rules.
39. The method of anyone of claims 23 to 38, wherein the at least one working-component unit comprises a gantry head assembly, and the motion system comprises a gantry head translation mechanism.
40. The method of anyone of claims 23 to 39, wherein the motion system comprises at least one of: one or more SCARA arms, one or more five bar linkage robots, one or more independent motion robots, one or more wheeled robots, or one or more swarm robots.
41. The method of anyone of claims 23 to 40, wherein the paste dispenser comprises at least one of: a mechanical dispenser, a stencil dispenser, a pneumatic dispenser, a hydraulic dispenser, a piezo dispenser, or an inkjet dispenser.
42. The method of anyone of claims 23 to 41 , wherein the paste comprises at least one of a conductive paste, epoxies or other conductive inks.
43. The method of anyone of claim 24, wherein the localized heater comprises at least one of a radiative infrared (IR) heater, a convective heater or a contact heater.
I
44. The method of anyone of claims 23 to 43, wherein the pick and place device comprises at least one of a mechanical finger, a joint based gripper, electrostatic gripper and a pneumatic gripper.
45. A system for automated assembly and/or modification of printed circuit boards (PCBs), the system comprising: at least one working-component unit, the at least one working-component unit comprising a pick-and-place device for picking-up and dropping electronic components, a localized heating device, a paste dispenser, and at least one camera; a motion system for translating the at least one working-component unit to various positions; a PCB receiving area for mounting a PCB; a part receiving area for receiving unassembled electronic components; one or more processors coupled to the at least one working-component unit and the motion system, the one or more processors being configured to assemble and/or modify the PCB in one or more an automated mode, a semi-automated mode or a user-controlled mode.
46. The system of claim 45, wherein in the user-controlled mode, the one or more processors are configured to control the at least one working-component unit and the motion system only in response to received user command inputs.
47. The system of anyone of claims 45 or 46, wherein in the semi-automated mode, the one or more processors are configured to receive one or more initial user command inputs, and are further configured to automatically control the at least one working- component unit and the motion system to automatically perform subsequent actions in accordance with the one or more initial user command inputs.
48. The system of claims 46 or 47, further comprising at least one user computer device, and one or more initial user command inputs are received from the at least one user computer device.
49. The system of claims 46 or 47, further comprising an integrated input interface, and the one or more initial user command inputs are received via the integrated input interface.
50. The system of anyone of claims 45 to 49, wherein in the automated mode, the one or more processors are configured to control the at least one working-component unit and the motion system in a fully-automated manner.
51. The system of claim 50, when depending on claims 46 and 47, wherein the one or more processors are further configured to record the user command inputs and generate one or more user preference rules, and in the automated or semi-automated mode, the one or more processors are further configured to automatically control the at least one working-component unit and the motion system in accordance with user preference rules.
PCT/CA2022/050539 2021-04-07 2022-04-07 System and method for assembly and/or modification of printed circuit boards (pcbs) WO2022213207A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202163171894P 2021-04-07 2021-04-07
US63/171,894 2021-04-07

Publications (1)

Publication Number Publication Date
WO2022213207A1 true WO2022213207A1 (en) 2022-10-13

Family

ID=83544889

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CA2022/050539 WO2022213207A1 (en) 2021-04-07 2022-04-07 System and method for assembly and/or modification of printed circuit boards (pcbs)

Country Status (1)

Country Link
WO (1) WO2022213207A1 (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0334827A2 (en) * 1988-03-24 1989-09-27 Mustafa Ersin An apparatus for automatic assembly of components on a component carrier
US4899920A (en) * 1988-02-22 1990-02-13 Pace Incorporated Apparatus for removal and installing electronic components with respect to a substrate
US20070039999A1 (en) * 2005-08-19 2007-02-22 Samsung Electronics Co., Ltd. Soldering apparatus and soldering method
JP2012173169A (en) * 2011-02-22 2012-09-10 Tokyo Weld Co Ltd Device and method for measuring characteristics of electronic component
CN103167742A (en) * 2011-12-19 2013-06-19 西安中科麦特电子技术设备有限公司 Device capable of automatically picking and removing component on printed circuit board (PCB)
WO2015194048A1 (en) * 2014-06-20 2015-12-23 上野精機株式会社 Electronic-component inspection device
US9971338B1 (en) * 2017-03-21 2018-05-15 Tempo Automation, Inc. Printed circuit board design and manufacturing
US10375870B2 (en) * 2014-02-19 2019-08-06 Fuji Corporation Board work system, and method for managing mounting order of components in board work system

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4899920A (en) * 1988-02-22 1990-02-13 Pace Incorporated Apparatus for removal and installing electronic components with respect to a substrate
EP0334827A2 (en) * 1988-03-24 1989-09-27 Mustafa Ersin An apparatus for automatic assembly of components on a component carrier
US20070039999A1 (en) * 2005-08-19 2007-02-22 Samsung Electronics Co., Ltd. Soldering apparatus and soldering method
JP2012173169A (en) * 2011-02-22 2012-09-10 Tokyo Weld Co Ltd Device and method for measuring characteristics of electronic component
CN103167742A (en) * 2011-12-19 2013-06-19 西安中科麦特电子技术设备有限公司 Device capable of automatically picking and removing component on printed circuit board (PCB)
US10375870B2 (en) * 2014-02-19 2019-08-06 Fuji Corporation Board work system, and method for managing mounting order of components in board work system
WO2015194048A1 (en) * 2014-06-20 2015-12-23 上野精機株式会社 Electronic-component inspection device
US9971338B1 (en) * 2017-03-21 2018-05-15 Tempo Automation, Inc. Printed circuit board design and manufacturing

Similar Documents

Publication Publication Date Title
CN206696201U (en) A kind of multiple dimensioned Automatic Visual Inspection device towards flexible PCB
US20080252311A1 (en) Verifying an assembly manufacturing process
US20090301324A1 (en) Method and apparatus for placing substrate support components
US7555831B2 (en) Method of validating component feeder exchanges
WO2018154586A1 (en) Robot-assisted hardware testing
US20090255426A1 (en) Method and apparatus for placing substrate support components
CN106980099B (en) A kind of calibration method and system of Automatic Testing System of Circuit Board
KR101451690B1 (en) Component mounting system, component mounting device and component inspecting device
US20090229118A1 (en) Electronics Assembly Machine with Wireless Communication Nozzle
TW201418126A (en) Electronic component processing machine
US10914791B2 (en) Test system for testing electrical connections between components and a printed circuit board
CN206945907U (en) A kind of PCBA ATEs
EP4136948A1 (en) Inspection and production of printed circuit board assemblies
WO2022213207A1 (en) System and method for assembly and/or modification of printed circuit boards (pcbs)
CN205984112U (en) Industrial robot teaching work station
EP3634101B1 (en) Electronic device and method for determining cause of mounting defect in components mounted on substrate
CN109564253A (en) The test macro and circuit board checked for the electronics connection to component and circuit board
CN106695152A (en) Electronic product production line and electronic product production method
CN110116101A (en) A kind of automatic detection of capacitor material and sorter
CN206779731U (en) A kind of electronic product assembly line
CN215577323U (en) Modularized machine vision teaching system
EP3991200B1 (en) Detection of process parameters of an assembly line
JP2015144167A (en) Component recognition data inspection system, and inspection method for component recognition data
US7818075B2 (en) Automated programming system employing non-text user interface
JP6232188B2 (en) Electronic circuit production history management system, electronic circuit production history management method, and computer program

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22783743

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE