Hallo Leute, ich versuche LED´s über einen ULN2803a zu verwenden. Sobald ich dies mit einem µc Versuche klappt es nicht mehr. Vorher habe ich das ganze mit einem Labornetzteil getestet. Im Bild seht ihr meine Schaltung! Oben Links die PIN Belegung vom Wannenstecker: Pin1: +5V Pin2: Masse Pin3: PA0 Pin4: PA1 Pin5: PA2 usw. Verwendet wird der Atmega 32. Könnt ihr mir helfen?
Ich sehe da 3 mögliche Fehlerquellen * der tatsächliche Hardware Aufbau ist anders als im Schaltbild * Fehler in der Verdrahtung * Fehler im Programm
@Karl: Das ganze ist 1 zu 1 so aufgebaut, auch die LED´s sind richtig gepolt. Verwende ich +5V zum durchschalten funktioniert es. Nutze ich einen PIN der High geschaltet ist funktioniert es nicht. @Alex: Die Pin´s sind vom ULN zusammen geschaltet, damit an jedem Input ein Signal anliegt. Ist dies nicht der Fall kann es zu Fehlern kommen.
Julien J. schrieb: > @Karl: > > Das ganze ist 1 zu 1 so aufgebaut, auch die LED´s sind richtig gepolt. Das sagst du, aber ich kann es von dieser Seite des Monitors aus nicht kontrollieren. Im Laufe der Jahre hab ich mir angewöhnt, auch in die Richtungen zu denken, die vom Fragesteller kategorisch ausgeschlossen werden. Manchmal ist das tatsächlich ein 'Bingo' (tm Christoph Walzl). > Verwende ich +5V zum durchschalten funktioniert es. OK. Akzeptiere ich mal so. > Nutze ich einen PIN der High geschaltet ist funktioniert es nicht. Tja. dann wirst du eben den Pin nicht High-schalten. Aber da du den Wink mit dem Zaunpfahl nicht verstanden hast: Zeige dein Programm! Alles andere ist Kaffeesudleserei und nicht zielführend. Wenn die Verdrahtung stimmt, du am richtigen Port bist, den Portpin auf Ausgang gestellt hast und den Pin dann auch noch auf High geschaltet hast, dann müssen die LED leuchten. Da sie es nicht tun, ist irgendwo ein Fehler vorhanden. Den werden wir aber nicht finden, wenn du immer nur behauptest, dass eh alles richtig ist und mit nichts rüber kommst, mit dem man arbeiten könnte.
:
Bearbeitet durch User
So habe den Wink mit dem Zaunfall schon verstanden ;) Wollte nur den ganzen auskommentierten Müll rausschmeißen, den ich nicht verwende. Nicht wundern das ich alle PIN´s durch die Schleife schicke, hatte es mal so versucht um die anderen PIN´s zu testen.
Dachte ich mirs doch. Du hast den Pin nicht auf Ausgang gestellt. Was dein Programm macht: Es schaltet den Pullup zu. Mehr nicht. Mit einem Voltmeter kannst du da unbelastet tatsächlich 5V messen. Aber sobald da dann ein paar mA fliessen sollen .... Warum postest du dein Programm eigentlich als PNG. Das ist für dich mehr Arbeit und für uns auch. Denn jetzt kann ich alles neu tippen, anstatt mir die Teile aus deinem Programm zusammenzukopieren. Häng dein C-File einfach so an wie es ist.
1 | #include <avr/io.h> |
2 | |
3 | int main() |
4 | {
|
5 | DDRA = 0xFF; |
6 | |
7 | PORTA = 0xFF; |
8 | |
9 | while( 1 ) |
10 | {
|
11 | }
|
12 | }
|
Wenn deine LED wirklich am Port A hängen, dann kannst du dich jetzt an leuchtenden LED erfreuen. Und deine diversen set... Funktionen. Die hebst du dir für später auf, wenn du sie wirklich mal brauchst und es keine andere Möglichkeit gibt. Denn die willst du so nämlich nicht wirklich haben.
:
Bearbeitet durch User
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.