Samstag, 14. März 2015

Ein Blick auf KiCad [Fertige Leiterplatte]

Wie in den letzten Wochen bereits beschrieben haben wir eine Schaltung in KiCad eingegeben, danach eine Liste der verwendeten Bauteile angelegt und anschließend die Leiterplatte erstellt und die Fertigung in Auftrag gegeben. Heute schauen wir uns das Ergebnis an und betrachten, was alles im Prozess der Entwicklung einer solchen Baugruppe schief gehen kann.

Links - benötigte Bauteile zur Bestückung der Platte
Rechts - unbestückte Leiterplatten
Die Leiterplatten werden in einer Vakuumverpackung angeliefert. Auf den ersten Blick sind die einwandfrei und so wie wir uns das fertige Produkt vorgestellt werden. Doch der Teufel liegt im Detail. Nach bestücken und Verlöten der Bauteile, sind einige Fehler im Schaltplan, sowie in den Layoutdaten aufgefallen.

Um die Fehler der Schaltung verstehen zu können muss erst einmal die Funktion erklärt werden. Die Baugruppe soll nach betätigen des 'Enable' Tasters ein Magnetventil mit einer Anzugsspannung versorgen. Diese Spannung soll eine kurze Zeit anliegen und danach selbstständig in eine PWM umgewandelt werden. Diese soll so lange erhalten bleiben, bis der 'Enable' Taster nicht mehr betätigt ist.
Fertig bestückte Platine

Fail #1

Der Enable Eingang schaltet lediglich das Delay zur Logik dazu, startet dieses jedoch nicht. das Delay wird sofort nach Anlegen der Betriebsspannung gestartet und ist bei betätigen des Tasters bereits abgelaufen.
Fix: Spannungsteiler auflösen, mit Fädeldraht an 'Enable' löten.

Fail #2 

Der Pfostenstecker für das Magnetventil ist nicht korrekt angeschlossen. Beim verschieben des Steckers ist eine neue Leitung auf der Bottom Seite hinzugekommen, allerdings wurde die Kupferfläche nicht erneut ausgefüllt und ist somit direkt mit dem Signal verbunden. Das DRC hat diesen Fehler nicht gefunden!
Fix: Mit Skalpell die Verbindung auftrennen und mit Fädeldraht korrekt verbinden.

Fail #3 

Zum Messen mit dem Oszilloskop befinden sich kaum Massepunkte auf der Platte. Um mit dem Oszilloskop sinnvoll Signale auf einer Baugruppe zu messen, ist es wichtig naheliegende, also kurze Verbindungen zur Masse zu bekommen. Es ist durchaus akzeptabel wenn für diese Baugröße nur ein solcher Verbindungspunkt bestünde. Tut er aber nicht.
Fix: Mit Skalpell den Lötstopplack der Massefläche entfernen und ein Stück Draht dranlöten.

Fazit

KiCad eignet sich hervorragend zur Erstellung von kleinen Projekten sowie Erzeugung von Stücklisten und Fertigungsdaten. Es wird sich zeigen wie die Entwicklung voranschreitet. Spannend wird auch bleiben, wie die Verwaltung von Stücklisten in den nächsten Versionen gehandhabt wird. Bis dahin wird aber noch einige Zeit vergehen.

Mittwoch, 4. März 2015

Ein Blick auf KiCad [Design zur Fertigung]

Wir haben uns in den letzten beiden Wochen angeschaut, wie eine Schaltung in KiCad erstellt und die benötigten Daten zur Erstellung der Leiterplatte generiert werden. Der Prozess, der aus einem Schaltplan eine Leiterplatte macht beginnt mit der Auswahl eines Herstellers. Denn von Beginn an ist es wichtig zu wissen, welche physikalischen Grenzen dem Leiterplattendesign gesetzt sind. Dazu zählt der Mindestabstand zwischen Leiterbahnen, die Mindestgröße von Bohrungen für Durchkontaktierungen und die Mindestbreite der Aussparungen im Lötstopplack für die Lötpads.
Alle diese Werte werden von dem Fertiger festgelegt und können auf dessen Webseite gefunden werden. Einer dieser Anbieter ist Multi-cb. Bei Multi-cb gibt es jede Menge Hinweise dazu, wie die Grenzen der Leiterplatte festzulegen sind, wenn man keine Sonderanfertigung wünscht. Für die Meisten Projekte wird auch keine Sonderanfertigung von Nöten sein, es kann also der kostengünstige Pool für die Fertigung der Leiterplatten gewählt werden.

