WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Home Cockpit - Das Forum für die "Bastler" (http://www.wcm.at/forum/forumdisplay.php?f=55)
-   -   CMOS 4056 7-Segment Driver Problem (http://www.wcm.at/forum/showthread.php?t=204965)

Pantu 08.12.2006 10:44

Hallo Philharmony,

das mit dem Bestimmen des Pin 1 ist schon richtig. Je nachdem, wo die Kerbe hinzeigt - oben (Pin1 links davon) - unten (Pin1 rechts davon) (Draufsicht). Halte Dich einfach akribisch ans Datenblatt.

Also hier ein paar Grundsätze beim Umgang mit C-Mos:

Beim Löten auf geerdete Lötspitze achten bzw. besser IC sockeln.

1.) Alle Eingänge mit 10kOhm - können bis etwa 100k Ohm sein - je nach benötigtem Logikpegel mit + oder Masse der Versorgungsspannung verbinden, denn unbeschaltet gibt es u.U. wilde Zustände bzw. kann das IC auch zu Schwingungen neigen.

2.)Falls Du verschiedene C-Mos Bausteine miteinander verbindest entfallen natürlich die sogenannten "Pull-ups (+) bzw. Pull-downs (-)" da die Bausteine i.d.R. interne Pull-ups besitzen. Es sei denn sie haben einen so genannten Open Collector Ausgang. Pull-downs hingegen sind eher unwahrscheinlich, daher offene Eingänge (also nicht direkt an ein anderes IC führende) immer mit min. 10k bis max.100k gegen Masse oder + (abhängig vom Lokigpegel!) abschliessen.
C-Mos sind hochohmige Bauteile (Meg Ohm Bereich).
Also der ATMEGA entspr. Ausgang kann natürlich direkt mit dem Eingang des z.B. 4056 / 4511 verbunden werden, da im Atmega der entspr. Abschluß gegeben ist.

Hoffe das bringt ein wenig Licht ins C-Mos Dunkel.

Gruß

Peter

philharmony 08.12.2006 13:04

Zitat:

Hoffe das bringt ein wenig Licht ins C-Mos Dunkel.
Ich würde sagen wir nähern uns ;) VIelen Dank für deine Hilfe.
Ein paar Fragen hätte ich noch, den Schaltungsaufbau betreffend:

1.) Die 5V des Netzteils können direkt an VDD oder sollte da noch ein Widerstand oder sonst ein Bauteil dazwischen? Mir wurde gesagt, ich soll VDD immer noch über einen Kondensator mit Masse verbinden um die Spannung zu stabilisieren. Einer meinte 100nF, ein anderer meinte das sei viel zu wenig.
Frage also: Stützen: ja oder nein und wenn ja, welche Cap.?

2.) Zum Schaltungsaufbau: Der Atmega soll auf einem Port (8bit) mit der einen Hälfte den BCD-Code der Segmente ausgeben (also 0-9) und mit der anderen dann die 0-9 für den Multiplexer um nach einander alle 10 Displays anzusteuern.
Also die Daten direkt vom Atmega auf ALLE Displays? Also wirklich "10 Drähte" an den Pin und zu jedem 4511er an einen BCD-Eingang?
Die 4 Multiplexer-Pins dann mit einem Demux-Baustein verbinden. Die 10 Ausgänge dann negiert mit je einem LE-Eingang der 10 4511er verbinden.
Denn wenn ich das richtig verstanden habe, nimmt der nur BCD an, wenn LE auf 0 steht, bei 1 speichert er den letzten Wert.
Die 7 Ausgänge des 4511 dann mit 180Ohm dazwischen auf die Display-Pins, und die gemeinsame Kathode direkt auf GND, da wo auch VSS und evtl VEE dranhängt sowie die GND-Pins des ATmega.
LT soll bei bedarf gebraucht werden, und hängt über einen Schalter an 5V, BI hängt einfach immer an 5V weil ich den nicht brauche.
Ist das so richtig und machbar?

Pantu 08.12.2006 13:38

Hallo,

zu 1.) Beide haben recht. Die 100nF sind am besten und kürzestmöglich zwischen die Pins der Stromversorgung jedes einzelnen ICs zu legen: also von VCC nach VSS. Dies dient zur Spike- und Schwingungsunterdrückung.
Falls das Netzteil nicht längsstabilisiert ist (wie die meisten Stechernetzteile mit Trafo (Billigversion)) dann hilft ein zusätzlicher Elko von mehreren 100 uF der Glättung der Restwelligkeit.

Zu 2.) zum Atmega und dessen Programmöglichkeiten kann ich nicht viel sagen.
Aber er sollte schon 10 C-Mos Eingänge treiben können. Notfalls mal im DB nach dem Fanout suchen.

