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.
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
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.
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...
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