Page 1 of 1

Re-initialisation

Posted: Sat May 16, 2015 9:55 am
by PeterST
Hi,

Please notice : I put this in the Feauture Fequests board while I don't even know whether the below is already in there; guess not though ... :geek:

First off we must consider the components to be placed to be of some value. I mean like 4-8 euros pp and we don't like to throw away a few just because they can't be utilized. How is that "utilized" ? Well, our LitePlacer must be able to use them down to the very last one or ... very first one. :?:

I think I won't be the only one *not* using reels with an infinite number of components on/in them. It's a piece of (reel)tape here and a piece there. Buy 100, use 90, buy the next 100 so you have sufficient stock, right ?

What we'd logically do now is use the piece of tape with the 10 and next what ? cut some of the next 100. Well, it has to be cut because it won't fit on the table bed otherwise (it may, but I foresee problems with the cover tape and bending and components jumping out).
Of course now someone likes me to count the components hence piece of tape to cut off the 100. But hey, I have better things to do than counting twice to be sure which becomes 5 because I count differently the second time from the first etc. etc. I just want to stick on a piece of tape which "will be sufficient". ... Which again challenges for left overs hence small pieces for a next time.

But look at the title of this topic, which is "Re-initialisation". Looks to be a different subject than my pieces of tape, but I think it is related;

There can be several and many reasons why a batch needs to be aborted before it really is finished according to plan. But let's take a logical reason : other things to do first now. I know, it won't be the most efficient but say the machine has been running for three days and it needs another type of PCB, also requiring three days, then running the first batch for six days (more efficient) will make the end product finished later for three days at least (less $$ income).

Then you can bet that you don't know in advance really how long a batch is going to take. You estimate 3 working days, but in between a couple things did not go as planned and it takes one hour more. What happens ? the batch is cut/aborted one hour in advance of the end.

Do I need to say more ? It now will be one big mess of half-used tape and possibly even half-placed boards. Well, the latter is a no-go anyway, but, or ...

Side note : I do NOT assume that a few components here or there are going to be placed manually, especially not in advance of the P&P.
Ehm ... What I mean is : Just in case somebody tells me that the solution could be to use the small piece of tape with 10 components in it, for manual placement. This will only be MORE troublesome because now the P&P data needs to know about this (two 50K in parallel really isn't 50K :lol:).

So do I need to say more ? I don't think so. All the verious messy examples can be brought up ourselves. And I'm not even challenging for it. It would just be normal way of working. Practical issues ...

Too far out and will not happen ? Ok, then this example :
I have 100 PCBs to make and say 9 will fit the bed. It's 9 components of X and 36 of Y. And a lot more. Point is : amounts needed are not equal and while all for the X component (total of 100) can be stuck on the side, all for the Y component can not (total of 400). Obviously I am not going to bother with sticking strip of 36 only just because this is a first run of 9 boards.

... And I see a mess again. The first most easy to grasp, I think, is the second run of 9 boards. All strips are half-way etc., some need to be replaced or added with more "length" and ...

What's implied as well is that strips run out half-way a run. What to do ? stick on a new one. Yeah, sure ... happy to do that, but ...


And now I think this is not going to work at all. Unless this is all provided for and obviously I don't think it is. This is all about recalibration and (re)initialisations of which I think it could be more complicated than what all has been made for.
Funnily enough the "feeding" mechanism is very very flexible and in my view better indeed than the large ($$$) reels. But I'm afraid that practice depicts that it is a 100 times more difficult instead and that the flexibility inherently there, can not be utilized at all. And worse ...

I hardly dare ask this question : Does the software know where it was with placement (and I really mean after a power down) ? So many things can go wrong just in general, and if the "start through" is not possible, then what ? then NOTHING.

Peter

Re: Re-initialisation

Posted: Sun May 17, 2015 8:17 pm
by danmcb
the way I am visualising setting this up is :

say I have a panel of 5 boards, 150 or so SM components on each. And I want to make these repetitively.

First I have a file set up to make a panel of 5 boards.

Then I have some kind of jig with slots in it to make it easy to lay out the correct number of components to do those 5 boards - no more,no less. (Say there are 3 TL072's per board - OK, a slot the right size for 15 of these on tape.)

Then some way to initialise the LT via loading a single file, to get the positions of these.

Load the panel, the jig with the components, initialise from file. Press go. Eat toast, drink coffee. Transfer boards to oven. Done.

No waste of time or components ... (I hope).

Your last point is interesting. Some way to continue a run from where you left off would be great. Shouldn't be *that* hard to add? Basically log the file that was being processed, and last line number, each component.

Re: Re-initialisation

Posted: Mon May 18, 2015 10:43 am
by mrandt
I believe, two "feature requests" arise from this discussion:

1. Capability to save and reload tape / component definitions

"Job Data" can already be saved and reloaded but afaik the file only contains component coordinates on PCB, placement method and related parameters such as link to tape / component designator - but not the location of the tapes.

Similar functionality is needed for "Tape Positions", especially if we think about component trays / jigs.

We want a PCB run including the component location to be repeatable without teaching the machine where to find components over and over again.

So either we include the tape positions etc. into the .lpj file, or we create a separate save / load function for Tape Positions, maybe .lpc (Lite Placer Components) or similar ;-)

I prefer option two as I think the relation is component tray <-> component position file.

2. Functionality to run partial jobs

In case something goes wrong (and we all know Murphy's law...) we need to be able to stop and restart a job, start the job with an offset (e.g. start with component 4), only place certain components, etc.

It gets more interesting with panelized boards, just think that the first board was fully populated, but on the second the pickup failed midway through... How to start again from where it stopped?

Edit: As Peter pointed out in another thread, the approach of populating one board after another does not make much sense if we have to change the needle in between. So for panelized boards, we should probably still group components by footprint. Still, error handling and recovery / restart will be an issue.
Also see: http://liteplacer.com/phpBB/viewtopic.p ... p=278#p275

Of course, we could always manually manipulate the coordinate file and job data, but if there was an easier way it wouldn't hurt.

I am thinking about a list visualization of the planned job - a long table with all actions in the order they will be taken, e.g. place C1 on board 1, place C2 on board 1, place C1 on board 2, etc.

Once we have that, we could tell the machine to skip certain steps (checkbox?) and with a few convenience functions (disable all before, disable all after, invert selection) we would be there.


When it comes to to priorities, 1) is way more important for my workflow than 2). I think 2) should be addressed once we have support for panelized boards - which is a whole differnet topic.