Soweit ich Deine Schaltungsbeschreibung verstanden habe sollte es so funktionieren.
Der LE Eingang wird aber gepulst und zwar immer dann auf high gelegt wenn gültige BCD Daten anstehen. Dann geht der Eingang wieder auf Low.
usw.

Gruß

Peter

philharmony 08.12.2006 14:02

Wo müsste ich den Elko dann noch anschliessen? Zwischen 5V und Masse des Netzteils?
Also LE=1 ist "lesend", LE=0 "sperrt" die Eingänge, es kann also ein beliebiger BCD-Code anliegen, es wird das angezeigt, was bei LE=1 eingegeben wurde? Heisst ich muss die Ausgänge des Multiplexers nicht negieren?
Dann werde ich mal wieder eine Bestellung aufgeben und hoffen dass es dann so tut wie ich mir das vorstelle ;)
Danke nochmal.

Pantu 08.12.2006 20:34

Hi,

den Elko schliesst Du am besten auf der zu versogenden Platine zwischen Masse (-) und + Versorgungsspannung an.
Ok, der LE Eingang ist pos. Logik und daher bei Pegel =1 aktiv.
Dieser dient dazu, dass nur gültige Daten übernommen werden. Die Steuerung oder clock, wann gültige, stabile Daten zur Anzeige vorliegen, muss vom Kontroller kommen.
Mit dem BI (Blank Input, neg Logik, erkennbar an dem Strich über dem B und I) kannst Du das Display durch ein Rechtecksignal (pegel = 0 = aus, 1 = an) kurzzeitig aus- und anschalten und somit in der Helligkeit variieren.

Der Eingangsstrom ist übrigens bei ca 1 uA und damit auch bei 10 Stück für den Atmel kein Problem diese zu treiben.

Also dann mal frisch ans Werk.

Viel Erfolg

Gruß

Peter

philharmony 08.12.2006 21:19

Ich könnte die Helligkeit aber auch durch variieren von VDD variieren oder?

Pantu 09.12.2006 10:37

Hi,

nur bedingt, denn dabei veränderst Du auch die Versorgungsspannung des 4056 oder 4511. Dieser braucht aber zur fehlerfreien Arbeit seine 5V.
Mit der LED Versorgungsspannung die Helligkeit verändert zu wollen geht allenfalls mit einem IC das open Collector Ausgänge anbietet. Dann brauchst Du aber Common Anode Displays.
Da ist es einfacher einen kleinen Rechteckgenerator mit einem timer IC zu bauen (z.B. NE555)bei dem man über die Pulsfrequenz bzw Breite den Treiber strobed. Ausserdem muss man keine Leistung verbraten mit Vorwiderständen bzw. Längsreglern.
Als Beispiel kann ich halt immer nur FSBus ranziehen. Dort ist das sehr schön gelöst. (Rel. wenige Bauteile und sehr flexibel)
Aber ich verstehe Deine Beweggründe gut: unabhängig selbst etwas auf die Beine zu stellen.
Nur weiter so! Ich helfe Dir gerne soweit ich kann.


Gruß

Peter

kefali 09.12.2006 14:55

nie vergessen
 
LEDs funzen net wie Glühlampen,
sondern Helligkeit ist von eingeprägtem Strom abhängig.
Strom einprägen wird vom Vorwiderstand gemacht.
Immer einen Widerstand in Serie (in Reihe) zur LED schalten.
Pulsweitenmodulation ist zu teuer und man muss trotzdem den Strom begrenzen!

-----[_____]------|>|-----


-----Widerstand----LED----

kefali

philharmony 09.12.2006 19:52

@ Kefali?
Was ist der eingeprägte Strom?
LEDs kann man doch sehr wohl zwischen Vmin und Vmax betreiben wobei doe Helligkeit variiert.
Das Widerstand in Reihe dazu ist schon klar.

Pantu 09.12.2006 21:41

Hi,

das mit dem eingeprägten Strom bezeichnet eine Konstantstromquelle, die unabhängig vom Lastwiderstand (in gewissen Grenzen) immer den gleichen Strom fließen lässt.
Wird am einfachsten mit 1 Transistor 1 Zenerdiode und einen Widerstand realisiert.

Wieso soll Pulsweitenmod. zu teuer sein? Die lässt sich doch im Atmel programmieren.
Ausserdem ist dies der eleganteste Weg um die Helligkeit quasi verlustlos zu steuern. Begrenzt muss der max. Stom durch die LED immer mit einem Widerstand werden.
Wie in meiner vorigen Antwort dargelegt geht das mit Vmin und Vmax nur innerhalb kleiner Grenzen, ausser mit open Collector ICs.

Gruß

Peter


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag