www.mikrocontroller.net

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


Autor: Lixor (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Michael F_xxxxxxx (grisu901)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Lixor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für deine schnelle Antwort.

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

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Michael F_xxxxxxx (grisu901)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Lixor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke

also alle Wege führen zum 'Datenblatt'

Autor: Schoasch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Schoasch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ;-)

Autor: Lixor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke

Was meinst du mit "Sink-Mode"?

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

Autor: Schoasch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Lixor (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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 )?

Autor: Lixor (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Schoasch (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: T-Brox (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Lixor (Gast)
Datum:

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

Autor: Schoasch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Lixor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie genau soll ich das dann verdrahten mit den Transistor??

Welche Software benutzt du zum Zeichnen von Schaltplänen?

Autor: Schoasch (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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?

Autor: Schoasch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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).

Autor: Lixor (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Chief Brady (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Lixor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genau das hatte ich vor! Warum muss es anders gemacht werden?

Autor: Chief Brady (Gast)
Datum:

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

Autor: Lixor (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!!!

Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Lixor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achso danke ich dankte das währe ein Rechtschreibfehler.

Autor: Lixor (Gast)
Datum:

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

Autor: Schoasch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Schoasch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Lixor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Boah Danke

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

Autor: Schoasch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Dom (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Schoasch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du musst den Port auf O setzen.

Was soll in diesem Fall DDR sein?

Autor: Markus_8051 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Schoasch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ;-)

Autor: buz11 (Gast)
Datum:

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.