Sida 1 av 2

PICen startar om gång på gång

Postat: 5 september 2011, 01:09:06
av anto04
Hej! Jag har byggt en liten krets med en PIC (16F1516) och lite lysdioder. Jag har knåpat ihop ett enkelt program som skapar ett rinnande ljuseffekt. Problemet är att PICen startar om hela tiden. Inte oregelbundet, utan nästan exakt med två sekunders intervall. Programmet körs alltså i två sekunder. Sen startar det om.

Såhär ser det ut:
Bild

Omstarten syns tydligt som ett avbrott i mönstret.

Såhär har jag satt Configuration Bitsen:
Bild

Vad kan felet vara? Förutom PICen, lysdioder och motstånd så har jag en spänningsregulator på 5V och elyt på 220uF parallellkopplad framför den, samt en diod 1N4001 i serie med hela kretsen för att undvika felpolarisering.

Jag har provat att strömförsörja kretsen både via ett nätaggregat, och enbart från min PICkit 2. Det spelar ingen roll vilket jag gör.

Mvh Anton

Re: PICen startar om gång på gång

Postat: 5 september 2011, 01:15:14
av Klas-Kenny
Har du inte kopplat någonting till MCLR-pinnen?

Sen så bör du ha en avkopplingskondensator också, tex. 100nF keramisk, så nära VDD och VSS-pinnarna som möjligt.

Re: PICen startar om gång på gång

Postat: 5 september 2011, 01:48:11
av Glenn
*deleted* Suck, bra att man kan läsa också :(

..Hur du kopplat MCLR är dock det jag skulle kolla först..

Re: PICen startar om gång på gång

Postat: 5 september 2011, 07:51:59
av sodjan
> Jag har knåpat ihop ett enkelt program

Var är det ? Jag ser inte koden...

Re: PICen startar om gång på gång

Postat: 5 september 2011, 12:56:39
av anto04
Tack för tipsen! Ska prova med keramisk kondensator när jag kommer hem. Ska också kolla hur jag har kopplat MCLR. Minns inte riktigt nu.

sodjan: Jag lade inte upp koden för jag tänkte att den är så simpel så att felet knappast kan ligga där. Om inte en kondensator löser problemet så lägher jag upp koden

Mvh Anton

Re: PICen startar om gång på gång

Postat: 5 september 2011, 20:28:11
av AndersL
På grund av regelbundenheten hade jag gissat på WDT, men om configbitarna är enligt bilden skulle den vara avstängd. Så då faller det förslaget.

Re: PICen startar om gång på gång

Postat: 5 september 2011, 20:43:27
av blueint
Cykliska spänningsdippar?

Re: PICen startar om gång på gång

Postat: 5 september 2011, 22:33:37
av sodjan
Saknar fortfarande koden som uppvisar detta fenomen.

Re: PICen startar om gång på gång

Postat: 6 september 2011, 02:17:40
av anto04
Okej, då har jag löst problemet! Det var WDT som triggade omstarten hela tiden. Anledningen till att WDT var aktiv trots att jag satt den som inaktiv i Conf. Bitsen var att jag skriver programmet i MPLAB och sedan exporterar en hex-fil som jag läser in i programmet "PICkit 2 Programmer". När man exporterar en hex-fil från MPLAB måste man kryssa i att Configuration Bitsen ska följa med, vilket jag också hade gjort. Sedan är det så smart ordnat att varje gång som man kompilerar programmet i MPLAB så uppdateras den exporterade hex-filen, vilket PICkit 2-programmet, om det är igång, upptäcker och då programmerar MCU:n på momangen med den uppdaterade hex-filen. Det dumma är bara att när MPLAB uppdaterar hex-filen vid varje kompilering så följer inte Configuration Bitsen med verkar det som. Configuration bitsen förblir alltså som de var satta första gången som jag kompilerade programmet. När jag nu gjorde en "export" på nytt, så löste det sig.

Så var det med det. Tack för hjälpen i alla fall! :)

Mvh Anton

Re: PICen startar om gång på gång

Postat: 6 september 2011, 08:24:29
av SeniorLemuren
anto04 skrev:Tack för tipsen! Ska prova med keramisk kondensator när jag kommer hem. Ska också kolla hur jag har kopplat MCLR. Minns inte riktigt nu.

sodjan: Jag lade inte upp koden för jag tänkte att den är så simpel så att felet knappast kan ligga där. Om inte en kondensator löser problemet så lägher jag upp koden

Mvh Anton
Hmm, så det simpla proramet var alltså boven trots allt. :)

Re: PICen startar om gång på gång

Postat: 6 september 2011, 09:02:50
av anto04
Nja, det kan man väl knappast säga. Snarare MPLABs bristfälliga uppdateringsfunktion av hex-filen vid kompilering. Tycker faktiskt att även configuration-bitsen borde uppdateras. Inte bara programkoden.

Re: PICen startar om gång på gång

Postat: 6 september 2011, 09:59:31
av sodjan
Varför måste du gör en export ?
Men får du inte en HEX fil vid en vanlig "build" ?

Det är väl inte så att du sätter config via menyerna i
MPLAB *istället* för i koden ? Det är inte speciellt smart.
Hade du visat koden från början så hade det ju varit
uppenbart att/om du hade gjort det "felet".

Re: PICen startar om gång på gång

Postat: 6 september 2011, 11:54:10
av anto04
Jag måste inte göra en export. Jag får en hex-fil vid en vanlig "build". Det är så jag har jobbat.

Och jo, det är så att jag sätter config via menyerna. Dock verkar det vara så att config-inställningarna enbart följer med i hex-filen vid en export, och inte en build. Väldigt ologiskt och opraktiskt, eller?

Men visst. You made your point. "Visa alltid koden."

Mvh Anton

Re: PICen startar om gång på gång

Postat: 6 september 2011, 12:21:59
av sodjan
> Väldigt ologiskt och opraktiskt, eller?

Kanske det. Men dokumenterat, så vitt jag minns. Om man
kollar lite så är menyerna främst till för att ställa in innan
debug sessioner eller ICE körningar. För "final builds" så
är det direektiv i koden som rekomenderas.

Ett problem är ju också att dokumentera CONFIG inställningarna.
Om du gör det med direktiv i koden så sker det ju automatiskt,
så att säga. Om du fipplar via menyerna så måste du dokumentera
det på annat sätt. För övrigt så har jag *aldrig* använt config
funktionerna i menyerna så vitt jag minns. Kanske någon gång
då jag har har gjort "load" på en HEX fil och använt menyerna
för att se hur CONFIG var satt i HEX filen.

> Och jo, det är så att jag sätter config via menyerna.

Så nu slutar du alltså med det och kör allt i källkoden istället ?

Re: PICen startar om gång på gång

Postat: 6 september 2011, 19:21:55
av anto04
> För "final builds" så är det direektiv i koden som rekomenderas.

Ok. Jag läste en kurs "Mikrodatorteknik", och då fick vi bara lära oss att använda Config-menyerna. Bara därför som jag fortsatt med det.

> Så nu slutar du alltså med det och kör allt i källkoden istället ?

Japp :)