Entwerfen von Schaltkreisen mit einer längeren Lebensdauer


11

Ich habe über einen gewissen Zeitraum etwas über den Pic-Mikrocontroller gelernt und habe ein angemessenes Wissen über den Umgang mit digitaler Elektronik. Ich habe an grundlegenden elektronischen Projekten gearbeitet und jetzt muss ich an einigen kommerziellen Anwendungen arbeiten.

Meine Frage ist, wie man zuverlässige und langlebige Schaltungen entwirft und baut. Ich habe eine automatische Lichtsteuerschaltung gebaut, die den Eingang eines LDR übernimmt und den Wert des analogen Messwerts auf einem Sieben-Segment-Panel anzeigt. Dann führt es einige Berechnungen durch und steuert ein Licht über ein Relais. Dieser Stromkreis muss permanent eingeschaltet sein (24 Stunden am Tag). In den ersten Monaten funktionierte die Schaltung einwandfrei, aber nach etwa 6 Monaten kam es zu Fehlfunktionen. Auf dem 7-Segment-Display wurden sinnlose Dinge angezeigt (es wurden nur Teile von Zahlen angezeigt), dann leuchtet die Lampe an der Anzeige-LED auf, aber das Relais wird nicht eingeschaltet. Dies ist nicht das erwartete Verhalten. Die Sache ist, dass es nicht immer so funktioniert. Manchmal funktioniert es perfekt. Dann beginnt es wieder zu einer Fehlfunktion. Es gibt keine genaue Reihenfolge, in der es funktioniert.

Meine Frage ist nun, warum sich diese Schaltkreise so verhalten. Ich gehe davon aus, dass dies daran liegen kann, dass es den ganzen Tag ohne Intervalle funktioniert. Diese Art von Anwendung muss den ganzen Tag funktionieren. Ich benutze PIC, weil ich nur über Bild Bescheid weiß. Ist atmal zuverlässiger als pic? (Ich habe gefragt, weil atmal in den meisten Automatisierungsanwendungen häufiger verwendet wird als das Bild.) Ich benötige einen Rat von einem Experten für digitale Elektronik. Wie sind solche industriellen Anwendungen aufgebaut? Gibt es spezielle Regeln zu befolgen? Wie kann man zuverlässigere Schaltungen entwerfen? Jeder Rat oder jede Anleitung eines Experten wird sehr geschätzt. Vielen Dank...

BEARBEITEN

Wie in den Antworten vorgeschlagen, bearbeite ich meine Antwort, indem ich zusätzliche Ressourcen bereitstelle, um die Fehler im Design herauszufinden.

Unten sehen Sie ein Bild, das beschreibt, wie die Schaltung nach dem Bau aussieht. Es handelt sich um einen 12-V-Transformator mit Mittelabgriff, der die Schaltung mit Strom versorgt. Er wird mit einem Halbwellengleichrichter gleichgerichtet und dann mit einem 7805-IC geregelt.

Geben Sie hier die Bildbeschreibung ein

Unten ist der schematische Aufbau.

Geben Sie hier die Bildbeschreibung ein

Wenn zusätzliche Informationen benötigt werden, werde ich alles Notwendige bereitstellen. Wenn das Programm benötigt wird, werde ich es hinzufügen. Das Programm ist etwas lang. Es verwendet Interrupts.


6
Wenn Sie einen IC innerhalb der angegebenen Nennwerte verwenden (siehe Datenblatt), garantiert fast jeder Hersteller eine Lebensdauer von 10 Jahren. Und das bei hoher Temperatur. Sie können die Komponenten beschuldigen, aber ich denke, das Problem ist, dass in Ihrem Design etwas Unerwartetes vor sich geht. Oder vielleicht hat einer der Chips unter einer ESD-Entladung gelitten und das taucht erst jetzt auf. Sie müssen zuerst die fehlerhafte Komponente finden, bevor nützliche Hinweise gegeben werden können.
Bimpelrekkie

