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