Archiv verlassen und diese Seite im Standarddesign anzeigen : Lauflicht
Matze0001
26.03.2009, 19:12
Hallo! Mein Projekt hat zwar nichts mit Roboter zu tun (bitte nicht böse sein) , aber ich hoffe ihr könnt mir evtl. helfen. Hab mit diesen Forum die beste Erfahrung gemacht...
Also bin grad beim Basteln für ein Lauflicht mit 15 RGB-Led´s
jede Farbe und LED soll einzeln ansteuerbar sein..
Program auf uC bzw. auf den uC´s steht schon.
Wenn ich also die Leds, ganz normal an den vorhandenen 45 Pwm-Kanälen
anschließen würde, funktionierts auch schon!
Jetzt hab ich nur ein kleines Problem und zwar hab ich die Leitungen
zu den LED´s so ausgelegt, das ich diese Multiplexen muss...
nur wie?
auf der Zeichnug im Anhang, könnt ihr eine Übersicht sehen, wie es
ist...
der Multiplexer ist noch offen....
wie multiplex ich das ganze?
PWM läuft ca mit 122Hz
ist das mit Logik-IC´s zu verwirklichen?
schalten diese so schnell durch?
bzw. was für Leistungen kann ich mit einen Logik-IC schalten?
Oder habt ihr evtl. eine andere Lösung?
wäre um jede Hilfe dankbar
Grüße Matze!
Hallo Matze0001!
Trotz extremen Bemühungen kann ich aus deinem Schaltplen nichts erkennen, da er zu klein ist. Bitte, wenn es geht, größeren Schaltplan posten. :)
Die standart TTL logik IC's können bis zu 16 mA an GND mit ca. 10 MHz schalten.
MfG
Matze0001
26.03.2009, 19:30
oh jeh, sorry^^
hier die gößere Version :-)
Danke! :)
Die drei ganz rechten Multiplexerausgänge, die bis 45 LED's an GND schalten (z.B. für max. 45 x 20mA = 900 mA x Multiplexingfaktor) benötigen entsprechend "starke" Schalter mit Transistoren (bipolar bzw. MOSFET). Die alle übrige, die nur den + auf einzelne LED's mit Vorwiderstand schalten kann man mit logik IC's realisieren.
MfG
Matze0001
26.03.2009, 20:44
ne, nicht ganz richtig...
über die 3 GND Leitungen fließt jeweils der Strom von maximal 15 Leds...
also von 5 RGB-Led´s x3 Farben
sind so 300mA
Also die oberen 5 RGB-Led´s eine GND-Leitung,
die mittleren 5 RGB-Led´s eine GND-Leitung
und die unteren 5 RGB-Led´s eine GND-Leitung
die + würden, wenn alle Led´s ohne Multiplexen an wären, je 3 Led´s versorgen
und es fließen ja mit Vorwiderstand 20 mA pro Led (Farbe)
Sorry, ich wollte zu schnell sein. :oops:
Dann kannst du leider sowohl fur + als auch für GND keine logik IC's verwenden. Du kannst aber für + z.B. UDN298X und für GND z.B. ULN200X verwenden.
MfG
Matze0001
26.03.2009, 21:02
ich denke mit UND-Gatter kann ich das dann gut lösen, wenn diese ja schnell genug reagieren....
Und wegen den Strom mach ich mir dann auch keine Sorgen.
Ich kann ja mit den Ic´s dann Transistoren schalten, die dann die Led´s ansteuern...
Die o.g. IC's sind aber einfacher, weil die alle Transistoren sind schon drin... :).
Wenn du schon 45 PWM leitungen hast, brauchst du nichts multiplexen, oder bin ich wieder ein bischen daneben?
MfG
Matze0001
26.03.2009, 21:10
ich muss leider Multiplexen, weil die Leitungen schon so verlegt sind und ich nicht mehr ran komme :-)
was für eine Funktion haben diese Ic´s denn genau? Vieleicht lieg ich ja jetzt ein wenig daneben :-D
Das sind s.g. Treiber (Schalter), dass heisst, sie werden mit logik Signalen (H bzw. L) von z.B. einem µC gesteuert und "schliessen" am Ausgang hängende Leitung mit VCC (UDN298X) bzw. GND (ULN200X) oder sind "offen" (open collector). Sie haben auch meistens Freilaufdioden, die für induktive Lasten nötig sind.
Matze0001
26.03.2009, 22:02
aha, hört sich gut an! Dann könnt ich mir die Transistoren sparen...
was für Leistungen verkraften die beiden Ic's?
Also, wenn ihr noch eine Andere Lösung habt, bin für alles offen :-)
glaub aber einfacher und billiger gehts ned...
Ausser es gibt einen IC, der zufällig 45 PWM Eingänge hat und
dann gleich richtig für meine Verdratung Multiplext, denke aber das ist eher unwarscheinlich :-D
wenn ja, dann her damit...!
Danke für die Hilfe schonmal!
Gruß Matze
Matze0001
26.03.2009, 22:18
ach, jetzt komm ich glaub ich mit...
also, wenn die Leds die an einen dieser Ic´s angeschlossen ist, nicht leuchten soll schalt ich einfach die Spannung am UDN ab... ist das richtig?
Und kann ich auch von 3 UDN´s die Ausgänge paralel schalten?
so:
Ausgang 1 UDN1 ---------l
Ausgang 1 UDN2 ---------l-------- LED1
Ausgang 1 UDN3 ---------l
Du brauchst nicht die Spannung am UDN abschalten, sondern nur die Spannung an seinem Eingang wechseln (z.B. von L auf H bzw. umgekehrt), was mit niedrigerem Strom geht. Du kannst einfach den Treiber als elektronischen Relais (Schliesser) betrachten. Wenn du die Spannung abschalten willst, brauchst Du kein IC... :)
Jeder Ausgang kann bis zu 500 mA "schliessen" und du kannst natürlich mehrere Ausgänge paralell verbinden um höhere Ströme zu schalten, da die alle Transistoren in einem IC praktisch identisch sind.
Matze0001
26.03.2009, 22:57
ne, jetzt kommst du wieder nicht mit, was ich meine :-)
an den Eingängen der UDN´s liegt ja jeweils eine PWM Leitung...
Und Paralel weil an einer Leitung drei Led´angeschlossen sind, aber nicht alle immer an sein sollen. Nur immer Led1 dann 2 dann 3 das mach ich ja über die GND-Leitung, jetzt soll aber über die Gemeinsame + Leitung jeweils das richtige PWM signal für die LED übertragen werden, die gerade an ist...
das heist ich muss immer 2 UDN´s wegschalten und nur den einen Betreiben , der gerade für die LED "zuständig" ist...
Weil an den Eingängen immer ein PWM Signal anliegt und ich das nicht ausschalten kann...
verstanden? ansonsten muss ich das mal später zuhause als Schaltplan reinposten...
P.S. oder ich bring dir nen SChaltplan vorbei^^ hab gesehen, wohnst ja ned weit weg :-) komm aus Weiden
Vielleicht kannst du an die Treiber IC's eine PWM Spannung (als VCC) mit genügendem Strom (Leistung) geben und den jeweiligen IC am Eingang an- bzw abschalten?
Sonst müsstest du am Eingang des Treibers ein AND Gatter schalten um das PWM Signal abzuschalten. Nicht schön, aber effektiv, könnte man das mit zwei Dioden und einem pullup am Eingang realisieren (siehe Code).
Sollte der Treiber bei Ein/Aus = 0 nicht ausreichend abgeschaltet werden, ist noch eine dritte Diode nötig (Code unten).
VCC
+
|
.-.
| |
| |
'-'
|
PWM >-|<-+
| Treiber-
Ein/Aus >-|<-+-----> Eingang
VCC
+
|
.-.
| |
| |
'-'
|
PWM >-|<-+
| Treiber-
Ein/Aus >-|<-+->|--> Eingang
Matze0001
27.03.2009, 01:11
also ich habe mir das so gedacht wie auf der Schaltung unten.
der Tiny schaltet die drei Ausgänge der Reihe nach ein und aus
also Pin1
dann Pin2
dann Pin3 dann wieder von vorne
und schaltet somit jeweils die passenden Treiber Ic´s zur passenden GND-Leitung
müsste funktionieren oder?
Ich denke schon, weil für die Treiber sollte die VCC - ca. 0,7 V, die auf den BE Strecken der T4, T5 und T6 abfällt, noch reichen. Falls nicht muss man p-n-p Transistoren (von vorhandenen n-p-n Transistoren gesteuerte) fürs Schalten des + anwenden. (siehe Code).
Bei den Transistoren T1, T2 und T3 fehlen Basiswiderstände. :)
MfG
VCC
1k +
___ |
+-|___|-+
| |
| |<
+-----| Tp
| |\
.-. |
1k| | +-----> zum Treiber
| |
'-'
10k |
___ |/
von Tiny >---|___|-| Tn
|>
|
===
GND
Matze0001
27.03.2009, 11:43
hallo, das sind alles NPN-Transistoren...
klar, weis das die Widerstände fehlen, hab ja nur das Prinzip aufgezeichnet
die kommen natürlich rein...
fehlen dann aber auch an den anderen 3 Transistoren :-)
Die Schaltung läuft übrigens mit 5V
Ich hoffe ja nur, das die Treiber trotzdem schnell genug schalten, wenn mann Sie dauernd ein und aus schaltet also halt mit ein par Hz, soll ja flimmerfrei werden. Oder haben die auch eine gewisse "Anlaufzeit" so wie
ein µC?
Hallo!
Das mit den Transistoren ist mir klar, aber wenn die Treiber mit der ca. 4,3 V nicht zufrieden würden, dann mußt du die VCC für sie mit p-n-p Transistoren schalten. Der Spannungsabfall ist auf dennen dann in mV Bereich und kann ruhig vernachlässigt werden.
Bei den anderen Transistoren sind keine Basiswiderstände nötig.
Die Treiber haben keine Anlaufzeit und schalten sehr schnell. Ob das flimmerfrei wird, hängt nur von der PWM Frequenz. Notfalls musst du sie erhöhen.
MfG
Matze0001
27.03.2009, 12:17
aso ok, na, ich werds mal ausprobieren...
Resultate meld ich dann wieder :-)
jetzt erstmal Zeug bestellen...
schon mal vielen Dank für die Hilfe!
Matze0001
18.06.2009, 17:02
Sodala,
Also hab mein Vorhaben noch ein bisschen geändert/verfeinert
Die Schaltung läuft jetzt so weit und zwar nur mit einen Atmel
15 Ausgänge (5 rot, 5grün , 5blau) und 3x GND-Select
Der Atmel übernimmt das Multiplexen, das Ansteuern der Led´s erfolgt jetzt ausschließlich über die Treiber-IC´s
Alle 15 RGB-Led´s einwandfrei, flimmerfrei, und ruckelfrei einzeln ansteuer- und dimmbar
So, jetzt zu meinen nächsten Problem...
Ich würde gerne die Schaltung Hardwareseitig noch ein wenig gegen Programmabsturz/stehen bleiben absichern. Damit es mir nicht die Led`s und Treiber zamraucht, wenn dies einmal der Fall sein sollte... D.h. der GND der kompletten Led´s sollte abgeschaltet werden in solch einen Fall.
Nur wie? Ihr könnt mir da sicherlich weiterhelfen. Bin um jede Hilfe froh!
Danke schon mal im Vorraus!
Grüße
Besserwessi
18.06.2009, 18:33
Für den Schutz gegen ein hängenbleiben des Programm gibt es den Watchdog timer. Einfach mal was darüber nachlesen.
Wenn es noch sicherer sein soll, müßte man die Treiber so bauen, dass sie bei zu lange Konstantem Signal einfach Ausschalten. Das würde sich hier wohl für die 3 "GND Select" Kanäle anbieten.
Matze0001
18.06.2009, 18:48
So weit bin ich auch schon...
der Wathdog ist mir da zu unsicher.
Sagte ja Hardwareseitig.
an die 3 GND-Select Leitungen hab ich auch schon gedacht.
Gibts da schon was fertiges oder mit was soll ich diese überwachen?
Mit noch nen kleinen Avr?
und mit was schalt ich dann den GND-weg?
Hallo Matze0001!
Es lässt sich ziemlich einfach rein hardwaremäßig mit einem retrigerbarem Monoflop (MF) lösen (z.B. 1/2 von 74XX123), weil er bei Impulsen am Eingang am Ausgang Q=1 hat. Falls die Impulse verschwinden ist an seinem Ausgang nach dem letztem Impuls Q=0. Für GND abschalten kan man mit dem MF einen Transistor steuern.
MfG
Besserwessi
20.06.2009, 15:40
Je nach Treiber kann es auch schon reichen einen Kondensator zwischen Ausgang und Treiber zu schalten. Eventuell braicht man noch einen Widerstand und eine Diode nach Masse dazu.
Matze0001
21.06.2009, 19:29
Ok,danke schon mal!
Ich denke ich werde das mit noch einen kleinen AVR überwachen...
Ist denk ich das vernünftigste. Da kann man dann auch noch verschiedene Features mit einbauen :-)
das mit den Kondensator usw. hab ich jetzt ned ganz verstanden...
Grüße
Matze0001
18.08.2009, 16:29
So, hallo Leute! Also mein Projekt hat sich schon sehr weiterentwickelt...
Jetzt stoße ich aber schon wieder auf ein neues Problem.
Soweit funktioniert alles recht gut.
Wenn ich aber jetzt z.B. eine einzelne Led aus der Lauflichtleiste leuchten lassen will, leuchten die anderen 2 Leds die parallel an der zu anteuernden Led angeschlossen sind, leicht mit obwohl der GND der beiden nicht zu leuchtenden LEDs aus sein sollte.
Also nochmal zur Schaltungserklärung:
Ein AVR erzeugt die PWM Signale der 15 RGB-LEDs
diese werden dann noch zusätzlich im Multiplexbetrieb angesteuert
(5 RGB x 3)
D.h. ich habe 15 Leitungen zur ansteuerung der LEDs und 3 Leitungen für GND-Select
Der AVR steuert die Treiber-IC,s (UDN... und ULN...) an,
die dann die LED,s schalten...
woran kann das jetzt liegen das die LED,s die nicht leuchten sollen trotzdem auch teilweise leicht leuchten?
Kann es sein das die Treiber zu träge sind?
Oder lässt der ULN... bei nicht aktiver "+"-Leitung trotzdem ein wenig strom über den GND-Pin durch?
Am Programm denke ich liegt es nicht. Haben zwischen den "Umschalten" der GND-Select Leitungen auch mal kleine Pausen eingebaut. Leider ohne positiven Ergebniss.
Evtl. hat jemand von euch auch schon mal ein ähnliches Problem gehabt.
Wär super wenn mir der ein oder andere da helfen könnte.
Grüße Matze
Moin moin.
Möglich das die Treibe Bausteine es nicht mögen wenn sie anstatt
über die Eingänge über ihre Versorgungsspannung geschaltet werden.
So ein Gatter hat auch intern Dioden,Widerstände und die Freilaufdiode.
Es gibt auch analogmultiplexer, 1 Eingang schaltet je nach binäradresse
auf z.B. 16 Ausgänge durch. Die IC`s können auch Kaskadiert werden
so das weitere 16 Ausgänge zur Verfügung stehen.
Da sollte dann 1 PWM für alle genügen. Nachteil mehr als 20 mAh
schalten diese Teile nicht und klar, wie bei enem Drehschalter wird
der Eingang immer nur auf den einen Adressierten Ausgang durchgeschaltet.
Eine Typenbezeichnung habe ich jetzt nicht zur Hand, Google nach
Analogmultiplexer sollte aber helfen. Ich hatte damals etwas aus der Cmos
40xxx Serie.
Gruß Richard
Besserwessi
18.08.2009, 17:19
Die ULN.. sind nicht besonders schnell rund 1 µs brauchen die schon zum abschalten. Die Verzögerung sollte also mehr als nur ein paar NOPs sein.
Es gibt auch ein wenig Leckstrom und eine leicht Kapazitive Kopplung über die LEDs. Dagegen könnte es helfen wenn bei den Treibern noch ein Pullup / Pulldown Widerstand ist.
Matze0001
18.08.2009, 17:44
Also die Treiber werden wie vorgesehen jetzt auch über die Eingänge und nicht über die Versorgungsspannung geschalten. Nicht wie vorher gedacht und weiter vorne in diesen Beitrag beschrieben.
Das mit der Kopplung und den Leckstrom hört sich doch schon mal gut an...
das könnte das Problem sein...
Wo müssten dann die Widerstände hin?
Eingang oder Ausgang?
Und was ist mit den UDN`s?
Bzw. gibts da auch was schnelleres? Also bessere und schnellere Treiber oder so?
Grüße
Besserwessi
18.08.2009, 17:58
Bei nur 3 LED Grußßen wird man kaum was schnelleres Brauchen. Bei einer Periode von etwa 1-10 ms fallen da 3-10 µs an Wartezeit nicht ins Gewicht.
Die UDN... sind wirklich langsam (10 µs). Auch steht da, das sie bei wenig Last noch langsamer werden. Da wäre es eventuell schon sinnvoll was schnelleres zu finden. So richtig wüßte ich nichts. Eventuell kleine P-MOSFETs , mehrere in einem Gehäuse, oder halt einzelne Transistoren.
Die Widerstände (z.B. 1 K) müßten vom Ausgang des ULN nach Vcc und beim UDN nach GND.
Matze0001
18.08.2009, 18:33
ok, mal ausprobieren wenn ich demnächst wieder Zeit habe...
Die Schaltzeiten weis ich jetzt leider nicht auswendig, sonst könnt ich die evtl. schon ausschließen...
danke schonmal
grüße
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.