Hallo ich versuche einen Pic12F683 mit einem externen Quartz (20Mhz) zum laufen zu bringen. Der Pic tuts aber nicht. Gleiche Beschaltung an einem PIC16F877A und alles läuft perfekt. Hat vielleicht jemand eine Ahnung. An den OSC-Pins messe ich eine Gleichspannung von 2,3V. Die Beschaltung ist der Quartz 2 Kondensatoren 22pF von den Oscillatorpins nach Masse und einen Reihenwiderstand 100 Ohm zum OSC2-Pin des Controllers.
Was denn nun, Quarz oder Qszillator? Bei einem Quarz wäre die Beschaltung mit den Cs richtig, allerdings musst du dann auch beide Quarzpins mit den entsprechenden Pins des PICs verbinden und nicht nur einen. Bei einem Oszillator verbindest du nur den Ausgang des Oszillators mit dem Eingang des entsprechenden Pin des PICs. Allerdings benötigt ein Oszillator keine zusätzliche Kondensatoren. Nur Plus und Minus. Sven
Sorry natürlich Quartz (HC49 SMD) Die Beschaltung ist mir schon klar. Wie gesagt am grossen PIC läufts ja auch. Nur der kleine 8-Piner macht Probleme. Andreas
Ich denk es hat eher was mit der Software zu tun zumal sich die ja erstmal sehr in Grenzen hält. Ich hab die fuses auf: #FUSES HS //High speed Osc (> 4mhz) gestellt, wodurch eigentlich schon gesagt sein müsste das er den externen Quartz nehmen soll. Oder muss man noch mehr tun. Hier das Program: #device adc=8 #FUSES NOWDT //No Watch Dog Timer #FUSES HS //High speed Osc (> 4mhz) #FUSES NOCPD //No EE protection #FUSES NOPROTECT //Code not protected from reading #FUSES NOMCLR //Master Clear pin used for I/O #FUSES NOPUT //No Power Up Timer #FUSES NOBROWNOUT //No brownout reset #FUSES NOIESO //Internal External Switch Over mode disabled #FUSES NOFCMEN //Fail-safe clock monitor disabled #use delay(clock=20000000) void main() { setup_comparator(NC_NC); setup_vref(FALSE); enable_interrupts(GLOBAL); while(1){ } // TODO: USER CODE!! }
Also ich würde die Rs weg lassen. Und natürlich den anderen Quarzpin mit OSC1 verbinden (steht so nicht in deinem Posting). Also: GND --- C --- Quarz --- C --- GND | | OSC1 OSC2 Bei mir hat es so immer funktioniert. Ich benutze allerdings 27p als C. Und möglichst dicht an den PIC das ganze (so ca. 1cm Leiterbahnlänge). Config auf HS sollte auch richtig sein. Mal anderen PIC probiert? Sven
ich weiss das er nichts macht. Aber schaltet er dann denn Quartz ab? Ich lass es trotzdem mal toggeln. Danke
Sven Stefan wrote: > Also ich würde die Rs weg lassen. Und natürlich den anderen Quarzpin mit > OSC1 verbinden (steht so nicht in deinem Posting). Also: > > GND --- C --- Quarz --- C --- GND > | | > OSC1 OSC2 > > Bei mir hat es so immer funktioniert. Ich benutze allerdings 27p als C. > Und möglichst dicht an den PIC das ganze (so ca. 1cm Leiterbahnlänge). > > Config auf HS sollte auch richtig sein. Mal anderen PIC probiert? > > Sven Hallo Sven , so hab ichs auch nur halt 22p. Sonst nehm ich 18p. GND --- C --- Quarz --- C --- GND | | OSC1 R=100 | OSC2 Wie gesagt selber aufbau mit kurzen Leitungen an nem pic16f877a und die 20MHz stehen.
Ok, da ich mich immer selbst ärgere das die meisten hier Fragen stellen aber sobald sie die Lsg. haben nicht mehr schreiben woran es lag, hier nochmal meine Ergebnisse. Ich hatte mir ein Programm geschrieben in dem ich den internen Quartz benutzt hab und lies dann ein Pin im Timer2 Interrupt toggeln. Als alles funzte hab ich dann die fuse für den Takt auf HS gestellt und der Quartz wollt immernoch nich schwingen. Der Fehler war das am osc2-Pin (GP4) noch ein Kondensator 1nF dran hing. Hatte ne alte Schaltung benutzt und die Leiterbahn nicht richtig durchtrennt. Naja man lernt halt nie aus. Andreas
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.