Forum: Mikrocontroller und Digitale Elektronik AT89C2051 Inbetriebnahme - 14 LEDs ansteuern ( AT89C2051 )


von Lixor (Gast)


Lesenswert?

Hallo Leute,

habe ein Problem, für welches ich keine Lösung finde. Ich möchte 14
LEDs für eine Garagen Einfahrt ansteuern. Dabei schließe ich alle an
den AT89C2051 an. Somit kann ich verschiedene LEDs ansteuern. Soweit so
gut!!!

Nun finde ich keine Lösung, wie ich den Atmel inbetrieb nehme.Welche
Bauteile benötige ich außer 24 MHz Quarz? Gibt es eine Seite im NET wo
ich information dazu finde ( vielleicht Schaltpläne )???

Außer wie ich eine LCD ansteuere finde ich nichts!!!

Danke

von Michael F. (grisu901)


Lesenswert?

Mehr, als einen Quarz und vielleicht noch eine Beschaltung für einen
Power-On-Reset (R-C Netzwerk) braucht man eigentlich für den Atmel
nicht. Im Zweifelsfall einfach mal im Datenblatt schauen. Da sollten ja
alle Pins beschrieben sein.

Zu bedenken ist bei dem kleinen Controller, daß die beiden Pins, die
auch für den Komparator geeignet sind (P1.0, P1.1 ???), über keine
internen Pull-Up Widerstände verfügen. (siehe Datenblatt)

Dann braucht man nur noch was, um die Software in den Käfer zu braten
und los geht's

von Lixor (Gast)


Lesenswert?

Danke für deine schnelle Antwort.

Und wie muss ich den Quarz anschließen, wo und wie?

von Karl H. (kbuchegg)


Lesenswert?

Das grundsätzliche Anschlussschema findet sich zb.
im AVR-Tutorial (Also: Alles was du brauchst). An
welchen Pins du das dann konkret an deinem Prozessor
anschliessen must: Dazu holst du dir von Atmel das
Datenblatt zu deinem Prozessor und suchst dir dort die
Pins mit der gleichen Bezeichnung.

von Michael F. (grisu901)


Lesenswert?

Wie schon in meinem ersten Beitrag erwähnt, hilft in vielen Fällen das
Datenblatt weiter. Dort ist auf Seite 4 eine Beschreibung (mit
Zeichnung und Dimensionierungsvorschlägen) zu finden, wie man entweder
einen Quarz oder einen externen Takt (Quarzoszillator) anschließt.

von Lixor (Gast)


Lesenswert?

Danke

also alle Wege führen zum 'Datenblatt'

von Schoasch (Gast)


Lesenswert?

Der Quarz muss an XTAL1 und XTAL2 angeschlossen werden... und dann noch
jeweils ein Keramikondensator mit 27pF-33pF gegen Masse.

Achja... beachte, dass du beim AT89C2051er die LEDs im
"Sink-Mode"betreiben solltest, denn er kann nicht so viel Strom
treiben.

von Schoasch (Gast)


Lesenswert?

Achja... ansonst Fehlt dann nur ein Widerstand und ein Kondensator für
den Reset, die Spannungsversorgung mit dem 100nF Kondensator und ab
geht die Post ;-)

von Lixor (Gast)


Lesenswert?

Danke

Was meinst du mit "Sink-Mode"?

Und wird beim RESET einfach der Chip rebootet oder löscht er dann
alles?

von Schoasch (Gast)


Lesenswert?

Unter Sink-Mode versteht man, wenn der strom in den µC hinein fliesst.
Das ist zb gegeben, wenn du die LED wie folgend schaltest:

+5V---| R |---|LED>|--->Pin vom uC

Wenn also die LED leuchten soll, dann musst du den Pin auf
"0"setzen.. Soll es nicht leuchten, dann auf "1".... also hast du
genau eine Invertierung des Signals.
Hast du das soweit verstanden?

Achja... beachte bitte das es sein kann, das der µC nicht so viele LEDs
schalten kann... also schau dir einmal den Maximalen Strom an der da
fliessen darf. Denn immerhin fliesst dann der ganze Strom durch den GND
Pin. Sollen alle LEDs gleichzeitig leuchten oder wie soll das ganze
ablaufen?

WEnn du den µC resetest, dann rebootet er sozusagen. Das Programm wird
dabei nicht gelöscht sondern bleibt erhalten.

mfg Schoasch

von Lixor (Gast)


Angehängte Dateien:

Lesenswert?

OK RESET verstehe ich alles andere ist wohl noch zu hoch für mich.

Der µC soll alle LEDs nacheinander einschalten und paar Minuten
leuchten lassen.
Ich glaube ich hab da ein Denkfehler. Kommt der Strom nicht aus dem µC?


Inventierung des Signals verstehe ich. Die 5V die du gezeichnet hast,
kommen die aus dem µC ( GND )? Entschuldigt für die Frage, aber mit
Mikrokontroller hatte ich bis jetzt noch nichts am Hut.

