Forum: Mikrocontroller und Digitale Elektronik AVR mit ULN2003 Schaltung, geht das so?


von Simon S. (havoc2k)


Angehängte Dateien:

Lesenswert?

Hallo zusammen, ich möchte für ein Projekt ein paar LEDS zu leuchten 
bringen, jedoch fehlt mir leider Wissen was schaltungstechnik und 
elektrik angeht.

Es sollen ein paar Reihenschaltungen aus je 4 LEDs mit 3,0-3,2v mit 20mA 
pro LED zum leuchten gebracht werden. Falls ich hier richtig liege 
brauche ich bei einer Reihenschaltung 12V mit 20mA.

Da ein AVR ja weder 12V noch auf dauer auf fast allen Pins 20mA schafft 
habe ich mir nach einiger Suche im Web eine Schaltung mit ULN 2003 // 
2803 ausgedacht.

Jedoch weis ich ehrlich nicht ob hier evt noch ein paar wiederstände 
oder sonstige Sachen fehlen. Ich glaube nicht das bei den LEDs welche 
brauche da das Netzteil 12v liefert und die LEDS mit 4x3,0V ja 12V 
brauchen. ich werde jedoch das NT durchmessen nicht das hier 12,5 oder 
soankommen, aber selbst das sollte gehen. Vor den ULN brauche ich laut 
diversen Schaltplänen ja auch keine vorwiederstände.

Schaut euch bitte mal das Bild an und sagt mir ob das Funktionieren 
kann.
http://www.abload.de/img/schaltungxb6db.jpg

Brauche ich eine "reset" schaltung? das teil ist nacher nicht mehr 
zugänglich und soll solange arbeiten wie strom (externes PC Netzteil mit 
je 2A an 5V und 12V) anliegt.

Programmieren möchte ich den ATMega32 mit einem Board und einem USB 
Programmieradapter von myAVR.

ich hoffe ihr könnt mir hier weiter helfen. schonmal danke dafür

von bitte löschen (Gast)


Lesenswert?

Schau Dir mal den Innenschaltplan vom ULN2003 an.

Tip: Die Dioden werden nicht gegen GND geschaltet, sondern von +12V zum 
Eingang.
1
+12V-------------+
2
          |      V
3
          |      V
4
          |      V
5
          |comm. |
6
       ULN2003 --+
7
          |
8
          |
9
         GND

von Martin H. (martin_h85)


Lesenswert?

Guten Morgen,

an sich kann das so funktionieren, du solltest nur ein paar Punkte 
beachten :

* alle ICs sollten möglichst nah angebrachte 100nF Kondensatoren an der 
Versorgungsspannung haben

* du solltest lieber drei LEDs in Reihe nehmen und Vorwiderstände, nur 
auf die Spannung zu gehen ist nicht unbedingt sinnvoll, da die 
Durchlassspannung der LEDs streut

*du must beachten das du den ULN Active Low ansteuerst

* Der ULN muss GND und nicht +12V schalten, die LEDs müssen also anders 
rum und nicht an GND sondern +12V


Ansonsten würde es funktionieren, falls ich nicht noch etwas vergessen 
habe.

von bitte löschen (Gast)


Lesenswert?

Ich meinte natürlich "zum Ausgang". :-D
Hatte im Tran "Eingang" geschrieben, weil der Strom da herein fließt.

Den Vorwiderstand hatte ich erst mal weggelassen, weil es nur um das 
Prinzip ging.

von Helfer (Gast)


Lesenswert?

Simon Schwarz schrieb:
> Ich glaube nicht das bei den LEDs welche
> brauche da das Netzteil 12v liefert und die LEDS mit 4x3,0V ja 12V
> brauchen.

Doch, unbedingt. LEDs brauchen eine Strombegrenzung, sonst brennen sie 
sofort ab!

> ich werde jedoch das NT durchmessen nicht das hier 12,5 oder
> soankommen, aber selbst das sollte gehen.

Nein, geht nicht.