Der Leiterplatten Kalkulator gibt auch einige Hilfestellungen, was die optimale Bestellauslegung betrifft. Zuerst legt man ein Projektname fest, gibt an, welche Größe und welche Oberfläche gewünscht ist. Daraus kann die erste Ermittlung des Preises gewonnen werden. Meistens bekommt man dann angezeigt, dass die Fertigungsdauer ohne Aufpreis wesentlich kürzer (5AT) sein kann als 20AT. Die Oberfläche HAL bleifrei ist die günstigste. Diese Oberfläche besteht aus einer Zinnoberfläche, die mit Heißluft auf die blanken Kupferflächen aufgebracht wird.
Wie bei der Oberfläche gesehen sind die voreingestellten Werte die günstigsten. Jede Änderung im Fertigungsprozess führt dazu, dass die Platte eventuell aus dem Pooling Prozess herausfällt und als Einzelcharge angefertigt werden muss. Der Pooling Prozess bedeutet, dass viele verschiedene Designs auf einem Nutzen, also eine große Platte, untergebracht werden und somit die Rüst-, Arbeits- und Verwurfskosten auf alle Pooling Teilnehmer umgelegt werden können.

Die einzige Ausnahme ist der Topseitige Positionsdruck. Der ist standardmäßig nicht ausgewählt, kostet allerdings auch nichts extra. Man muss mit den Werten ein wenig spielen um die Ideale Konfiguration zu erreichen. Grundsätzlich gilt, wenn ein extra Fertigungsschritt dazu kommt, wird die Platte teurer.


Anhand der ausgewählten Parameter werden die verschiedenen Grenzen der Design-Regeln festgelegt. Im Kalkulator haben wir festgelegt, dass die kleinste Leiterbahnbreite 150µm sei. Diese Größenbegrenzung gilt für alle Leiterbahnen, alle Vias und den Abstand zwischen den Leiterbahnen.
Wir legen also 0,15mm als Untergrenze für die Leiterbahnbreite fest. Leiterbahnen, die Strom führend sind, werden mit dieser Breite unter Umständen sehr heiß. Der PCB Kalkulator von KiCad kann dazu mehr Auskunft geben. Dementsprechend sollten Leiterbahnenbreiten festgelegt werden.
Wie in den anderen Teilen dieser Serie gehen wir davon aus, dass das Design bereits anhand der ausgewählten Designregeln erstellt wurde. Das kann zum Beispiel wie folgt aussehen:
Fertiges PCB Design
Die hier erstellte Platte hat die angegebenen Abmaße von 45mm x 45mm und ist mit zwei Lagen vollständig entflochten. KiCad bietet zur Vorschau der Leiterplatte eine 3D Ansicht der CAD Daten. Diese kann unter Ansicht -> 3D Darstellung angezeigt werden. Mit Hilfe der Vorschau kann zum Beispiel die Lesbarkeit des Siebdrucks bestimmt werden, oder ob Gehäuse leicht bestück- und lötbar sind.
3D Vorschau der Leiterplatte

Gerberdaten erzeugen
Um aus dem Design die zur Herstellung der Leiterplatte notwendigen Dateien zu generieren muss festgelegt werden, welche Lagen des Designs für die Herstellung notwendig sind. Jede dieser Lage wird in einem eigenen Arbeitsgang hergestellt. Das gängigste Format, in dem die Fertigungsdateiein abgelegt sind ist das Gerber Format. Dieses wird in einem Standard festgelegt und von allen Leiterplatten Herstellern unterstützt.

In unserem Projekt benötigen wir zwei Lagen Kupfer und zwei Lagen Lötstopplack. sowie Siebdruck für die obere Lage. Weiterhin benötigen wir die Kanten-Lage, auf der die Grenzen der Leiterplatte eingezeichnet sind. Mit einem Druck auf "Plotten" werden die ausgewählten Daten erzeugt und in dem angegebenen Ordner gespeichert.
Es fehlen jetzt nur noch die Daten für die Bohrmaschine. Diese können unter
Datei -> Fertigungsdateien -> Bohrdatei *.drl erzeugt werden. Multi-cb benötigt metrische Angaben. Darauf ist unbedingt zu achten, damit die Bohrungen passend zu den Footprints sind.

Ansicht der Gerberdaten zur Verifizierung vor der Bestellung
Nachdem alle Fertigunsdateien erstellt wurden, kann das Ergebnis mit dem ebenfalls in KiCad enthaltenen GerbView angezeigt werden. In diesem Programm werden alle erzeugten Gerberdateien übereinandergelegt und Fehler werden sofort sichtbar.

