Auch
dieser Artikel kam durch
eine Anfrage aus dem
Internet zustande.
Reinhold S. fragte über das
Kontakformular nach, ob ich
ihn dabei unterstützen
könne, die
Kegel-Fall-Abfrage seiner
selbst gebauten
Mini-Kegelbahn mit einem
Lichtschrankensystem zu
modernisieren.
Reinhold berichtete davon,
dass die Mini-Kegelbahn
schon etliche Jahre gut
liefe, aber dass ihm die
Abfrage der fallenden Kegel
nicht gefalle. Bislang hatte
er das über eine Seilrolle
mit Untersetzung gelöst.
Diese Untersetzung jedoch
erschien ihm etwas zu
schwergängig zu sein und so
kam er auf die Idee, die
Untersetzung durch eine Art
Lochscheibe mit einer
Gabellichtschranke zu
ersetzen.
Das Problem dabei war, dass
ein Kegel erst bei etwa 45
Grad Neigung als "gefallen"
detektiert werden sollte.
Bislang übernahm die
Untersetzung diese
Überprüfung.
Jetzt soll ich also eine
Schaltung zeigen, die
mittels einer
Gabellichtschranke und dem
bekannten Zählerbaustein
CD4017 die Überprüfung der
45-Grad-Neigung übernimmt.
Anstatt einer mechanischen
Untersetzung sollen nun die
Impulse gezählt werden, die
die Lichtschranke zusammen
mit einer rotierenden
Lochblende erzeugt.
Reinhold hat aber keine
konkreten Maßangaben und so
soll der Auslösepunkt der
Gesamtschaltung zudem noch
variabel einstellbar sein.
(Schätzungsweise soll
zwischen 3 und 10 Impulsen
ein Relais geschaltet
werden.)
Das Komplettkonzept läuft
mit 12 Volt Gleichspannung,
so dass kein zusätzlicher
Spannungsregler nötig wird.
Zunächst werfen wir einen
Blick auf das Pinout des
CD4017:
Links und
unten rechts sind eine Reihe
Ausgänge "0"bis "9" zu
sehen. Daran erkennen wir,
dass es sich um einen
dekadischen Zähler (einen
"10er-Zähler") handelt.
Diese Ausgänge sind nichts
Besonderes und würden bei 5
Volt betriebsspannung auch
saubere TTL-Signale liefern.
Oben rechts jedoch sehen wir
noch die Eingänge "Reset",
"Clock" und "Clock enable",
sowie den Ausgang
"Carry-Out".
Um zu erkennen wie wir die
Eingänge belegen müssen
hilft ein Blick auf das
Signalbild, das sogenannte
"Timing-Diagramm":
Wir sehen
dort, dass die Freigabe des
Taktes ("Clock-Enable")
low-aktiv ist. Das heißt,
dass wir also "Clock-Enable"
auf Minus (logisch "0")
ziehen müssen, damit der
Takteingang "Clock" Wirkung
zeigt. Der "Reset"-Eingang
ist ebenfalls low-aktiv. Das
bedeutet, dass alle Ausgänge
bei einem Null-Signal
(logisch "0") ebenfalls auf
logisch "0"gesetzt werden.
Der Ausgang "0" bildet dabei
eine Ausnahme, denn er wird
bei einem Reset auf logisch
"1" gesetzt, da der
dekadische Zähler mit der
logischen "1" auf Ausgang
"0" zu zählen beginnt. (Es
handelt sich also um die
"Grundstellung" des Zählers)
Eine Ausnahme bildet der
"Carry-Out"-Ausgang, der bei
einer positiven Flanke von
"Clock" und einem
Zählerstand von "4" (also
mit dem fünften Ausgang) auf
logisch "0" geht. Beim
Übergang von Ausgang "9" zu
Ausgang "0" geht
"Carrry-Out" wiede auf
logisch "1".
Unsere Aufgabe besteht nun
darin, dass wir dem
Takteingang "Clock" ein
sauberes Taktsignal zur
Verfügung stellen, nachdem
der Reset-Eingang und der
"Clock-Enable"
(Taktfreigabe) richtig
beschaltet wurden. Den
Carry-Out-Ausgang benötigen
wir für diese Anwendung
nicht und können ihn einfach
ohne Beschaltung lassen (NC
=> "No Connection").
Da der Zähler aufgabengemäß
vor jedem Zählvorgang
sowieso kurz spannungsfrei
gemacht wird (kurz komplett
abgeschaltet wird), kann der
Reset-Eingang dauerhaft auf
Minus gelegt werden. Der
Zähler soll weiters in
ständiger Zählbereitschaft
sein, also setzen wir den
"Clock-Enable"-Eingang
dauerhaft ebenfalls auf
Minus, also logisch "0".
Es mag sein, dass der
Zählerbaustein beim
einschalten der
Versorgungsspannung einen
beliebigen Zählwert annimmt.
Um das zu verhindern genügt
eine kleine, externe
Beschaltung am Reset-Pin.
Der Zähler sollte dann stets
sauber mit dem Wert "1",
also mit einer
logischen "1" am Ausgang "0"
starten, so dass eine
saubere Zählung möglich ist.
In
folgendem Schaltplan ist
das alles einmal
berücksichtigt:
Exkurs
Für die Beschaltung
des Reset-Pins:
Ein
CMOS-Chip wie der CD4017
hat extrem hochohmige
Eingänge. Das bedeutet,
dass schon
elektrostatische
Aufladungen in der Nähe
der Eingangspins eine
logische "1" oder eine
logische "0"
"vorgaukeln" können,
obwohl gar nichts an
diesen Pins
angeschlossen ist. Man
kann auch
umgangssprachlich sagen:
"Die
Eingangspins von
CMOS-Chips sind sehr,
sehr empfindsam."
Manche CMOS-Chips haben
deswegen bereits interne
Beschaltungen, die dafür
sorgen, dass der Chip
nach dem Anlegen der
Betriebsspannung sauber
in einen definierten
Betriebszustand läuft.
Aber die allermeisten
CMOS-Logik-Chips haben
solcherlei Beschaltungen
leider nicht.
Bei dem Chip CD4017 kann
man zudem nicht davon
ausgehen, dass der Chip
nach Anlegen der
Betriebsspannung auf dem
Zählwert "1" (also
Ausgang "0" auf logisch
"1") zu liegen kommt.
Viel mehr muss man davon
ausgehen, dass der Chip
ohne entsprechende
Beschaltung nach dem
"PowerUp" einen
beliebigen, zufälligen
Wert ausgibt.
(Einer
der Pins "0" bis
"9" auf logisch "1",
nur: welcher ?)
Also ist es sehr ratsam,
sich den Reset-Pin
vorzuknöpfen und ihm
eine kleine
Außenbeschaltung zu
spendieren. Auf
dem folgenden
Schaltplan sehen wir,
was man als Beispiel
machen könnte:
Wir
sehen, dass sich der
100nF-Kondensator im
Einschaltmoment
auflädt und dabei
einen winzigen Strom
durch den Widerstand
R1 fließen läßt.
Aber genau dann
fällt eine Spannung
an diesem Widerstand
ab, die den
Reset-Pin so lange
auf eine logische
"1" zieht, wie der
Strom durch den
Widerstand fließt,
also so lange, bis
der Kondensator voll
geladen ist.
Dieser "1"-Impuls
jedoch genügt dem
CD4017 schon um
einen internen Reset
auszulösen und den
Zähler auf "1"
(Ausgang "0" auf
logisch "1" und alle
anderen Ausgänge auf
logisch "0") zu
setzen.
Wenn die
Betriebsspannung
nun eingeschaltet
bleibt, wird der
Strom durch den
Widerstand R1 zu
Null (Kondensator
voll) und die
Spannung im Punkt 1
wird zu Null
(logisch "0"). Der
Reset-Eingang
bekommt nun solange
eine logische "0"
"präsentiert", wie
die
Bestriebsspannung
eingeschaltet
bleibt. Er ist also
nun ständig inaktiv
und hat in
diesem Zustand keine
Funktion.
Unsere Anwendung
jedoch ist so
beschaffen, dass die
Betriebsspannung
jeweils einige
Sekunden lang
abgeschaltet werden
soll, so dass der
Kondensator dann die
Zeit hat, sich
wieder zu entladen.
Bei anderen
Anwendungen, bei
denen die
Betriebsspannung nur
sehr kuzzeitig
ausgeschaltet wird,
würde diese
Schaltung so also
nicht sauber
funktionieren.
Dei
der Kegelbahn
dürfte es aber
gehen.
Trotzdem
gilt es, im
Versuch die
besten Werte
für das
RC-Glied zu
ermitteln.
Exkurs Ende
Damit
sind wir fertig für die
Betrachtung der
Gabellichtschranke:
Das ist das Prinzip für den
späteren Einsatz der
Gabellichtschranke.
- Grau =
Halterung
- Gelb =
Lochblende
(oder
Schlitzblende),
drehbar
gelagert
- Blau =
Fadenrolle
(Faden ist am
Kegel
befestigt)
- Rot =
Gabellichtschranke
Eine
Gabellichtschranke ist
eigentlich einfach erklärt.
Sie besteht im Wesentlichen
aus einer Infrarot-LED und
einem dazu passenden
Infratro-Empfänger in Form
eines Fototransistors.
Je
nach Ausführung der
Lichtschranke brauchen
wir nur die beiden
nötigen Vorwiderstände
berechnen und einsetzen.
Wir gehen in diesem
Artikel von einer
Versorgungsspannung von
12 Volt aus. Da ein
CD4017 Spannungen von
etwa 3 Volt bis hinauf
zu etwa 14 Volt
verarbeiten kann,
benöigen wir keinerlei
extra Betriebsspannung,
sondern nur unsere 12
Volt.
Als
Gesamtschaltung
erhalten wir dann
den folgenden
Schaltplan. Die
Besonderheit hierbei
ist, dass wir mit
den Ausgängen des
CD4017 ein Relais
schalten möchten.
Die nötige
Stromverstärkung
übernimmt der hier
schon oft gezeigte
2N2222
Schalttransistor mit
der entsprechenden
Vorbeschaltung.
Wir
sehen auch, dass
der Transistor
sehr simpel über
eine Reihe von
Jumpern an einen
beliebigen
Ausgangspin des
CD4017
angeklemmt
werden kann, so
dass wir die
Anzahl der
Zähltakte sehr
einfach
verstellen
können.
Eine
Prima
Grundlage für
eigene
Versuche.
Damit ist
die Schaltung
aber auch
schon fertig
zur Erprobung.
Ich wünsche stets "alle Neune"
bei einem frischen Bier,
|