Anbei habe ich ein Bild hochgeladen. Ist das vielleicht eine Sink-Mode
( Stromsenke )?

von Lixor (Gast)


Lesenswert?

Im Datenblatt steht:
 - Voltage on Any Pin with Respect to Ground..........-1.0 to +7.0V
 - Maximum Operating Voltage..........................6.6 Volt
 - DC Output Current..................................25.0mA

von Schoasch (Gast)


Angehängte Dateien:

Lesenswert?

Hi

Deine Schaltung past nicht gerade zum Thema.

Schau dir einmal ein paar Grundlagen zu dem µC an. Vl gehts dann etwas
einfacher.
http://www.erikbuchmann.de/

Ich hab hier mal kurz einen kleinen Schaltplan gezeichnet, damit du dir
vl etwas vorstellen kannst.

Du musst natürlich alle deine LEDs so anschliessen wie ich die eine
angeschlossen habe.



>>Der µC soll alle LEDs nacheinander einschalten und paar Minuten
>>leuchten lassen.

Meinst du so, dass immer 1 LED mehr leuchtet? Oder wie meinst du das?
Wieviele LEDs leuchten im schlimmsten Falle gleichzeitig? Wenn alle
gleichzeitig leuchten, müsste man wohl Transistoren am ausgang
verwenden. Achja.. welche LEDs sind es eigentlich ?
Low-Current,"Normale" oder Superhelle?

>>Ich glaube ich hab da ein Denkfehler. Kommt der Strom nicht aus dem
>>µC?
Ja du hast da einen Denkfehler. der Strom kommt aus der
Spannungsquelle, fliesst durch den Widerstand und die LED in den µC
hinein(sink).

mfg Schoasch.

von T-Brox (Gast)


Lesenswert?

Dein Bild ist eine Konstantstromquelle. Also im weitesten Sinne schon
eine Art Stromsenke. Der Strom bleibt halt die ganze Zeit konstant.
Man kann bei einem IC sowohl den Strom raus- wie auch reinfließen
lassen. Wenn man einen Pin auf High zieht sprich da liegt Spannung
außen an, dann werden angehängte Lasten aus dem IC mit Strom versorgt.
Das wäre dann SOURCE-Betrieb. Liegt ein Pin auf Low, dann kommt der
Strom - wie oben schon geschildert - aus der Umgebungsschaltung, fließt
in den IC hinein und wird dort über Masse an die Spannungsquelle
zurückgeführt. Das ist dann SINK-Betrieb.

von Lixor (Gast)


Lesenswert?

Also es sollen alle 14 LEDs gleichzeitig leuchten. Dabei handelt es sich
um die SuperFlux(60mA).

von Schoasch (Gast)


Lesenswert?

Ok... dann sieht die Sache etwas anderst aus... Da musst du dann schon
zu Transistoren greifen. Aber Standard Transistoren wie der BC548
sollten locker dafür reichen.

von Lixor (Gast)


Lesenswert?

Wie genau soll ich das dann verdrahten mit den Transistor??

Welche Software benutzt du zum Zeichnen von Schaltplänen?

von Schoasch (Gast)


Angehängte Dateien:

Lesenswert?

So... ich hab mal 2 Varianten gezeichnet die man normal für sowas
benutzen kann. Auf der Linken Seite siehst du Variante 1 udn auf der
rechten Siehst du Variante 2(diese wirkt invertierend). Normal sollten
beide Varianten möglich sein. Ich kann es dann auch nachher mal testen.

Beachte aber, dass du vl auch nich Pull-Ups bei manchen Pins brauchst,
denn zb haben die Comperator Anschlüsse keine Pull-Ups integriert. Und
ohne diese steht ein undefinierter zustand an.

Hast du irgendwelche Erfahrungen in sachen elektronik? Beschäftigst du
dich irgendwie etwas damit, ausser diesem Projekt? Das soll bitte nicht
abwertend gemeint sein! Ich will lediglich abchecken wie genau man dir
es erklären soll. Hast du schon mal einen µC programmiert?

von Schoasch (Gast)


Lesenswert?

PS.: Ich zeichne meine Schalpläne mit Protel99Se. Wenn du auch
Schaltpläne zeichnen willst, dann empfehle ich dir Eagle(benutze ich
auch manchmal).

von Lixor (Gast)


Lesenswert?

Grundkenntnisse habe ich in Elektronik. Mit µC habe noch nichts gemacht.
Probleme bereiten mir die Transistoren. Welche benutzte ich am besten
BC548C oder B? Und wo ist dort der Unterschied?

Benötige ich für jede LED jetzt ein Transistor und Widerstand? Welche
Widerstand verwendest du 4k7 --> 47kOhm???

Danke für deine Schaltpläne. Hatte vor mehreren Monaten die Demo von
MultiSim benutzt. Dort konnte man auch die Schaltungen simulieren.

