PIC16F887 Problem

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Glycol
Inlägg: 158
Blev medlem: 11 mars 2007, 21:53:33
Ort: Viken

PIC16F887 Problem

Inlägg av Glycol »

Var på kjell och köpte en bunt PIC12F629. Trodde jag iallafall. Jag fick en påse med PIC16F887. När jag ett par timmar senare upptäckte detta tyckte jag att de kunde jag väl leva med. Men problemet är att jag är total nybörjare. Har ett PICkit2 med en PIC16F690. Leker lite med PICBasic Pro. Så ja det är låg nivå. Efter att ha kolla i datablad osv så blir jag inte riktigt klar över hur jag skall koppla upp den på min experimentplatta. Tänkte programmera den med PICkit2 programmeraren. Och behöver hjälp med hur jag skall koppla. Det är 2 Vdd och Vss på PIC16F887 och jag vet inte varför. Jag missar säkert något väldigt enkelt. Behöver bara en knuff åt rätt håll.
Senast redigerad av Glycol 14 februari 2009, 10:05:25, redigerad totalt 1 gång.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: PIC18F887 Problem

Inlägg av sodjan »

> Det är 2 Vdd och Vss på PIC18F887 och jag vet inte varför.

Därför att en av varje inte räcker till.

> Och behöver hjälp med hur jag skall koppla.

Vad var det mer exakt i kapitel 3 i PICkit2 manualen som var oklart ??
Generella rallarsvingar leder ingenstans, var mer konkret kring vad som är oklart
så att vi vet vad det är som ska svaras på.

> Efter att ha kolla i datablad osv så blir jag inte riktigt klar över.....

Igen, *vad* är oklart ? Kapitel, sidnummer, citat eller liknande.

16F887 är väl trevlig, men en 40-pinnare är lite klumpig på labbplattan, en 16F886
hade varit enklare (eller någon annan 28 pinnare). Men får att bara ha något att komma
igång med så hade en 16, 18 eller 20 pinnare räckt bra...
Glycol
Inlägg: 158
Blev medlem: 11 mars 2007, 21:53:33
Ort: Viken

Re: PIC18F887 Problem

Inlägg av Glycol »

Har nu studerat PICdatabladet ytterligare och fått en del svar. Hade missat kapitel 3 i manualen för själv programmeraren. Eller rättare sagt jag hade inte den manualen. CD:en jag fick med funkade inte så jag laddade ner så mycket jag kunde från nätet. Nu vet jag vilka anslutningar som skall dras ut till stiftlisten för programmeraren. Eftersom VDD och VSS har dubbla anslutningar skall de bara anslutas till gemensan GND och +5V. En av VDD skall även anslutas mot programmeraren. Är det rätt så långt?
Skall bara göra en enkel blinka LED grej till en PC-baserad robot. Kändes onödigt med usb-I/O kort för det :)
Och tanken var från början att prova den enklaste PIC jag kunde få tag i på Kjell. Jag fick dessa av misstag, men eftersom de har mer portar kan jag de som behövs för ICSP endast för det. Max ström dragen från I/O portarna är 90 mA, kör jag 30 LEDs rinnande så klarar jag att driva direkt från PICen via lämplig resistor, skall jag tända alla samtidigt måste jag ha transistor på utgångarna.

Har jag tänkt fel nu så rätta mig!!
Jag är som sagt total nybörjare, har bara programmerat PICar med färdiga program på jobbet. När jag lär mig lite mer kommer jag nog att kunna ställa lite bättre frågor hoppas jag.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: PIC18F887 Problem

Inlägg av sodjan »

> En av VDD skall även anslutas mot programmeraren. Är det rätt så långt?

"En av" ? De är ju ihoppkopplade i alla fall till samma matning, Och det är
den matningen du använder till progammeraren, inte en av Vdd pinnarna
specifikt.

> skall jag tända alla samtidigt måste jag ha transistor på utgångarna.

Nja, bara om du vill köra en massa ström, men varför det ?
Det räcker ju med att du ser att lysdioderna tänds. De flesta
syns bra med bara några mA.
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 7487
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Re: PIC18F887 Problem

Inlägg av Marta »

Antar det är 16F887 Du menar, vad jag vet finns det ingen 18F887.

Var har Du hittat 90mA? Det datablad jag har säger något annat.

En enskild pinne får max utsättas för 25mA och strömmen in i Vdd får vara max 250mA. Detta är "Absolute maximum ratings" och de värdena skall Du inte lägga konstruktionen på. 15mA per pinne är nog mera lagom, samt en bit under 200mA totalt. Max ström ut ur Vss är 300mA, så den kan nog sänka en bit över 200mA utan att krokna.


För 30 LED's så behövs det ingen klumpig 40-taggare, Du klarar det på 6 pinnar om Du gör det smart, så en 14-taggare skulle räcka. Skall bara 1 tändas samtidigt så behövs inga transistorer. Med sådana kan Du driva 15mA per LED utan begränsningar. 15mA och 1/6 mux ger bra ljus med moderna dioder.

Sätt bara inte muxade LED's på PGC/PGD, då är det upplagt för problem p.g.a. allt för mycket kapacitans mellan dessa.
Glycol
Inlägg: 158
Blev medlem: 11 mars 2007, 21:53:33
Ort: Viken

Re: PIC18F887 Problem

Inlägg av Glycol »

Marta du har helt rätt det är 16F887 jag menar. Skall genast ändra rubriken.
Jag hittade infon på sidan 247 i databladet. Laddade ner det för 2 dagar sedan från Microchip.
Hur löser man det rent kopplingsmässigt med en mindre PIC. Jag fick dessa av misstag men jag har några 16F690 också.

Sodjan: Tänkte vad du menade men skrev något annat. Jag menade att istället för att koppla programmeraren till den gemensam 5v från regulatorn så kopplade jag mot en av VDD pinnarna. Blir samma sak i verkligheten. Satt och stirra lite på kopplingsplattan när jag skrev inlägget :)
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 7487
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Re: PIC16F887 Problem

Inlägg av Marta »

Hämtade nytt datablad och det stämmer, Microchip har sänkt specifikatonen för drivförmågan hos denna krets (och sannolikt flera andra :tumner: ) till mindre än hälften. Lite förvånande med tanke på att det är ett chip med dubbla pinnar för matningen. Nu är det bara spekulationer, men undrar om det kan ha att göra med t.ex. A/D-offset o.dyl eller verkligen handlar om att det säger tjoff vid de tidigare angivna strömmarna. Hur som helst inte bra, det begränsar verkligen möjligheterna att driva t.ex. LED-displayer.


För att driva många LED's med få pinnar så används TRIS-registerna för att styra dem så samma pinne både kan driva individuella LED's när den drar åt ena hållet och den gemensamma för en grupp när den drar åt det andra. Säger inte så mycket, men googla på charlieplex så hittar Du massor om det.

Kanske inget för nybörjare, men meningen är ju att komma vidare och lära sig mera. På det här kan Du lära både timer och interrupt såväl som mycket annat. Betydligt mera givande än att blinka LED's med en pinne till varje.

16F630 kan vara en lämplig krets, den är fortfarande specad 200mA, men vilken som helst går bra så länge den klarar strömmarna. En klen PIC som kräver drivtrissor åt båda hållen är knappast lämplig för t.ex. vita LED's med 3.5V spänningsfall. Blir inte många mV kvar för seriemotståndet, så toleransen mot diverse variationer och blir allt för liten.
Skriv svar