Homepage von Marco Gubka

Elektronik‎ > ‎

zaehler


Projekt Zähler

Aufgabe

Es war für ein Tischfußballspiel einen automatischen Torzähler zu bauen. Neben einer vollautomatischen Zählung, die mit einem kleinen Wipptaster in der Ballrückführung realisiert werden sollte, musste auch eine manuelle Korrektur des Spielstands möglich sein. Gezählt werden sollte zweistellig (also 00-99). Die 7-Segment-Anzeige mit der jeweiligen Torzahl sollte oberhalb des Tores angebracht werden, die Taster zur manuellen Korrektur am Rand.

Die Lösung

Es stand zur Entscheidung, die gesamte Logik als programmierbaren IC zu realisieren oder aus einzelnen Funktions-ICs aufzubauen. Da der PIC teurer geworden wäre als die "normalen" ICs, fiel die Wahl auf letztere.

Erste Herausforderung waren die Zähler:

ohne Takt:
manche Zähler erfordern einen externen Takt und zählen nur dann, wenn ein zweiter PIN auf H gesetzt ist. Das ist zu kompliziert.
getrennte Auf- und Ab-Signale:
manche Zähler erlauben mit Hilfe eines "Richtungssignals" die Zählrichtung zu bestimmen. Gezählt wird dann Taktsynchron. Das hätte für diese Aufgabe zusäztliche Logik erfordert, um die Tastersignale dem Zähler zu vermitteln
zählen bis >=99 oder kaskadierbar
übliche Zähler zählen ein Nibble (4 Bit) entweder im Dualsystem (also 0 bis 15) oder BCD (0 bis 9). Daher müssen zwei ICs kaskadiert werden. Übertrag und "Borgen" müssen weitergegeben werden, um auch 10er-Grenzen in beide Richtungen überwinden zu können.

Die Wahl fiel letztendlich auf die 74HC192 (IC1, IC2).

Dekodierung und Anzeige des Zählerstands

Die Zähler zählen in BCD. Diese Werte müssen so aufbereitet werden, dass eine 7-Segment-Anzeige in deutscher Schreibweise angesteuert werden kann. Wünschenswert ist, wenn man die Anzeige der Null unterdrücken kann, um anstelle der Anzeige "00" .. "09" einfach nur "0" .. "9" angezeigt bekommt. Der 74LS247 (IC3, IC4) erfüllt genau diese Aufgabe.

Die 74LS247 können direkt zur Ansteuerung einer 7-Segment-Anzeige verwendet werden, wenn diese in der Ausführung gemeinsame Anode verwendet wird. Das 7-Segment-Modul Kingbright SA08-11 RT (D1, D2) ist genau ein solches Modul. Gemeinsame Anode ist deshalb notwendig, weil die Ausgänge des Decoders nach negierter Logik arbeiten und zur Anzeige von Werten Strom in den IC fließen muss.

Der Decoder schaltet zur Aktivierung einer LED den Ausgang auf max. 0.5V. D.h. zwischen VCC (5V) und dem IC ist ein Potenzial von 4.5V. Die gewählten LEDs benötigen zur Anzeige ca. 20mA bei 2V Spannungsabfall. D.h. es sind 2.5V zwischen VCC und dem Ausgang des ICs "zuviel da". Diese 2.5V können von jeweils einem 110Ω Widerstand (R1-R14) "verbrannt" werden (R=U/I, U=2.5V, I=0.02A).

Entprellen der Taster

Die unberechenbare Mechanik der Taster ist bei einem Schaltungsentwurf wohl der komplizierteste Teil. Es gibt verschiedene Schaltungen mit Kondensatoren, Widerständen und Schmitt-Triggern an unterschiedlichen Positionen. Am einfachsten hat sich einfach ein parallel zum Taster eingebauter Keramikkondensator mit zwei nachfolgenden Negatoren erwiesen. Die Größe des Kondensators richtet sich zum einen nach der Geschwindigkeit der ICs und zum anderen der Dauer des Nachschwingen der Taster. Man kann da nur probieren (oder mit einem sehr guten Oszi messen). Probieren hat gezeigt, dass 474nF-Kondensatoren (C5, C6) ausreichend sind. Die Negatoren entstammen einem 74HC14N (IC5).

