Hallo an die Gemeinde. Ich habe ein Problem mit meinem WIG-Schweißgerät, es ist irgenwann mal einfach "stehengeblieben". In der Schaltung gibt es einen PIC16F877, ein Ausgang von diesem Mikrocontroller ist mit dem "shutdown"-Eingang des PMW-ICs (MC34023) des Hauptinverters verbunden. Aufgrund eines derzeit vorhandenen Fehlers wird also der PWM-IC vom Mikrocontroller nicht freigegeben. Der PIC16F877 bekommt die Speisespannung jedoch kann ich am Quarzoszillator keinen Takt messen. Zu dieser Situation habe ich zwei Fragen: 1. Wie kann ich am Besten überprüfen, ob der PIC16F877 funktionsfähig oder defekt sei ? 2. Kann der Quarzoszillator des Mikrocontroller durch einen externen Fehler gestoppt oder gestört werden ? Ich bin Elektroniker von Beruf, leider ohne Erfahrung mit Mikrocontrollern, Labornetzteil, Oszilloskop, Multifunktionsmessgeräte stehen mir zur Verfügung. Des Weiteren habe ich nach einer Recherche einen Programmer vom Typ: "PIC-Brenner5" nachgebaut und mit einem neuen PIC16F877 erfolgreich getestet. Doch der Versuch den original PIC16F877 mit dem Programmer auszulesen schlug aber fehl. Leider ist der PIC16F877 auf der Platine nicht gesockelt und kann nur im eingebauten Zustand untersucht werden. Ich bin dankbar für jede Hilfe Viele Grüsse. Nico.
Vielleicht ist nur der Quarzoszillator des Mikrocontrollers defect.
Nico schrieb: > Hallo an die Gemeinde. > > Doch der Versuch den original PIC16F877 mit dem Programmer > auszulesen schlug aber fehl. Wenn an den PGC / PGD Pins Peripherie angeschlossen ist, wäre das nicht verwunderlich. Davon abgesehen dürfte der PIC gegen Auslesen geschützt sein (man kann ihn zwar auslesen, das Ergebniss ist aber nur "Schrott").
Hallo udn vielen Dank für die Vorschläge. @Fachmann Es ist eigentlich kein Quarzoszillator sondern nur ein Quarz (2-Pin-Ausführung), daher habe ich bis jetzt an der Stelle keinen Fehler vermutet oder gehen diese Dinger manchmal auch kaputt ? @Chris B Das der PIC gegen Auslesen geschützt sein kann ist klar, doch der Programmer kann noch nicht mal der Typ des PICs auslesen. Die PGC / PGD Pins sind auf der Originalplatine sind auf eine Steckverbindung herausgeführt, diese Tatsache und die Tatsache, dass der Mikrocontroller fest verlötet ist ließen mich vermuten, dass der PIC im eingebauten Zustand programmiert werden kann... Muss beim PIC16F877 nach dem Zuschalten der Speisespannung der interne Quarzoszillator sofort anlaufen oder gibt es dabei noch weitere Bedingungen die erfüllt sein müssen ? Gruß. Nico
Ich habe gelesen, das diese Quarze empfindlich sind. Sie können schon kaputt gehen wenn man sie auf den harten Boden fallen lässt. Und ohne den Quarz oder ein anderes Taktgeber läuft der Pic nicht.
Nico schrieb: > Die PGC / PGD Pins sind auf der Originalplatine > sind auf eine Steckverbindung herausgeführt, diese Tatsache und > die Tatsache, dass der Mikrocontroller fest verlötet ist > ließen mich vermuten, dass der PIC im eingebauten Zustand > programmiert werden kann Ja das ist anzunehmen und dann dürften die Programmierpins auch nicht durch Hardware beinflussbar sein - möglich wäre noch das auf der Platine 2 Jumper oder DIP-Switch sind, welche eine an den Programmierpins vorhandene Hardware beim Programmieren abtrennen.!?
Hallo Chris, in der Nähe des PICs gibt es eine Reihe mit DIP-Schalter (siehe Foto), die Funktion ist mir aber noch nicht bekannt, dieses Thema muss ich noch untersuchen... Mal angenommen ich werde den Quarz austauschen, wenn der PIC dann nicht anläuft kann ich dann sicher sein, dass er defekt ist... ? Wie kann der PIC16F877 noch "gestoppt" werden, gib es bei den PICs so was wie einen Reset-Pin ? Gruß Nico
Oben schreibst du, du hast ein Scope. Warum mißt du nicht damit, ob der Quarz noch schwingt?
Nico schrieb: > Wie kann der PIC16F877 noch "gestoppt" werden, gib es > bei den PICs so was wie einen Reset-Pin ? Pin 1 (MCLR/VPP) liegt über 4k7....10k and +5V und ist LOW aktiv.
Und lade dir den datasheet von dem Pic. Dann weisst du mehr.
Ich danke euch. Das Datenblatt vom PIC16F877 habe ich selbstverständlich vorher gelesen, da ich mich aber mit Mikrocontrollern nicht auskenne kann ich einzelne, für Mikrocontroller typische Funktionen nicht interpretieren. So weiß ich z.B. nicht, ob das Setzen des Reset-Pins zwangsläufig auch den internen Oszillator stoppt oder nicht. Aus diesem Grund habe ich mich auch entschieden in diesem Forum zu fragen, ich habe auch worher eine Weile über die PICs recherchiert und sogar das Programmiergerät dafür gebaut... aber es ist für mich eben ein Wald voller bäume :-) Deswegen versuche ich einfach systematisch die Möglichkeit auszuschließen, dass der PIC noch nicht tot ist und der Fehler vielleicht mit dem externen Einfluss zusammenhängt. Nochmal vielen Dank, ich werde im nächsten Schritt den Zustand vom Pin 1 (MCLR/VPP) überprüfen.
Ein Reset stopt den Oszillator nicht. Die beiden C neben dem Quarz gehören auch zum Oszillator. Am Quarz selbst kann man die Schwingung beim PIC gut mit einem Oszi anschauen, ohne das der PIC aussetzt. (1MOhm Tastkopf). Dieser PIC kann "schlafen", dh. er schaltet seinen Quarz ab und arbeitet mit einem internen, langsamen RC Oszillator weiter. Das muss ihm aber explizit vom Programm gesagt werden, wann und wodurch der Schlafmodus ausgelöst wird. Beim anlegen der Betriebspannung sollte der PIC zumindest kurzzeitig anlaufen. In der Regel wird dieser Modus in Industrieschaltungen kaum benutzt, weil es auf Stromsparen nicht ankommt und das Aufwachen auch Zeit beansprucht die eventuell an der Reaktion fehlt.
Gerd H. schrieb: > Dieser PIC kann "schlafen", dh. er schaltet seinen Quarz ab > und arbeitet mit einem internen, langsamen RC Oszillator weiter. Der 16F877 hat keinen internen RC Oszillator bzw. einen der nur für den Watchdog und ADC verwendet werden kann und im Sleep wird die CPU mit garkeinem Takt versorgt. Also wenn man an Quarz keinen Takt messen kann, dann macht der PIC absolut rein Garnichts, höchstens auf ein Interrupt warten dass ihn aufweckt und das auch nur, wenn der Takt mal da war um Interrupts usw. zu konfigurieren...
:
Bearbeitet durch User
stimmt, ich war auf die Stromspartechnologie der nanowatt Typen aus, aber die schlafen ja nicht, sondern arbeiten nur langsamer. Allerdings können die auch ihren Quarz abschalten. Zu der Sorte zählt der 877 allerdings nicht. Entschultigung für meine Unbedacht.
Wenn du über ein Oszilloskop verfügst würde ich mal der reihen nach an allen IO_Pins nach irgend welchen Flankenwechseln Suchen. Tut sich dort rein gar nicht und es funktioniert auch keine Anzeige am Gerät obwohl die richtige Versorgunsspannung anliegt würde ich zunächst ohne Spannung an der platine mit einem multimeter die einen kurzschluss der oszillatiopins ausschließen und und den Quartztakt nachzuweisen versuchen ... den Quartz auch auf verdacht tauschen .... wieder messen flanken wechsel suchen Und dann benötigst du langsam einen Plan sämtliche Schalter und Taster hast du sicher bereits geprüft?
Schon erstaunlich daß der TE (obwohl von uC nach eigener Aussage wenig Erfahrung) hier GENAU den Prozessor als Fehlerursache herausgefunden hat! Gut, den Quarz bzw. die Oszillator-Schwingungen sollte er tatsächlich mal messen. Jedoch gibt es viele andere mögliche Ursachen für den Ausfall seines Schweißgeräts, z.B. fehlende, zu niedrige oder gestörte Betriebsspannung (Kapazitätsverlust Kondensator nur als eine mögliche beliebte Ursache). Oder jede Art von fehlendem Eingangssignal eines Schalters oder eines Sensors zum uC. Ohne Schaltbild und Funktionsplan des (kompletten) Schweißgeräts wird es schwierig sein das zu finden. Ein funktionierendes identisches Zweitgerät zu Vergleichszwecken hat man leider auch selten. Gruss
@alle ich bedanke mich bei euch für die zahlreichen "brainstormings". Was ich in diesem Beitrag bis jetzt nicht erwähnt habe, dass an dem PIC in meinem Fall keine externe Bedienelemente wie Schalter oder Regler angeschlossen sind. Dieser Mikrocontroller bestimmt ausschließlich die Form vom Schweißstrom, die Einstellung der Parameter übernimmt ein anderer Mikrocontroller in dem Bedienpanel, die Regelung vom Schweißstrom übernimmt der PWM-IC. Der PIC16F877 den ich untersuche "hängt" quasi dazwischen. Nur die Tatsache, dass der PIC16F877 nach dem Einschalten keinen Takt erzeugt lenkt den Fokus meiner Suche auf diesen Baustein. @Erich vielen Dank für deine Meinung, meine Untersuchungen werden maßgeblich von zwei Fakten geleitet: 1. der PWM-IC des Hauptinverters wird über "shudown"-Eingang nach dem Einschalten vom Mikrocontroller nicht freigegeben. 2. der Mikrocontroller braucht zum Arbeiten den Takt, den ich in meinem Fall nicht messen kann. Punkt 2. brachte mich zum Entschluß zunächst den Mikrocontroller zu untersuchen. Ich erkenne in dieser Vorgehensweise bis jetzt keinen Logik-Fehler, wie Du bereits geschrieben hast: "Gut, den Quarz bzw. die Oszillator-Schwingungen sollte er tatsächlich mal messen." Bis dieser Punkt geklärt ist muss ich mir keine Gedanken machen, was in einem Schweißgerät so alles kaputt gehen kann. Deswegen poste ich in diesem Forum und nicht im Forum für "wie repariere ein Schweißgerät". (sorry, für etwas off-topic, 'wollte aber den Beitrag von Erich allein schon aus Höflichkeit nicht unbeantwortet stehen lassen) Gruß. Nico
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.