- Er läßt sich programmieren - Er hat 5V Versorgungsspannung - Soweit ich mit dem Multimeter messen kann, liegt eine Sinusspannung durch den Quartz an Dennoch startet er nicht. Woran kann das liegen?
Dieser Ton mißfällt mir. Welche Informationen sind denn für diese Frage noch notwendig.
Hallo, schau mal ob du den MCLR per Pullup auf +5V gelegt hast, wenn der offen oder auf GND ist resetet der PIC ständig. picard
Felix Sturm schrieb: > Dieser Ton mißfällt mir. > > Welche Informationen sind denn für diese Frage noch notwendig. Fangen wir mit dem naheliegensten an: Woran machst du fest, dass der PIC nicht arbeitet? Es könnte ja auch sein, dass der PIC schon lange arbeitet, du aber durch einen Programmfehler keine Ausgabe auf einem Pin siehst. Die Frage hat was von "Hey Mechaniker, mein Auto springt nicht an! Was könnte das sein?" an sich. Es gibt unzählige Möglichkeiten. Inclusive Wasser im Vergaser, was bei einem Standplatz unter der Wasseroberfläche, 10 Meter vom Ufer entfernt nicht so ungewöhnlich sein soll. Nur ... das kann der Mechaniker alles nicht wissen.
Felix Sturm schrieb: > - Soweit ich mit dem Multimeter messen kann, liegt eine Sinusspannung > durch den Quartz an Ich glaube kaum, dass du das Messen kannst. Darum: 1) Schaltbild aber so wie es wirklich aufgebaut ist. 2) Schaltbild verifizieren! Alle Verbindunge ok. 3) Quellcode (bitte nicht die *.hex) 4) Ganz wichtig: Config-Bits genau so wie du sie gesetzt hast 5) Programm simulieren so können Softwarefehler eingegrenzt werden Das wäre ein Beginn zum mal ein Anfang. Problem: Ich kann dir hier mögliche Fehler aufschreiben, dass du noch 2 Stunde nur mit lesen beschäftigt bist =)
Wenns der Tank nicht ist... Lichtmaschine defekt? Oder Starthilfe, vielleicht ist die Batterie leer.... Bist du im ADAC?
picArd schrieb: > Hallo, > > schau mal ob du den MCLR per Pullup auf +5V gelegt hast, wenn der offen > oder auf GND ist resetet der PIC ständig. > > picard Ich habe MCLR_ON auf MCLR_OFF gestellt, keine Änderung. Ansonsten: device pic16F628A, hs_osc, wdt_on, mclr_off, lvp_off, protect_off Quarz hat 20Mhz
KÖNNTET IHR JETZT BITTE AUFHÖREN HIER SCHEIßE REINZUSCHREIBEN !!!!!!!!!!! WIE ERBÄRMLICH KANN MAN EIGENTLICH SEIN? Es hat hier jemand ein Problem und hätte gerne Lösungen und keine süffisanten Kommentare. Ich glaube der Fragensteller hat verstanden, dass er seine Anfragen in Zukunft präziser stellen muss. PS: Sollte jemand diesen Post als unhöflich oder anmaßend auffassen so kann ich ihm versicher, dass er so gemeint ist. Reißt euch doch mal zusammen. Schlimmer als im Kindergarten. Bei allem Respekt aber so geht es doch wirklich nicht.
Karl heinz Buchegger schrieb: > Es könnte ja auch sein, dass der PIC schon lange arbeitet, du aber durch > einen Programmfehler keine Ausgabe auf einem Pin siehst. Der Code ist schon getestet worden und funktionierte. Der einzige Unterschied ist: Ich habe die Schaltung komprimierter neu gelötet. Gleiche Bauteile, gleiche Verbindungen. Karl heinz Buchegger schrieb: > Die Frage hat was von > "Hey Mechaniker, mein Auto springt nicht an! Was könnte das sein?" > an sich. Nein, denn ein PIC ist nicht so anspruchsvoll. Jeder PIC hat einen Quartz oder einen Schwinger, eine Spannungsversorgung und schon sollte er laufen, seinen Code abarbeiten. In der ersten Zeile steht, daß eine LED eingesch. werden soll. Verbinde ich +5V direkt mit dem entsprechenden PIN, leuchtet die LED auch. Also muß der PIC nur "anziehen", auf ein hohes Level setzen, was er aber nicht tut. Daraus schließe ich, daß er nicht startet.
Felix Sturm schrieb: > picArd schrieb: >> Hallo, >> >> schau mal ob du den MCLR per Pullup auf +5V gelegt hast, wenn der offen >> oder auf GND ist resetet der PIC ständig. >> >> picard > > Ich habe MCLR_ON auf MCLR_OFF gestellt, keine Änderung. Ansonsten: > > device pic16F628A, hs_osc, wdt_on, mclr_off, lvp_off, protect_off > > Quarz hat 20Mhz Machst du für den Watchdogtimer einen Reset (den muss man regemäßig im Programm auslösen?). Ansonsten lies bitte nochmal was wir (speziell ich) geschrieben haben. Das brauchen wir - ohne das können wir dir nicht helfen wenn es nicht der WDT war.
Lehrmann Michael schrieb: > KÖNNTET IHR JETZT BITTE AUFHÖREN HIER SCHEIßE REINZUSCHREIBEN > !!!!!!!!!!! > > WIE ERBÄRMLICH KANN MAN EIGENTLICH SEIN? > > Es hat hier jemand ein Problem und hätte gerne Lösungen und keine > süffisanten Kommentare. Ich glaube der Fragensteller hat verstanden, > dass er seine Anfragen in Zukunft präziser stellen muss. > > PS: Sollte jemand diesen Post als unhöflich oder anmaßend auffassen so > kann ich ihm versicher, dass er so gemeint ist. > > Reißt euch doch mal zusammen. Schlimmer als im Kindergarten. Bei allem > Respekt aber so geht es doch wirklich nicht. Ich kann mich selbst verteidigen und will diese Art Hilfe nicht.
Felix Sturm schrieb: > Lehrmann Michael schrieb: >> KÖNNTET IHR JETZT BITTE AUFHÖREN HIER SCHEIßE REINZUSCHREIBEN >> !!!!!!!!!!! >> >> WIE ERBÄRMLICH KANN MAN EIGENTLICH SEIN? >> >> Es hat hier jemand ein Problem und hätte gerne Lösungen und keine >> süffisanten Kommentare. Ich glaube der Fragensteller hat verstanden, >> dass er seine Anfragen in Zukunft präziser stellen muss. >> >> PS: Sollte jemand diesen Post als unhöflich oder anmaßend auffassen so >> kann ich ihm versicher, dass er so gemeint ist. >> >> Reißt euch doch mal zusammen. Schlimmer als im Kindergarten. Bei allem >> Respekt aber so geht es doch wirklich nicht. > > Ich kann mich selbst verteidigen und will deine Hilfe nicht. Das ist eine Grundsatzfrage und betrifft nicht speziell diesen Thread. Um das zu verstehen bist du noch nicht lange genug dabei. Ich will dich auch nicht bevormunden. Schau dir lieber deinen Watchdogtimer an und sag und ob du den resettest. Ich seh's irgendwie kommen, dass ich dir geholfen hab deinen Fehler zu finden.
Ok Felix, benötigst du unbedingt den Watchdog ? Schalte ihn testhalber auch ab, wenn du bei HS (größer 16MHz) den Anläßt und keinen Vorteiler benutzt dann mußt du den nur unnötig oft zurücketzen. Das kann den Eindruck des Stillstands vermitteln. Picard
picArd schrieb: > Ok Felix, > > benötigst du unbedingt den Watchdog ? > Schalte ihn testhalber auch ab, wenn du bei HS (größer 16MHz) den Anläßt > und keinen Vorteiler benutzt dann mußt du den nur unnötig oft > zurücketzen. Das kann den Eindruck des Stillstands vermitteln. Okay du kannst besser erklären als ich. =) Sorry Felix ich wollte dich nicht blöd anmachen aber manchmal reicht's mir hier einfach. War nicht persönlich gemeint.
picArd schrieb: > Ok Felix, > > benötigst du unbedingt den Watchdog ? > Schalte ihn testhalber auch ab, wenn du bei HS (größer 16MHz) den Anläßt > und keinen Vorteiler benutzt dann mußt du den nur unnötig oft > zurücketzen. Das kann den Eindruck des Stillstands vermitteln. > > > Picard Ich habe einen SLEEP-Befehl im Code und brauche den Watchdogtimer....
Lehrmann Michael schrieb: > picArd schrieb: >> Ok Felix, >> >> benötigst du unbedingt den Watchdog ? >> Schalte ihn testhalber auch ab, wenn du bei HS (größer 16MHz) den Anläßt >> und keinen Vorteiler benutzt dann mußt du den nur unnötig oft >> zurücketzen. Das kann den Eindruck des Stillstands vermitteln. > > Okay du kannst besser erklären als ich. =) > > Sorry Felix ich wollte dich nicht blöd anmachen aber manchmal reicht's > mir hier einfach. War nicht persönlich gemeint. Deine Reaktion an sich war völlig in Ordnung und gerechtfertigt, ich kann es nur schlicht nicht haben, wenn mich jemand verteidigen will.
Hallo Felix, das hier hatte ich Überlesen: In der ersten Zeile steht, daß eine LED eingesch. werden soll. Verbinde ich +5V direkt mit dem entsprechenden PIN, leuchtet die LED auch. Also muß der PIC nur "anziehen", auf ein hohes Level setzen, was er aber nicht tut. Daraus schließe ich, daß er nicht startet. ----------- Ich schließe mal einen Softwarefehler aus wenn alles schon funktioniert hat. Du könntest also ein kleines Testprogramm nur für die LED schreiben, z.B. TEST: BSF Portx,x (LED AN) call WARTE (Zeit Totschlagen) BCF Portx,x (LED AUS) goto TEST ..... Dann weißt du auf jeden Fall schonmal ob der PIC arbeitet. Picard
Felix Sturm schrieb: > picArd schrieb: >> Ok Felix, >> >> benötigst du unbedingt den Watchdog ? >> Schalte ihn testhalber auch ab, wenn du bei HS (größer 16MHz) den Anläßt >> und keinen Vorteiler benutzt dann mußt du den nur unnötig oft >> zurücketzen. Das kann den Eindruck des Stillstands vermitteln. >> >> >> Picard > > Ich habe einen SLEEP-Befehl im Code und brauche den Watchdogtimer.... Okay was für einen Vorteiler hast du denn eingestellt? Ich würde zum reinen Testen einfach mal einen Pin auf high setzen und dann in einen Endlosschleife springen. Gewähre uns doch mal einen Einblick in deinen Code ansonsten suchen wir nach der Nadel im Heuhaufen.
Lehrmann Michael schrieb: > 1) Schaltbild aber so wie es wirklich aufgebaut ist. > 2) Schaltbild verifizieren! Alle Verbindunge ok. > 3) Quellcode (bitte nicht die *.hex) > 4) Ganz wichtig: Config-Bits genau so wie du sie gesetzt hast > 5) Programm simulieren so können Softwarefehler eingegrenzt werden 1) Da gibt es kein Problem, es hat ja schon funktioniert 2) Da wird wohl das Problem liegen. Neulich habe ich Schaltbild und Foto meines Schaltkreises hochgeladen und dieser Thread wurde gesperrt. 3) Ist in PICBASIC: Starten: 'PICProg-Einstellungen DEFINE OSC 20 'Initialisierung CMCON = %00010100 TRISB = %00000000 TRISA = %11001111 'Variablen Warten Var Word Zeit Var Word Innen Var Word Schritte Var Word Temp1 Var Word Temp2 Var Word 'Hardwarezuweisungen LED VAR PORTB.2 'Konstanten Aus CON 0 Ein CON 1 Minuten CON 40 Ausgleich CON 270 'Assembler ASM INT_LIST macro ; IntSource, Label, Type, ResetFlag? INT_Handler TMR1_INT, _Zaehlen, PBP, yes endm INT_CREATE ; Creates the interrupt processor ENDASM 'INTCON = 0 T1CON = $31 High LED Pause 500 Low LED 4) device pic16F628A, hs_osc, wdt_on, mclr_off, lvp_off, protect_off 5) Womit?
Punkte zum Abarbeiten: Wenn das programm vorher schon lief, ist es zu 98% ein Hardware-Fehler. Ansonsten: * WDT off stellen, geht's dann ??? * auf int. Oszillator stellen, geht's dann
Felix Sturm schrieb: > 5) Womit? Dein Compiler sollte das eigentlich können. Heißt oft Debug oder ähnlich. Ansonsten kuck mal bei google nach PIC Simulator. Der 628A ist Standart und wird so gut wie immer unterstützt. Ist das denn das gesamte Programm? Folgende Anmerkungen. - Der PIC muss immmer in einer Schleife sein. Selbst wenn die LED nur einmal blinken soll so muss er danach in eine Endlosschleife. Ansonsten wird sofort ein Reset gemacht. - Ein "PIC-Programm" besitzt immer eine Main-Schleife oder beginnt bei org0x00 (auch als origin 0 bekannt) Was macht denn der ganze andere Schmodder in dem Programm. Du verwendest doch garkeine ISR warum dann der ganze Interrupthandler? Mach doch einfach mal nur: (sorry ich kann den Basic Dialekt vom PIC nicht) Configword Hauptprogramm: TRISB=0x00 (Compilerspezifisch musst du evtl. auf die BANKs achten) PORTA=0xFF (evtl. wieder zurück zu BANK0) Endlosschleife Ich hoffe du kannst das verstehen und umsetzen.
Bilderstuermer schrieb: > * auf int. Oszillator stellen, geht's dann Ja. Damit ist der weitere Weg klar. Freut mich, daß du diese Idee hattest.
P.S. Die internen Oszillatroen bei den PICs sind oft erstaunlich genau (häufig 1% oder besser), da spart man oft den Quarz und hat 2 Pins frei.
Bilderstuermer schrieb: > P.S. Die internen Oszillatroen bei den PICs sind oft erstaunlich genau > (häufig 1% oder besser), da spart man oft den Quarz und hat 2 Pins frei. Nein, ich meinte damit, daß ich die Leitungen zum Quartz und den Quartz selbst überprüfe.
Lehrmann Michael schrieb: > Ich hoffe du kannst das verstehen und umsetzen. Natürlich kann ich das. Das Problem ist aber nicht beim Code, wie bereits erwähnt.
Okay wie sind denn die 2 Kondensatoren beim Quarz von den Werten her ?
Habe es jetzt versucht, aber keinen Erfolg gehabt. Wie kann ich den Quartz auf Funktion testen, wie die 15pf-Kondensatoren, die zu Masse führen? Welche Schritte sind vonnöten?
>Habe es jetzt versucht, aber keinen Erfolg gehabt. Wie kann ich den >Quartz auf Funktion testen, wie die 15pf-Kondensatoren, die zu Masse >führen? > >Welche Schritte sind vonnöten? Oscilloskop an OSC2 und nachmessen. Ansonsten Multimeter und im ausgeschalteten Zustand alle Verbindungen checken. Liegen die 15pF wirklich an Masse? Gibt es da einen Kurzschluß zwischen Masse und oder zwischen OSC1 und OSC2? Offene Leitungen? Schlechte Lötstellen? Pins wirklich alle im Sockel? Mach mal ein Foto von der Schaltung;)
auf SL370018.jpg ist am linken Bildrand ein Kurzschluss zwischen 2 Bahnen
holger schrieb: > Ansonsten Multimeter und im ausgeschalteten Zustand > alle Verbindungen checken. > Gibt es da einen Kurzschluß zwischen Masse und oder zwischen > OSC1 und OSC2? Offene Leitungen? Mach mal ein Foto von der Schaltung;) Alles ohne Mikroprozessor gemessen. >Liegen die 15pF wirklich an Masse? Ja. > Gibt es da einen Kurzschluß zwischen Masse und oder zwischen OSC1 und OSC2? Nein und Nein > Offene Leitungen? Was ist das? > Schlechte Lötstellen? Siehe Foto > Pins wirklich alle im Sockel? Ja
Bilderstuermer schrieb: > auf SL370018.jpg ist am linken Bildrand ein Kurzschluss zwischen 2 > Bahnen Behoben. Trotzdem keine leuchtende LED.
Blöderweise liegt das fette blaue Kabel über dem interessanten Bereich.
Wie sah vorher der Funktionierende aufbau aus? Hast du mal das Flussmittel entfernt und die Verbindungen mit einer Lupe gechecked? Hat das quarz evtl einen hau ab? Geht es in einer anderen schaltung/geht die schaltung mit einem anderen Quartz? Liegen evtl. auf den darüberfliegenden Leitungen Störsignale an? Funktionioert ein anderer µC in der Schaltung? µC evtl.Defekt? (oszillator??)
Kommt das Programm an, auch wenn er keinen Takt hat? hast du ihn einmal ausserhalb Programmiert oder ausgelesen?
Philipp Bigott schrieb: > Wie sah vorher der Funktionierende aufbau aus? Hast du mal das > Flussmittel entfernt und die Verbindungen mit einer Lupe gechecked? Hat > das quarz evtl einen hau ab? Geht es in einer anderen schaltung/geht die > schaltung mit einem anderen Quartz? Liegen evtl. auf den > darüberfliegenden Leitungen Störsignale an? Funktionioert ein anderer µC > in der Schaltung? µC evtl.Defekt? (oszillator??) Breiter. Ich hatte mehr Platz. Ich sehe auch nicht mehr als du auf den Fotos. Was heißt "Hau ab"? Gerade den Quartz getauscht, keine Änderung. Das Blaue Kabel ist die Verbindung zwischen PIC und Quartz + 15pf Kond.. Einen anderen µC habe ich zZt nicht. Der interne Quartz scheint zumindest zu gehen.
Philipp Bigott schrieb: > Kommt das Programm an, auch wenn er keinen Takt hat? hast du ihn einmal > ausserhalb Programmiert oder ausgelesen? Du meinst?
Bilderstuermer schrieb: > P.S. Die internen Oszillatroen bei den PICs sind oft erstaunlich genau > > (häufig 1% oder besser), da spart man oft den Quarz und hat 2 Pins frei. Die internen Oszillatoren sind miserabel und dazu noch temperaturabhaengig...habe mal den Fehler begangen, damit eine Uhr zu bauen, weil kein Pin mehr frei war einen externen Quarz dranzuhaengen. Obwohl ich den internen Oszillator abgestimmt habe (nur sehr grob moeglich) und die SW noch auf den Oszillator abgestimmt habe, lief die nicht lange genau. Trotz geringer Temperaturabweichungen hatte ich so etwa 2-5 Minuten Abweichung pro Tag...mal plus, mal minus, und absolut unverlaesslich. Und dummerweise nicht ausgemittelt ;-) Gruss Michael
Hallo, >Ich sehe auch nicht mehr als du auf den Fotos< Eben. Das ist ja schon vermessen, Bilder von Leiterbahnen o.ae. hier einzustellen und zu sagen "Sucht mal schoen..." Es ist ja wohl inzwischen klar, dass - der PIC einen Hau hat oder - die getestetet Quarze einen Hau haben oder - der Aufbau einen Hau hat oder - nicht der korrekte Oszillator in der Konfiguration gewaehlt ist. Ersteres, zweites und drittes kannst nur DU testen. Ich tippe auf letzteres, obwohl Du anderer Meinung bist. Es gibt Programmer, die akzeptieren das Konfig-Wort nicht in dieser Form wie DU es eingegeben hast. Gruss Michael
Hast Du denn einen Emulator? Das ist eines der grundlegenden Messmittel, wenn man sich ernsthaft mit uC beschaeftigen will. Die 30 EUR muss man unbedingt ausgeben! Gruss Michael
Hi, versuche mal statt HS_osc (was ja laut DB für den 20MHz Quarz grundsätzlich richtig wäre) XT_osc! Hatte das auch schon mal das die 20MHz eines Lieferanten nicht im HS Modus anlaufen wollten. Mit der Einstellung XT funktionierten die plötzlich wunderbar. Warum - weiß ich bis heute nicht. Die Schaltung läuft hier aber noch mit 20MHz und XT_osc! Ist zumindest einen Versuch wert. Ach ja, noch was: Der Pic hat keinen INTERNEN Quarz. Das zeitbestimmende glied intern dürfte vom Prinzip eher in Richtung RC gehen. Gruß Carsten
mexman schrieb: > Bilderstuermer schrieb: >> P.S. Die internen Oszillatroen bei den PICs sind oft erstaunlich genau >> (häufig 1% oder besser), da spart man oft den Quarz und hat 2 Pins frei. > > Die internen Oszillatoren sind miserabel und dazu noch > temperaturabhaengig...habe mal den Fehler begangen, damit eine Uhr zu > bauen, weil kein Pin mehr frei war einen externen Quarz dranzuhaengen. > Obwohl ich den internen Oszillator abgestimmt habe (nur sehr grob > moeglich) und die SW noch auf den Oszillator abgestimmt habe, lief die > nicht lange genau. > Trotz geringer Temperaturabweichungen hatte ich so etwa 2-5 Minuten > Abweichung pro Tag...mal plus, mal minus, und absolut unverlaesslich. > Und dummerweise nicht ausgemittelt ;-) Aber zwei bis fünf Minuten/Tag für einen internen RC Oszillator ist doch Super. Klar mit einem Quarz nicht zu vergleichen. Aber von einem Keramikresonator nun auch nicht mehr Welten entfernt. Es sind auf jeden Fall deutlich weniger als die 1% Abweichung die Bilderstürmer noch gut findet. (0,34% bei 5Min/Tag) Wenn es nicht gerade USB sein soll auch für eine serielle Datenübertragung zum PC noch super geeignet! Gruß Carsten
mexman schrieb: > Eben. Das ist ja schon vermessen, Bilder von Leiterbahnen o.ae. hier > einzustellen und zu sagen "Sucht mal schoen..." Mir gefällt dein Ton nicht. mexman schrieb: > Hast Du denn einen Emulator? mexman schrieb: > Es gibt Programmer, die akzeptieren das Konfig-Wort nicht in dieser Form > wie DU es eingegeben hast. Das Programm funktioniert. Soweit sind wir schon lange. Carsten schrieb: > Hatte das auch schon mal das die 20MHz eines Lieferanten nicht im HS > Modus anlaufen wollten. Kann ich machen. Aber es war dennoch der gleiche 20Mhz-Quartz wie vorher. Inzwischen ist es ein neuer 20Mhz-Quartz. Daran kann es nicht liegen. Entweder an den OSC-Pins, sprich am PIC selbst oder an der Leitung zur Masse. Carsten schrieb: > Aber zwei bis fünf Minuten/Tag für einen internen RC Oszillator ist doch > Super. Klar mit einem Quarz nicht zu vergleichen. Aber von einem > Keramikresonator nun auch nicht mehr Welten entfernt. > Es sind auf jeden Fall deutlich weniger als die 1% Abweichung die > Bilderstürmer noch gut findet. (0,34% bei 5Min/Tag) > Wenn es nicht gerade USB sein soll auch für eine serielle > Datenübertragung zum PC noch super geeignet! Ich werde ihn wohl nehmen müssen, wenn alles fehlschlägt. Da mein Programm abhängig vom Prozessortakt geeicht ist, muß ich alles neu schreiben. Das wäre schade.
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.