Altijd, althans heel vaak... heb ik bij schakelingen met een PIC microcontroller problemen met het kristal....

nu ook weer, als ik me vinger er (op een bepaalde manier) op ligt, dan gaat de pic runnen, haal ik me vinger er af... dan stopt die weer....

het gaat nu om een PIC18f2550, met een 4mhz kristal, en 2 condensatortjes van 27pf, maar ik heb het ook geprobeerd met 15pf...

ook heb ik wel eens gezien dat er een weerstand van 1Mohm over het kristal staat.... maakt dat het beter?

heeft iemand tips hoe ik het besten te werk kan gaan....

bestaan er ook gewoon een slecht kristal? heeft het zin om het met een ander te proberen?

of zal ik 20 Mhz proberen.? of of.... tips graag....

Is dat op een pcb, of op breadboard?

Breadboard zelf werkt ook als kleine condensator. Het werkt soms zelfs al als je het kristal aan de ground hangt.

PCB

dat ga ik proberen, kijken of het helpt...

[Bericht gewijzigd door Arjan Swets op (46%)]

helpt ook niet..... ik word er gek van....

Ik gebruik altijd PIC's met kristallen en heb er nog nooit eentje meegemaakt die het niet/vreemd deed...
Er zal wel iets verkeerd staan bij de oscillator/mclre/lvp/bor of wdt...

Begrijp ik nou dat het steeds om hetzelfde kristal gaat?
Dan kun je eens gewoon een ander proberen.

En die weerstand kun je in twee seconden zelf uittesten. :)

De 1MOhm weerstand mag, maar is niet nodig. Microchip plaatst hem zelf wel op al hun demo boarden, maar vreemd genoeg wordt er in de datasheets nergens over gesproken...

Heb je werkelijk problemen met het kristal? Of zou het bijvoorbeeld ook samen kunnen hangen met de ontkoppeling van de voeding?

Mogelijk zijn AVRs makkelijker, maar ik ontwerp op de printjes altijd een plekje voor die condensators, maar ik heb ze er op iets van 30-40 printjes alleen de eerste twee printjes opgezet.

Als het breadboard is, dan kan je ook overwegen om die condensatortjes even weg te laten. Mogelijk is de parasitaire capaciteit al voldoende om hem te laten lopen.

Iets waar je met een doorgemetalliseerde PCB erg op moet letten is dat het huisje van het kristal geen contact maakt met de bovenliggende pads op de printplaat. We zetten vroeger zelfs in productieomgeving kleine kraaltjes (jaja) ertussen (om de pootjes van het kristal). Het kan zijn dat het soldeer omhoog kruipt en kortsluiting maakt tussen het huisje van het kristal en een van de pennen. Er zijn ook speciale mica plaatjes voor om ertussen te zetten (tussen het kristal en de printplaat). Eigenlijk zou je op de PCB de bovenliggende pads helemaal niet moeten aanbrengen en de print voor het kristal enkelzijdig moeten maken of de bovenliggende pads zo klein maken dat hij nooit kortsluiting kan maken met de behuizing.

Zie deze pdf onderaan (Isolierscheiben für Schwingquarze)...

http://www.meeps.nl/circuitsonline/isq.pdf

Op 16 december 2011 00:49:23 schreef Frederick E. Terman:
Begrijp ik nou dat het steeds om hetzelfde kristal gaat?
Dan kun je eens gewoon een ander proberen.

En die weerstand kun je in twee seconden zelf uittesten. :)

nee ik heb er a 2 van 4 Mhz geprobeert en eentje van 20mhz..

en bij allemaal het zelfde... als ik me vinger er op lig op een bepaalde plek...dan soms opeens begint de pic te lopen....

ik denk haast dat het ergens anders in zit... maar zou ff niet weten waar ik het zoeken moet.... dus het zou ook de voeding kunnen zijn?

maar ik zal vannavond weer eens verder zoeken....

Laat schema en layout eens zien dan.

Op 16 december 2011 11:29:24 schreef Jochem:
Laat schema en layout eens zien dan.

en je configuration fuses setting.

We zetten vroeger zelfs in productieomgeving kleine kraaltjes (jaja) ertussen (om de pootjes van het kristal).

Dat deden wij vroeger ook. (Of zo'n rood spacer plaatje)
Tegenwoordig gebruiken we altijd SMD versies van de HC49. Daar zit netjes een isolatiebakje onder, en zijn ook prima te gebruiken voor through-hole. (Gewoon even de pootjes rechtbuigen)

@Arjan: Er zal inderdaad zoals ik bovenstaand reeds schreef wel een config setting verkeerd staan.

Op 16 december 2011 11:26:37 schreef Ganzz:
MCLR?

Ik zet ook mijn geld op de MCLR. Heb je een pull-up weerstand aan de MCLR hangen?

Ik zet in op LVP_ON zonder pull-down... ;)

