Forum: Mikrocontroller und Digitale Elektronik IO Ports beim mega162


von m@u (Gast)


Lesenswert?

Hallo zusammen

Ich stehe vor einem Problem, das ich einfach nicht verstehen kann.
Ich habe an meinen ATmega162-16PI (PDIP) über einen 5,6kOhm Widerstand
einen BC107B angeschlossen, um damit eine Relais zu treiben. Will
heissen, der Basisstrom ist um 785uA. Das Relais hat eine
Schaltleistung von 350mW. Ich habe das ganze an 5V angeschlossen, somit
habe ich mit B=100 ganz sicher die nötige Schaltleistung erreicht. Nun,
das Problem ist, dass wenn ich den IO-Pin (PIN4 an PORTD) auf H setze,
wird die Spannung auf 1,5V zusammengerissen. Wenn ich den uC ausbaue
und am Vorwiderstand direkt 5V anhänge, Schaltet das Relais ganz brav
und der erwartete Strom von 785uA fliesst tatsächlich. Wenn ich nun den
Widerstand abhänge, gibt der uC auch ganz brav seine 5V. Da drängt sich
natürlich die Frage auf, ob irgendwo ein grosser Innenwiderstand im
PORT ist, den ich nicht kenne. Ist übrigens meine erste Schaltung mit
einem AVR, darum kann es ganz gut sein, dass ich etwas nicht beachtet
habe.

Ich danke im Voraus für eure Hilfe
M@U

von mmerten (Gast)


Lesenswert?

solange du PortD nicht entsprechend als output im DDRx setzt, wird mit
out PORTx nur der interne PullUp in der Grössenordnung 30-100 k
aktiviert. Also nach setzen der entsprechenden Bits im DDRx sollte es
klappen.

von m@u (Gast)


Lesenswert?

Maaaann!!!

Ich habe zwar eine wunderschöne SysInit() geschrieben, in der die DDRs
gesetzt werden, aber man sollte sie in main() halt auch aufrufen ;)
Danke mmerten, du hast mir die Augen geöffnet ;)

Gruss m@u

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
Noch kein Account? Hier anmelden.