Electronics > Manufacturing & Assembly

KiCad PCB -> CHM-T36VA Converter

(1/2) > >>

hunz:
Hi everyone (my first post here)

I recently got a CHM-T36VA on permanent loan. I don't do volume production - only prototypes, but with 0402 parts.
(I did not convert the placer to OpenPnP for a variety of reasons, one being that I don't own the machine.)

So I used the Sparkfun KiCad-Conversion script for a first test, but then decided to make my own converter.
I did this to improve my workflow for separate prototypes instead of volume production. The converter I came up with is interactive, runs in the web browser and generates dpv files directly from .kicad_pcb files (instead of exporting a .pos from KiCad first and then converting the .pos to .dpv).
This approach is much more convenient for me. I already used the converter for actual PCBs.
I have no idea if the new converter could be useful for anyone else, but maybe it is. I put it here on github: https://github.com/znuh/kicad-chm36
You can also give it a try here without installing it yourself: https://znu.nz/kicad-chm36/ (Example files can be found in the examples/ directory of the github repository.)
There's also a screenshot attached. (Dark/light theme can be toggled.)

The converter takes the feeder definitions from an existing dpv file and generates a new dpv file based on the KiCad PCB data.
Matching components to feeders is done via the feeder notes of the dpv file - this is explained in more detail in the README on github.

This is the first version or rather work in progress, so there are some limitations:

* PCB height cannot be set (yet)
* Single PCB mode only (no batch/array mode yet)
* Centroid correction not supported yetIt's probably not too time-consuming to add these missing features, but right now I don't really need them and while I'm the only user there's no pressing need to put more work into this  :-/O

So if this is useful for anyone else I'd appreciate some feedback  :D

CyberCityCircuits:
What nozzle size are you using? Do you have a 502 or 501 nozzle? The nozzle set from CharmHigh isn't a wide enough variety to get the most out of them.

hunz:

--- Quote from: CyberCityCircuits on May 29, 2023, 03:29:34 pm ---What nozzle size are you using? Do you have a 502 or 501 nozzle? The nozzle set from CharmHigh isn't a wide enough variety to get the most out of them.

--- End quote ---
I got an extra set of 500 to 508 nozzles from aliexpress for ~$80 and did some tests with the 502 nozzle, but results with 0402 parts did not improve compared to the 503 nozzle - I had the feeling the 502 nozzle maybe even was worse for 0402 than the 503.
Precision of the/(my?) CHMT36VA isn't too good (see below) and the 502 often picked C/Rs at the edge of the component instead of the center. This resulted in more tilted Rs. (I did calibrate the 502 nozzle before doing the tests.) The 503 seems to do better - probably because the larger surface area covering the component reduces tilting.
So I'm using the 503 nozzle for 0402, 0603 and 0805 now with satisfactory results.
Changing nozzles on the machine is a bit annoying anyway, so I'm keeping the 503 in nozzle #1. I will probably use nozzle #2 (not sure which size yet) for ICs, but at the moment I'm still placing ICs by hand because that's ok for prototypes and I have some trust issues regarding proper placement of fine-pitch ICs with the machine anyway 😅.

Regarding machine precision I added two photos pre & post reflow. (Used an old paste for the tests, normally I use GC10 T4 - works very well.) In the pre-reflow photo several vertical components on the right side were placed with an adverse Y-offset. This is strange - sometimes this does happen, sometimes it does not. Not yet sure if it's related to PCB calibration (switched to 3 fiducials now) or to the machine calibration on startup.
So I usually want to place just a few components for testing before doing the rest. This is inconvenient to do with the CHM software. That's the main reason I made the Kicad converter interactive - so I can easily (de)select components for placement.

Regarding machine calibration on startup I made another peculiar observation: the machine modifies the feeder pickup locations (and placement locations if I remember correctly) during a job:
1) Make a copy of the DPV
2) Start machine, run the job for the DPV
3) Finish job, exit
4) Compare DPV to the copy of the original DPV  :o -> Usually positions change +-0.1mm

Btw. for testing I don't use a double-sided adhesive tape - instead I spread a thin layer of flux gel on the PCB with a small brush. (Picture 3) Prevents the components from taking flight, you can see where everything landed and PCB height isn't affected.

CyberCityCircuits:
We found using the native rail system we needed to calibrate between every PCB. We found the the calibration will be off a tiny bit and cause a world of pain.

We modified our machine to have a threaded grid on the work table, then we use mounting holes in PCBs. runs like a dream. https://twitter.com/MakeAugusta/status/1626569018512400384?s=20

Runs a lot better.

What are you using to generate the dpv files? I use the SparkFun tool. I'm new to the forums.

hunz:

--- Quote from: CyberCityCircuits on May 29, 2023, 07:18:52 pm ---We found using the native rail system we needed to calibrate between every PCB. We found the the calibration will be off a tiny bit and cause a world of pain.

--- End quote ---
That's good to know. Thanks, gotta investigate this a bit more.


--- Quote from: CyberCityCircuits on May 29, 2023, 07:18:52 pm ---What are you using to generate the dpv files? I use the SparkFun tool. I'm new to the forums.

--- End quote ---
I made my own converter, the links are in the first post of this thread. Haven't tried it with a CHMT48VB but I guess the dpv files should be the same with more feeders. If you give it a try let me know if you encounter any issues or have suggestions.

Navigation

[0] Message Index

[#] Next page

There was an error while thanking
Thanking...
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod