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
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
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.
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.
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.
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 ;-)
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
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 )?
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
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.
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.
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.
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?
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.
> 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
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!!!
> 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
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.
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
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.
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
@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
@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 ;-)