een spokende PIC

Hallo,
Ik heb een print gemaakt om mijn laser standalone aan te kunnen sturen, mbv een pic. Hardstikke leuk allemaal, maar het probleem is dat de pic dienst weigert. Mijn gebruikte pic is de 16F877A en ik gebruik om te programmeren een wisp628. Zodra ik die aansluit wordt de programmer wél herkent maar de pic zelf niet. (Device ID FFFF), echter wanneer ik de PIC in een breadboardje prik kan ik die wél programmeren met de wisp, en dan functioneerd de pic ook gewoon (Ik heb ter controle een ledje aangesloten)

Als ik de pic op mijn print zet brand een ledje op dezelfde pin niet, of af en toe of half (lijkt me duiden op een steeds resettende pic). Ik heb ter vervanging al ongeveer 10 andere pics geprobeerd, 16f77 en 16F877A, allemaal met exact dezelfde problemen.

Ik maak gebruik van een 20 mhz crystal met 22 pf condensatoren, de fuses staan op: _CP_OFF & _PWRTE_ON & _WDT_OFF & _HS_OSC, wat bij vorige projecten met dezlefde chip perfect werkte.

Op het eerste oog denk je aan een niet goed ontkoppelde voeding, ik maak gebruik van een labvoeding op 5 volt, aan het begin van de print met een 10 u elco en bij ieder ic een 100 nF. Als extra heb ik op de onderkant ook nog een aantal SMD condo's gezet van 100 nF. Op de scoop ziet de voeding er zo strak uit als een meid van 16 een vel papier. Er zit een zeeer lichte "trilling" op, maar die meet ik overal dus dat lijkt meer op een 100 hz van het lichtnet, en die is op 50 mV/div nauwlijks zichtbaar. Er is verder geen enkele oscillatie zichtbaar.

Het crytal heb ik bekeken op de scoop en die lijkt het goed te doen, dwz: ik zie een erg breedbandig signaal als er spanning op de pic staat en anders niets, dit lijkt mij het signaal van een trillend crystal..

De reset weerstand zit helemaal goed vast, die heb ik nog vervangen, ik ehb alle solderingen nagekeken, alle spoortjes gecontroleerd maar ik zie geen problemen.. Wat zou dit in godsnaam kunnen zijn?

Het ledje zit op pin B7, deze pin wordt ook gebruikt voor ICSP, dus ik dacht dat dat het probleem zou kunnen veroorzaken, maar toen ik het ledje eraf knipte bleef het..

De pic komt wél tot leven (gezien het feit dat het crystal begint te oscilleren), en af en toe brand het ledje wat vol aan zou moeten staan, en soms ook niet.. En waarom kan ik de pic niet icsp proggen maar wel als die in een breadboard zit.

Heeft iemand enig idee?

En nee, ik neem geen avr/arm/dubieus-chipje-met-1024-poten-uit-california :P

Ik zie dingen die je nooit voor mogelijk hield. Ik maak ze mogelijk. Ik kan je pijn en lijden laten zien. In tegenslag vind ik hoop, in de verhalen die ik hoor inspiratie. Ik kan je veel vertellen. Wat ik doe? Ik ontdek. Mijn wereld is jouw wereld.
JoWi

Special Member

Op 6 juni 2006 14:57:38 schreef T.Assies:
En waarom kan ik de pic niet icsp proggen maar wel als die in een breadboard zit.

Dat probleem heb ik alleen wanneer er hardware zit aangesloten op PB6 of PB7 (zoals een ledje of een andere te laagohmige belasting). De programmer krijgt dan die lijnen niet meer heen en weer gesjoemeld (gaat via een serieweerstand).

Ignorance is bliss

Op 6 juni 2006 15:48:01 schreef JoWi:
[...] Dat probleem heb ik alleen wanneer er hardware zit aangesloten op PB6 of PB7 (zoals een ledje of een andere te laagohmige belasting). De programmer krijgt dan die lijnen niet meer heen en weer gesjoemeld (gaat via een serieweerstand).

Dat dacht ik ook, maar toen ik het ledje afknipte werkte het nog steeds niet!

Ik zie dingen die je nooit voor mogelijk hield. Ik maak ze mogelijk. Ik kan je pijn en lijden laten zien. In tegenslag vind ik hoop, in de verhalen die ik hoor inspiratie. Ik kan je veel vertellen. Wat ik doe? Ik ontdek. Mijn wereld is jouw wereld.

Schema en foto's zeggen veel meer dan een verhaal.

