Problem med io-port dspic

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
dangraf
Inlägg: 530
Blev medlem: 9 juni 2003, 15:30:56
Ort: göteborg

Problem med io-port dspic

Inlägg av dangraf »

Hej!
jag har ett litet underligt problem med min dspic 33f256gp506. Jag försöker driva små Leds på pinnarna RC14 och RC12 vilket inte går så bra.
Dioden är kopplade från Pinne -> restistor (1kOhm) ->Diod-> Vdd (3.3V) så att de ska lysa om man sätter pinnen låg.
Det verkar gå alldeles utmärkt att styra pinnarna ifall dessa hänger i luften. Då kan man tydligt se ett pulståg med period på 1sek (500ms låg, 500ms hög).
Kopplar jag in dioderna så blir det ett pytteliget pulståg med en period på 10ms där spänningen ligger mellan ca 0.5V och 1.3V.

Kod: Markera allt

  TRISCbits.TRISC14 = 0;   // sätter pinnarna till Output
  TRISCbits.TRISC12 = 0;
  while(1)
  {  	
	  timestamp = timerGetReading();     // hämtar tick-tiden
	  while(timerGetTimeDiff(timestamp)< U16MS_TO_TICK(500) )
	  {
		  	// väntar 500ms
	  }
              // togglar pinnarna mellan Låg och Hög
	 LATCbits.LATC15 = !LATCbits.LATC15;
	 LATCbits.LATC12 = !LATCbits.LATC12;			
  }

Pinnarnas funktion:
pin40 (OSC2/CLKO/RC15)
pin39 (OSC1/CLKIN/RC12)

Kortet kör på 3.3V vilket borde bli en ström på 3.3/1000 = 3.3mA
Enligt databladet så ska man kunna sänka 4mA på samtliga pinnar förutom CLKOUT som kan sänka 25mA.

Har någon förslag/ideer på vad detta felet kan bero på?
Användarvisningsbild
mri
Inlägg: 1165
Blev medlem: 15 mars 2007, 13:20:50
Ort: Jakobstad, Finland
Kontakt:

Re: Problem med io-port dspic

Inlägg av mri »

Kortet kör på 3.3V vilket borde bli en ström på 3.3/1000 = 3.3mA
3.3mA borde det bli med bara resistorn som belastning, men har du ytterligare en LED i serie stjäl den väl ungefär halva Vdd ?
dangraf
Inlägg: 530
Blev medlem: 9 juni 2003, 15:30:56
Ort: göteborg

Re: Problem med io-port dspic

Inlägg av dangraf »

Jo, det har du rätt i, kom på det senare.. Men det borde samtidigt betyda att strömen bli ännu lägre än 3.3mA,
(3.3V-0.7V)/1000 = 2.6mA
Ville väl mest visa att jag ligger inom området av vad databladet säger.
Användarvisningsbild
mri
Inlägg: 1165
Blev medlem: 15 mars 2007, 13:20:50
Ort: Jakobstad, Finland
Kontakt:

Re: Problem med io-port dspic

Inlägg av mri »

OK. (En LED har dock högre spänningsfall än 0.7V)

En gissning bara, utan att vera nåt om din processor: Vissa kretsar har I/O portar med "high-current" mode som måste aktiveras separat.
bearing
Inlägg: 11676
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Problem med io-port dspic

Inlägg av bearing »

Kod: Markera allt

TRISCbits.TRISC14 = 0;   // sätter pinnarna till Output
...
LATCbits.LATC15 = !LATCbits.LATC15;
14 och 15 är inte samma pinnar.

Vad använder du för LED? Vissa färger har över 3.3V framspänningsfall.
dangraf
Inlägg: 530
Blev medlem: 9 juni 2003, 15:30:56
Ort: göteborg

Re: Problem med io-port dspic

Inlägg av dangraf »

Attans! jag har skrivit fel i inlägget, det ska vara RC15 och RC12. Det var ett bra påpekande.
Initieringen av TRIS registerna görs egentligen i en egen init-funktion, blev fel när jag skrev inlägget.

framspänning över dioderna.
grön: typ 2.9V, max 3.2V
röd: typ 1.92V max 2.5V

http://media.digikey.com/PDF/Data%20She ... W87RA1.pdf

Så det blir alttså en väldgit liten ström och ev ingen ström alls på den gröna dioden.
Men även om det inte skulle gå någon ström genom dioden så borde väl pinnen på processorn kunna gå låg/hög?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Problem med io-port dspic

Inlägg av sodjan »

Hur menar du ? Är inte koden i inlägget samma kod som du kör med ?
Sitter du och skriver av koden från scratch för inlägget ?
Det låter inte speciellt smart... :-) Varför inte bara copy/paste ?
dangraf
Inlägg: 530
Blev medlem: 9 juni 2003, 15:30:56
Ort: göteborg

Re: Problem med io-port dspic

Inlägg av dangraf »

Nä, det är inte speciellt smart inser jag nu.. :? Jag kopierade in while-slingan men skrev in TRIS- inställningarna manuellt i inlägget eftersom detta gjordes i en init-funktion med hjälp av #defines från en h-fil vilket jag tyckte skulle bli rörigt att beskriva.

Det var lösningen på problemet! Jag hade klantat mig och satt fel tris-register i min define.
Ber om ursäkt för min klantighet och tackar så väldigt mycket för all hjälp!

Nu funkar det.

/Daniel
Skriv svar