Hallo Leute, Ich habe hier im Forum diverse Schaltungen mit dem Schieberegister 4094 gefunden, und da ich selbst gerade mit dem guten Stück arbeite, hab ich mir gedacht, vielleicht finde ich hier ja hilfe. Also, ich habe ein Projekt am Laufen, dass mich sicher noch ewig viel Zeit kosten wird, aber das ist erstmal egal. Ich würde gerne ähnlich dem Little-Lights-Projekt ( www.littlelights.de ) ein einfaches, monochromes LED-"Display" aufbauen. Nun habe ich weder Ahnung von C oder ASM, noch von den Controllern, die hier so vorgestellt werden. Zwar habe ich vor, mich damit zu beschäftigen, würde aber gerne erst einmal die Schaltung ganz ganz einfach, ohne Computer oder Controller antreiben, in dem ich mit Taktgebern und Schaltern(man kann also die Anzeige auf das Display "morsen") die Register ansteuere. Ich stelle mir das ganze also so vor, wie der Schaltplan im Anhang zeigt. Das blöde an diesem Schaltplan ist: er funktioniert nicht. Ich habe erstmal zum Zwecke der Vereinfachung das flackern ignoriert, was durch das nichtansteuern des Strobes entsteht ignoriert, ich habe die LEDs mit 5V betrieben, d.H. sie leuchten nicht hell, sie brauchen keine Vorwiderstände und sie halten die vom Datenblatt vorgegebene Spannung ein, wenn man den IC mit 5V betreibt( ist das eventuell nicht genug? Ich habe hier irgendwo angaben mit wesentlich höherer Spannung gelesen...) Eigentlich müsste diese Schaltung doch wenigstens dahingehend funktionieren, dass die Dioden zu Anfang leuchten(wenn der IC nur mit den Dioden, Vdd und Vcc verbunden ist, und die Inputs mal vollkommen außer acht gelassen werden) oder? Oder liegt der Sache ein grundlegender Fehler zugrunde? Was bei mir passiert, wenn ich diese Schaltung aufbaue, ist etwas enttäuschen, nämlich NICHTS, überhaupt nichts. Aber genau so wenig passiert, wenn ich die Dioden andersrum mit dem Register verbinde und die Kathoden mit Masse verbinde. Das würde doch eigentlich bedeuten, dass die Dioden nur leuchten, wenn die Ausgänge der Register auf Logisch 1 liegen oder? Ich für meinen Fall weis nicht mehr weiter, ans Datenblatt hab ich mich zumindest vollständig gehalten... Danke schonmal im Vorraus Schandmaul
Hallo, versuche mal zwischen den Schaltern und den D- und CLK-Leitungen einem Pull-Down (Widerstand nach Masse) von 4.7K-Ohm einzubauen. Offene CMOS Eingänge verhalten sich wie Antennen und fangen alles mögliche an Störsignalen ein. Die Vorwiderstände in den LED-Zweigen sind unbedingt notwendig. Eine LED versucht, die Duchlass-Spannung konstant zu halten (ähnlich einer Zener-Diode). Diese Spannung hängt von der Farbe ab und liegt zwischen ca. 1.5 und 3V. Ohne Vorwiderstand beaufschlagst Du die LEDs aber mit 5V (vom Spannungsabfall in den Ausgangsstufen des 4094 mal abgesehen). Die Konsequenz ist, daß der Strom durch die LEDs zu stark ist und entweder die LEDs oder die Ausgangstreiber im Chip die Grätsche machen. Je nach dem wer der Schwächere ist. Gruß Bernd
mit 5V sollte man eigentlich so gut wie jede LED killen können. Wenn du auf Widerstände verzichten tust, fang mal mit einer niedrigeren Spannung an. z.B. 2V aber aus einem Konstantspannungsnetzteil, alles andere wird eine zu hohe Leerlaufspannung liefern und die LEDs wieder killen. Du wirst aber noch ein ganz andere Problem haben und zwar wird dein schalter prellen das heist einmal Takten erzeugt vielleicht 50 Takte du musst den Taktschalter also entprellen.
Bei 5V muss man wegen der Kurzschlussströme eines 4000er CMOS IC nicht in Panik verfallen. Das Ding schafft laut Datenblatt gerade mal 1 LS TTL (!) Last. Vorwiderstände wären also eher kosmetischer Natur. Dein wirkliches Problem liegt aber daran das du die Funktion des IC nicht verstanden hast. Bei OE an Masse schaltet das IC seine Ausgänge ab. Das müsste also an die Stromversorgung gelegt werden. Für Tests kannst du den Dateneingang auf Masse schalten. Außerdem müsste noch ein Taster an den Strobe (=Datenübernahme) Eingang. Pulldown-Widerstände sind auch Pflicht.
Kommt ganz auf den Typ des 4094 an: Ich weiß jetzt nicht, wie gut das für den IC ist, aber die LEDs sollten an nem CD4094 überleben. Ganz anders sieht es aber bei einem HC/HCT4094 aus, da braucht man unbedingt Vorwiderstände, sonst zünden dessen parasitäre Thyristoren. Außerdem brauchen CMOS-Eingänge immer ein Signal und ein offener Draht ist keins. Du brauchst also Pulldowns (z.B. 10k) an den Tasten. Trotzdem wird nichts funktionieren, da Taster prellen. Du brauchst also noch eine Entprellung, z.B. Tiefpaß mit ST (100k/100nF und 1/6 HC14). Peter
Okay, vielen Dank schonmal an alle die gepostet haben. Also, ich habe folgendes erstmal verändert: 1. Pulldown eingebaut. 3. für die Versorgung der Dioden einen Spannungsteiler eingebaut, sodass die Versorgungsspannung jetzt bei 2,5 V liegt, das sollte doch unbedenklich sein(ist schaltungstechnisch einfach viel einfacher als vor jede Diode nen Vorwiderstand zu löten...) 4. OE an Plus(hatte ich doch auf dem Schaltplan so !?) Für den nächsten Versuch werde ich mal neue Dioden und auch ein neues Register nehmen, für den Fall, dass ich es wirklich verbraten habe. Aber ich will erst einmal dafür sorgen, dass es in der Theorie vollständig richtig ist, also noch eins: Was mir überhaupt nichts sagt: Was bedeutet "Taster entprellen" ? Bzw. was muss ich dafür tun? Danke, Schandmaul p. s.: sorry, ich bin nicht der beste im Schaltplan-Zeichnen ;)
Ah, ok, ich habe den letzten beitrag noch nicht gelesen gehabt, als ich meinen gepostet habe, tut mir leid. Also für jeden der Taster noch einen Tiefpass. Was bei einem Tiefpass die Phrase "1/6 HC14" bedeutet, ist mir nicht ganz klar... Ich habe einen HCT, also sind die Vorwiderstände angebracht. Ansonsten Danke schonmal, ich werde das Ding morgen früh mal zusammenbasteln(komme für heute abend nicht mehr vom Schreibtisch weg) und mal hoffen, dass es funktioniert ;) MfG Schandmaul
>3. für die Versorgung der Dioden einen Spannungsteiler eingebaut, sodass >die Versorgungsspannung jetzt bei 2,5 V liegt, das sollte doch >unbedenklich sein(ist schaltungstechnisch einfach viel einfacher als vor >jede Diode nen Vorwiderstand zu löten...) Das kannst du in die Tonne schmeissen. Ein Vorwiderstand pro LED oder vergiss es.
Schandmaul wrote: > Tiefpass. Was bei einem Tiefpass die Phrase "1/6 HC14" bedeutet, ist mir > nicht ganz klar... Der HC14 ist ein 6-fach Schmitt-Trigger, also pro Taste 1/6-el davon. Peter
Okay, ich gebe mich geschlagen und gebe jeder Diode ihren eigenen Vorwiderstand. Dann ist da nur noch der HC14 den habe ich zumindest nicht, d. H. ich werde mich wohl auch noch auf den Weg zum nächstgelegenen Conrad machen, um daran weiterarbeiten zu können. Wird also vielleicht doch nicht morgen schon aufgebaut... Stimmt davon abgesehen der Schalplan jetzt soweit, oder sieht noch jemand ein Problem? MfG Schandmaul
Mir ist da gerade noch eine Idee gekommen, wie man die Entprellschaltung anders realisieren könnte, und zwar so, dass ich sie auch mit den Bauteilen realisieren kann, die ich gerade da habe. Der Nachteil dieser Schaltung ist zwar, dass ich damit zwei Taktsignale nur mit einem Zeitlichen Abstand geben kann, aber das dürfte bei der Vorgeschlagenen Schaltung mit Tiefpass und Schmitt-Trigger ja nicht anders sein oder seh' ich da was falsch? Zumal sich bei 100nF diese Zeitspanne doch sehr in Grenzen halten dürfte... Ist halt Schalttechnisch noch etwas komplizierter und ich weis nicht, ob dieser zusammenimprovisierte Inverter funktionieren wird, aber wenn wär's für mich halt viel einfacher das aufzubauen, anstatt mir noch weitere Bauteile kaufen zu müssen... Was meint ihr, kann das so funktionieren/warum nicht? (Ich will ja auch was lernen ;) ) MfG Schandmaul
ich habe für ein Lauflichtband einfach mehrere 74HC573 Latches parallel geschaltet die können die LEDs problemlos treiben. Das kannst du auch mit einem größeren DIP-Array Schalter per Hand testen. Außerdem kann man hier einzelne LEDs ein/ausschalten, bei einem größerem Schieberegister oder mehreren in Reihe muss man erst wieder alles durchschieben. Wenn du einen Spannungsteiler in die Stromversorgung hängst sollte der nicht zu hochohmig sein.
Interessante Sache...hast du Zufällig einen Schaltplan parat?^^ Das ist zwar auch etwas, was ich mal realisieren möchte, aber es kommt nicht dem gleich, was ich hier vor habe. Hier geht es wirklich mehr um die steuerung von den ganzen LEDs auf basis von möglichst wenigen Schaltern bzw. später vielleicht mal PINs eines Controllers / Computers. Trozdem vielen Dank für die Vorführung.^^ MfG Schandmaul p.s.: Ist nicht beim Spannungsteiler ein Verhältnis von 1:10 zwischen Teilerwiderständen und der "Nutzlast" sinnvoll? Aber egal, den werde ich ja nun doch nicht einsetzen.
nen Schaltplan habe ich nicht gezeichnet. Aber hier eine kurze Erleuterung zur Funktion der Latch hat 8 Ein und gegenüber 8 Ausgänge. Man kann seine Daten an die Eingänge des Latches(und beliebige viele Latches parallel anschließen) geben und mit dem einen Signal an Steuereingang1 sagt man ihm übernehme sie. Das macht man dann mit jedem Latch und am Schluß gibt man an den anderen Steuereingang2 ein Signal womit der Latch den gespeicherten Wert auf die Ausgänge gibt. Dafür wird also nur 1 Pin des µC verwendet und an alle Latches gegeben. Und dann braucht man noch je Latches einen Pin für dieses "Steuersignal1" oder man nimmt einen "Binär-Dezimalwandler" so kann man mit 3 Pins 8 Latches getrennt ansteuern oder mit 4 Pins 16 Latches....
Die Schaltung mit dem HC14 ist schon ok. Du kannst dir damit für Tests auch sehr einfach einen Takt erzeugen. Die restlichen Eingänge des HC14 sollten aber an einem definierten Pegel liegen. Der 4094 hat den Vorteil das man ihn sehr einfach kaskadiern kann. Du kannst sie über den Qs* Ausgang koppeln und musst dann einfach nur mehr Daten hineinschieben. Dabei kannst du dir beliebig Zeit lassen, es ist möglich alle Ausgänge gleichzeitig mit einem Strobe-Impuls umzuschalten. Beim 74HC573 braucht man immer ein weiteres Pin und muss den Bus verlängern.
Naja klar, dass die Schaltung funktioniert wage ich ja nicht zu bezweifeln, aber ich habe halt den HC14 nicht, und habe einfach überlegt, ob ich das Ding nicht auch aufbauen kann, ohne mir noch einen neuen IC zu kaufen. Aber wenn du sagst, dass es wahrscheinlich so wie ich es oben beschrieben habe nicht funktionieren wird, muss ich wohl losmarschieren und mir den HC14 doch kaufen. Was anderes: Definierter Pegel heißt welche Ausmaße? Und mit welchem Hintergrund macht man das, was bewirkt es bzw. warum ist es nötig? Ja, die Sache mit der Kaskadierung ist genau der Grund, weswegen ich dieses Register habe. An Thomas O: Was für Latches hast du für die Schaltung verwendet und noch eine blanke Verständnisfrage: Du gibst an jeden Eingang des Latches(ich geh' mal einfach von nur einem einzigen Latch aus, um die Sache simpel zu halten) ein Signal und gleichzeitig schickst du am Steuereingang 1 einen Impuls durch, der die Daten aus den 8 eingängen ins latch übernimmt, und dann schickst du auf dem Steuereingang2 noch das Signal durch, dass die Outputs "einschaltet"...da brauchst du doch 10 Ausgänge vom Controller? 2x für die Steuersignale und 8 für die eingänge...und das möchte ich ja genau vermeiden... Oder habe ich das Prinzip nur falsch verstanden? MfG Schandmaul
ja genau aber an die 8 Ausgänge kannst du mehrere Latches parallel hängen, stell es dir so vor als würdest du sie Huckepack stecken. Das eine Steuersignal um die Ausgänge zu aktivieren wird ebenfalls auf alle Latches parallel gelegt. Nur das eine Steuersignal muss man getrennt pro Latch übertragen damit man praktisch das Latches anspricht das die Daten übernehmen soll. Man braucht im Endeffekt mehr Leitungen aber angenommen du hast 5 8bit Schieberegister hintereinander und willst das 40 Bit ändern dann musst du hallt alle 40 Bits neu durchschieben bei ausgefalleren Mustern bist du ständig am schieben. Bei soetwas ist es noch nicht so schlimm 0000000000000000000000000000000 1000000000000000000000000000000 0100000000000000000000000000000 0010000000000000000000000000000 aber wenn du dann soetwas machen willst muss jedesmal das komplette Muster durchgeschoben werden 1000000000000000000000000000001 0100000000000000000000000000010 0010000000000000000000000000100 0001000000000000000000000001000 ... 0010000000000000000000000000100 0100000000000000000000000000010 1000000000000000000000000000001
> Was anderes: Definierter Pegel heißt welche Ausmaße? Und mit welchem > Hintergrund macht man das, was bewirkt es bzw. warum ist es nötig? Die unbenutzten Eingänge einfach an die Versorgungsspannung oder Masse anschließen. Offene Eingänge sind sehr hochohmig und können irgendwelche Ladungen einfangen und pegelmäßig "floaten". Dabei passieren dann komische Dinge - von undefinierbaren Fehlfunktionen bis zur spontanen Selbstzerstörung ;).
Thomas O. wrote: > Man braucht im Endeffekt mehr Leitungen aber angenommen > du hast 5 8bit Schieberegister hintereinander und willst das 40 Bit > ändern dann musst du hallt alle 40 Bits neu durchschieben bei > ausgefalleren Mustern bist du ständig am schieben. Bei 1MHz SPI-Takt sind das 40µs. Da mußt Du also im Gegenteil noch massig Delays mit einbauen, denn ein 40µs-Bild kann kein menschliches Auge erfassen. Ich lasse daher lieber die CPU 0,1% mehr ackern, als mir beim Layouten die Finger zu verknoten. Peter
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.