> Vor den ULN brauche ich laut
> diversen Schaltplänen ja auch keine vorwiederstände.

Die sind beim 2003 schon eingebaut (2.7k). Wenn du dir das Datenblatt 
angeschaut hättest, wäre dir sicher auch die "open collector" 
Beschaltung der Ausgänge aufgefallen, oder? :)

> Brauche ich eine "reset" schaltung?

Nein. Aber Abblockkondensatoren.

> das teil ist nacher nicht mehr
> zugänglich und soll solange arbeiten wie strom (externes PC Netzteil mit
> je 2A an 5V und 12V) anliegt.

Was meint dein PC Netzteil dazu, wenn du auf der 5V seite nur wenige mA 
ziehst?

von Simon S. (havoc2k)


Angehängte Dateien:

Lesenswert?

huch, gleich soviele antworten. Super danke dafür !

hier mal die schaltung in v2. Passt es dann so? nur das mit den 
kondensator vom IC hab ich nicht so ganz verstanden, ja gegen 
überspannung das is mir eigentlich klar, reicht dann hier aber der eine 
vor dem vcc eingang des atmega oder brauch ich auch welche vor den ULN 
treibern?

mfg

von monster (Gast)


Lesenswert?

Der "Common"- Anschluss entweder auf +12 V legen oder offen lassen! 
Keinesfalls auf Masse°!

Gruß H.

von Uwe S. (de0508)


Lesenswert?

Hallo Simon,

Atmel stellt viele zusätzliche Inos als AP Application Note zusammen.

-- Findet man auf deren Webseite beim verwendeten AVR µp!!

Schau mal nach:

Atmel AVR042: AVR Hardware Design Considerations

von Simon S. (havoc2k)


Angehängte Dateien:

Lesenswert?

ok dann also so ?

von bitte löschen (Gast)


Lesenswert?

Active Low stimmt nicht. Wenn der AVR 1 liefert, leuchten die LEDs.

von Simon S. (havoc2k)


Lesenswert?

ok. Dann hier einfach qausi in der software den port mit

PortX.x = 1 --> einschalten
Portx.x = 0 --> ausschalten


wenn ich dich richtig verstanden habe.

Ist das ärgerlich, die freundin will was beleuchten und ich darfs machen 
;)

mfg

von Jens B. (nixiefreak)


Lesenswert?

Den 100nF-Entstörkondensator noch möglichst nahe am Mikrocontroller 
anbringen.

Gruß
Jens

von Simon S. (havoc2k)


Lesenswert?

Jens B. schrieb:
> Den 100nF-Entstörkondensator noch möglichst nahe am Mikrocontroller
> anbringen.
>
> Gruß
> Jens

Klar kommt dann in der Schaltung so nah wie möglich an den Controller.

Aber sonst passt es nun oder? Also könnte ich die teile besorgen und die 
Schaltung so zusammenbauen. Nur kommen eben 5 ULN20003 zum Einsatz und 
deutlich mehr LEDs als die 3

mfg

von Jens B. (nixiefreak)


Lesenswert?

Denke nur daran, dass der ULN2803A eine maximale Belastungsgrenze hat, 
aber bei 20mA LEDs passt das, habe ich selber schon oft so aufgebaut.

Gruß
Jens

von Simon S. (havoc2k)


Lesenswert?

Klasse! herzlichen dank. Dann gehe ich stoppen und baue das mal. 
Programmieren sollte klappen. C hatte ich vor langer Zeit mal in der Uni 
und es sollen ja nur simple Pins angesteuert werden unddie eben Outp ut 
1 geschaltet werden

von Jens B. (nixiefreak)


Lesenswert?

Denk dran, dass ein Mikrocontroller normalerweise einen externen Quarz 
zur Takterzeugung benötigt. Wenn es nicht zu genau sein muss (für z.B. 
eine Uhr o.Ä.) kannst du auch den internen Takt des Mikrocontrollers 
nutzen. Wie du den aktivierst, steht im Datenblatt deines Controllers.