2
Zusätzlich zu dem, was FakeMoustache gesagt hat, bezweifle ich, dass der PIC die Fehlerquelle ist. Höchstwahrscheinlich handelt es sich um diskrete Komponenten oder um einen Zusammenhang mit dem Schaltungsdesign.
DigitalNinja

1
Ich habe PICs, die die ganze Zeit an vielen rauen Orten arbeiten. Keine Probleme. Das einzige Problem, das ich hatte, war Korrosion in Steckern und ein physikalisch erzwungener elektrischer TFT-Kondensator mit einem gebrochenen Stift.
Szidor

1
Und übrigens, ich denke du meinst Atmel statt "atmal". Außerdem ist PIC ein microC von MicroChip (MicroChip stellt sie her). Atmel ist auch ein MicroC-Hersteller, sie stellen die Atmega MicroController her. Beide sind einfach digitale ICs, die in ähnlichen Herstellungsprozessen hergestellt werden und eine ähnliche Zuverlässigkeit aufweisen. Wenn einer mehr oder weniger zuverlässig wäre als der andere, würde niemand sie kaufen (zu einem ähnlichen Preis wie sie).
Bimpelrekkie

3
Sie müssen einen Schaltplan und im Idealfall ein Bild des gestörten Systems veröffentlichen. Ich bezweifle auch, dass Ihre Probleme "Lebenserwartung" sind, sondern etwas wirklich Grundlegendes fehlen, wie die Sauberkeit der Stromversorgung oder EMI.
Techydude

Antworten:


17

Stellen Sie sicher, dass Sie ein solides Design haben, bevor Sie über einen Wechsel nachdenken. Sie müssen darüber nachdenken, wie Sie Probleme bei Ihrem Design haben können. Ein guter Weg, dies zu tun, besteht darin, nicht mehr an einen Mikroprozessor als "magische Kiste" zu denken, in die Sie Code einfügen, und das zu tun, was Sie ihm sagen, und darüber nachzudenken, wie er auf Gate- und Systemebene funktioniert. Sie müssen Ihren Mikroprozessor bei Laune halten.

  1. Stromversorgung - Wenn die Stromversorgung des Mikroprozessors nicht sauber ist, funktioniert er nicht richtig. Das bedeutet, dass Sie sich das PCB-Design ansehen und sicherstellen, dass Sie einen guten Pfad mit niedriger Induktivität von Ihrem Netzteil haben und dass Sie ausreichende Leistungskappen in der Nähe des Chips haben. Überwachen und messen Sie die Leistung eines Designs, von dem Sie wissen, dass es mit einem Oszilloskop und einem Voltmeter nicht funktioniert. Ist es die Leistung? Sehen Sie das Problem, wenn die Leistung ansteigt oder abfällt? Sehen Sie Spitzen oder Einbrüche auf Ihrer Vcc-Linie?
  2. Code \ Clock - Gibt es einen Fehler im Code, der dazu führt, dass er nicht richtig funktioniert? Haben Sie sich den Code in einer intermittierenden Einheit angesehen? Überprüft es den Code, den Sie jetzt haben? Erhalten Sie eine Blitzverschlechterung? Was ist mit der Uhr? Die Leistung kann die Uhr im Laufe der Zeit tatsächlich verschlechtern . Ist deine Uhr das, was sie sein muss? Wenn Sie die Uhr verlangsamen, funktioniert Ihr Code dann nicht mehr?
  3. Umweltschutz. Betreiben Sie den Mikroprozessor in den Spezifikationen, für die er entwickelt wurde? Ist die Temperatur in den ausfallenden Einheiten konstant? Befinden sie sich in einem Gebiet mit Umwelteinflüssen wie Staub, EMI, ESD oder Temperatur, die zum Ausfall führen können? Sind Ihre Eingaben nach außen geschützt, könnten Leute das Gerät zappen? Hitze wird mit der Zeit schlechte Dinge für die Elektronik tun. Holen Sie sich eine Wärmebildkamera und prüfen Sie, ob alles normal ist

