Webseite von Chris Hübsch
Sie befinden sich hier: Startseite > Elektronik > Zähler

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.)

Vor einiger Zeit erreichte mich zum Thema Entprellen noch eine Mail. Das wusste ich nicht und bei mir ging ja alles. Aber falls es Probleme geben sollte... daran könnte es liegen:
Beim Nachbau der Schaltung hatte ich jedoch große Probleme mit dem Entprellen der Taster:
Nach langem suchen ist mir aufgefallen, dass für die Kondensatoren C5 und C6 der Entladewiderstand fehlt, dadurch wird der Kondesator bei einer Betätigung des Tasters kurzgeschlossen und verliert seine Wirkung (er entlädt sich zu schnell)! Ich habe das Problem mit einem 40 Ohm Widerstand in Reihe zum Taster lösen können.

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 Farben sind ein wenig falsch verteilt. ;-)

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)FunktionFarbe (soll)
1blauVCC (Spannung +)orange
2grauGND (Spannung -)blau
3blauGND f. Up 1blau
4orangeSignal Up 1grau
5blauGND f. Up 2blau
6orangeSignal Up 2grau
7blauGND f. Downblau
8orangeSignal Downgrau
9blauSignal Resetgrau
10orangeVCC f. Resetorange

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

MengeTypVerwendung
274HC192IC1, IC2
274LS247IC3, IC4
174LS14IC5
2SA 08-11 RTD1, D2
4Tantal 0.1/35VC1-C4
2Keramik 474nFC5, C6
14Widerstand 110Ω 1/4WR1-R14
3Widerstand 10kΩ 1/4WR15-R17
2Leiterplattenverbinder, 16poligX2
10Wago AnreihklemmeX1 (Connector)
1Lochrasterplatine 75x100mm 
1Lochrasterplatine 50x50mm 
1mFlachbandkabel 
2mVerzinnter Kupferdraht 
5passende IC-Sockel 
3Taster (Schließer)S1-S3

Fotos

Aufbau auf der Testplatine:

Bestückungsseite:

Lötseite:

Fertig!

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


© Chris Hübsch <webmaster@chu.in-chemnitz.de>