Welcome back to the factory. This week we're talking pick and place optimization. This week we did a large run of four channel logic level converters and as I watched it run I just couldn't help but think that maybe we could make it go a little bit faster.
We also introduced the PiicoDev colour sensor prototype and take it for a spin. Let's get started. Another week and I have another prototype to show you. We've been working on a PiicoDev colour sensor. This is using the VEML 6040 colour sensor and there's a high CRI LED on it. That's a high colour rendering index LED to illuminate the target and then you can read the reflected colour back.
I mentioned this in an episode a couple of weeks ago. This is the next revision of the board. Our first one didn't have that LED and it was definitely necessary to get it in there. Here we have the VEML 6040. Just above it is that high CRI LED and to the right is a little n-channel MOSFET driver so you can enable or disable that LED if you wish through the input. Maybe you don't want to read passive colour maybe instead you want to read say like emitted colour and in that case you might just want to disable the LED.
This is what it looks like powered on and what do you say we take it for a spin. I have an example code running here. Running this demo script you can see in the plotter the red green and blue contributions and you can see those in the console as well along with a identified colour category. If I hold this marker to the sensor we should be able to get that to read as blue and indeed it does. If I swap that for a red marker then we jump to red. It's quite interesting to see the colour contributions change for different colors. I wonder what happens with this rainbow card. If I hold that there I've got like a glow bit rainbow card and if I move that around the card that is quite interesting. So we have red green then blue then we've got green red blue green red blue but the blue contribution is much higher. Now reds dip below. Oh this is great. That is quite fascinating. Okay I could do that all day but we must continue.
In any case suffice to say DIY jellybean sorters are going to be on the way no doubt.
In other factory news we did a large assembly run of our four channel logic level converter throughout the week. Each one of these panels takes about 45 minutes to assemble which to me seems like a long time but there are about 225 units per panel. Look at that. You can see in this footage that we captured that the gantry channel is captured that the gantry makes one movement to place one two three four transistors and then one two three four resistors. Then makes a second movement this time it only picks up four resistors and places them. This is because when you generate pick and place files it's quite unusual to generate this whole panel as a single file to be placed.
Really you generate the bill of materials for one of these boards and then you tell the pick and place software how it's tiled like how many how many columns there are how many rows there are and the distance between each and then it just takes that those placements and offsets them and just stamps them down again and again. This makes it really easy to make these files you just you're just working with the bill of materials for a single board and then the software replicates it. But what this means is you get inefficiencies like this where the machine is only thinking about one board at a time. In that gantry movement. That second gantry movement had four unpopulated nozzles. If we could make use of more nozzles per movement, we could reduce the total number of gantry movements required to place a large panel like this. By utilizing the four extra nozzles to start placing components on the next unit, we could potentially reduce the assembly time by a quarter. This is significant, especially when considering that it currently takes 45 minutes to assemble one of these panels. While it may be possible to produce more panels per day, reducing the time spent with the machine allows for more productivity elsewhere.
Currently, the machine is configured with four nozzles for transistors and four nozzles for resistors. In the first gantry movement, we place four transistors and four resistors. Then, in the second gantry movement, we place four resistors. However, if we treat the entire panel as a single PCB, we could configure the nozzles for three transistors and five resistors, totaling eight nozzles. This means that in the first gantry movement, we would place three transistors and five resistors. In the next gantry movement, we would place three transistors and five resistors again. In the same number of gantry movements, we would have placed enough parts for one whole unit and one partial unit, and this pattern would repeat.
These are my preliminary thoughts on this optimization that could significantly speed up the placement of panels. Of course, there are some considerations to take into account.Trade-offs: it does make the pick and place file a lot bigger. Instead of the file just having the BOM for one of these units, every part and location here would have to be represented. So, it makes it a little bit trickier to manage in that way. It's also quite likely that the component ordering would have to be either algorithmically or hand-tuned to get the parts in the right order to actually make the best use of that nozzle configuration.
Anyway, it's just a thought. I might pursue it, or it might just be put in the someday basket forever. In any case, that's all I have for you on this week's episode of The Factory. If you'd like to see anything closer or if you have any questions, open a thread on the Core Electronics forums.
Until next time, thanks for watching!
Makers love reviews as much as you do, please follow this link to review the products you have purchased.