Hallo,
ich bin auf der Suche nach einem IC den ich Binär ansteuere und je nach
Wert eine LED Bar-Anzeige ausgibt.
Beispiel: Mit einem µC gebe ich einen 4-Bit Wert z.B. 0101 an den IC
weiter, dieser soll dann die ersten 5 LED's ansteuern. Demnach müsste
der IC 4 Eingänge und 15 Ausgänge haben.
Meine Frage, gibt es solche IC's mit dem oben beschriebenen Prinzip?
Sowas gibt es im Prinzip und nennt sich 1-of-16 Decoder.
Das waeren z.B CD4028, CD4514 und CD4515.
Die liefern dir aber nur einen Leuchtpunkt und keinen Balken. Ansonsten
waere es wohl am einfachsten zwei Eproms zu programieren.
Oder du programmierst einen Microcontroller fuer diese Aufgabe. Da der
die LEDs dann auch noch multiplexen koennte wuerdest du mit einem IC
mit weniger Pinnen auskommen.
Olaf
Wie meinst du das mit dem µC? Wenn mir maximal ein Port zur Verfügung
steht kann ich auch nur 8 LED's ansteuern.
Ich will aber so zwischen 15 und 30 LED's ansteuern!
Diese oben gennanten IC's wären genau das richtige, wenn sie einen
Balken ausgeben könnten und es sie in verschiedenen Größen gäbe (Mehr
Ein und Ausgänge).
Wenn es eine statische Anzeige sein soll, müsstest du jedem Ausgang zwei
Dioden spendieren. Die eine direkt an den Ausgang, die andere dahinter
auf den Ausgang des vorherigen Segments.
Hinter die beiden Dioden dann den Vorwiderstand.
Würde mein Scanner funktionieren, dann könnte ich was aufmalen...
Wenn du das System dynamisch betreiben willst/kannst, solltest du den
Weg des Multiplexen oder Schieberegister benutzen.
Analog geht das auf jeden Fall mit dem LM3914.
Hallo,
warum nimmst du nicht einen kaskadierbaren ic, wie zB den LM3914
dann baust du mit dem freien port nen d/a wandler und steuerst sowas
damit an (lässt einfach den impuls/spannungswandler weg)
http://www.digitaler-drehzahlmesser.de/
oder du nimmst nen maxim 6954 (4x7segment treiber, der steuert dir die
leds gemultiplext an...(anhang) die einzelnen elemente der anzeigen,
sind ja auch nur leds, also nimmst du da leds kannst du es ganz einfach
ansteuern..
@Rahul
Meinst du das so (siehe Anhang)? Die Idee ist nicht schlecht, nur fällt
dann an jeder Diode auch eine Spannung ab (z.B. 0,7V) was sich ja dann
mit zunahme addiert. Also nimmt die Leuchtstärke nach unten ab bzw.
leuchtet gar nicht mehr.
Was meinst du mit
"Wenn du das System dynamisch betreiben willst/kannst, solltest du
den
Weg des Multiplexen oder Schieberegister benutzen."
@bob
Das mit dem LM3914 wollte ich vermeiden, denn dadurch verbrauch ich
viel Platz auf der Platine. Denn ein D/A-Wandler und mindestens zwei
LM3914 verbrauchen mehr Platz als wenn ich das ganze in einem IC
hätte.
Ich denke da wäre der MAX6954 mit seinen 40 Pins sparsamer, als die
LM3914 Lösung.
Als "kleiner" Baustein bietet sich der MAX7219 bzw MAX7221 an, der hat
nur 24 oder 28 Pinne. Die LEDs (maximal 64) müssen in Form einer 8x8
Matrix verschaltet sein.
Dieter
"Wie meinst du das mit dem µC? Wenn mir maximal ein Port zur Verfügung
steht kann ich auch nur 8 LED's ansteuern.
Ich will aber so zwischen 15 und 30 LED's ansteuern!"
Für 30 LEDs als 8*4 Matrix brauchst Du 8+4=12 Ausgänge. Plus die 5
Eingänge macht 17, da reicht also ein ATTiny2313 dicke aus.
Peter
@Peter
Sorry ich verstehe nur Bahnhof. :-(
Ich will doch keine Matrix aufbauen sondern eine Balkenanzeige.
Es wundert mich das es so einen IC nicht gibt, quasi einen gigitalen
LM3914.
Kennt jemand einen nichtinvertierenden Treiberbaustein? Der wäre dann
bei der Lösung mit dem CD4514 noch notwendig.
Ob Balkenanzeige oder was anderes, ist doch allein eine Frage des
Programms. Deshalb sind ja auch solche Spezial-ICs am Aussterben.
Und ne Anzeige zu multiplexen ist eine der leichtesten Übungen für
einen MC (Timerinterrupt).
Peter
@Steffen:
Ja, so in der Richtung. Man müsste jeder LED noch einen Treber
spendieren. Allerdings ist sowas wohl eher was für
Versorgungsspannungen über 5V geeignet.
Peter hat mal wieder eine recht einfach Lösung:
Du kannst dir entweder eine Matrix aufbauen (wobei die LEDs nicht im
Quadrat oder im Rechteck angeordnet sind, sondern in einer Linie) oder
die entsprechende Anzahl an Pins am vorhanden µC benutzen.
Weiterhin kannst du bei Verwendung weniger Pins zwei Schieberegister
kaskadieren (74HC/T596 oder so) und dann deine LEDs über die
SPI-Schnittstelle ansprechen.
Mit dynamisch meinte ich Multiplexen oder ähnliches, sprich der
Controller steuert die LEDs selbst an.
Übrigens ist das Gegenstück zum CD4514 der CD4515. Die würde ich aber
nicht mehr in der Art, sondern als HC bzw HCT4515 benutzen.
Bevor du irgendwas mit "Spezial-ICs" versuchst, solltest du dir
lieber einen Kopp machen, ob man das nicht mit Standard-ICs
(Schieberegister etc) oder sogar ohne dem machen kann.
Gruß Rahul
Oder du nimmst dir z.B. einen "ATTINY 2313 DIP" (bei reichelt ist das
der günstigste AVR mit vielen Pins - nur 1,65 EUR).
Schaltest bis zu 16 LEDs einfach an die Portpins und nimmst die letzte
freie IO-Leitunung als serielle RX-Leitung, die von einem
"Master-Controller" dann einfachste Befehle empfängt und
dementsprechend die LEDs schaltet.
Das Programm ist fast trivial und du kannst sogar mehrere dieser
selbstegabuten LED-Treiber an die gleiche TX-Leitung des Masters
hängen! Die jeweiligen Controller kannst du dann ja jeweils
"anklingeln" mit einem zusätzlichen Adres-Byte vor dem
LED-Datenbyte.
Du müßtest bei dieser schaltungsmäßig sehr einfachen Lösung (weil keine
zusätzlichen Bauteile und nur wenig Verdrahtung) aber aufpassen, dass du
den maximalen Strom des AVR nicht übersteigst.
Der ATTINY2313 kan zwar pro Pin bis zu max. 40mA, aber insgesamt nur
max. 200mA!
Mit 10mA pro LED kommst du dann aber prima hin! Also einfach bei
Widerstandswahl berücksichtigen.
jörn
Hallo
hab vor mir nen DIGITALEN Drehzahlmesser mit µController zu bauen (ca
40 bis %0 LED´s).
suche auch noch nach so nem IC.
Mein vorläufiger Höhepunkt ist der MAX 6956, mit dem kannste 20 bis 28
LED´s einzeln oder in Gruppen per I2C ansprechen.
Auserdem brauchst du keine VorWiderstände und kannst den Strom durch
JEDE!!! LED einzeln einstellen, also wenn du willst Helligkeit ändern
(bei DZM Nachts ganz nützlich).
Ist in DIP (leider nur 20LED) erhältlich, glaube bis zu 4 verschiedene
Adressen
PS.: ist glaub ich auch mit SPI verfügbar
Ich schätze ich werde nicht um eine serielle Datenübertrageng zum
ansteuern der LED's kommen.
Schieberegister wäre auch eine Möglichkeit wobei hier wieder das
Problem der Größe (wieviel Bit hat das größte Schieberegister?) und der
Strombelastbarkeit besteht.
Von diesen MAX... gibt es doch bestimmt noch andere Typen, vielleicht
existiert auch ein passender in DIP Gehäuse.
Schieberegister kann man in der Regel kaskadieren, also mehrere
hintereinander schalten.
Für je eine LED pro Ausgang sollte der Strom reichen. Sonst müsste man
noch einen ULN-Baustein (z.b. 2803) spendieren.
@Jörn
Ja das ist mir auch schon aufgefallen, Reichelt hat keinen der
genannten MAX-IC's im Angebot. :-(
Was wäre denn das größste Schieberegister. Ich bräcuhte mal eine genau
Bezeichnung damit ich nach einem Datenblatt suchen kann.
Schieberegister sind in der Regel 8Bit breit.
Das "Standard"-Erweiterungs-Schieberegister ist wohl das 74HCT595.
Das hat noch einen Ausgang, den man auf den Eingang des nächsten legen
kann.
@Steffen: und wenn sie ihn hätten würde er sicherlich mehr als 5,- EUR
kosten - auch die Version ohne Stromquelle.
Ich würde 'nen AVR nehmen (oder die üblichen Schaltungen mit vielen
Einzelbauteilen (Transistoren)), wie gesagt.
Schieberegister sind zwar billiger, aber sie können keine solchen
Ströme treiben und sind nicht flexibel, wenn du mal was ändern willst.
jörn
Also wenn ich jetzt alles mal zusammenfasse, ist wahrscheinlich ein
größerer µC die beste Wahl. Ich hatte zuerst vor das ganze mit einem
ATmega8 + "Balkenanzeigen-IC" aufzubauen. Da wäre es das Beste
einfach einen ATmega16 (der hat vier Ports) zu nehmen, denn:
1. Alles ist in einem IC, das spart viel Platz.
2. Man muss keine "aufwendigen" Programme zur Datenübertragung
schreiben
3. Es ist nicht teurer und der µC ist überall erhältlich.
Laut Datenblatt ist jeder I/O Pin mit 40mA belastbar, das würde ja
reichen. Was mich etwas stutzig macht ist diese Angabe:
DC Current VCC and GND Pins................. 200.0mA PDIP
Also demnach darf I-gesamt nicht 200mA überschreiten, wenn nun aber 24
LED's mit jeweils 15-20mA leuten, überschreitet es diesen Wert.
"wenn nun aber 24 LED's mit jeweils 15-20mA leuten, überschreitet es
diesen Wert."
Hast du Dir mal moderne high-efficiency LEDs bei 2..5mA angeschaut oder
muß das Gerät für den Wüsteneinsatz sein ?
Es hindert Dich natürlich keiner daran, die LEDs nicht als Matrix zu
multiplexen und nicht mit nur einem ATTiny2313 auszukommen.
Du kannst einen größeren MC zu nehmen, brauchst dann halt auch mehr
Vorwiderstände (einen pro LED) und kostet auch etwas mehr.