Hi,
ich habe hier einen PIC16F1825 @ 3V und hab ein paar Leds (ca. 2V @
20mA) dran, mit Charlieplexing. Problem ist nun, dass die Leds zu dunkel
sind, sprich zu wenig Strom fließt. Ich messe so um die 7 mA.
Interessant dabei ist auch, dass es keine Rolle spielt was für ein
Vorwiderstand in der Leitung hängt; ich kann ihn auch weglassen, mehr
Strom fließt dadurch aber nicht, Spannung bricht halt auf ca. 2V ein.
Ich hab auch mal eine Led gegen GND geschaltet, nichts anders, Spannung
bricht am Pin auf 2,2V oder so ein, Strom wieder so bei 7mA. Ich habs
auch mal einen entsprechend kleinen Widerstand (100 Ohm, da sollte auf
jeden Fall etwas Strom fließen) versucht: fließen so um die 9mA.
Im Datenblatt steht was von 25mA (sink/source). Bei 'Sink' komm ich an
die 25mA hin, aber 'sourcen' tut der µC nicht mehr als ca. 10mA.
Kann mir nun wer sagen woran das liegt? Oder mach ich was falsch?
Viele Grüße
Hmmm,
warum keine Low-Current Led's? Generell würd ich eher "sink" nutzen.
Zu deinem Problem, wenn du einen Portpin nutzt, der auch als
Analogeingang nutzbar ist, musst du dies ihm natürlich auch mitteilen.
Da schau mal nach den ANSELA, ANSELB und ANSELC Register. Dies wäre auf
jedenfall eine Erklärung...
Gruss Sascha
Datenblatt Seite 349:
Maximum current out of VSS pin, -40°C ≤ TA ≤ +85°C for industrial... 85
mA
Maximum current out of VSS pin, -40°C ≤ TA ≤ +125°C for extended... 35
mA
Maximum current into VDD pin, -40°C ≤ TA ≤ +85°C for industrial... 800
mA
Maximum current into VDD pin, -40°C ≤ TA ≤ +125°C for extended... 30 mA
fchk
Sascha Focus schrieb:> Hmmm,>> warum keine Low-Current Led's?
Weil ich keine passenden gefunden habe, aber darum geht's hier erstmal
nicht.
> Generell würd ich eher "sink" nutzen.
Ja schon; geht aber fürs Charlieplexing nicht, ein Port muss ja sourcen.
> Zu deinem Problem, wenn du einen Portpin nutzt, der auch als> Analogeingang nutzbar ist, musst du dies ihm natürlich auch mitteilen.> Da schau mal nach den ANSELA, ANSELB und ANSELC Register. Dies wäre auf> jedenfall eine Erklärung...
Aber das hat doch nichts mit dem Ausgang zu tun.
Frank K. schrieb:> Datenblatt Seite 349:>> Maximum current out of VSS pin, -40°C ≤ TA ≤ +85°C for industrial... 85> mA> Maximum current out of VSS pin, -40°C ≤ TA ≤ +125°C for extended... 35> mA> Maximum current into VDD pin, -40°C ≤ TA ≤ +85°C for industrial... 800> mA> Maximum current into VDD pin, -40°C ≤ TA ≤ +125°C for extended... 30 mA
Aha, und was sagt mir das für meinen Fall?
>> Zu deinem Problem, wenn du einen Portpin nutzt, der auch als>> Analogeingang nutzbar ist, musst du dies ihm natürlich auch mitteilen.>> Da schau mal nach den ANSELA, ANSELB und ANSELC Register. Dies wäre auf>> jedenfall eine Erklärung...> Aber das hat doch nichts mit dem Ausgang zu tun.
Sicherlich, wenn du so einen Pin als digitalen Pin, sei es Eingang oder
Ausgang nutzen willst:
The ANSELA bits default to the Analog
mode after Reset. To use any pins as
digital general purpose or peripheral
inputs, the corresponding ANSEL bits
must be initialized to ‘0’ by user software.
Nur so kann es funktionieren.
Gruß Sascha
Zeig doch mal die Schaltung und auch den Code.
Wie schon gesagt, als Beispiel für den Port A z.B aus dem Datenblatt:
; This code example illustrates
; initializing the PORTA register. The
; other ports are initialized in the same
; manner.
BANKSEL PORTA ;
CLRF PORTA ;Init PORTA
BANKSEL LATA ;Data Latch
CLRF LATA ;
BANKSEL ANSELA ;
CLRF ANSELA ;digital I/O
BANKSEL TRISA ;
MOVLW B'00111000' ;Set RA<5:3> as inputs
MOVWF TRISA ;and set RA<2:0> as
;outputs
Gruß Sascha
fraengers schrieb:> Ich messe so um die 7 mA.
Bei 3,3V sind es ja auch bis zu 100 Ohm auf der Low-Seite und bis zu 230
Ohm bei High-Pegel. (High -0,7V @ 3mA, low 0,6V @ 6mA)
Bei 3V ist halt nicht mehr drin.
Gruß Anja
@Sascha Focus
Also das mit dem ANSELx stimmt soweit; wenn dort ne 1 steht tut sich am
entsprechenden Pin gar nichts beim Ausgang, ist immer low. Aber wie
gesagt, bei mir ist das sowieso, mehr oder weniger unwissentlich, alles
auf 0 gesetzt.
@Anja
Aha, blöd... heißt nur bei 5V bekomme ich auch die 25mA als
Ausgangsstrom hin oder wie?
Ok habs getestet:
5V: 20mA für Led, kein Problem
3V: 8mA bei Kurzschluss
Ist das normal und bei allen µC so? (Habe bis jetzt immer nur mit 5V
gearbeitet.)
Und wo seh ich das im Datenblatt?
fraengers schrieb:> heißt nur bei 5V bekomme ich auch die 25mA als
Die 25mA sind der Strom wo der Pin sich in magischen Rauch auflösen
kann.
Peter Lankton schrieb:> Ist das normal und bei allen µC so?
Ja. Der Treiberinnenwiderstand ist Versorgungsspannungsabhängig. (Bei
jedem FET ist der RDS,on abhängig von der Gate-Source Spannung).
Peter Lankton schrieb:> Und wo seh ich das im Datenblatt?
Parameter D080 und D090 im Datenblatt DS41440B-page 360
Ist leider nur ein preliminary Datasheet.
In finalen Datenblättern sind meistens noch zusätzlich Kurven für VOH
und VOL in Abhängigkeit von Strom und Versorgungsspannung eingezeichnet
aus denen man den typischen Treiberinnenwiderstand bei 25 Grad
ausrechnen kann.
Gruß Anja
Ok, alles klar, danke Anja. Habe die Kruven im Datenblatt vom PIC16F1827
gesehen, die dürften wahrscheinlich ähnlich sein, zuminest die 8mA bei
Kurschluss @3V kommen hin.
Kann ich dann eigentlich auf den Vorwiderstand verzichten um soviel
Strom wie möglich für die Led zu erhalten?
> Kann ich dann eigentlich auf den Vorwiderstand verzichten> um soviel Strom wie möglich für die Led zu erhalten?
Da die Widerstandswerte der Ausgangstransistoren locker um den Faktor
1:2 voneinander abweichen können (und wenn man unterschiedliche
Temperatur und Speisespannungsschwankungen noch dazunimmt noch mehr,
aber die betreffen alle Pins gleich), erscheinen dann deine LEDs
eventuell deutlich unterschiedlich hell.