Instabil Pic18F458

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
Chribbe76
EF Sponsor
Inlägg: 1167
Blev medlem: 17 januari 2004, 22:43:17
Ort: Stockholm

Instabil Pic18F458

Inlägg av Chribbe76 »

Nu har jag stött på ett problem som är skumt.
Jag förstår inte vad som gör att picen startar om hela tiden.
Om jag ändrar små saker i programmet (tex fler nop:ar) så kan jag få allt att bli stabilt.
Jag har testat med 2st picar och den ena är mer instabil än den andra.

Det jag vill göra nu är att fråga Microchip men det kan vara bra att posta här innan jag blandar in dom.

Här är Projektet i MPLAB V7.11
http://ake.myftp.org/forum/Bugg_med_Pic18F458.rar

Programmet gör föjande:
* Vänta tills PORTD,0 = 1
* Blinka med en lysdiod på PORTD,1

Det som är inkopplat är:
* Matning 5V
* kristal 10Mhz.
* Pull up på MCLR
* Pull down på PORTD,0
* Lysdiod + motstånd på PORTD,1

Om du vill hjälpa mig så kan du komma med förslag på fel eller koppla in det som jag har gjort, så får vi reda på om du får samma resultat.

Koppla in matningen och dutta med +5V på PORTD,0
Lysdioden blinkar, om den slutar blinka har picen startat om eller löpt amok.

Tack.
Användarvisningsbild
Schnegelwerfer
Inlägg: 1863
Blev medlem: 8 november 2004, 13:46:56

Inlägg av Schnegelwerfer »

Har du satt en avkopplingskonding på spänningsmatningen på PIC:en? 100nF så nära kretsen som möjligt är aldrig fel...
Användarvisningsbild
Chribbe76
EF Sponsor
Inlägg: 1167
Blev medlem: 17 januari 2004, 22:43:17
Ort: Stockholm

Inlägg av Chribbe76 »

Ja, det har jag.

Jag har provat med och utan och i alla tänkbara storlekar, ingen skillnad.
macgyver
Inlägg: 321
Blev medlem: 8 juni 2005, 00:24:09
Ort: Göteborg
Kontakt:

Inlägg av macgyver »

har du kollat igenom dinna macron ordentligt?
t.ex. i macrot Time_ som används via Delay står det:

if (TimE_==.2)
goto $ + 4
exitm
endif

eftersom goto ligger inuti ett macro så läggs ju "goto $+4" in i koden

dvs i Delay innan "goto Igen" kommer ett "goto $+4" vilket leder till att programmet går ur loopen och därmed flippar ur

Igen:
bsf Led
Delay .1000000
bcf Led
Delay .1000000
goto Igen
Användarvisningsbild
Chribbe76
EF Sponsor
Inlägg: 1167
Blev medlem: 17 januari 2004, 22:43:17
Ort: Stockholm

Inlägg av Chribbe76 »

goto $ + 4

blir ett goto som pekar på nästa instruktion för en goto inst. tar 4byte.
Jag testade i simulatorn och det verkar vara OK.
macgyver
Inlägg: 321
Blev medlem: 8 juni 2005, 00:24:09
Ort: Göteborg
Kontakt:

Inlägg av macgyver »

aha okej, ja isåfall så verkar det ju inte vara nåt fel på koden
har du kollat att oscillatorn fungerar riktigt? t.ex. du kan ju testa att köra med intern osc och se om det blir nån skillnad
Användarvisningsbild
Chribbe76
EF Sponsor
Inlägg: 1167
Blev medlem: 17 januari 2004, 22:43:17
Ort: Stockholm

Inlägg av Chribbe76 »

Den här picen har tyvärr ingen intern oscillator men jag ska nog testa att dribbla lite med oscillatorn och se vad som händer.
Men jag tror inte att felet ligger där.

Tack för dina ide'er, om du kommer på något mer så skriv.
Användarvisningsbild
cykze
EF Sponsor
Inlägg: 1539
Blev medlem: 8 april 2004, 10:40:28
Ort: Uppsala

