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
Danke für deine schnelle Antwort. Und wie muss ich den Quarz anschließen, wo und wie?
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.
Danke also alle Wege führen zum 'Datenblatt'
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 ;-)
Danke Was meinst du mit "Sink-Mode"? Und wird beim RESET einfach der Chip rebootet oder löscht er dann alles?
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.
Wie genau soll ich das dann verdrahten mit den Transistor?? Welche Software benutzt du zum Zeichnen von Schaltplänen?
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?
PS.: Ich zeichne meine Schalpläne mit Protel99Se. Wenn du auch Schaltpläne zeichnen willst, dann empfehle ich dir Eagle(benutze ich auch manchmal).
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
Genau das hatte ich vor! Warum muss es anders gemacht werden?
Wie weit ist denn die größte Entfernung zwischen dem µC und einer LED? Hast du schon mal an die Leitungsverluste gedacht?
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
Achso danke ich dankte das währe ein Rechtschreibfehler.
Ich möchte die Bauteile bei Reichelt bestellen. Kann mir einer sagen, wo ich die passenden Kabeln finde?
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
Boah Danke Kannst du mir vielleicht erklären was Pull-Ups sind?
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
Du musst den Port auf O setzen. Was soll in diesem Fall DDR sein?
@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 ;-)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.