Hey,
folgende Frage - ist es möglich das Display dieses Bausatztes
http://www.watterott.com/de/ClockIt durch 4 74(LS)47 zu ersetzten, so
dass ich damit dann 4 DIY 7-Segmentanzeigen (3 LEDs pro
Segment)ansteuern kann? Oder müsste hierfür erst der Controller
umprogrammiert werden?
Beste Grüße
Domiic
Superpeter schrieb:> folgende Frage - ist es möglich das Display dieses Bausatztes> http://www.watterott.com/de/ClockIt durch 4 74(LS)47 zu ersetzten,
Nein.
> so dass ich damit dann 4 DIY 7-Segmentanzeigen (3 LEDs pro> Segment)ansteuern kann?
Du könntest Dein Display über 7 Treibertransistoren pro Stelle
ansteuern.
Gruss
Harald
Treiber für mehr Strom (und ggf. Spannung) sind ausreichend. Dabei sind
die 4 Treiber für die gemeinsamen Anschlüsse der Stellen die
wichtigeren. Auf die Extra Treiber pro Segment könnte man ggf. noch
verzichten, wenn man die Widerstände anpasst, und die je 3 LEDs in Reihe
sind.
Was man ein Treibern braucht, hängt von den LEDs und der benötigten
Helligkeit ab.
Was ich nicht ganz verstehe - wo schließe ich denn die Treiber, denn das
Display hat ja nur 16 Anschlüsse. Oder kann man das Gehäuse des Displays
öffnen und danach versieht man jedes Segment mit Kabel + Treiber die zu
den eigentlichen Segmenten (bestehend aus 3 LEDs) gehen?
Der 74(LS)47 ist ein 7-Segment Decoder, bei dem Bausatz muss aber nichts
decodiert werden. Du musst nur die Spannungen erhöhen für deine 3 LEDs
in Reihe.
Das kann man mit vielen einzelnen Transistoren und Widerständen machen,
aber besser mit einem IC wie dem UDN2981.
Der Bausatz ist übrigens ohne stromverstärkende Transistoren für die
Digits und ohne Vorwiderstände für die Segmente und Einzel-LEDs eine
absolute Frechheit von Schaltungsvorschlag, übler Ramsch teuer verkauft.
Mein Gedanke war halt, dass ja in dem Display derartige Decoder verbaut
sein müssten, da es halt nur 16 Kontakte hat.
Und nun ist die Frage, wo bekomme ich die "Signale" für den IC her? Das
Gehäuse einfach öffnen und anlöten?
Das Display braucht keinen Decoder! Es hat deshalb so wenig Anschlüsse,
weil die Semente (a..f & DP) der einzelnen Stellen intern miteinander
verbunden sind. Macht 8 Segmente, 4 Leitungen für die 4 Stellen, und je
2 für Doppelpunkt und 'APROG'!
schau mal da:
http://www.mikrocontroller.net/articles/AVR-Tutorial:_7-Segment-Anzeige
ist genau erklärt wie das Funktioniert!
Sascha
Ja coole Sache, ich glaube so langsam steige ich hinter das System - ist
ja gar nicht so kompiziert wie anfangs von mir gedacht...;-)
Jetzt aber noch eine Vorerst letzte Frage, die jeweiligen Anoden
verbinde ich dann mit einem Transitor und über den Strom kann ich dann
auch die Helligkeit regeln?
In der einfachen weniger hellen Version bräuchte man 8 Widerstände für
die Segmente und DP, sowie Treiber wie etwa der UDN2981 für die 4 Anoden
pins.
Die Helligkeit wird über die Widerstände und ggf. die Spannung am
Treiber eingestellt.
Für mehr Strom (> etwa 5 mA im Mittel, bzw. 20 mA gepulst) bräuchte man
noch Treiber (z.B. ULN2003) für die Segmente.
Die Höhe des Stroms wird an den Segmenten durch Vorwiderstände
eingestellt,je Segment ein Widerstand. Die Stellenumschaltung ist so
gestaltet dass sie auf jeden Fall den Strom der aktuellen Stelle
durchlässt-da können ja 1 bis 7 Segmente je nach anzuzeigender Ziffer
aktiv sein.
Wenn die Helligkeit des Display verstellbar sein muss, nimmt man an den
Segmenten den Widerstand für die größte Helligkeit und reduziert durch
Pulsweitenmodulation im Bedarfsfalle.
So, ich habe mich jetzt nochmal mit dem Thema befasst und aus den
genannten Quellen und Hinweisen einen Schaltplan gebastelt - ja und nun
die Frage wo stecken die Fehler...;-)?
Ach und noch zur Info, die Leuchtkraft der LEDs soll übers Arduino
geregelt werden. Und der Transistor sollte der BC328 sein - wenn das
damit geht?
Die extra LEDs für den Doppelpunkt und die 3 anderen sollte man anders
anschließen. Zum einen gehen die beiden Gruppen zu 3 LEDs nicht
parallel, da bräuchte es einen zusätzlichen Vorwiderstand. Zum anderen
macht es wenig Sinn da an beiden Seite separate Treiber zu nehmen. Die
Kathodenseite könnte man sonst auch direkt an GND legen und ggf. auch
der Widerstand bei den LEDs angepasst werden, weil sie ggf. länger
leuchten. Das würde den 2. ULN2003 sparen, es würde dann ULN2803
reichen. Wenn der µC so bleiben soll, muss das natürlich dem Programm
entsprechen - die jetzige Schaltung wird das eher nicht tun.
Die Ansteuerung des Transistors klappt so wohl auch noch nicht: das
Ausgangssignal vom Arduino wird vermutlich nicht bis 12 V hoch gehen,
und es fehlt der Vorwiderstand. Da könnte man z.B. einen Teil eines
ULN2003 (oder einen NPN Transistor und 2 Widerstände) vorschalten.
> genannten Quellen und Hinweisen einen Schaltplan gebastelt
Die Blöcke aus 3 und 6 LEDs würde ich nicht als einzelne Stellen
steuern, sondern zusammen mit den 4 anderen als 8tes Segemtn (ULN2803
statt ULN2003).
Und 12V per PNP mit einem Arduino steuern zu wollen ergibt einen
kaputten Arduino. Ist auch überflüssig.
> die Leuchtkraft der LEDs soll übers Arduino geregelt werden.
Dann muss dein Programm sie nur einen Bruchteil der möglichen Zeit
einschalten und schoin erscheinen sie dunkler - ohne einen PNP
Transistor.
Ohhh, danke für die Fehleranalyse.
Bezüglich der zwei Blöcke, da gebe ich euch Recht, die kann ich wirklich
als 8 Segment steuern, da ich die Punkte bei den Zahlen eh nicht
brauche...;-) Danke für den Tipp. Also kann der zweite IC weggelassen
werden und der andere wird durch einen ULN2803 ersetzt.
Bezüglich des Transistors - mein Gedanke dahinter war, dass die LEDs im
"schlimmsten" Fall 600mA bei 9V brauchen und da der Signal Ausgang beim
Arduino nur 40mA hat muss ich den Strom ja direkt vom Netzteil beziehen.
Und um diesen dann steuern zu können in der Helligkeit mit PWM dachte
ich halt an den Transistor, aber scheinbar liege ich da falsch...hmmm
was wäre denn die schlauste Variante den Strom für das Display mittels
Arduino zu steuern?
Du schaltest doch beim multiplexen sowieso die LEDs ständig an und aus,
da kannst du sie doch kürzer an lassen wenn es dunkler scheinen soll.
Nicht nur du sondern viele Leute sehen das offensichtliche nicht und
installieren zusätzliche Hardware.
Gut das erscheint mir logisch! Da ich allerdings programmiertechnisch
nur begrenzt Fähigkeiten besitze nehme ich die Uhr/Wecker schon fertig
programmiert und ich will da auch nichts dran ändern. Allerdings
ersetzte ich halt das 4-digit Display durch meine Konstruktion. Und um
dennoch die Helligkeit der LEDs steuern zu können wollte ich quasi
erstmal den "Umweg" über zusätzliche Hardware gehen. Nun ist nur die
Frage, wie das am besten geht?
> Nun ist nur die Frage, wie das am besten geht?
Wenn du 2 verschiedene Frequenzen verwendest (Multiplexfrequenz der Uhr,
deine Dimmfrequenz) ergeben sich unschöne Flackereffekte.
Du musst dich also mit deiner Dimmfrequenz auf die Multiplexfrequenz
synchronisieren.
Das ist mehr Aufwand, als ein mal im Leben was zu lernen, und den Code
der Uhr zu verstehen und zu modifizieren, oder notfalls neu zu
schreiben.
Hey,
ja irgendwie hatte ich das fast befürchtet mit den Frequenzen - und das
Risiko dass es wirklich störend flackert ist einfach zu groß.
Aber was ist wenn man statt des Transistors einen MOSFET nimmt - der
regelt ja direkt die Spannung. Wäre nur noch die Frage wie man das
PWM-Signal vom Arduino stabilisieren/glätten kann. Eigentlich würde ja
da ein parallel angeschlossener Kondensator ausreichen, oder?
Und dann ist halt für mich die Frage, welchen MOSFET und welchen
Kondensator man dafür nimmt, dass das am Ende auch läuft?
@MaWin: Ich hatte mich mit dem THema Uhr/Arduino schonmal beschäftigt
und habe aus der Erfahrung gelernt...;-) Klar geht das, und wäre auch
das sauberste, aber in Anbetracht der Zeit (und Nerven) betrachte ich
meine derzeitig angedachte Lösung doch als sinnvoller.
Mit einer Steuerung der Helligkeit über die Spannung ginge, zumindest in
gewissen Grenzen. Der Stellbereich ist allerdings begrenzt auf etwa
1:10, denn irgendwann wird Spannung am Widerstand zu klein und damit
steigen die Unterschiede zwischen den Stellen und Segmenten.
Die Frage ob MOSFET oder normaler Transistor hat damit nichts zu tun,
die Spannungssteuerung ginge sogar eher besser mit einem NPN Transitor
als einem FET. Der Transistor könnte als Emitterfolger das verstärkte
und geglättete PWM Signal verstärken. Der Transistor müsste wegen der
Verlustleitung wohl etwas größer werden: Worst case müsste man mit etwa
3 V und 200 mA also 600 mW rechnen, was schon sehr grenzwertig für den
BC328 wäre.
Die logische Lösung wäre aber wirklich das Programm der Uhr anzupassen
oder neu zu schreiben. Dann hätte man auch mit den extra LEDs für die
Punkte frei Wahl, wie man sie anschließt. So eine Uhr ist eine eher
einfache Übung und recht gut zum lernen geeignet.
> Mit einer Steuerung der Helligkeit über die Spannung ginge, zumindest in> gewissen Grenzen. Der Stellbereich ist allerdings begrenzt auf etwa> 1:10, denn irgendwann wird Spannung am Widerstand zu klein und damit> steigen die Unterschiede zwischen den Stellen und Segmenten.
Wie meinst du das mit 1:10...also in welchem "Prozentbereich" kann die
Helligkeit gesteuert werden?
> Der Transistor könnte als Emitterfolger das verstärkte> und geglättete PWM Signal verstärken. Der Transistor müsste wegen der> Verlustleitung wohl etwas größer werden
Mit welchen Bauteilen glättet/verstärkt man das PWM Signal am besten?
Und welchen NPN Transistor wäre für mein Vorhaben zu empfehlen um auf
Nummer Sicher zu gehen?