Was Sie wirklich tun müssen, ist den Fehlermechanismus zu finden. Sie müssen wissen, warum er fehlschlägt. Sobald Sie wissen, warum es fehlschlägt, können Sie das Problem beheben. Wenn Sie das nicht finden können, müssen Sie Ihr Design unbesiegbar machen, um das Auftreten von Problemen zu verhindern. Wenn Sie dies nicht tun, können Sie die Mikroprozessoren wechseln und haben immer noch die gleichen Probleme. Wenn Sie wechseln möchten, stellt ST einige großartige Mikroprozessoren her, die für industrielle Anwendungen besser geeignet sind.


2
Fügen Sie der Liste der Umweltfaktoren Strahlung hinzu. Ionisierende Strahlung der meisten Arten (atomar, photonisch usw.) kann dazu führen, dass in der Elektronik SEU- oder Einzelereignisstörungen auftreten, die zu einer verstümmelten Ausgabe führen.
rdtsc

Wie Sie vorgeschlagen haben, habe ich meine Antwort aktualisiert und die zusätzlichen Ressourcen hinzugefügt. das schematische Design und ein Bild, wenn die Schaltung. Bitte können Sie alle Fehler im Design herausfinden.
Danial Weaber

Danke vielmals. Ich habe eine Idee und mehr Wissen über zuverlässigere Schaltkreise. Ich muss mehr lernen, bevor ich kommerzielle Anwendungen erstellen kann. Danke vielmals. Als Antwort akzeptiert.
Danial Weaber

Ich gehe davon aus, dass Strahlung kein Faktor ist, aber wenn Sie diese Dinge neben einem Kernkraftwerk oder einer anderen Strahlungsquelle betreiben (oder im Weltraum), wird dies zu einem ernsthaften Problem bei einer kommerziellen MCU mit einigen SEUs pro Woche, sogar bei Rad harte Prozessoren haben SEUs). Eine reguläre MCU könnte eine SEU haben, aber ich würde denken, dass dies in der Größenordnung von Jahren liegt, wenn die Wahrscheinlichkeit dafür in einer normalen Umgebung liegt.
Spannungsspitze

@danial weaber a 7805 wird einen Stromausfall mit den Kappen, die Sie haben, nicht stoppen. Nehmen wir an, die Leistungsaufnahme aus dem 5-V-Reg beträgt maximal 100 mA (Sie können diese Berechnungen ausführen, wenn Sie Ihren tatsächlichen Maximalstrom messen). Dies entspricht einer Last von 50 Ohm. Ihre Kappe ist 10uf, also tau = RC -> tau = 50 * 10uf = 0,5 ms. Dies ist ungefähr die Zeit, die Sie benötigen würden, um ein Problem zu haben. Vielleicht möchten Sie eine billige chinesische "Wandwarze" für ein paar Dollar kaufen, die ein gewisses Ausfallen aus dem Wechselstromnetz verträgt. Oder Sie könnten einen DC / DC-Wandler verwenden, der möglicherweise toleranter ist. Wie sieht Ihre Erdung auf der Leiterplatte aus?
Spannungsspitze

7

Da Sie nicht sagen, frage ich mich, wie die gestörte Schaltung physisch aufgebaut ist - da dies genau die Art von Problem klingt, die normalerweise auftritt, wenn jemand, der nicht löt, eine Schaltung auf einem temporären "Push-to-Connect" -Breadboard baut und verlässt es für ein paar Monate.

Wenn dies Ihrem Fall ähnelt, liegt Ihr Problem vor. Wenn nicht, würde ich immer noch schlechte Verbindungen vermuten, aber es wird mehr zu einem Problem der "Fähigkeit zum Löten" als zu einem Problem, bei dem nichts gelötet werden kann.


3
Wenn diese unsachgemäße Löttechnik ergänzt wird, können Verbindungen mit geringer mechanischer Festigkeit und andere Probleme entstehen, die dazu führen, dass die Verbindung nach einer viel kürzeren Zeitspanne versagt.
krassisch

Danke vielmals. Ich habe meine Antwort aktualisiert und wenn Sie einen Fehler im Design herausfinden können, wäre das sehr dankbar.
Danial Weaber

