Servus zusammen,
Ich habe ein kleines Problem.
Und zwar ATMEGA32 portB bricht die Spannung von 5V auf ca. 1,8V unter
Last zusammen. Die Last ist ein ULN2004 mit 0,35mA eingangsstrom.
Wenn ich die Last entferne, dann liegen die gewünschten 5V an.
zur Konfig
DDRB = 0xFF;
PORTB = 0xFF;
Wenn weitere Daten benötigt werden einfach Posten.
ja der Strom steigt nicht an am Pin nur die Spannung bricht ein.
Danke für schon mal für eure Hilfe
Der Eingang des ULN2004 ist recht hochohmig (im Bereich 10 kOhm, soweit
ich mich erinnere), der sollte den Ausgang des ATmega nicht jucken. Dem
Verhalten nach würde ich sagen, der Portpin ist als Eingang mit Pullup
konfiguriert. Bist Du sicher, dass der Ausgang wirklich ein als Ausgang
konfigurierter PB-Portpin ist? Oder bricht vielleicht die Versorgung des
ATmega auch zusammen?
Also ULN is Hochohmig ... zieht 0,1mA ... mittels Multimeter gemessen
Spannungsquelle vom ATMEGA ein 5A 5V Schaltschranknetzteil ...
funktioniert auch.
Die ausgänge sind so geschaltet wie geschrieben.
Also
DDRB = 0xFF;
PORTB = 0xFF;
der ULN ist direkt mit dem eingangsport an den ATMEGA angeschlossen.
Kann man irgendwie auslesen, welche Ports gesetzt sind?
Kann es sein, dass der Controller nicht richtig beschrieben wird?
Danke schon mal für die Tips
vielleicht noch kurz ...
der ULN funktioniert auf jeden Fall
wenn ich den µC rausmache und die Pins auf 5 V Lege schaltet der ULN
durch.
Verbindung zur Masse also nicht vorhanden, weil sonst ein sehr hoher
stroß Fließen würde. Welcher dann netterweise die Verbindung
wechbrutzeln würde ;-)
Wenn's der 2001er ohne Basiswiderstand wäre, der wäre bei 5V/5A an der
Basis längst über die Wupper.
Exotische Variante: VCC ist nicht angeschlossen und der AVR läuft auf
von irgendeinem anderen Pin geklautem Strom.
Realistischere Variante: DDR ist eben nicht gesetzt, warum auch immer,
und nur der schwache Pullup zieht hoch.
Ja ist ein ULN2004
Ich weiß, dass es ein 6-15V Typ ist.
Funktioniert trotzdem bei 5V mit einem eingangsstrom von max 0,5mA.
Gebt mir nen Tipp
Ich seh glaub ich den Wald vor lauter Bits nich mehr,
Jetzt hab ich nochmal nachgeschaut. Also wenn es wirklich ein ULN2004
ist und der korrekt angeschlossen ist, dann sollte es durch die
Belastung keine Probleme geben.
Lass doch mal den ULN2004 weg und häng nur einen 10-kOhm-Widerstand an
den Ausgang.
Das mit den 10 KOhm wäre eine Möglichkeit. Jedoch wüsst ich nicht, was
mir das dann sagt. durch das, dass kein Strom fließt, kann der ULN nicht
wirklich defekt sein. Wie groß sind denn die Pullupwiederstände im µC?
Die müssten im 100-kOhm Bereich bzw. darüber liegen.
Mit dem 10-kOhm-Widerstand bildest Du erstmal die "Belastung" durch den
ULN2004 nach. Bricht die trotzdem Spannung zusammen, musst Du beim
ATmega weitersuchen, dann ist der ULN2004 nicht der Schuldige. Bricht
die Spannung nicht zusammen, liegt's mit hoher Wahrscheinlichkeit am
ULN2004.
Es geht also darum, die Fehlerursache einzukreisen.
also ich hab jetzt ma meine 1,7 / 1,8 V Lokalisiert ... es muss wohl der
Interne Pullup sein wenn ich den Spannungsteiler mit ULN und PullUP
Bilde komm ich da genau drauf ... der ULN Funktioniert definitiv .
Mal schaun wie ich das morgen hinbekomme danke für die Tips
Für die die diesen Thread noch zur Informationsbeschaffung nutzen,
ich hatte die gleichen Probleme mit dem oben beschriebenen code.
Lösung:
sbi DDRx,0
sbi DDRx,1
sbi DDRx,2
sbi DDRX,3
sbi DDRX,4
sbi DDRX,5
sbi DDRX,6
sbi DDRX,7
PS: Es war die Spannung vom Pullup die zusammengebrochen ist;-)
dito Spgs einbruch weil Pins als Eingang gesetzt waren.
Mein Fehler : DDRA &= 0b11111111;
Richtig: DDRA = 0b11111111;
4 std hab ich gebraucht ;)
Einmal und (nie) wieder .....