Gruß
Jens

von Simon S. (havoc2k)


Angehängte Dateien:

Lesenswert?

Hallo zusammen, ich habe nun die Schaltung nochmal sauber gezeichnet, 
habe hierbei auch den AVCC pin bedacht, die condis näher an den chip 
gesetzt.

Ist es eigentlich besser den wiederstand für die LEDs vor oder hinter 
die LEDs zu schalten? Wenn ich mir überlege das der Strom eh überall 
"gleich" ist sollte das doch vollkommen egal sein oder?

100 OHM passen oder?

3 LEDs je 3,02V - 3,11V max 30mA, hier komme ich und auch die LED 
Rechner im web auf 100 OHM bei Anschluss an 12V.

Ich habe mir heute ein Entwicklerboard und USB Programmer, ATMega 32, 
LEDs sowie das NT für das Entwicklerboard gekauft. Ich hoffe das hier am 
WE erstmal eine kleine SW erstellen kann damit mal eine LED auf den 
Board leuchtet.

Schonmal wieder danke für eure super Hilfe!

von Dietrich L. (dietrichl)


Lesenswert?

Simon Schwarz schrieb:
> 3 LEDs je 3,02V - 3,11V max 30mA, hier komme ich und auch die LED
> Rechner im web auf 100 OHM bei Anschluss an 12V.

Du musst noch die Spannung am Ausgang (Sättigungsspannung) abziehen: das 
sind Darlington-Ausgänge! -> siehe Datenblatt

Allerdings oben wolltest Du noch 20mA fließen lassen - dann stimmt es 
schon, und 30mA max. wird sicher nicht überschritten.

Gruß Dietrich

von Simon S. (havoc2k)


Lesenswert?

ok, ich muss zugeben ich verstehe die interne schaltung der ULN2003 
nicht.

kannst du mir bitte hier die richtige rechnung erklären? welche spannung 
muss ich wo abziehen? ;)

Die ürprünliche Angabe mit den 20mA waren schätzwerte von blauen LEDs 
aus dem WEB. die werte nun sind die richtigen der bestellten LEDs

mfg

edit: wenn ich nun richtig gegoogelt habe, hat ein ULN2003 bei 20-30mA 
ca 1V Stättingsspannung
heist das ich hier bei 12V Spannung ca einen wiederstand von 82 OHM für 
die 3 LEDs mit 3,02v und 30mA brauche, ist das richtig?

von Jens B. (nixiefreak)


Lesenswert?

Naja, das sind ja im wesentlichen NPN-Transistoren, und die haben beim 
Durchschalten einen Spannungsabfall von Kollektor zu Emitter, siehe 
hier:

http://pdf1.alldatasheet.com/datasheet-pdf/view/12687/ONSEMI/ULN2803.html

Auf Seite 2, Collector-Emitter Saturation Voltage, ist irgendwo im 
Bereich U_CE_sat=0.8V-1.5V, hängt vom Basisstrom und LED-Strom ab. Das 
heißt, dein Widerstand muss weniger abfallen lassen, rechne also mit 
12V-U_CE_sat.

Gruß
Jens

von Jens B. (nixiefreak)


Lesenswert?

Simon Schwarz schrieb:
> edit: wenn ich nun richtig gegoogelt habe, hat ein ULN2003 bei 20-30mA
> ca 1V Stättingsspannung
> heist das ich hier bei 12V Spannung ca einen wiederstand von 82 OHM für
> die 3 LEDs mit 3,02v und 30mA brauche, ist das richtig?

Du warst schneller ;-)

Also meiner Meinung nach sind (12V - 3 x 3.02V - 1V) / 0.03A = ca. 65R.

Gruß
Jens

von Simon S. (havoc2k)


Lesenswert?


von Jens B. (nixiefreak)


Lesenswert?

Simon Schwarz schrieb:
> 12V Versorgerspannung - 1V Sättigungspannung ---> 3 LEDs mit 3,02V /
> 30mA -> 80-90 OHM

