Hallo Leute,
ich habe mir eine Schaltung ausgedacht, und die mehr oder weniger mit
normalen Teilen mir auf einem Breadboard zusammengesteckt. Die Idee mit
allen Änderungen habe ich nun in den Schaltplan übertragen. Allerdings
werde ich da einen anderen Mikrocontroller verwenden und alles wird mit
SMD Teilen aufgebaut sein. Ich gehe momentan wirklich stark davon aus,
dass meine Schaltung funktionieren wird. Ist ja nix wildes.
Spannungsversorgung etwas mit Dioden abgesichert und mit Kondensatoren
gepuffert. Der Mikrocontroller, eine LED mit einem Vorwiderstand, vier
Taster mit Pull-Up und zwei Module, die per UART mit dem Mikrocontroller
sprechen. Und dann noch JTAG als Plättchen rausgeführt.
Ich habe die Schaltung auch zwei Freunden gegeben, die sie überprüft
haben und auch der Meinung waren, dass sie so in Ordnung ist. Dennoch
habe ich irgendwie ein schlechtes Gefühl, wenn es darum geht, dass ich
vll. ein paar Euros verbrennen werde, wenn ich da irgendwo einen Fehler
gemacht habe. Gibt es nicht eine Simulationssoftware, mit der ich das
ganze Mikrocontroller-Board durchtesten kann, inkl. Programm?
Und dann wäre die nächste Frage, in welcher Anzahl ich die Platinen am
besten fertigen lassen soll. Ich brauche 6 Stück. Sagen wir mal, dass
ich weitere 6 als Ersatz behalte. Und dann wollen meine Freunde
wahrscheinlich noch ein paar. Also ich denke, dass ich ca. 25-30 Stück
brauche.
Ihr kennt ja die Preise der Platinenhersteller. Die 30 Platinen werden
mich ca. das Doppelte kosten, von dem, was mich eine Platine kostet. Nur
nimmt man da eine oder zwei Platinen testet die, ob die gehen und
bestellt dann den Rest oder geht man gleich in die vollen?
Tja, du musst halt konzentriert arbeiten.
Wenn die Schaltung auf dem Breadboard getestet ist, und auch von der
Logik her funktionieren müsste, du ein Layout gemacht hast welches den
Schaltplan wiederspiegelt, und meinst daß Abstände und Bauformen zu den
bestellten Bauteilen passen, dann bestelle gleich 25 Platinen.
Wenn es dann nicht geht und du einen zweiten und dritten Anlauf
brauchst, dann nennt man das Lehrgeld: Es sagt dir: Pass beim nächsten
Mal besser auf.
Du baust ja nichts wirklich kritisches, wie Hf wo es auf
Platinenmaterial, Leiterbahnform und parasitäre Effekte ankommt
(Kapazität der Breadboard-Streifen).
hmm schrieb:> Kannst auch den Stromlauf und das layout mal hier zeigen,da gibt es> sicher auch ein paar tips.
Duhu, ich kann es gerne machen, aber ich bin eher an Strategien
interessiert, wie man von der Idee zur fertigen Platine kommt. Und da
kann es ja nicht sein, dass ich jedes Mal hier im Forum mein Layout
zeige und andere danach frage, ob das was ich vorhabe, so funktionieren
wird.
MaWin schrieb:> Wenn es dann nicht geht und du einen zweiten und dritten Anlauf> brauchst, dann nennt man das Lehrgeld: Es sagt dir: Pass beim nächsten> Mal besser auf.
Simulatoren gibt es da wirklich keine, wenn es im digitale Komponenten
geht? Ich meine, ich kann ja afaik auch mit einem FPGA jeden
Mikrocontroller nachbauen. Gibt es so etwas nicht auch komplett in
Software, allerdings mit den elektronischen Komponenten?
Ja, Lehrgeld....
Ich glaube, ich bin momentan noch im Denken als Softwareentwickler, der
bei der Änderung von jeder Kleinigkeit gleich die volle Testreihe
durchlaufen lässt. Denn Tests kosten ja nix.
Naja, mal schauen, vll. bestelle ich die Boards einfach mal. Mal
schauen, was da rauskommt.
Naja, bei den ersten paar Boards baut man schon mehr Bugs ein. Aber mit
der Erfahrung wird es besser. Wieoft hast du beim ersten C Programm neu
kompiliert bis ein vierzeiler lief? Das wird schon. Uber ein paar Fehler
mussman einfach mal gestolpert sein. Also nur Mut und her damit ;)
Willkommen im Alltag eines Hardwareentwicklers!
Das Problem verhunzter Leiterplatten hat schon so ziemlich jeder erlebt,
angefangen bei Schaltungsfehlern, Layout- oder Bibliotheksfehlern,
Unachtsamkeiten bei der Datenaufbereitung, Softwarefehler des
CAD-Programms.
Das, was bei industriellen Projekten sogar oft noch teurer ist als die
reinen Materialkosten, ist der Zeitverzug, der durch tage- oder
wochenlange Wartezeiten bei sichergeglaubten Leiterplatten entsteht. Ein
Kunde von mir hatte nur eine minimale Korrektur am Layout durchgeführt,
welche sicherheitshalber von mehreren Leuten kontrolliert wurde.
Und dann schlug natürlich doch Murphy zu und sorgte auf Grund eines
Softwarefehlers dafür, dass eine Durchkontaktierung nicht auf der
Innenlage angeschlossen war. Bei vielen Fehlern hätte man ggf. sogar
noch in der Fertigung jemanden hingesetzt, um einen Draht händisch
nachzulöten, aber hier war das nicht möglich, weil ein Pin eines
Bauteils im QFN-Gehäuse nicht angeschlossen war. Beeindruckend war, dass
man im Programm die Durchkontaktierung nur um einen noch so kleinen Weg
verschieben konnte, was dazu führte, dass sie wieder korrekt verbunden
wurde. Das ganze ließ sich hervorragend reproduzieren.
Ich selbst hatte es schon erlebt, dass irgendein Trottel beim
Leiterplattenhersteller einen Film doppelt hergestellt hatte, so dass
sich auf Ober- und Unterseite der Leiterplatte desselbe Layout befand.
Das Geld für die Leiterplatten bekam ich natürlich zurückerstattet, aber
der Prototyp für die Messe war natürlich gelaufen. :-/ Naja, so fiel
wenigstens nicht auf, dass die Leiterplatte eh nicht ins Gehäuse gepasst
hätte.
Das, was die Qualität von Layouts und vor allem die Fehlervermeidung
begünstigt, sind Leiterplattenprogramme, die auch eine 3D-Ansicht
bieten. Man kann dann entweder die echten Gehäuseteile importieren oder
sich vereinfachte Darstellungen von potentiellen Kollisionspunkten
selbst erzeugen. Das nutze ich ziemlich eifrig. Bei einem gedränten
Layout musste ich Bauteile so anordnen, dass sich unter einem
Display-Halterahmen nur hinreichend flache Bauteile (Widerstände,
Keramikkondensatoren) befanden, aber z.B. kein Elko.
Frank S. schrieb:> hmm schrieb:>> Kannst auch den Stromlauf und das layout mal hier zeigen,da gibt es>> sicher auch ein paar tips.>> Duhu, ich kann es gerne machen, aber ich bin eher an Strategien> interessiert, wie man von der Idee zur fertigen Platine kommt. Und da> kann es ja nicht sein, dass ich jedes Mal hier im Forum mein Layout> zeige und andere danach frage, ob das was ich vorhabe, so funktionieren> wird.
Du könntest eine Platine selber erstellen und sehen ob alles
funktioniert, inklusive ob die Footprints wirklich alle passen usw.
Hatte ich gerade heute wieder, einmal bei der Bauteilbestellung
verklickt :-( und schon hat man Transistoren in SOT323 statt SOT23 -
geht gerade noch draufzulöten, aber...
Ist nur bei einseitig und max. doppelseitig machbar.
> MaWin schrieb:>> Wenn es dann nicht geht und du einen zweiten und dritten Anlauf>> brauchst, dann nennt man das Lehrgeld: Es sagt dir: Pass beim nächsten>> Mal besser auf.>> Simulatoren gibt es da wirklich keine, wenn es im digitale Komponenten> geht? Ich meine, ich kann ja afaik auch mit einem FPGA jeden> Mikrocontroller nachbauen. Gibt es so etwas nicht auch komplett in> Software, allerdings mit den elektronischen Komponenten?
Für (viel) Geld, vermutlich ja.
Ich glaube selbst die Profis machen ein Hardwaremuster bevor sie in die
größere Produktion gehen.
Wenn Du von Haus aus SW-Entwickler bist, Limor Freed von Adafruit hat
meines Wissens mal einen Vortrag gemacht über die Eigenheiten (und
speziellen Schmerzen) der Hardwareentwicklung für Leute die das nicht
kennen, kann nicht schaden den anzusehen.
hmm schrieb:> Wieoft hast du beim ersten C Programm neu> kompiliert bis ein vierzeiler lief?
Ganz ehrlich.... sehr oft.... denn irgendwie stand in meinem Buch
"#include <iostream>", das kannte aber mein Compiler nicht. Irgendwann
hat es dann mit #include "iostream.h" funktioniert.
Mir macht eine andere Sache aber mehr sorgen. Wie oft habe ich schon
irgendeine Kleinigkeit im Code geändert, wo ich mir zu 100% sicher war,
dass es nichts kritisches war und das Programm ganz sicher noch
funktioniert, doch in Wirklichkeit hat danach nichts mehr funktioniert.
Und im Grunde habe ich noch etwas Angst bei einem anderen Thema. Ja, ich
bin Software-Entwickler. Wenn ich eine Software entwickele, dann kann
ich mir in der Regel sicher sein, dass die Basis - also die Hardware und
das Betriebssystem - funktionieren. Und was passiert bei einer solchen
Platine, wenn etwas nicht funktioniert. Ist meine Software schuld? Habe
ich ein Problem mit der Hardware, der Kommunikation zwischen den
Bauteilen. Habe ich die Bauteile irgendwie falsch zusammengelötet? Oder
habe ich wirklich ein Problem mit der Leiterplatte und dem Layout.
Irgendwie schrecke ich jetzt schon etwas vor dem Debuggen zurück -
obwohl das Ding eigentlich auch out of the box funktionieren kann.
Naja,bei den meisten einfachen controller Schaltungen macht die Hardware
keine großen Probleme wenn erstmal die Versorgung stabil anliegt und
Clock und Reset sauber sind. Da ist ein Oszi viel Wert. Anders sieht es
bei komplexen analogen Schaltungen aus,da beisse ich auch ab und zu in
die Tischkante.
Professionell rechne ich bei einfachen und mittelkomplexen Baugruppen
mit zwei Durchgängen, bei analogen Schaltungen drei und manchmal auch
vier Läufen bis alles perfekt passt. Bei einzelstücken kann man bei ein
oder zweilagigen Boards fast immer was zurecht patchen.
Wenn der Controller per Jtag erreichbar ist, ist die Schlacht schon
beinahe gewonnen ;) dann kann man die sw prima auf dem Board debuggen.
Was macht deine Schaltung denn?
hmm schrieb:> Was macht deine Schaltung denn?
Die Schaltung ist eine Funkfernbedienung mit bidirektionaler
Kommunikation, RSA Verschlüsselung sowie einer Zeitanalyse der Response
auf den Challenge. Und das ganze in dem Format eines Schlüsselanhängers.
Jedes Layer ausdrucken (in Originalgröße) Bauteile auf den Ausdruck
positionieren. DRC, ERC drüber laufen lassen alle Rules noch mal checken
(ausgiebig). Mach erst mal nur eine oder zwei als Prototyp (z.B. bei
PCB-pool). Kannst du online dein Design hochladen und dir sogar am
gleichen Tag liefern lassen (TEUER). 3-5 AT sind erträglich. Dann weißt
du in 3 Tagen was Sache ist.
@ Frank S. (Gast)
>SMD Teilen aufgebaut sein. Ich gehe momentan wirklich stark davon aus,>dass meine Schaltung funktionieren wird. Ist ja nix wildes.
Wo sit dann das Problem?
>habe ich irgendwie ein schlechtes Gefühl, wenn es darum geht, dass ich>vll. ein paar Euros verbrennen werde, wenn ich da irgendwo einen Fehler>gemacht habe.
Bis du ein Mädchen? Wird dich das umbringen?
> Gibt es nicht eine Simulationssoftware, mit der ich das>ganze Mikrocontroller-Board durchtesten kann, inkl. Programm?
Gibt es. Aber der Aufwand, das alles realistisch mit allen
Randbedingungen zu simulieren ist höher als es einfach aufzubauen.
>Ihr kennt ja die Preise der Platinenhersteller. Die 30 Platinen werden>mich ca. das Doppelte kosten, von dem, was mich eine Platine kostet. Nur>nimmt man da eine oder zwei Platinen testet die, ob die gehen und
Ja.
>bestellt dann den Rest
Ja.
>oder geht man gleich in die vollen?
Nein.
Falk Brunner schrieb:>> Gibt es nicht eine Simulationssoftware, mit der ich das>>ganze Mikrocontroller-Board durchtesten kann, inkl. Programm?>> Gibt es. Aber der Aufwand, das alles realistisch mit allen> Randbedingungen zu simulieren ist höher als es einfach aufzubauen.
Vor allem kostet schon eine brauchbare Software für den Zweck (Hard- und
Software simulieren!), soviel, dass er für den Rest seines hoffentlich
noch langen Bastlerlebens Musterplatinen fertigen lassen kann.
Gruss Reinhard
Machs doch andersrum: Wenn du Sorgen hast, daß dein Layout
-so nicht bestückbar ist wie gewollt, dann lass immer 50 mil Extraplatz
-evtl hier oder da ein Bauteil ersetzt werden muß, dann plane einfach
beide footprints ein oder setz am Rand footprints für bislang
unkontaktierte Bauteile, die du per Draht woauchimmer in der Schaltung
anbindest.
-evtl ein Verdrahtungsfehler im Schaltplan ist, dann sorge dafür, daß du
an alle Verbindungen mit einem Scalpel rankommst und keine Bahnen
komplett unter de Chips /Bauteilen verlaufen.
etc.
Du bist Bastler, du kannst deine Platine gestalten wie du willst.
Wenn du glaubst, sowas ist sinnvoll, dann mache es. Auch in der
Industrie werden dir Layouts begegnen, wo innerhalb des DIP-8 -EEProms
ein So-8-Footprint für den gleichen Chip in SMD liegt.
Wie schon erwähnt: Eine Platine ist nicht in Stein gegossen und kann in
kleinen Details geändert werden. Wie umfangreich solche Änderungen sein
können, kannst du beim Design de Platine festlegen.
Nicht nur bei chinesischen, auch in deutschen Fabrikaten findet man bei
manchen Platinenrevisionen "serienmäßige" Drahtbrücken. das ist nicht
perfekt aber vollkommen okay.
> > Ihr kennt ja die Preise der Platinenhersteller. Die 30 Platinen werden> > mich ca. das Doppelte kosten, von dem, was mich eine Platine kostet.> > nimmt man da eine oder zwei Platinen testet die> Ja.> > oder geht man gleich in die vollen?> Nein.
Bei nur 30 Stück ? Das ist Prototypen-Mindermenge. Natürlich bestellt
man die auf ein mal, zu doppelten Preis wie eine einzelne ist das doch
keine Frage.
Bei 3000 Platinen macht mal man eine Prototypenbestellung.
MaWin schrieb:> Bei nur 30 Stück ? Das ist Prototypen-Mindermenge. Natürlich bestellt> man die auf ein mal, zu doppelten Preis wie eine einzelne ist das doch> keine Frage.
Das kann man sich schon fragen, aber v.a. stimmt die Voraussetzung
nicht: 30 LP kosten 4mal so viel wie eine. Da braucht man schon
Zockermentalität, oder man kennt genau das Risiko, aber dazu müsste man
seine eigene Fehlerwahrscheinlichkeit kennen. Die werden wohl die
meisten krass unterschätzen. Es gibt hier im Forum genug Teilnehmer, die
es für völlig ausgeschlossen halten, einen Fehler zu machen :-)
Gruss Reinhard
@ MaWin (Gast)
>> > Ihr kennt ja die Preise der Platinenhersteller. Die 30 Platinen werden>> > mich ca. das Doppelte kosten, von dem, was mich eine Platine kostet.>Bei nur 30 Stück ? Das ist Prototypen-Mindermenge. Natürlich bestellt>man die auf ein mal, zu doppelten Preis wie eine einzelne ist das doch>keine Frage.
Jemand mit einem gewissen Erfahrungsstand sowie einer nicht zu komplexen
Platine wird das sicher machen können, allen anderen empfehle ich es
nicht. Denn im Falle eines größeren Fehlers, der nicht mit drei
Drahtbrücken repariert werden kann, muss man viel nacharbeiten, ggf. die
leeren Platinen verschrotten. Oder mit arg hässlichen, weil
nachgearbeiteten Platinen auskommen.
Und gerade der OP hat ja ziemlich Muffensausen. Besser erstmal EINE
Platine vollständig lauffähig machen. Es wird ihn nicht in den Ruin
treiben.
Falk Brunner schrieb:> Oder mit arg hässlichen, weil> nachgearbeiteten Platinen auskommen.
Was beim ersten Auftrag beim Kunden einen bleibenden Eindruck
hinterlässt.
Gruss Reinhard