[CDPnP] Tiny Semi-Automatic PnP Machine (0201 SMT video included) - Page 1
Forum section: electronics / general

author: dukelec
author_rank: Contributor
timestamp: March 14, 2023, 09:48:42 am
content: CDPnP is an SMT assistant tool, not a fully automatic SMT machine.Fully automatic SMT machines are much more complicated to configure, requiring the configuration of feeders and the configuration of components in the software, and the machine is much larger.This semi-automatic machine is simple to configure, just import the KiCad generated position file, place one or more PCBs, use the camera to mark any two reference points on each PCB and you are ready to go. All components do not need to be configured in software.For ICs with very dense pins, especially for BGA packages, it is recommended to check the position manually before putting them down and use the keyboard to adjust the position and angle. If you place them directly by hand, it is not easy to align them and they are prone to hand shake.0201 & BGA SMT test video, please turn on subtitle:https://youtu.be/3ZsayoO3BOoCalibration is also simple:https://youtu.be/i8R95j60-6IGitHub:https://github.com/dukelec/cdpnpHardware:The hardware is modular in design. One RS-485 bus is used to connect all modules to the PC, including two cameras. (10 Mbps by default.)The machine has four degrees of freedom: X, Y, Z, R (rotate, also with homing switch), and is controlled by multiple stepper motor controllers.The Y-axis is controlled by two motor controllers, synchronised by multicasting.The Z-axis contains a strain gauge-based force sensor, the sensor data is relayed through the R-axis controller, as the sensor is closest to the R-axis.The machine automatically picks up component from a pre-defined search areas and put it onto the PCB in the corresponding position.Whenever the machine has finished with the same value of components, it will automatically pause and wait for the user to change the components in the search area.

author: dukelec
author_rank: Contributor
timestamp: March 18, 2023, 10:11:37 am
content: Please comment on this, any comments are welcome and greatly appreciated.DIY required information can be found here:https://github.com/dukelec/cdpnp/discussions/10

author: nimish
author_rank: Regular Contributor
timestamp: March 18, 2023, 11:06:46 pm
content: Very nice, just what I need; what's the expected cost to buy/assemble?

author: dukelec
author_rank: Contributor
timestamp: March 19, 2023, 03:05:20 am
content: Thank you for your reply.Currently, the price of an assembled CDPnP is 580 USD, as small production runs can reduce some costs, such as the cost of CNC parts.If you DIY CDPnP by yourself, unless you have your own CNC machine, making a small number of CNC parts may be more expensive.Nevertheless, you are welcome to DIY your own CDPnP and I will assist you with any questions you may have.Next, we will continue to improve and optimize the design to make it more accurate and less costly (assembled expected to sell for about $500 USD). And we will continue to keep open source.(Update: 650 USD -> 580 USD)

author: sleemanj
author_rank: Super Contributor
timestamp: March 19, 2023, 04:19:03 am
content: Very slow and needs to be babysat. Vac pump is super loud.Idea for you, make an acrylic grid tray with clear base and opaque walls, assign parts to each tray compartment, have some marker fiducials on the tray so you can recognise it's position and rotation, then you can just dump parts into the grid compartments and the machine can use it's current vision-pickup capability by just limiting to the appropriate grid. No babysitting needed. Best if the vision detected and ignored upside down parts.

author: dukelec
author_rank: Contributor
timestamp: March 19, 2023, 06:19:10 am
content: I have made some small trays so that while the PnP machine is working, the user can prepare the next components to be placed on another tray. This will speed up the time to change the components when the machine is paused.We can also fix one component per tray to save time as well.I tend to make the tray smaller so that I can put more than one tray on the machine at the same time. After one component job is finished, it automatically switches to the next tray. This way the user can directly place the corresponding trays according to the order of the component list.It is important to avoid adding software configuration: the key feature of CDPnP is thatit works almost configuration-free.If there are a bit too many boards that need SMT, you can consider multiple machines working at the same time. Since CDPnP is very small and the price is very low.For batch SMT, CDPnP is not recommended because it is designed for fast prototyping.The next upgrade to the CDPnP will be to improve the speed and accuracy, reduce the difficulty of assembly and reduce costs.I will also try to reduce the sound of the air pump, thanks for your suggestion. I had planned to use Murata's ultrasonic air pump MZB4001T05 earlier, and I will consider using it next.

