Automatische BOM in Kicad (en misschien andere pakketten)

bprosman

Golden Member

Gisteravond bezig geweest in Kicad om een automatisch gegenereerde BOM compleet te krijgen. Ik heb een methode gevonden die voor mij werkt , maar best omslachtig is, en wil graag weten hoe anderen dit doen eventueel ook in andere pakketten.

Wat is het "probleem". Soms bestaat een onderdeel op een print uit meerdere delen. Een IC + Socket, een Batterij + houder enz.
In het schema teken je alleen het IC, niet de socket en aan het IC hangt de footprint. Zo ook met de batterij houder, de batterij houder footprint zet je op het PCB ontwerp de batterij niet.
Nu genereer ik mijn BOM's automatisch vanuit Kicad en wil graag de BOM compleet hebben.

Hoe heb ik het nu in Kicad opgelost.

1. Ik teken een component (DIP-8 socket) in de schema library wat eigenlijk alleen een tekst is (reference/value) en verder niets.

2. Dit component plaats ik bij het bijbehorende IC, dan krijg ik netjes de referentie en waarde, verder niets omdat er verder ook niets is qua component.

3. Laat ik nu een design check lopen dan krijg ik een error melding omdat aan dit component geen "Footprint" hangt.
Ook die maak ik in de footprint library, ik maak eigenlijk alleen een "outline", geen pads en zet deze outline op een layer die niet naar de PCB boer gaat. (Eco1.User) in mijn geval maar kan van alles zijn.

4. Deze footprint word netjes via de "Netlist" naar de PCB geexporteerd, daar plaats ik hem "boven op het IC" (zoals ook in het echt het IC en de socket op de zelfde plaats zitten"). Door nu met de layers aan/uit te spelen (Silkscreen uit en Eco.User1 aan) krijg ik netjes een print tekening met een overzicht waar de sockets zitten en bovendien, waar het me allemaal om begonnen is, hij zit in de automatisch gegenereerde BOM

Zoals ik in het begin al schreef, misschien omslachtig, misschien zijn er andere (slimmere) methoden maar voor mij werkt het zo.

//Edit zie in mijn haast dat ik de de component XU1 op de oscillator component geplaatst heb en niet op U1 (beiden DIP-8) maaar maakt verder voor het verhaal niet uit.

De jongere generatie loopt veel te vaak zijn PIC achterna.
fatbeard

Honourable Member

Dat is ongeveer de standaard methode: alle bijkomende maar wel essentiële zaken als aparte 'mechanische' componenten op je schema zetten.
Ik weet niet hoe de BOM gegenereerd wordt in KiCad, maar in Eagle doe ik het met een ulp. Die test op een speciaal attribuut "BOM" wat de waarde Y of N kan hebben. Zo kan ik ook dingen op mijn schema/pcb zetten die niet op de BOM verschijnen...

Een goed begin is geen excuus voor half werk; goed gereedschap trouwens ook niet. Niets is ooit onmogelijk voor hen die het niet hoeven te doen.
bprosman

Golden Member

Zo kan ik ook dingen op mijn schema/pcb zetten die niet op de BOM verschijnen...

In Kicad kun je met een # in de naam wel excluden van de netlist en komt het ook niet in de BOM. Voor zover ik weet geen attribuut voor BOM exclude alleen.

De jongere generatie loopt veel te vaak zijn PIC achterna.