Die Lötungen sehen gut aus, beim Löten sind keine Effekte zu sehen. Kann es ein Problem sein, das mit dem Programm zusammenhängt? Aber wie funktioniert es dann gut zu einer Zeit
Danial Weaber

... ein Bild von der Lötseite liefern? Bei Programmierproblemen, die manchmal funktionieren, manchmal nicht, wurden bereits in den Kommentaren zu der Frage verschiedene Optionen erwähnt. Und da ist der Sockel, in dem sich der IC befindet, als lötfreier potenzieller Fehlerpunkt (zwischen dem Sockel und den IC-Pins). Sockel sind manchmal eine gute Idee, können aber Probleme verursachen. Wenn sich die Probleme für eine Weile bessern, wenn Sie den IC entfernen und ersetzen, kann dies Teil des Problems sein. ... auch Ihre Filterkondensatoren für die Stromversorgung etwas klein aussehen - alle 33 pF zwischen der Brücke und dem Reglereingang? "Ja wirklich?"
Ecnerwal

5

Sie haben keinen Entkopplungskondensator an der PIC-Versorgung, aber auf einer kleinen Platine wie dieser werden Sie wahrscheinlich damit durchkommen. Möglicherweise möchten Sie auch einen Brown-Out-Schutz hinzufügen, damit der PIC zurückgesetzt wird, wenn die Spannung unter einen Schwellenwert fällt.

Aber ich würde mir Ihren Code ansehen.

Für den Anfang sollte der Watchdog auf dem Mikro aktiviert sein. Wenn der Code nicht mehr richtig funktioniert, wird er vom Watchdog neu gestartet.

Höchstwahrscheinlich haben Sie gerade irgendwo einen Fehler. Als Embedded-Software-Ingenieur von Beruf würde ich vermuten, dass dies mit den Interrupts zusammenhängt, da Anfänger dort am häufigsten Fehler machen. Als Anfänger gibt es jedoch eine Menge Fehler, die Sie im Code machen können. Das ist also nur der erste Ort, an dem ich nachsehen würde. (Sei nicht beleidigt - ich habe viele dieser Fehler selbst gemacht, auch wenn ich es wirklich besser hätte wissen sollen. ;-)


+1 vielen Dank. Jetzt verstehe ich, dass ich einige Fehler gemacht habe. Ich muss noch viel mehr lernen, bevor ich kommerzielle Anwendungen erstellen kann.
Danial Weaber

3

Ich stimme den Kommentaren zu, dass Sie auf beiden Seiten des 7805 einen schönen Fettkondensator benötigen. Besonders mit einem Relais dort. Ich gehe davon aus, dass dies das Hauptproblem ist. Ich würde auch einen Entkopplungskondensator über die Stromversorgungsleitungen des PIC hinzufügen.

Ich würde auch nach trockenen Gelenken suchen.

Ich würde auch mein Programm gründlich überprüfen und die dort vorhandene Watchdog-Funktion verwenden.

Aber hier sind ein paar interessante Teile Ihrer Frage:

Es zeigte sinnlose Dinge auf dem 7-Segment-Display (es zeigte nur Teile von Zahlen)

Ich würde versuchen herauszufinden, was passiert ist. Ist der PIC zum Beispiel abgestürzt?

Wenn ich nun Ihren Schaltplan richtig gelesen habe, muss jeder der 7 Segmentanzeigen etwas und etwas anderes und konstantes auf mindestens zwei von ihnen anzeigen, dann muss jeder von Q1, Q2 und Q3 noch gedreht sein nacheinander eingeschaltet, und die Ausgaben für die Segmente müssen korrekt gewesen sein. Dies würde mir sagen, dass auf Ihrem PIC immer noch mindestens ein Teil seines Codes ausgeführt wird, aber irgendwie wurde die Ziffernausgabe verschlüsselt. Zum Beispiel wurde möglicherweise keine Ziffer 0-9 angezeigt, sondern eine Ziffer 17 oder ähnliches (für die das Ziffernlayout von einem zufälligen Speicherort abgerufen wird).