Het schema en de pcb heb ik een tijd geleden ontworpen en ge"etst, dat is ook wel een beetje te zien, vooral aan het schema :P Ik kende toen de verschillende subnetten nog niet.. maargoed

Maar ik zou niet weten wat er fout aan is..

schema:

http://img415.imageshack.us/img415/6590/schema6dr.th.gif

PCB:

http://img517.imageshack.us/img517/2037/pcb9ng.th.png

Mijn code op dit moment is:

code:


	list    P=16F877A
#INCLUDE <P16F877A.INC>
__CONFIG        _CP_OFF & _PWRTE_ON & _WDT_OFF & _HS_OSC
	
	ORG		00h


INIT

	BSF		STATUS,RP0
	CLRF	TRISB
	BCF		STATUS,RP0
MAIN
	BSF		PORTB,5
        BCF             PORTB,5  
	GOTO	MAIN



	END

Om pulsjes op de scoop te kunnen zien.. maar het geeft me nog geen aanleiding wat er fout kan zijn helaas

Ik zie dingen die je nooit voor mogelijk hield. Ik maak ze mogelijk. Ik kan je pijn en lijden laten zien. In tegenslag vind ik hoop, in de verhalen die ik hoor inspiratie. Ik kan je veel vertellen. Wat ik doe? Ik ontdek. Mijn wereld is jouw wereld.

Welke waarde heeft je reset-weerstand R1?
Heb ooit hetzelfde probleem gehad, en toen bleek (na uren van foutopsporing) dat ik een verkeerde weerstand had genomen.

Daar de resetingang ook de programmeer spannings ingang is en je deze waarde te laag hebt gekozen zou het kunnen zijn dat je Vpp inelkaar zakt omdat hij de rest van je print ook wil voeden.
Hogere weerstand en of een diode ermee in serie.

terwijl jullie dit posten kwam ik ook tot die conclusie. Ik had een rits weerstanden van 10 ohm een een rits van 10K ohm.. 3 keer raden welke ik erin heb gesoldeerd :P

Ook bij de pulldown bij de dipswichtes, en die begonnen te roken toen ik de switches aanzetten.. zo kwam ik op het spoor. Op dit moment heb ik een reset weerstand van 33k.

De print doet nog wel raar, als ik met mijn vingers in de buurt komt doet ie het wel en als ik ze weghaal niet..
Misschien moet ik het crystal eens vervangen..

Ik zie dingen die je nooit voor mogelijk hield. Ik maak ze mogelijk. Ik kan je pijn en lijden laten zien. In tegenslag vind ik hoop, in de verhalen die ik hoor inspiratie. Ik kan je veel vertellen. Wat ik doe? Ik ontdek. Mijn wereld is jouw wereld.

Ik heb het kristal vervangen, maar het probleem bleef. Uiteindelijk heb ik het kunnen vinden:

-Verkeerde weerstanden gebruikt, 10 ohm ipv 10k ohm
-Slecht contact in een voetje (@$!@#$ veercontact)

En als belangerijkste:

Low voltage programming moet uitstaan, anders gaat de pic storen. Ik vermoed dat mijn vinger, als ik die in de buurt hang, genoeg is om de pic in programmeertoestand te krijgen oid?..

Nu ik _LVP_OFF ook heb geset werkt het perfect!

Ik zie dingen die je nooit voor mogelijk hield. Ik maak ze mogelijk. Ik kan je pijn en lijden laten zien. In tegenslag vind ik hoop, in de verhalen die ik hoor inspiratie. Ik kan je veel vertellen. Wat ik doe? Ik ontdek. Mijn wereld is jouw wereld.

Op 6 juni 2006 19:16:47 schreef T.Assies:
......
De print doet nog wel raar, als ik met mijn vingers in de buurt komt doet ie het wel en als ik ze weghaal niet..
Misschien moet ik het crystal eens vervangen..

Dat heb ik hier al een keer eerder gelezen. Voornamelijk de 40 pin versie, en dan met je vingers in de buurt van pin 40.(?)
Ik ga even zoeken wie dat was, en met welke pic.

/edit
gevonden
http://www.circuitsonline.net/forum/view/32305/1
en deze
http://www.circuitsonline.net/forum/view/34228

[Bericht gewijzigd door chipje op dinsdag 6 juni 2006 20:12:30

Why do people spend money they don't have, to buy things they don't need, to impress people they don't like...? .-.-.-.-. Wie zich gelukkig voelt met het geluk van anderen, bezit een rijkdom zonder grenzen.

Low voltage programming gaf bij mij ook problemen bij de 16F877.. Mooi uitzetten, nergens voor nodig..