von Chief Brady (Gast)


Lesenswert?

> Ich möchte 14 LEDs für eine Garagen Einfahrt ansteuern.

Du hast aber nicht vor, deine Garageneinfahrt so zu beleuchten wie eine
Fluglandebahn, oder? Dann sieht die Sache nämlich noch anders aus.

CB

von Lixor (Gast)


Lesenswert?

Genau das hatte ich vor! Warum muss es anders gemacht werden?

von Chief Brady (Gast)


Lesenswert?

Wie weit ist denn die größte Entfernung zwischen dem µC und einer LED?
Hast du schon mal an die Leitungsverluste gedacht?

von Lixor (Gast)


Lesenswert?

Gedanken habe ich mir darüber gemacht, aber noch nichts berücksichtigt.
Die größte Entfernung wird bis zu 8-10 Meter betragen und hier sehe ich
das Problem das es daduch nicht funktionieren wird!!!

von Karl heinz B. (kbucheg)


Lesenswert?

> Welche benutzte ich am besten
> BC548C oder B?

Ist völlig Wurscht. Die Transistoren werden nur
als Schalter benutzt.

> Benötige ich für jede LED jetzt ein Transistor und Widerstand?

Ja

> Welche Widerstand verwendest du 4k7 --> 47kOhm???

  Bei 47 kOhm hätte er 47k geschrieben.
  4k7 bedeutet: 4,7 kOhm

von Lixor (Gast)


Lesenswert?

Achso danke ich dankte das währe ein Rechtschreibfehler.

von Lixor (Gast)


Lesenswert?

Ich möchte die Bauteile bei Reichelt bestellen. Kann mir einer sagen, wo
ich die passenden Kabeln finde?

von Schoasch (Gast)


Lesenswert?

Der Buchstabe nach dem BC548 bezeichnet die Stromverstärkung(hfe bei
A=220,B=330 und C=600)

Wie hast du dir vorgestellt, dass du die LEDs montierts bzw wie das
Kabel verlegst? Benutzt du Kabelschläuche?
Wenn es nicht zu teuer ist, würde ich vl gleich Installationsleitungen
vorsehen. Dann kannst du wenn dir die LEDs zu schwach sind auch Lampen
verwenden ohne dast du neue Leitungen verlegen musst. Ausserdem sollten
die Leitungsverluste minimal sein.


Weiter wäre es vl. Emfpehlenswert gleich Freilaufdioden vorzusehen und
das ganze mit Printklemmen zu realisieren, die erhöhen die Kosten nicht
unbedingt, aber bei einer veränderung der Schaltung könnten die
praktisch sein.

mfg Schoasch

PS.: Der BC548 ist ein NPN-Typ.. somit kannst du nur Variante 1 eines
Plans verwenden.

von Schoasch (Gast)


Lesenswert?

So. Ich hab das ganze mal schnell auf einem Steckbrett aufgebaut.
Vergiss die Pull-Ups an P1.0 und P1.1 nicht. ICh hab für dies 6.8kOhm
Widerstände benutzt.

mfg Schoasch

von Lixor (Gast)


Lesenswert?

Boah Danke

Kannst du mir vielleicht erklären was Pull-Ups sind?

von Schoasch (Gast)


Lesenswert?

Einfach kleine, aber wichtige, Widerstände die von
Vdd(Versorgungspannung des µC.. in diesem Fall 5V) zum Port Pin
geschalten sind.

Ich will nicht unhöflich sein, aber ein paar Grundlagen solltest du dir
mal ansehen... dann tust du dir vl etwas leichter.

von Dom (Gast)


Lesenswert?

Tschuldige dass ich da jetzt einfach so dazwischen schreibe, aber ich
habe da eine Frage die zu diesem Thema passt:

Wenn ich den sink-modus verwenden möchte, muss ich dann die DDR oder
PORT auf 0 setzen??

thx
Dom

von Schoasch (Gast)


Lesenswert?

Du musst den Port auf O setzen.

Was soll in diesem Fall DDR sein?

von Markus_8051 (Gast)


Lesenswert?

@Dom, Schoasch: DDR ist Data Direction Register und die gibt es bei der
8051-Familie nicht!!!

@Lixor: Wenn Du die Variante mit den PNP-Transistoren benutzt, brauchst
Du die Pullups an Port 1.0 und 1.1 nicht.

Gruß,
Markus_8051

von Schoasch (Gast)


Lesenswert?

@Markus: DDR dürfte von den AVRs kommen oder? ich hab mir fast gedacht
das er das Data Direction Register meinte.. aber ich benutze ansonst
PICs, da gibts gein DDR sondern die TRIS-Register ;-)

von buz11 (Gast)


Lesenswert?

Auch bei den 8051-kompatiblen gibt es welche mit konfiguierbaren
Portpins (z.B. P89LPC93x). Nennt sich bloss anders.

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.