Was rechnest du da?

Jens B. schrieb:
> Also meiner Meinung nach sind (12V - 3 x 3.02V - 1V) / 0.03A = ca. 65R.

Gruß
Jens

von Jens B. (nixiefreak)


Lesenswert?

Simon Schwarz schrieb:
> http://www.reichelt.de/1-4W-5-10-Ohm-91-Ohm/1-4W-6...

Ja, sieht gut aus. P_max = ca. 2V * 0.03A =  60mW, also absolut 
unkritisch.

Gruß
Jens

von Simon S. (havoc2k)


Lesenswert?

war nicht ich, habe es eben durch n LED rechner durchgeschickt.

Werde das in zukufst selbst rechnen, das ist wenigstens zuverläsig....


Danke auf jeden fall für die hilfe ;)

mfg

von Simon S. (havoc2k)


Lesenswert?

nun muss ich doch nochmal was fragen,

welche kondensatoren wären denn die richtigen?

die auswahl bei reichelt ist so rießig, ich weis da echt nicht welchen 
ich nehmen soll ;/

hat hier evt wer einen link für mich?

edit: und wenn ich einen mit 100nF gefunden habe, dann ist dieser für 
eine Nennspannung von 50V

mfg
Simon

von Dietrich L. (dietrichl)


Lesenswert?

Simon Schwarz schrieb:
> die auswahl bei reichelt ist so rießig, ich weis da echt nicht welchen
> ich nehmen soll ;/

Es sollten Keramik-Kondensatoren sein, z.B. folgende von Reichelt:
  Z5U-5 100N
  Z5U-2,5 100N
  X7R-G0805 100N
  X7R-G1206 100N

> edit: und wenn ich einen mit 100nF gefunden habe, dann ist dieser für
> eine Nennspannung von 50V

Größer als die Betriebsspannung darf die Nennspannung schon sein - sie 
sollte das sogar wegen Sicherheitsreserve d.h. Lebensdauer (genauso wie 
die Verlustleistung bei Widerständen).

Gruß Dietrich

von Simon S. (havoc2k)


Lesenswert?

Herzlichen Dank !

mfg

von Jobst M. (jobstens-de)


Lesenswert?

ATmega32 und 5x ULN2003? Warum nicht 4x ULN2803?


Gruß

Jobst

von Simon S. (havoc2k)


Lesenswert?

wenn ich die datenblätter gleiche haben doch 2003 und 2803 je 8 arrays

warum sollte ich dann bei 2803 bei 25 arrays nur 4 brauchen? 4x8 = 24 
also eins zuwenig

mfg

von Dietrich L. (dietrichl)


Lesenswert?

Simon Schwarz schrieb:
> wenn ich die datenblätter gleiche haben doch 2003 und 2803 je 8 arrays

ULN2003 hat 7 Kanäle, der ULN2803 hat 8.

> warum sollte ich dann bei 2803 bei 25 arrays nur 4 brauchen? 4x8 = 24

4x8=24 ???

> also eins zuwenig

Das allerdings, da bringt Dir der 2803 nichts gegenüber 2003.

Gruß Dietrich

von Simon S. (havoc2k)


Lesenswert?

ja stimmt

der 2003 hat echt 7 und der 2803 8

und 4x8 ist natürlich auch nicht 24. Heute scheinbar echt richtig mit 
dem falschen fus aufgestanden

für 25 felder reichen mir daher aber auch die 4x7 felder des ULN2003

zumal die ULN2003 schon bestellt sind.

mfg

von Jobst M. (jobstens-de)


Lesenswert?

Etwas von 25 Feldern (=Ports) hast Du erst nach meinem Post geschrieben.
Ich ging von den 32 Ports aus, die der ATmega32 nun einmal hat. Denn die 
von Dir beschriebenen 5 ULN2003 lassen mich auf 29 - 32 Ports 
schliessen. Und da hätte der 2803 einfach besser gepasst. ;-)

Gruß

Jobst

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.