Du sagst:

Es leuchtet die Lampe an der Anzeige-LED auf, schaltet aber das Relais nicht ein

Wenn man sich den Schaltplan ansieht, müsste dies entweder ein elektrischer Fehler (z. B. eine trockene Verbindung) oder ein Netzteilproblem sein (siehe oben bezüglich Kondensatoren), es sei denn, der PIC-Ausgang pulsiert oder etwas anderes (nicht unmöglich, da dies auch ein Timer-Ausgangsanschluss ist). oder der Q4-Transistor ist (möglicherweise) nicht vollständig gesättigt. Ich habe das PIC-Datenblatt nicht gelesen, aber ein BC547 hat eine maximale I C von 100 mA (hoffentlich reicht das aus, um Ihr Relais und die LED anzusteuern) und eine hFE von 120 auf diesem Niveau, sodass Sie ungefähr 1 mA benötigen in. 10k könnte daher ein wenig viel sein. Ich könnte 3k3 versuchen.

Darüber hinaus haben Sie keine nützlichen Mittel zum Debuggen. Da Ihre Anzeige ständig eingeschaltet ist, können Sie den endgültigen Dezimalpunkt möglicherweise einmal pro Sekunde (oder ähnlich) blinken lassen, um anzuzeigen, dass alles in Ordnung ist.

Wenn ich im Dunkeln einen wilden Stich machen müsste, würde ich vermuten, dass der Stromkreis besonders bei eingeschaltetem Relais einen erheblichen Strom zieht. Aufgrund des Fehlens eines großen Kondensators auf der Eingangsseite des 7805 liefert der 7805, wenn die Wechselspannung Null überschreitet, keinen Ausgangsstrom (und entleert möglicherweise tatsächlich den Kondensator selbst) - aus dem 7805-Datenblatt 'The Die Eingangsspannung muss typischerweise 2,0 V über der Ausgangsspannung bleiben, selbst während des Tiefpunkts der Eingangswelligkeitsspannung . Die Spannung am PIC wird daher reduziert, möglicherweise genug, um ihn zum Absturz zu bringen. Stellen Sie einen Bereich der 5-V-Leitung neben den PIC. Wenn Sie nichts anderes als eine schöne feste 5-V-Leitung sehen, wissen Sie, dass Sie ein Problem haben.


+1 vielen Dank. Diese Antwort gab mir eine gute Vorstellung davon, wie die Schaltung zu gestalten ist, und einige Fehler, die ich gemacht habe. Ich überprüfe die Kondensatoren und teile die Ergebnisse mit.
Danial Weaber

3

Jedes Mal, wenn Sie ein fehlerhaftes Verhalten in einem Mikroprozessor haben, gibt es zwei Hauptursachen für das Problem. 1) fehlende oder unzureichende "Bypass" -Kondensatoren, 2) "schwebende" Mikroprozessorstifte.
Jeder "Chip" muss eine Bypass-Kappe direkt am mit Vcc (+ 5 V) verbundenen Chip-Pin haben.
Jeder nicht verwendete Stift muss hoch oder niedrig gebunden werden, darf aber niemals "schwebend" bleiben.

Ich bin damit einverstanden, dass Sie nicht "hart genug" Q4 fahren, ich empfehle 1K für R12.


+1 danke in der Antwort. Ich werde versuchen, die Bipass-Kondensatoren hinzuzufügen. Ist es notwendig, Werte für Stifte zuzuweisen, die ich nicht im Design verwende?
Danial Weaber

Das richtige Wort ist "Entkopplungskondensator", nicht "Bypass". Auch vereinbart, dass schwimmende Stifte lustige Sachen machen können. Ich würde eine dritte Hauptquelle hinzufügen - Brown-Outs oder ähnliche zwielichtige Rücksetzbedingungen. Aber selbst dann, in diesem Fall, wenn Sie einen Anfänger haben, der komplexe Dinge mit Interrupts macht, ist mein Geld immer in der Software.
Graham
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.