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
Hallo, Irgendwo ein Kurzschluss zwischen dem Port und GND ? ULN2004 Defekt? Zur not mit transistor schaltung probieren. mfg alex
Hallo, dann solltest Du den Port als Ausgang setzen. Sieht aus, als wenn er Eingang mit PullUp ist... Gruß aus Berlin Michael
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.
Edi schrieb:
> Die müssten im 100-kOhm Bereich bzw. darüber liegen.
Eher 20-50K. Für sowas gibt es Datasheets.
(Es soll natürlich heißen: "...Bricht die Spannung trotzdem zusammen...")
> Eher 20-50K. Für sowas gibt es Datasheets.
Danke. Ich gestehe, zu faul zum Nachschauen gewesen zu sein :-)
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
poste doch mal deinen Codeschnippsel wie du den Port konfigurierst? Schalte mal alle Pullups aus, musst im SFIO-Register das PUD Bit setzen.
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 .....
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.