www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Einfache Schaltung mit 4094


Autor: Schandmaul (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Entweder der 4094 ist hinüber oder die LEDs.
Ohne Vorwiderstand pro LED ist das auch kein Wunder.

Autor: Rainer (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Bitte sieh dir das Datenblatt an!

Gruss Rainer

Autor: Bernd Geyer (bege)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Thomas O. (kosmos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Schandmaul (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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 ;)

Autor: Schandmaul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Schandmaul (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Schandmaul (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Thomas O. (kosmos)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Schandmaul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Thomas O. (kosmos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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....

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Schandmaul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Thomas O. (kosmos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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 ;).

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.