Een 2550 heeft ook een interne klok...

Oo kan het ook nog aan de instellingen liggen?...
wel raar dat die het dan soms wel doet als ik me vinger er op ligt.... maar dit zijn de instellingen in Proton


CONFIG_START
   PLLDIV = 5 ; No prescale (4 MHz oscillator input drives PLL directly)
   CPUDIV = OSC1_PLL2 ; [OSC1/OSC2 Src: /1][96 MHz PLL Src: /2]
   USBDIV = 2 ; USB clock source comes from the 96 MHz PLL divided by 2
   FOSC = HSPLL_HS ; HS oscillator, PLL enabled, HS used by USB
   FCMEN = OFF ; Fail-Safe Clock Monitor disabled
   IESO = OFF ; Oscillator Switchover mode disabled
   PWRT = OFF ; PWRT disabled
   BOR = OFF ; Brown-out Reset disabled in hardware and software
   BORV = 0 ; Maximum setting
   VREGEN = OFF ; USB voltage regulator disabled
   WDT = OFF ; HW Disabled - SW Controlled
   MCLRE = ON ; MCLR pin enabled; RE3 input pin disabled
   PBADEN = OFF ; PORTB<4:0> pins are configured as digital I/O on Reset
   CCP2MX = OFF ; CCP2 input/output is multiplexed with RB3
   STVREN = OFF ; Stack full/underflow will not cause Reset
   LVP = off ; Single-Supply ICSP disabled
   XINST = OFF ; Instruction set extension and Indexed Addressing mode disabled (Legacy mode)
   DEBUG = OFF ; Background debugger disabled, RB6 and RB7 configured as general purpose I/O pins
   CP0 = OFF ; Block 0 (000800-001FFFh) not code-protected
   CP1 = OFF ; Block 1 (002000-003FFFh) not code-protected
   CP2 = OFF ; Block 2 (004000-005FFFh) not code-protected
   CPB = OFF ; Boot block (000000-0007FFh) not code-protected
   CPD = OFF ; Data EEPROM not code-protected
   WRT0 = OFF ; Block 0 (000800-001FFFh) not write-protected
   WRT1 = OFF ; Block 1 (002000-003FFFh) not write-protected
   WRT2 = OFF ; Block 2 (004000-005FFFh) not write-protected
   WRTB = OFF ; Boot block (000000-0007FFh) not write-protected
   WRTC = OFF ; Configuration registers (300000-3000FFh) not write-protected
   WRTD = OFF ; Data EEPROM not write-protected
   EBTR0 = OFF ; Block 0 (000800-001FFFh) not protected from table reads executed in other blocks
   EBTR1 = OFF ; Block 1 (002000-003FFFh) not protected from table reads executed in other blocks
   EBTR2 = OFF ; Block 2 (004000-005FFFh) not protected from table reads executed in other blocks
   EBTRB = OFF ; Boot block (000000-0007FFh) not protected from table reads executed in other blocks
CONFIG_END

nou dit is de print...het moet een soort zwaailicht worden voor een model vuurtoren (voor een kennis). En deze pic had ik nog liggen, en die is lekker snel...

beide kanten:
http://arjan-swets.dyndns.info/forums_pictures/vuurtoren/both_klein.png

bottom:
http://arjan-swets.dyndns.info/forums_pictures/vuurtoren/bottom_klein.png

top:
http://arjan-swets.dyndns.info/forums_pictures/vuurtoren/top_klein.png

die aansluitingen aan de buitenkant gaan naar steeds 4 leds in serie, met een weerstand naar +16 volt...

heeft de 18F2550 ook een interne klok? hoe zet ik die aan, kan ik in ieder geval de rest van de elektronica checken....

Zit er een pull-up aan MCLR? Is op tekening niet te zien (te klein)

ja een 33K weerstand van de +5V naar pin 1...

ps, je kan op de plaatjes klikken, voor een groter plaatje...

[Bericht gewijzigd door Arjan Swets op (43%)]

Schema is nog onderweg?

Ja,

Nu zijn de plaatjes aan te klikken, daarstraks niet... ;)
PLLDIV=5 lijkt me in ieder geval niet goed, dan wordt de kristalfrequentie van 4MHz door 5 gedeeld...

Ik gebruik 4k7 als pullup.

Soms heb je pullups die significante tijd "actief" zijn. Dan kost het power, maar dat is hier niet. Je kan "gratis" eens proberen of 4k7 beter werkt.

wacht even

je hebt 27 pF geb ruikt, en 15 werkt neit

maar als je je vinger erop legt doet tie het wel..

Nou iets heel stoms, maar je bent zelf een vrij redelijke capaciteit, zou je dan neit eerst opteren om de capaciteit iet s GROTER te maken. Bijv 33 pF of 47 pF.