Hallo Leute, habe vor kurzem für einen Bekannten eine Art Zeitschaltuhr gebastelt, beschrieben habe ich sie hier: http://www.jb-electronics.de/html/elektronik/digital/d_zeitschaltuhr.htm Neuerdings funktioniert aber gar nichts mehr; nur noch die Doppelpunkte leuchten konstant, und allem Anschein nach gibt der PIC kein Lebenszeichen mehr von sich. Habt ihr spontan eine Idee, woran es liegen kann? Beste Grüße Jens
>Habt ihr spontan eine Idee, woran es liegen kann?
Überspannung auf VCC bekommen. MCLR schliesst man auch
nicht einfach so an VCC an. Hab mal was von min. 100 Ohm gelesen.
Kann mich aber auch täuschen.
Also Überspannung würde ich ausschließen, da die 5V über einen 7805-Regler kommen. Und mit den MCLR, stimmt, sauberer ist es wahrscheinlich über ein RC-Glied, aber ich hatte bisher mit der verwendeten Verschaltung des MCLR noch nie Probleme. Gruß Jens
>Also Überspannung würde ich ausschließen, da die 5V über einen >7805-Regler kommen. Ist der auch ordentlich abgeblockt. Vieleicht ist der Quarz kaputt. Ist das Gerät mal runtergefallen? >Jaja ;-) Das klappt manchmal, aber nicht immer anscheinend. Wie, Stecker raus, rein, raus funktioniert manchmal? Kalte Lötstelle suchen;)
Hallo, ja der 7805 ist abgeblockt, brav 2x mit 100nF. ;-) Gut, obs runtergefallen ist, weiß ich nicht, da musst du meinen Bekannten fragen ;-) Gut, eine kalte Lötstelle, die kann natürlich überall liegen. Dem widerspricht aber, dass das Modul zwei Wochen tadellos gelaufen ist, und dann auf einmal nicht mehr. Gut, wenn es hingefallen ist, würde das die gestörte Funktionalität natürlich erklären. Gibt es sonst irgendwelche hardware- oder softwareseitigen Problemstellen? Gruß Jens
holger schrieb: > MCLR schliesst man auch > nicht einfach so an VCC an. Hab mal was von min. 100 Ohm gelesen. In dem vorliegenden Fall sollte man überhaupt keinen externen Reset verwenden. Der PIC 16F627A hat einen gut funktionierenden, internen Reset, den man über __CONFIG aktivieren kann. Den /MCLR-Pin kann man dann entweder als normalen I/O verwenden oder als Eingang initialisieren und auf Masse legen. Jötze
Wahrscheinlich ist der Prozessor in der Ärtzte-Gewerksschaft und streikt deswegen. Nee mal im Ernst: Wer die 5V über ein langes Kabel zur Schaltung führt muß bestraft werden. Wenn der 7805 genauso schlecht abgeblockt ist (der 10uF sitzt Diagonal entfernt zum Prozessor) wie der Prozessor, dann schwingt er gerade so fröhlich vor sich hin und schaltet abwechselnd 0V und 24V auf den Prozessor. Gruß Anja
>Gut, eine kalte Lötstelle, die kann natürlich überall liegen. Dem >widerspricht aber, dass das Modul zwei Wochen tadellos gelaufen ist, Das gemeine an kalten Lötstellen ist ja gerade das sie sich erst nach einiger Zeit und nur sporadisch bemerkbar machen. Sammel das Gerät ein und schau mal rein. >Wie, Stecker raus, rein, raus funktioniert manchmal? Diese Frage hast du noch nicht beantwortet.
Und noch was: ist der WDT aktiviert? Bei einer Anwendung, die unbaufsichtigt längere Zeit alleine laufen soll ist das Pflicht. Dann besteht nämlich die Chance, dass ein Absturz durch ein unvorhergesehenes Ereignis durch automatischen Neustart behoben wird. Überprüfe einfach mal, wenn das nächste Mal die Anwendung einfriert, ob Du sie durch ein LOW-HIGH-Puls an /MCLR wieder gestartet werden kann. Ist dem so, dann hätte der WDT das für Dich erledigt. Wenn nicht, dann ist der PIC im LatchUp und es irgendetwas schlimmeres passiert. Ansonsten einfach mal über "good practice" beim Programmieren nachlesen: es gibt verschiedene Techniken, die Deine Anwendung fehlertoleranter machen. Jötze
Anja schrieb: > Nee mal im Ernst: Wer die 5V über ein langes Kabel zur Schaltung führt > muß bestraft werden. Wenn der 7805 genauso schlecht abgeblockt ist (der > 10uF sitzt Diagonal entfernt zum Prozessor) wie der Prozessor, dann > schwingt er gerade so fröhlich vor sich hin und schaltet abwechselnd 0V > und 24V auf den Prozessor. Die 5V kommen nicht über das lange kabel, sondern die unregulierten 9V. Der 7805 macht auf der Platine dann die 5V draus. Es stimmt, die Fotos auf der HP erwecken den Eindruck, aber ich habe nachträglich noch den Spannungsregler auf die Platine gesetzt. holger schrieb: >>Wie, Stecker raus, rein, raus funktioniert manchmal? > > Diese Frage hast du noch nicht beantwortet. Dann hol ich das jetzt nach: Ja, manchmal funktioniert es. Jöt Ze schrieb: > Und noch was: > ist der WDT aktiviert? Nein, damit habe ich noch nie gearbeitet. Ich frage mich auch, warum der PIC sich einfach aufhängen soll, ich mache ja im Code nichts wirklich Kritisches. Aber ich werde mir den Tipp merken. Gruß Jens
Wenn Du wie ausgeführt nicht mehr als 9Min:59s zählen willst und das dann auch nur auf die Sekunde genau, dann gibt es keinen Grund einen (potentiell unzuverlässigen) externen Quarztakt zu nutzen. Nimm den internen 4MHz-Takt und initialisieren OSC1 und OSC2 als Eingänge, dann auf Masse. Wieder eine Maßnahme, um die Komplexität und damit die Unzuverlässigkeit zu minimieren. Meines Erachtens wird der Spruch "simple is best" unter Ingenieuren heutzutage zu wenig beachtet ... Jötze
Jöt Ze schrieb: > Wenn Du wie ausgeführt nicht mehr als 9Min:59s zählen willst und das > dann auch nur auf die Sekunde genau, dann gibt es keinen Grund einen > (potentiell unzuverlässigen) externen Quarztakt zu nutzen. Gut, Punkt für dich. Ich finde den 4.194304MHz-Trick einfach zu schön glaube ich :-) Jöt Ze schrieb: > Meines Erachtens wird der Spruch "simple is best" unter Ingenieuren > heutzutage zu wenig beachtet ... Naja, da ich kein Ingenieur bin, fühle ich mich davon mal nicht tangiert ;-) Gruß Jens
holger schrieb: >>Jaja ;-) Das klappt manchmal, aber nicht immer anscheinend. > > Wie, Stecker raus, rein, raus funktioniert manchmal? > Kalte Lötstelle suchen;) Ist der Power-Up-Timer aktiviert? Jötze
So weit ich weiß nicht. Schaut euch ruhig den Programmcode an, Link steht ja oben.
Am Benzin kanns nicht liegen, ist keins drinn... Wollte sagen: Läuft das Ding mit einer 9V Batterie und ist diese eventuell leer?
Ist die Frage ernst gemeint? Nein, die Schaltung wird mit einem Netzteil betrieben.
Dein _CONFIG sagt folgendes für 16F627A BOD disabled, besser einschalten PWRT disabled, besser einschalten HS OSC, bei 4MHz würde ich XT OSC nehmen
Jöt Ze schrieb: > Und noch was: > ist der WDT aktiviert? > > Bei einer Anwendung, die unbaufsichtigt längere Zeit alleine laufen soll > ist das Pflicht. Nö. In meinen privaten Anwendungen schalte ich grundsätzlich den Watchdog aus und die laufen alle schon jahrelang. O.k. das sind 8051 und AVRs. Ich vermute aber nicht, daß die PICs so extrem unzuverlässig sind. > Dann besteht nämlich die Chance, dass ein Absturz durch ein > unvorhergesehenes Ereignis durch automatischen Neustart behoben wird. Der Watchdog wird gerne genommen, um Softwarefehler bei mit der heißen Nadel gestrickten Programmen zu verschleiern. Besser ist in jedem Fall, ordentlich zu programmieren. Peter
Hi >Der Watchdog wird gerne genommen, um Softwarefehler bei mit der heißen >Nadel gestrickten Programmen zu verschleiern. >Besser ist in jedem Fall, ordentlich zu programmieren. Oder/und einen miesen Aufbau zu kaschieren. Ich habe in 12 Jahren mit AVRs noch keinen Watchdog gebraucht. MfG Spess
Ich bin der Bekannte.;) Das Modul habe ich jetzt bei meinem "Kunden" abgebaut und hier an einem Labornetzgerät angeschlossen... Die neue Situation jetzt. Wenn ich eine Spannung von 6 -7 Volt an das Modul anlege, arbeitet die Schaltung. Erhöhe ich auf > 8 Volt bis zu den knapp 10 Voolt, die von dem Steckernetzteil geliefert werden, dann geht die Anzeuge nicht. Und nein. Das Ding ist nicht runtergefallen.;) Das ist in einem Studio eingebaut, die Anschlussleitung durch eine Durchführung des Tisches nach unten geführt. Kann so nirgendwo hinfallen.! -- Rüdiger
>Erhöhe ich auf > 8 Volt bis zu den >knapp 10 Voolt, die von dem Steckernetzteil geliefert werden, dann geht >die Anzeuge nicht. Dann wird wohl der Spannungsregler zu warm. Zieht ja auch ein bisschen Strom das Teil. Dauert es ein wenig bis die Anzeige aussteigt?
>Nein, das geht bis auf den Doppelpunkt garnicht erst an. Miss mal die Spannung hinter dem 7805. LEDs mit Vorwiderstand leuchten ja auch bei weniger als 5V.
>Miss mal die Spannung hinter dem 7805. LEDs mit Vorwiderstand >leuchten ja auch bei weniger als 5V. Bei mehr natürlich auch;)
Der Regler braucht ja wohl knapp 1,5 Volt. Wenn die Spannung hinter dem Regler unter 5 Volt fällt, geht die Schaltung. Wenn auch recht dunkel. Bei über 5 Volt geht nur der Doppelpunkt.
Der PIC ist ja auch für 5V ausgelegt, daher sollten es relativ exakt 5V sein. "Über 5V" kann ja alles sein, 5.001V oder 7V...
>Bei über 5 Volt geht nur der Doppelpunkt. Wie, geht die Spannung über 5V? Dann wundert euch nicht das der PIC aussteigt;)
>Bei >= 7 Volt sind es hinter dem Regler 5,09 Volt... Häng mal ein Oszi dran. Da sieht die Welt manchmal ganz anders aus als mit dem Multimeter gemessen. Wird der 7805 heiss? Wird der PIC heiss? Ansonsten alles mal nachlöten. Gute Nacht.
Ein Oszi hab ich leider nicht. Der Regler und der Pic werden überhaupt nicht warm.
Dann könnte es höchstens sein, dass da - wie schon erwähnt - irgendwas schwingt. Hmm, aber warum, das ist die große Frage. Wie groß ist die Spannung hinterm Regler auf deinem Multimeter, wenn das Display nichts mehr anzeigt? Gruß Jens
Ist ja irgendwie ein dynamischer Vorgang. Sobald da hinterm Regler die 5 Volt überschritten werden, (die paar mV) dann bleibt die Anzeige weg. Schweint auch irgendwie zufällig zu sein. Eben waren nur 2 der 3 Anzeigen an.
ich sehe da 2 offene pins ? alle eingänge sollten definerte pegel haben
kann toci unbeabsichtigt interrupts auslösen? dann läuft eventuell ein stack über,oder das programm hängt weg permanenter interrupts
Unbeabsichtigt können da keine Interrupts ausgelöst werden, die muss man erst separat aktivieren per Register. ich hatte die Schaltung hier am Schreibtisch ne ganze Nacht lang laufen, und keine Probleme. Ich verstehe es nicht...
Eine ganze Nacht ist ja jetzt nicht grad der Langzeittest schlecht hin, vor allem nicht wenn man das ganze dann noch an einen weiter oben erwähnten "Kunden" gibt sollte man evtl ein wenig länger testen...
Rüdiger schrieb: > Die neue Situation jetzt. Wenn ich eine Spannung von 6 -7 Volt an das > Modul anlege, arbeitet die Schaltung. Erhöhe ich auf > 8 Volt bis zu den > knapp 10 Voolt, die von dem Steckernetzteil geliefert werden, dann geht > die Anzeuge nicht. Die Spannungregelung stinkt. Eigentlich sollte ein 7805 bei 6V nicht funktionieren. Der erlaubte Bereich liegt bei 7-35V, 9V ist ziemlich gut. Wenn du an der Eingangsspannung rumdrehst, darf sich die Ausgangsspannung nicht nennenswert ändern. Wichtig : löte die 2 obligatorischen Kondensatoren ganz nah an den 7805. Leider kann ich deine Platine nicht "lesen", der Aufbau mit den DIL ICs auf der Lötseite ist reichlich merkwürdig. Gibt es ein aktuelles Foto, mit dem Spannungsregler ?
Also ich würde auch auf einen Fehler in der Spannunngsversorgung tippen. Misst du die Spannung direkt an den Pins des PIC oder am Ausgang des Spannungsreglers? Eventuell hast du ja die Spannungsversorgung des PICs am Eingang des Spannungsreglers angelötet und nicht am Ausgang (kann schon mal passieren) oder Es ist eine Brücke zwischen IN und OUT. Der PIC verträgt nur maximal 7V. Kann aber durchaus sein, dass er bei 9V 2 Wochen durchhält, bevor er anfängt rumzuspinnen.
stepp64 schrieb: > Der > PIC verträgt nur maximal 7V. Kann aber durchaus sein, dass er bei 9V 2 > Wochen durchhält, bevor er anfängt rumzuspinnen. In meinem Datenblatt steht : Absolute Maximum Ratings(†) Voltage on VDD with respect to VSS........ -0.3 to +6.5V Weiter unten : VDD Supply Voltage PIC16LF627A/628A/648A ... 2.0 — 5.5V Wenn die Spannung deutlich unter 5V ist, schafft er nicht die vollen 20 Mhz. Ein Vorschlag für Jens / Rüdiger: Wennn du an die 5V einen Lautsprecher mit einem Vorwiderstand im KiloOhm Bereich anschliesst, hörst die vielleicht den Spannungsregler schwingen. (Notlösung, wenn kein Oszi vorhanden). Ansonsten geht auch ein Soundkarten-Oszi, naturlich AC gekoppelt mit einem kleinen Kondensator.
Also die Spannung ist schon hinter dem Regler zum PIC geführt. Kann die 5 Volt da ja auch messen. Ih hab mal mit einem Signalverfolger die Spannung abgehört.;) Da kommt nur bei Kontaktierung ein knack aus dem Lautsprecher. Wenn da was schwingt, dann nicht im Audiobereich... Die Spannung an Pin4 + 14 ist 5,09 Volt.
>Die Spannung an Pin4 + 14 ist 5,09 Volt. Ich hoffe du meinst Pin5 + 14. Brat über diese beiden Pins mal ganz dicht einen 100n dran. Und mit dicht meine ich nicht 3cm. Die Anzeige wird ja gemultiplext und der Strom durch die LEDs wird größer je höher VCC ist. Irgendwann ist dann evtl. der Punkt erreicht wo die Störungen für den PIC zu groß sind.
Nein. 4+14 sind ja gebrückt. Da habe ich gegen mein Bezugspotetial Netzteil - gemessen. Pin 5 ist Ground. Kann ich dann auch 4 + 5 nehmen.?
Hab den 100n drin. Da 4 und 14 genau gegenüber liegen, musste der über den PIC drüber stehen. Aber, das hat nichts geändert. Nachwievor, sobald am Pin 14 die Spannung 5 Volt erreicht, ist die Funktion nach dem Einschalten weg. Komischerweise, wenn das Modul mit 4,5 Volt am Pic gestartet wird, kann danach auch auf 5 Volt hochgeregelt werden. Dann passiert nichts.
Also. Hab jetzt die Zuführung zum Pin 14 jetzt auf direktem Weg zum Regler geführt. Das hat dann mit einem Elko drüber den Effekt, das nach dem zweiten Spannung anlegen, das Modul geht. Auch mit höherer Spannung. komisch nur, das das erste Anlegen der Spannung nicht geht. Er wenn ich kurz die Spannung wegnehme und wieder anschliesse, da geht es. Light evtl. an dem Elko, das der noch Restspannung hat..?
Inwiefern hast du da den Elko reingeschaltet? _____________ Ich weiß nicht mehr, wie genau ich die Spannungsversorgung zum PIC gelegt habe. Es kann sein, dass diese Verlegung nicht gerade optimal war, und sie irgendwie was vom Muxen abbekommt. Versuche mal, die Leitung ganz bewusst außen herum zu führen, das bringt vielleicht was. Ansonsten mal mit dem Oszi schauen, ob was in der Versorgung schwingt. Gruß Jens
Flash mal neu mit __CONFIG(0x3F62); d.h. PWRT einschalten, damit startet der PIC zuverlässiger. BODEN einschalten, kann nicht schaden.
Über dem PIC Pins VCC und Ground liegt der 100n. Das hat nichts geändert. Aber 220 uf Elko parallel darüber und! die direkte Verlegung vom 7805 zu VCC des PIC. Jetzt geht es wie oben beschrieben. Aber befriedigend ist das nicht, weil nicht 100% zuverässig. Und das geht in so einer Umgebung nicht.
Peter Dannegger schrieb: > Der Watchdog wird gerne genommen, um Softwarefehler bei mit der heißen > Nadel gestrickten Programmen zu verschleiern. > Besser ist in jedem Fall, ordentlich zu programmieren. > > > Peter Hä? Was hat denn das Eine mit dem Anderen zu tun? Natürlich soll man ordentlich programmieren, und danach ordentlich testen, und das alles ohne Watchdog. Und dann, ganz am Ende, wird der Watchdog eingeschaltet. Dann wird nichts "verschleiert", sondern Du gibst der Anwendung die Möglichkeit, nach UNVORHERGESEHENEN Ereignissen wieder neu zu starten oder in einen sicheren Zustand zu gehen (nach jedem Reset den Resetgrund abfragen und nach einem Watchdog-Reset evtl. in sicherem Zustand eine Fehlermeldung abgeben. Gruß, Jötze
Ohforf Sake schrieb: > Flash mal neu mit > __CONFIG(0x3F62); > d.h. > PWRT einschalten, damit startet der PIC zuverlässiger. > BODEN einschalten, kann nicht schaden. Genau das hab' ich auch schon geschrieben - fürchte aber, dass der Kollege das immer noch nicht gemacht hat. Es ist nämlich gut möglich, dass der Power-Up-Reset unsauber funktioniert, weil der Quarz nicht richtig angeschwungen ist oder beim ersten Aufleuchten der 7-Segmenter ein Brown-Out passiert ... Also los - das ist wirklich gleich gemacht. Bei der Gelegenheit bitte auch mal bestätigen, ob der unnötige externe Reset immer noch verwendet wird. Jötze
Ich werde es einprogrammieren; mal sehen, ob es was bringt. Problem ist, dass Rüdiger die Schaltung bei sich hat, und ich mein Programmiergerät hier. Aber das wird sich regeln lassen denke ich. Wir melden nachher, ob es was gebracht hat. Gruß Jens
Habe jetzt mit __CONFIG(0x3F62); neu programmiert, den Chip schicke ich morgen los, hoffentlich bringt es was. Die Reset-Konfiguration hab ich erstmal so gelassen, da dazu auch was an der Platine geändert werden müsste. Mal sehen, vielleicht klappt es ja schon so.
Danke für den Tip, es schein fürs erste zu funktionieren. Woran hat's gelegen? So wie ich das verstanden habe, hat der PIC am Anfang keine stabilen Bedingungen zum Starten gehabt, weil die 7-Segment-Anzeigen die Spannung zum Einbruch gebracht haben? Gruß Jens
guten tach, ich glaube der spannungsregler hat das problem gemacht, es kommt nämlich auch darauf an ,was für ein Netzteil verwendet wird also ob es nur eine pulsierende gleichspannung ausgibt und so weiter . Aber so wie verstanden habe hast Du das ja mit dem Elko hinbekommen! denn man merke sich nur 100 nf und irgendetwas mit langen Leitungen am Regler ist immer schlecht vor allem bei sp viel Leistungsabfrage!!
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.