author: sleemanj
author_rank: Super Contributor
timestamp: March 19, 2023, 06:37:56 am
content: If you are having to sit there swapping component trays every minute ... well you could hand-place it all faster in that case, especially since the speed is slow (by necessity I expect due to lack of securing things.If you had a grid tray, that your vision system could automatically interpret, fill it, plonk it on the bed, and come back in 30 minutes.NB: I suspect by the video that you are also imaging and detecting parts every time you go to pick one up (in fact looks like it images twice per pickup, once wide area and once when it's selected the one it will grab). It would seem safe to assume that the parts on the pickup area won't move around much, you could likely image the pickup area only at the start of the component and then know where they all are, would make future pickups much quicker.

author: dukelec
author_rank: Contributor
timestamp: March 19, 2023, 07:16:23 am
content: Automatic PnP machines are very cumbersome to make samples, as there are many feeders to prepare and program, and it is better to work manually.The Semi-Automatic CDPnP avoids the configuration of many feeders, and it is easier and faster to use than manual operation.Because the target location does not have to be located by the user, it is also a time saving parallel operation to manually find and organize the components in multiple components boxes along with machine working.I will also consider the grid tray proposal you mentioned, at least the separate trays can also be combined into a grid tray.Each component is detected 3 times, and whenever there is an offset, it is moved to eliminate the offset. The last time there is mostly no offset left, so no movement is seen.Indeed, if after picking up a component, the software memorizes the position of the next component by the way, then the next pickup will be faster. Thanks for your suggestion.

author: jc101
author_rank: Frequent Contributor
timestamp: March 19, 2023, 10:12:28 am
content: Interesting and handy for prototypes with very small parts.Could it have a contact to switch an external vacuum pump or does it need the onboard one?

author: NorthGuy
author_rank: Super Contributor
timestamp: March 19, 2023, 03:03:29 pm
content: Wouldn't it be easier to use a tape holders instead of trays?It's a big job to pour a bunch of 0402 (let alone 0201) on a tray and make sure none of them are upside down. I'd say it's not much easier than placing them manually.As to 0201 in the tray - a slightest vibration will move them around. How do you deal with that?

author: dukelec
author_rank: Contributor
timestamp: March 19, 2023, 03:38:38 pm
content: The current installation of the air pump can be seen clearly in the following picture:The air pump is controlled by a separate circuit board, which is connected to the whole system via RS485.

author: dukelec
author_rank: Contributor
timestamp: March 19, 2023, 03:47:02 pm
content: It is far easier than one might think to separate and flip all 0402 or 0201 resistors with a small piece of tape on a non-slip surface. You can try it on a silicone pad.Please have a look at this video (I didn't do very well in the video):https://user-images.githubusercontent.com/4454365/219639343-dbac8d55-51e4-4240-a8e6-5e953111138b.mp4Similarly, on a anti-slip surface 0201 components do not move around due to vibration.Details of the anti-slip film can be found here:https://github.com/dukelec/cdpnp/discussions/7

author: c64
author_rank: Frequent Contributor
timestamp: March 21, 2023, 02:03:02 am
content: If I place piece of tape (with film already pealed) in the search area, can it pick up components from tape?

author: dukelec
author_rank: Contributor
timestamp: March 21, 2023, 12:34:11 pm
content: Currently not supported. This is a good suggestion, I have thought about adding a tape recognition mode to deduce the location of the components by the round holes on the tape, and to identify which slots have components.The reason I didn't do this before is that it would increase the error because there is a deviation in the position of the components in the slots. The current way uses piecemeal components with anti-slip film, which can be picked up very accurately without using a secondary camera.

author: dukelec
author_rank: Contributor
timestamp: April 09, 2023, 09:02:31 am
content: Tape support has been added, see the latest video, and motor speed has been doubled:https://youtu.be/XLXNkeP19Ng

author: Harjit
author_rank: Regular Contributor
timestamp: April 15, 2023, 04:56:36 pm
content: Congrats and well done!Getting anything to work reliably is a great accomplishment.You mentioned cost reduction. I have been toying with the idea of using the ESP32-CAM for the camera and also stepper motor driver.Stepper motor driver:https://github.com/simon-jouet/ESP32Controllerhttps://github.com/bdring/FluidNC/wiki/Controller-Design-Best-PracticesIt can give you a very compact, high performance and low cost solution.

author: AmnevaR
author_rank: Contributor
timestamp: April 15, 2023, 06:39:06 pm
content: Very cool. At the work I sat a few times with LPKF ProtoPlace S doing some small batch of prototypes . It's not fun. Yeah, you can place components very fast but it takes a lot of energy and focus.This is way better