Um die Bestellung der Platte abzuschließen werden die Produktionsdateien in ein Zip-Archiv gepackt und über die Webseite zu multi-cb hochgeladen. Die Produktion der Leiterplatte beginnt jetzt. Es ist auch der Zeitpunkt gekommen alle Bauteile der BOM zu bestellen und bereitzulegen.



Sonntag, 22. Februar 2015

Ein Blick auf KiCad [Netzliste und BOM]

Wie im ersten Teil bereits erwähnt, gibt es in KiCad eine Trennung zwischen Schaltsymbol und physikalischem Bauteil. Alle Symbole im Schaltplan werden mit Bezeichnern angelegt, besitzen Pins mit Pinnummern und werden anschließend in einer Netzliste ausgegeben. Die Netzliste enthält die Informationen, welche Pins eines Symbols/Bauteils mit welchen anderen verbunden sind. Diese abstrakte Information wird nun mit real existierenden Bauteilen verbunden. Doch dazu muss KiCad wissen, wie die Bauelemente aussehen, die im Schaltplan lediglich Symbole mit Pinnummern sind. Dazu wird das Programm CvPcb verwendet. Hier erscheint in der mittleren Liste jedes in der Schaltung verwendete Bauteil. Links sind die Bibliotheken der Lötpads zu finden und rechts eine gefilterte Auswahl an Lötpadformen.


Erst wenn jedes Element im Schaltplan ein Footprint zugewiesen bekommen hat, kann das Layout der Leiterplatte beginnen.

Eng mit dem Zuweisen der Footprints zu den einzelnen Schaltsymbolen verbunden ist das Führen einer Stückliste; Die BOM (bill of materials). Die aktuelle Version von KiCad ist momentan im Umbau, was das Erstellen der BOM betrifft. Normalerweise wird eine BOM abhängig der verschiedenen Bauelemente sortiert. Sodass nicht alle 10k 0603 SMD Widerstände einzeln aufgeführt werden, sondern der Widerstand einmal mit Stückzahl und eine Liste alle Bezeichner.

Die aktuelle KiCad Version ermöglicht das Anlegen von Plugins zur Erstellung von Stücklisten. Die zur Zeit einfachste Lösung ist das Erzeugen der Stückliste über ein Python-Script, das mit KiCad ausgeliefert wird. Allerdings sind in dem Windows Release von kicad.nosoftware.cz die Skripte nicht mitgeliefert. Zu finden sind sie im GitHub von KiCad, oder hier zum einfach herunterladen.

Durch einfügen der Kommandozeile "C:\KiCad\bin\python.exe" "c:\kicad\share\bom-in-python\bom_csv_grouped_by_value_with_fp.py" "%I" "%O" wird das Plugin aufgerufen und erstelle eine Datei mit der Endung .bom. Die Datei ist eine Textdatei, die zum Beispiel in LibreOffice oder Excel geöffnet werden kann. Sie enthält die Bauteilbezeichner, Anzahl der Bauteile, deren Wert, Das Symbol und die Pad Geometrie für die Platine. Weiterhin gibt es noch eine Beschreibung zum Bauteil und das Verkäufer Feld.

 

Die Übersicht über alle verschiedenen Bauteile eines Projektes ist die Grundlage zur Erzeugung der BOM. Mit diesem Dokument kann jetzt das Auswählen der Bauelemente beginnen. Dazu füge ich die Spalte "Partnumber" neben dem Feld "Value" hinzu. Dort werden die Herstellernamen Bauteile eingetragen. Um Bauteile zu finden verwende ich zum Beispiel RS oder Farnell. Die Herstellerbezeichnung ist der gesuchte Wert für die Stückliste. Dieser wird für jedes Bauteil eingetragen. Nachdem alle Komponenten der BOM eine Herstellerbezeichnung haben geht es nun an das Bestellen der Bauelemente. Um eine Übersicht der Kosten für das Projekt zu erhalten kann man zum Beispiel Teilesuchmaschinen, wie Octopart verwenden.


Bei dieser Strückliste teilt mir Octopart mit, dass zwei Teile nicht verfügbar sind und dass ein Teil nur bei einem Hersteller verfügbar ist. Daher werden diese Teile in der BOM durch kompatible Bauelemente ersetzt, sodass die BOM vollständig von einem der Distributoren zu beziehen ist.

Nächste Woche schauen wir uns dann das Layouten und der Leiterplatte und erstellen der produktionsrelevanten Daten an.