Re: Re-initialisation

Posted: Mon May 18, 2015 2:22 pm
by mrandt
FIY, I have recorded proposed feature to save / reload tape positions as issue #13 on github.

https://github.com/jkuusama/LitePlacer/issues/13

I think it makes sense to collect bugs and features in a structured way and github seems to fit the purpose.

Juha, please let me know if you prefer to discuss feature requests on forum only or use any other structure to record the items.

Re: Re-initialisation

Posted: Mon May 18, 2015 3:51 pm
by JuKu
Github is good, because it keeps (public) track what is done and what is not. Forum is good, because it invites more discussion and feedback. Private emails are fine as well, ideas get across trough that media as well. In other words, I don't have a preference on the channel, I'm just happy to get feedback and new ideas.

As an unrelated note, the kit building is now streamlined and I hope the initial speed bumps are flattened. Also, the two Maker Faires I planned to do this spring are over (although I'm still in US for a couple of days). This means that my main focus will be software for some time from now on.

Re: Re-initialisation

Posted: Wed Jul 22, 2015 8:37 am
by ravng
The workflow danmcb is visualising is exactly what I am looking for.
We make very small batches of compact pcbs on-demand for use in internal systems (a few different designs, and always some time between each build so that I can't make it "from memory").
Today workflow is that pcbs are delivered on small panels (around 5-6 pcbs on each), we use the stencil approach and a manual vacum pick&place.
This works okay, however we are a small company so getting the time to complete 6 boards in one go (before the paste gets bad) is not easy, since there is always a call coming in or some meeting I must do etc.

I ordered the liteplacer (not arrived yet) to hopefully solve this "time issue". It's like my robot lawn mower, it's slower than if I do it myself, but I don't need to do it!

I am sure I can find a workflow that let's me set up the machine rather quickly (best would be a jigg or something, usually use the same pool of parts on all my boards anyway, 3d printed strip holders on a removable plate?), and even if I am interrupted while setting up, it does not matter that mutch since the paste is not on yet applied.
Even if I have to run out in the middle of the process I can get anyone at the office to move the panel to the oven whenever the bell rings, but I can't set anyone to manually pick&place the board.


Okay so this was off topic way to mutch.

The feature request that mrandt read out of danmcb's post is exactly what I need, and I am sure others agree as well.




danmcb wrote:the way I am visualising setting this up is :

say I have a panel of 5 boards, 150 or so SM components on each. And I want to make these repetitively.

First I have a file set up to make a panel of 5 boards.

Then I have some kind of jig with slots in it to make it easy to lay out the correct number of components to do those 5 boards - no more,no less. (Say there are 3 TL072's per board - OK, a slot the right size for 15 of these on tape.)

Then some way to initialise the LT via loading a single file, to get the positions of these.

Load the panel, the jig with the components, initialise from file. Press go. Eat toast, drink coffee. Transfer boards to oven. Done.

No waste of time or components ... (I hope).

Your last point is interesting. Some way to continue a run from where you left off would be great. Shouldn't be *that* hard to add? Basically log the file that was being processed, and last line number, each component.