Und zwar frage ich mich, wie man sowas fehlerfrei macht, da ja
Elektronik sowas wie Programmieren mit dem Lötkolben ist. Beim
Programmieren gibt es allerdings dauernd tausende Bugs, die man dann
einfach mit einem Update behebt. Bei der Elektronik ist jeder "Bug" aber
wesentlich ärgerlicher und bei 1000 Bauteilen blickt doch keiner mehr
ganz durch????
Der Ansatz da durchzublicken ist der Gleiche, wie bei jeder Aufgabe ab
einer bestimmten Komplexität: Teile und herrsche.
Eine Schaltung mit >1000 Teilen besteht in der Regel aus Teilen, die
sich getrennt voneinander aufbauen, prüfen und in Betrieb nehmen lassen.
so schauts aus.
Auch bei Software unterteilt man es ja in Proceduren.
Bei der Elektronik in Abschnitten oder Gruppen..siehst Dua uch oft bei
kommerziellen Schaltungen, das man richtig sieht, wo das Netzteil
anfängt und aufhört(auch wegen Spannungsschutz) aber auch bei vielen
anderen baugruppen ist es oft zu sehen
Tom schrieb:> Und zwar frage ich mich, wie man sowas fehlerfrei macht, da ja> Elektronik sowas wie Programmieren mit dem Lötkolben ist.
0. Pflichten- und Lastenheft
1. ordentliches Requierement Management. man muss wissen was man haben
will
2. ordentliche Planung, andere Abteilungen (auch den
Firmware-Entwickler!) einbeziehen
3. alles in einzelne Baugruppen aufteilen
4. von den einzelnen Baugruppen ein Labormuster/Devkit in Betrieb nehmen
5. Baugruppen fertigentwickeln und testen
6. alles auf eine Platine, erst einzeln, später gemeinsam testen
7. akzeptieren, dass der erste Schuss NICHT sitzen wird.
Vias spielen keine Rolle, das meckert der DRC an bzw. die Meldung, dass
noch ungeroutete Signale da sind.
Ansonsten hilft nur Denken in Funktionsblöcken mit sauberen
Schnittstellen. Gerade in "komplzierteren" Schaltungen ist gerade das
sowieso immer vorhanden.
Das viel grössere Problem ist ganz anderer Art: das nackte Abbild der
logischen Funktion des Schaltplans tut durchaus nicht immer das, was es
eigentlich soll. Da kommen Layoutregeln/Erfahrungen ins Spiel. Erst die
machen einer an sich richtigen Schaltung eine funktionierenden Platine.
Ansonsten kann ich aus meiner persönlichen Erfahrung sagen: bei Software
bin ich leider etwas ungenauer als bei Hardwareentwurf. Eben weil es
sich mit ein paar kleinen Änderungen nachträglich beheben lässt. Sollte
nicht so sein, ist aber so. Ne Platine ändern kostet Zeit und Geld, die
Erfahrung hat jeder gemacht. Und so färbt eben die Erfahrung auf die
tägliche Arbeit ab :-)
Bei Software, die Daten verarbeitet, ist es nicht immer "einfach" mit
einem Update getan. Da muss man dann auch noch ein weiteres
Programm/Script entwickeln, welches defekte Daten repariert. Das ist oft
der teurere Teil.
Tom schrieb:> wie man sowas fehlerfrei macht
Manche HW bugs kann man mit Modifikationen (typische Modwire oder
Bodgewire) beheben. Manche kann man auch mit SW beheben (z.B. Taster im
nachhinein entprellen).
Allgemein kann man das alles nach besten Standards (Schreiber hat ein
paar gelistet) machen, aber das ist hald ein Entwicklungszylus den men
iterieren muss.
Jemand der beim ersten mal eine Platine hin bekommt die keinen Fehler
enthält, alle EMV Prüfungen besteht halte ich eher für einen
Übermenschen.
Wenns schon zum Endkunden ging, richtig.
Hardware wie Software wird man aber vorher so praxisnah wie möglich
testen.
@Paul P.
Größere Software unterteilt man eher in Objekte/Klassen mit Interfaces -
oder wie auch immer die jeweilige Sprache diese Konstrukte bezeichnet.
Proceduren sind zu feingranular. Da ist mehr das Equivalent eines
kleinen ICs in der Elektronik :)
Tom schrieb:> bei 1000 Bauteilen blickt doch keiner mehr> ganz durch????
Die ordnet man nach Funktionsgruppen an, bei aktuellen Schaltungen nimmt
man etwa ein grosses IC und positioniert da alle zugehörigen Bauteile
drum herum, angefangen mit Stützkondensatoren und Pullup-Widerständen,
da sieht man dann schon, dass danach der grösste Teil der Verbindungen
intern in der Gruppe und kurz ist. Da ordnet man jetzt die Bauteile
optimal an, und dann wendet man sich der nächsten Funktionsgruppe zu.
Dass sich eine Schaltung überhaupt nicht in Funktionsgruppen aufteilen
lässt, ist extrem selten, ich würde behaupten, das gibt es garnicht.
Was es in der Praxis auch nicht gibt ist eine Schaltung wie im Titel
beschrieben - ich habe schon 16-Lagen-ML ausgeliefert mit 25000
Bohrungen, aber davon waren nur ein kleiner Teil Vias. 3000 Vias bei
1000 Bauteilen ist entweder eine ganz abartige Schaltung oder ein völlig
verkorkstes Layout. Möglich vielleicht wenn man so was dem Autorouter
machen lässt.
Georg
Hallo,
> Tom schrieb:> Und zwar frage ich mich, wie man sowas fehlerfrei macht, da ja> Elektronik sowas wie Programmieren mit dem Lötkolben ist.
Nein! Der Lötkolben spielt bei der Elektronikentwicklung eher nur eine
Nebenrolle.
Man braucht zuerst mal ein Konzept, macht dann Blockschaltbilder und in
der Realisierungphase werden komplette Schaltpläne gezeichnet.
Kritische Schaltungsteile kann man simulieren. Der Übergang zum Layout
wird von Programmen stark unterstützt, so dass man viele Schusselfehler
gar nicht mehr machen kann, weil das Programm mit den eingestellten
Regeln vieles auf korrekte Umsetzung kontrolliert.
> Beim> Programmieren gibt es allerdings dauernd tausende Bugs, die man dann> einfach mit einem Update behebt. Bei der Elektronik ist jeder "Bug" aber> wesentlich ärgerlicher
Natürlich passiern immer Fehler, aber die Folgen sind lange nicht so
kritisch, wie du denkst.
Softwareentw. dauert meist Wochen ... Monate bis Jahre und da stecken
dann oft Kosten von einigen Hunderttausend ... Mio. € drin.
Dagegen sind die Durchläufe bei der Elektronikentwicklung vergeichsweise
schnell erledigt und kosten wenig.
Mal eben ein paar Fehler in einer Schaltung korrigieren, dauert oft nur
Minuten. Ein Layout zu überarbeiten dauert je nach Komplexität paar
Stunden bis paar Tage und nach paar Tagen hat man schon wieder neue
Leiterplatten.
Gut, das Handbestücken von Mustern dauert dann auch noch mal einige
Stunden.
Die paar tausend € für die Zeit und die paar hundert € für die
LPL-Muster fallen da schon im Verhältnis zu den Gesamtkosten einer Entw.
kaum ins Gewicht. Am Ende ist vieles einfach nur Fleißarbeit.
> und bei 1000 Bauteilen blickt doch keiner mehr ganz durch????
Wenn das so wäre, gäbe es diese Technik ja gar nicht!
Wie schon von anderen geschrieben, teilt man ein komplexes System in
Baugruppen und Unterbaugruppen. Ein moderner PKW wird auch nicht von
einem Team entwickelt, sondern von vielen Teams, die Spezialisten auf
einem Gebiet sind z.B. für Motor, Getriebe, Abgasstrang, Fahrwerk,
Karosse, Elektrik, Elektronik, Innenausstattung, Räder, Bremsen und
viele mehr.
So ist das auch mit Elektronik (z.B. Prozessorkern, Stromversorgung,
diverse Interfaces, analoge Signalaufbereitung, Statusausgabe,
Leistungsendstufen usw.). Wenn man die Einzelfunktionen dann bis nach
ganz unten aufdrösselt ist es oft ganz einfach zu verstehen.
So richtig komplizierte analoge Trickschaltungen braucht man heute immer
weniger, weil man die Signale nur auf das Nötigste aufbereitet und dann
viel besser und universeller mit Software bearbeitet oder man nutzt
gleich einen komplexen Chip, der die ganz komplizierten Sachen im
Inneren ausführt.
Gruß Öletronika
Rate mal, warum es bei AliExpress jede Menge Bausätze und Platinen zu
kaufen gibt, die garantiert billiger sind, als ihre Einzelteile.
Weil sie Fehler haben. Das ist zumindest meine Erfahrung in 100% der
Fälle. Sie werden als Ramsch billig an Bastler verkauft. Das ist besser,
als sie zu verbrennen.
Was ich damit sagen will: Platinen funktionieren nicht immer auf Anhieb.
Hier erkennt man, wie gut deren Entwickler waren. Brauchen sie 2, 3 oder
10 Versuche?
georg schrieb:> 3000 Vias bei 1000 Bauteilen ist entweder eine ganz abartige Schaltung> oder ein völlig verkorkstes Layout.
Naja, nehmen wir mal an, das sind 5 BGAs mit jeweils ein paar hundert
Balls dabei. Da hat man dann recht flott eine stattliche Via-Anzahl
beisammen, denn auf dem Top-Layer kommt man nur mit den äußeren beiden
Reihen raus.
Stefan U. schrieb:> Was ich damit sagen will: Platinen funktionieren nicht immer auf Anhieb.
Das gelingt bei einer von fünf.
Mit etwas Glück kann man mit den Prototypen aber schon mal raus ins Feld
und Erfahrungen sammeln.
Aber wieder bei einem von fünf Designs taugt der Prototyp gerade mal für
grundlegende Tests und Untersuchungen auf dem Labortisch, weil da
kurioserweise seltsam gruselige Sachen passiert sind.
HW ist einfach auch wesentlich weniger komplex. In einem aktuellen
Projekt beschränkt sich die HW auf z.B. übersichtliche 20 Seiten
Schaltplan, während die Software über 100000 Zeilen Code beinhaltet.
Allenfalls baut man Hardware auch modular auf mehreren Platinen auf, um
sie austauschen zu koennen. Man kann dann auch besser auf Aenderungen
und divergierende Kundenwuensche reagieren.
Claus M. schrieb:> HW ist einfach auch wesentlich weniger komplex. In einem aktuellen> Projekt beschränkt sich die HW auf z.B. übersichtliche 20 Seiten> Schaltplan, während die Software über 100000 Zeilen Code beinhaltet.
Aber auch nur, weil in dem Schaltplan nicht die Dicke jeder Leiterbahn
explizit vermerkt ist, sondern jedes i als char in einer eigenen
Codezeile initialisiert wird und der Layouter aus Erfahrung weiß, wie
die Eingangskondensatoren am Schaltwandler zu platzieren sind unsw. In
einem Schaltplan + Layout steckt am Ende sehr viel mehr nicht grafisch
dargestelltes, als es zunächst ersichtlich ist. (ja, in Software auch)
Sabberalot W. schrieb:> Allenfalls baut man Hardware auch modular auf mehreren Platinen auf, um> sie austauschen zu koennen.
Das lohnt sich aber nur bei kleinen Stückzahlen <1000
Sobald es darüber raus geht, ist 1 kundenspezifische Platine mit 1
kundenspezifischen Gehäuse dann billiger...
> Man kann dann auch besser auf Aenderungen> und divergierende Kundenwuensche reagieren.
Man sollte dem Kunden klarmachen, dass er selber gar nicht sooo arg
viele unterschiedliche Geräte einsetzen will. Denn das holt ihn dann
beim Verwalten der Ersatzteile ein.
Es ist billiger, in einer Steuerung für 500€ eine Option für 5€ immer
einzubauen, auch wenn nur 10% der Kunden sie tatsächlich verwenden, wenn
man dadurch nur 1 Typ Steuerungen zu verwalten hat.