Inlägg av cykze »

Har du provat med konding mellan Reset-pinnen och jord?
Användarvisningsbild
Chribbe76
EF Sponsor
Inlägg: 1167
Blev medlem: 17 januari 2004, 22:43:17
Ort: Stockholm

Inlägg av Chribbe76 »

Nej, varför ska man ha det?
Vilket värde ska den ha?

Nu har jag har testat med 100nF mellan reset och jord.
Samma resultat.
Användarvisningsbild
cykze
EF Sponsor
Inlägg: 1539
Blev medlem: 8 april 2004, 10:40:28
Ort: Uppsala

Inlägg av cykze »

Jag hade problem med att en AVR resetades då jag körde med ett gammalt dåligt nätagg. Speciellt var det då man rörde på någon pinne eller "dutta med +5V på PORTD,0" som du skriver. En konding mellan Reset och jord hjälpte då.
Användarvisningsbild
Chribbe76
EF Sponsor
Inlägg: 1167
Blev medlem: 17 januari 2004, 22:43:17
Ort: Stockholm

Inlägg av Chribbe76 »

"dutta med +5V på PORTD,0" är för att den ska gå förbi väntgrejen innan lysdioden ska börja blinka, det har inget med felet att göra.
Om jag lägger till 12 nopar i den stora "nop-hopen" så blir picen stabil.
Jag kan ta på alla pinnar utan att picen flippar ur.
frejo
Inlägg: 496
Blev medlem: 21 april 2004, 21:43:01
Ort: Linköping

Inlägg av frejo »

Jag har haft problem när jag programmerat avr:er, programmet har flera gånger buggat ur om jag försökt programmera med auto: erase, open file, write. Det verkar som att den behöver lite tid mellan erase och write av någon anledning. Så nu får jag trycka erase manuellt och sen write så går det finfint.

Glömmer jag erase blir det som sagt strul, jag antar att det beror på att det ligger skräp kvar i flash. Det kan bli de mest konstiga fel,från att en sträng som skrivs ut till uarten tappar nån bokstav till att hela alltet hänger sig.
Användarvisningsbild
Chribbe76
EF Sponsor
Inlägg: 1167
Blev medlem: 17 januari 2004, 22:43:17
Ort: Stockholm

Inlägg av Chribbe76 »

När jag programmerar med MPLAB och PicStartPlus så måste jag trycka erase flash device först annars får jag verifieringsfel överallt så jag antar att MPLAB inte raderar minnet alls.

Nu har jag testat att byta kristall (hittar inga andra än 10Mhz tyvärr) och kondingar till olika värden. Ingen skillnad.

Jag testade att programmera hela flashminnet (snark) i den pic som funkade bäst och då fungerade den ännu bättre, efter en dutt på PORTD,0 så blinkade lysdioden 30sek. En dutt till och den blev hur stabil som helst.
Nu kan jag inte få den att flippa ur längre.
Samma behandling av den sämsta picen gav inget resultat.

Om jag stänger av PLL:en i picen så fungerar det perfekt med båda picarna, så den interna klockfrekvensen verkar påverka.

Nästa test: Samma program i en Pic18F452 men då tog jag naturligtvis bort

movlw .7
movwf CMCON

Det funkade bra men så tänkte jag att små ändringar i programmet kan ju ändra på resultatet så jag la in 2 st nopar istället och då fick jag samma resultat som Med Pic18F458.

Va fan...... Jag blir galen :evil:
cyr
Inlägg: 2712
Blev medlem: 27 maj 2003, 16:02:39
Ort: linköping
Kontakt:

Inlägg av cyr »

Hur ser kopplingen ut? Sitter den på en experimentplatta eller? Hur är jordningen osv?
Användarvisningsbild
Chribbe76
EF Sponsor
Inlägg: 1167
Blev medlem: 17 januari 2004, 22:43:17
Ort: Stockholm

Inlägg av Chribbe76 »

En bild säger nog allt:

Varning stor bild

http://ake.myftp.org/forum/Bugg_med_Pic18F458.jpg
Skriv svar