Noch eine weitere Bemerkung zu den Tastern. Der Zähler erwartet im Normalbetrieb auf beiden Zähleingängen einen H-Pegel (VCC). Geht ein Pegel auf L, so zählt der Zähler. Man kann also nicht einfach einen Taster nehmen und mit diesem VCC oder Masse anlegen, sondern muss dafür sorgen, dass immer VCC anliegt und nur bei Betätigen des Tasters der Pegel auf L geht. Das kann man so realisieren, dass ein so genannter Pull-Up Widerstand eingebaut wird. Dieser verbindet VCC mit dem Eingang des ICs und hält diesen Eingang auf H. Der Taster verbindet den Eingang mit der Masse. Wird nun der Taster betätigt, kann Strom aus dem IC in Richtung Masse abfliessen uns der Pegel geht auf L. Der Widerstand verhindert einen Kurzschluss von VCC an Masse und gewährleistet, dass der L-Pegel bevorzugt wird. Ein 10kΩ Widerstand (R15-R17) hat sich als geeignet erwiesen. (Das H-aktive Reset funktioniert analog und braucht nicht einmal entprellt werden.)

Anschlüsse

Zum Anschluß der Taster und der Spannungsversorgung wurden kleine Wago-Klemmen verwendet, die in unterschiedlichen Farben verfügbar sind, um die Bedeutung der jeweiligen Leitungen zu verdeutlichen (leider ging das ein wenig schief ;-)

Die Wago-Klemmen sind wie folgt beschaltet. Dabei wird mit 1 an der Klemme begonnen, die am nächsten zum 74HC14N liegt (die äußerste blaue welche):

Nr. Farbe (ist) Funktion Farbe (soll)
1 blau VCC (Spannung +) orange
2 grau GND (Spannung -) blau
3 blau GND f. Up 1 blau
4 orange Signal Up 1 grau
5 blau GND f. Up 2 blau
6 orange Signal Up 2 grau
7 blau GND f. Down blau
8 orange Signal Down grau
9 blau Signal Reset grau
10 orange VCC f. Reset orange

Da die 7-Segment-Anzeigen abseits von der Hauptplatine installiert werden sollen, wurde mit einem 16-poligen Flachbandkabel eine entsprechende Verbindung realisiert. Jedoch wurde nur auf der Hauptplatine ein entsprechender Leiterplattenverbinder eingelötet. Auf Seite der 7-Segment-Anzeigen wurde das Kabel direkt an die Pins der Anzeigen gelötet, weil für einen weitern Leiterplattenverbinder kein Platz war.

Die Betriebsspannung von ca. 5V kann die Schaltung per Würfelnetzteil oder Akkupack erhalten. Leuchten alle LEDs (Spielstand 88:88), so brauchen zwei derartige Schaltungen zusammen etwa 0.75A. Zeigen die Anzeigen ein 1:1 an, so verbraucht die Schaltung 0.15A.

Dokumentation

Entwickelt wurde mit der kostenlosen Hobby-Version von Eagle. Mit Hilfe von Eagle3D wurde eine 3D-Voransicht gerendert (Eagle3D kennt keine Wago-Klemmen und keine Leiterplattenverbinder, so dass ähnliche Komponenten substituiert wurden.

Theorie

Schaltplan mit 7-Segment-Anzeigen(anklicken für größere Version):

Leiterplattenentwurf mit Leiterplattenverbinder:

Leiterplattenentwurf des 7-Segment-Moduls:

Rendering mit Eagle3D

Bauteile

Menge Typ Verwendung
2 74HC192 IC1, IC2
2 74LS247 IC3, IC4
1 74LS14 IC5
2 SA 08-11 RT D1, D2
4 Tantal 0.1/35V C1-C4
2 Keramik 474nF C5, C6
14 Widerstand 110Ω 1/4W R1-R14
3 Widerstand 10kΩ 1/4W R15-R17
2 Leiterplattenverbinder, 16polig X2
10 Wago Anreihklemme X1 (Connector)
1 Lochrasterplatine 75x100mm
1 Lochrasterplatine 50x50mm
1m Flachbandkabel
2m Verzinnter Kupferdraht
5 passende IC-Sockel
3 Taster (Schließer) S1-S3

Fotos

Aufbau auf der Testplatine:

Bestückungsseite:

Lötseite:

Fertig!


© 2006 by C. Hübsch + M. Gubka