Elektor
1/98
Wenn man die Zahl der mit Mikro-
controller ausgestatteten Schaltungen
und Geräte sieht, fragt man sich, wie
man noch vor wenig mehr als einem
Jahrzehnt bei vielen Entwicklungen
ohne diese kleinen speicherprogram-
mierbaren Universalbausteine aus-
kommen konnte. Eine noch interes-
santere Frage ist vielleicht, wie vor bald
30 Jahren eine Mondlandung ohne
Computerchips möglich war. Falls es
unter unseren Lesern jemanden geben
sollte, der sich mit der damals bei der
NASA verwendeten Technik im Detail
beschäftigt hat, würden wir es gerne
Der hier vorgestellte Füllstandsmesser eignet
sich für das Messen des Füllstands in flüssig-
keitsgefüllten Behältern, und zwar für leitende
wie nichtleitende Flüssigkeiten, also für einen
Wasserbehälter genauso wie für einen Öltank.
Dabei kann sowohl eine Vor-Ort-Anzeige als
auch (über die PC-Schnittstelle) eine Fernan-
zeige realisiert werden.
32
Füllstandsmesser
Mit PC-Schnittstelle
X1
4MHz
C1
22p
C2
22p
S1
C3
100n
C11
330n
C12
100n
C10
100µ
16V
C6
C7
C4
1µ
16V
C5
100µ
16V
C8
C9
K1
R2
10k
R3
10k
R4
100k
R6
470
Ω
R7
470
Ω
VPP/TEST
ST62T20
RESET
TIMER
IC1
OUT
OSC
PA1
PA2
PA3
PB0
PB2
PB1
PB3
PB4
PB5
PB6
PB7
NMI
PA0
20
IN
18
17
16
15
13
14
12
11
10
19
1
4
3
6
7
9
8
2
5
S2
11
10
1
IC2e
13
12
1
IC2f
5
6
1
IC2c
9
8
1
IC2d
R1
220k
R5
4k7
D4
1N4148
D1
1N4148
D3
D2
C13
100n
93C06CB1
IC5
DOUT
DIN
CS
SK
2
1
4
8
5
3
6
7
T1
BC547
RE1
12V
MAX232
R1OUT
R2OUT
T1OUT
T2OUT
IC3
T1IN
T2IN
R1IN
R2IN
C1–
C1+
C2+
C2–
11
12
10
13
14
15
16
V+
V-
7
8
9
3
1
4
5
2
6
K2
1
2
1
IC2a
3
4
1
IC2b
K3
78L05
IC4
IC2
14
7
SENSOR
IC2 = 74HC14
5V
C6 ...C9 = 1µ /25V
12V
TxD
C
NO
NC
12V
5V
970056 - 11
1
2
3
RE
Bild 1. Der Füllstandsmesser beziehungsweise Regler besteht
nur aus wenigen Bauteilen, da der ST62T20-Mikrocontroller
alle wesentlichen Funktionen übernimmt.
1
erfahren.
Heute jedenfalls sind Mikrocontroller
so preiswert und vielseitig verwend-
bar, daß sich der Einsatz auch bei einer
Füllstandsmessung lohnt.
D
I E
E
L E K T R O N I K
Ein Blick auf die Schaltung in
Bild 1
zeigt, daß man dank des Mikrocon-
trollers mit wenig zusätzlichen Bautei-
len auskommt. Der Mikrocontroller
selbst (IC1) ist ein ST62T20 von SGS-
Thomson, der ein externes EEPROM
(IC5) verwendet. Das dritte wichtige
Bauteil im Schaltungsverband ist der
bekannte MAX 232, der die Verbin-
dung zum Computer auf RS232-kom-
patible Weise ermöglicht.
Ein wichtiger Grund für die Verwen-
dung eines Controllers aus der ST6-
Familie in dieser Anwendung war die
Tatsache, daß nicht nur die Controller
selbst, sondern auch die Entwick-
lungswerkzeuge relativ kostengünstig
erhältlich sind. So gibt es beispiels-
weise ein vorteilhaftes Starter-Kit und
preiswerte Programmiergeräte, zum
Beispiel das Selbstbau-Projekt aus
Elektor 11/1996. Sobald man über diese
Möglichkeiten verfügt, ist es kein so
großes Problem mehr, selbst Kode zu
entwickeln und die Controller damit
zu programmieren. Doch zurück zur
Schaltung: Durch Drücken von S2
wird der Controller zurückgesetzt.
Über R4 und C4 wird der Reset-Ein-
gang kurzzeitig auf "0" gezogen, so daß
der Prozessor neu initialisiert wird.
Eine Reihe von I/O-Leitungen des
Ports B, nämlich PB4 bis PB7, verbin-
det den Prozessor mit dem EEPROM
vom Typ 93C06CB1 von SGS-Thom-
son. Das EEPROM verfügt über ein
serielles Interface und hat eine Kapa-
zität von 256 bits, die in der Vorein-
stellung (im Default-mode) in Worten
zu 16 bits organisiert sind und anson-
sten in 32 Worten zu 8 bit (32 Bytes).
Der integrierte Oszillator verwendet
einen 4-MHz-Quarz, der mit C1 und
C2 beschaltet ist. Der Quarz ist direkt
mit den Anschlüssen OSCIN und
OSCOUT des Controllers verbunden.
Der dreipolige DIP-Schalter S1 wird
für den Abgleich der Schaltung
benötigt, der später noch beschrieben
wird.
Rechts im Schaltbild ist der bereits
erwähnte MAX232 zu finden, der die
Verbindung zum PC herstellt. Darun-
ter befindet sich die für die Verwen-
dung als autonomer Füllstandsdetek-
tor (ohne PC-Anbindung) benötigte
Elektronik. Hier fällt ein Relais auf, das
über die Portleitung PA3 von Port A
(Anschluß 16 des Controllers) ange-
steuert wird. Da der Mikrocontroller
an dieser Leitung nicht genügend
Strom für das Relais zur Verfügung
stellen kann, ist mit T1 noch ein Relais-
treiber erforderlich.
Die Kontakte des Relais sind mit der
Platinenanschlußklemme K2 verbun-
den. Je nachdem, was und wie
geschaltet werden soll, kann von
einem schließenden oder einem öff-
nenden Relaiskontakt Gebrauch
gemacht werden.
Die Stromversorgung erfolgt auf sehr
gewöhnliche Weise durch einen drei-
beinigen Spannungsregler 78L05 (IC4)
mit 5 V Ausgangsspannung.
D
I E
F
U N K T I O N
Schmitt-Trigger IC2f ist als RC-Oszilla-
tor beschaltet, wobei R1 für die Rück-
kopplung sorgt. Normalerweise ist der
Rückkopplungswiderstand bei einer
derartigen Oszillatorschaltung aber
nicht nur mit dem Eingang des
Schmitt-Triggers verbunden, sondern
auch mit einem Kondensator, der nach
Masse geschaltet ist. Die Frequenz des
Oszillators hängt dann von der RC-
Zeitkonstante ab, die von diesen bei-
den Bauteilen gebildet wird.
In der Schaltung des Füllstandssensors
befinden sich aber an der Stelle des
Kondensators nur zwei Anschluß-
punkte. An diese Lötnägel werden
zwei elektrisch leitende Meßsonden
angeschlossen, die in die zu überwa-
chende Flüssigkeit eintauchen. Wie bei
allen parallelen Leitern bildet sich zwi-
schen den beiden Sonden eine Kapa-
zität aus, die bei konstantem Abstand
der Sonden voneinander davon
abhängt, wie weit sie in die Flüssigkeit
eintauchen. Über die Kapazitätsände-
rung ändert sich auch die Frequenz
des Oszillators proportional zum Füll-
stand.
Da die Kapazitätsänderung nicht nur
von der Eintauchtiefe, sondern auch
von den dielektrischen Eigenschaften
der Flüssigkeit abhängt, ist im
EEPROM IC5 eine Tabelle gespeichert,
die entsprechende Korrekturwerte für
verschiedene Flüssigkeiten enthält.
Der Autor hat die Schaltung mit Was-
ser und Heizöl getestet, die Ergebnisse
sind in der Tabelle angegeben. Wie
man sieht, ist die Oszillatorfrequenz
bei Wasser deutlich niedriger als bei
Heizöl. Der Prozessor übernimmt das
Oszillatorsignal an einem Timer-Ein-
gang zur Auswertung und mißt als
erstes die für 32.768 Impulse benötigte
Zeit. Daraus ergibt sich eine 16-bit-
Zahl als Maß für den Füllstand.
Anschließend führt der ST6 die fol-
gende Berechnung aus:
Füllstandshöhe (mm) =
250 · (x-N
low
)/(N
high
- N
low
),
wobei x die gemessene Zeit ist, N
low
der untere Eichpunkt im EEPROM
und (N
high
- N
low
) die Frequenzdiffe-
renz bei einem Pegel von 250 mm.
Auch dieser Wert ist im EEPROM
gespeichert. Auch jeder andere Wert ist
möglich, wenn man den auf der Dis-
kette 976015-1 verfügbaren Quellkode
entsprechend anpaßt.
Wie bereits zuvor erwähnt, kann die
Schaltung auf zwei Arten verwendet
werden:
Stand alone: Der Füllstandsmesser
arbeitet autonom. Das Relais zieht an,
wenn der vorprogrammierte Füllstand
erreicht wird.
Remote (RS232): der gemessene Pegel
wird periodisch über die serielle
Schnittstelle zum PC übertragen, und
zwar mit 9600 Bd. Diese Füllstandsda-
ten können dann auf dem PC nach
Belieben verwendet werden. Die Füll-
standshöhe wird in Millimeter mit fol-
gender Syntax gemeldet:
=00xxx
wobei xxx der Wert in mm ist.
D
E R
A
U F B A U
Layout und Bestückung findet man in
Bild 2. Die Platine ist einseitig ausge-
führt und zur Selbstanfertigung
gedacht, da eine bestückungsfertige
Leerplatine leider nicht angeboten
werden kann. Den programmierten
Prozessor kann man jedoch
bestückungsfertig beziehen (die Num-
mer ist 976515-1).
Obwohl die Bestückung keine beson-
deren Anforderungen stellt, muß man
wie immer bei vielen Bauteilen auf die
richtige Polarität beziehungsweise Ein-
baulage achten. Natürlich funktioniert
die Schaltung nicht besonders, wenn
man beim Bestücken die Drahtbrücke
(nur eine!) vergißt.
Bei den ICs sollte man auf Fassungen
nicht verzichten. Da man die LEDs
nur für den Abgleich benötigt, kann
man sie mit kurzen Anschlüssen ein-
löten. Auch die Ausrichtung des DIP-
Schalters S1 ist wichtig, damit man bei
der Einstellung nicht auf der falschen
Seite liegt. Der mit "1" gekennzeichnete
Kontakt muß nahe an den Widerstän-
den R6 und R7 liegen. Im eingeschal-
teten Zustand ("on") zeigen die Schal-
ter in Richtung ST6.
Dank der kompakten Platinenabmes-
sungen (80 mm x 62 mm) ist es kein
Problem, ein passendes Kunststoff-
Kleingehäuse zu finden.
Die beiden Peilstäbe sollten am besten
aus mit Kunststoff beschichtetem
Metall bestehen (Stricknadeln mit
Metallkern sind durchaus geeignet...),
der Stabdurchmesser sollte etwa 4 mm
betragen. Wichtig ist, daß das Metall
durch die Beschichtung rundherum
vor Korrosion geschützt ist, damit sich
die Sensoren nicht langsam in der
33
Elektor
1/98
Flüssig-
keit
min.
Pegel
= 0
max.
Pegel =
250 mm
Auflösung
der
Messung
Wasser
280 kHz
70 kHz
0,07 mm
Heizöl
280 kHz
230 kHz
1 mm
Flüssigkeit auflösen...
Die Länge der Stäbe ist durch die Tiefe
des Tanks gegeben, der Abstand von-
einander sollte etwa 10 mm (Mitte-
Mitte) betragen.
Wenn man das Gehäuse oben und
unten mit Bohrungen versieht, kön-
nen die Peilstäbe durch das Kästchen
geführt werden. Zur elektrischen Ver-
bindung mit der Platine werden sie
am Anschlußpunkt gut abisoliert.
Wenn sich die Metallstäbe nicht löten
lassen (weil es sich zum Beispiel um
Aluminium handelt), wird am besten
eine Schraubklemme verwendet.
Zur Stromversorgung ist wieder ein-
mal ein einfaches Steckernetzteil (hier
12 V/400 mA) die günstigste Lösung.
Die nicht stabilisierte Ausgangsspan-
nung dient dann direkt als Betriebs-
spannung für das Relais, während die
Elektronik über einen Spannungsreg-
ler (IC4) stabile 5 V erhält. Das
EEPROM 93C06 (oder 93C46) wird im
16-bit-Mode verwendet, ORG (Pin 6)
ist dementsprechend nicht ange-
schlossen.
A
B G L E I C H
Wenn die Platine fertig bestückt und
sorgfältig kontrolliert ist, erfolgt die
Inbetriebnahme zum Zwecke des
Abgleichs, und zwar in zwei Schritten:
1. Leer
Bei der Festlegung des untersten
Pegels bei leerem Tank werden die
Schalter von S1 wie folgt gesetzt:
SW1-1 ON, SW1-2 OFF und SW1-3
OFF. Nach dem Einschalten des Netz-
teils (oder einem Reset mit S2) dauert
es etwa 2 Sekunden bis zur Stabilisie-
rung. Das System beginnt mit der Fre-
quenzmessung. Der für N
low
ermit-
telte Wert wird im EEPROM gespei-
chert. Wenn dieser Vorgang beendet
ist, leuchtet eine LED auf. Grün (D3)
signalisiert Erfolg, die rote LED (D2)
meldet einen Fehler.
2. Voll
Die Peilstäbe tauchen dann 250 mm
tief in die Flüssigkeit ein. Die Schalter
von S1 werden jetzt wie folgt einge-
stellt: SW1-1 ON, SW1-2 OFF und
SW1-3 ON.
Es folgt wieder das Einschalten bezie-
hungsweise Resetten mit anschließen-
der kurzer Wartezeit, bis die Fre-
quenzmessung beginnt. Die ermittel-
ten Werte für N
high
und (N
high
- N
low
)
werden ebenfalls im EEPROM abge-
speichert. Bei erfolgreichem Abschluß
leuchtet wieder die grüne, ansonsten
die rote LED.
3. Schaltpegel
Dieser Abgleich erfolgt auf gleiche
Weise wie der vorherige Abgleich für
maximalen und minimalen Pegel,
allerdings wird jetzt SW1-2 auf ON
gesetzt. Das Relais zieht jetzt bei Errei-
chen des oberen Schaltpegels an und
fällt bei Erreichen des unteren Schalt-
pegels ab. Die Differenz zwischen die-
sen beiden Pegeln wird durch die Hy-
sterese bestimmt.
Bevor die Schaltung jetzt im regulären
Betrieb eingesetzt wird, müssen alle
Schalter von SW1 auf OFF gestellt
werden.
O
P T I O N E N
Die Schaltung kann mit oder ohne
RS232-Verbindung verwendet werden.
Wenn der verwendete PC an seiner
seriellen Schnittstelle auch mit Stan-
dard-TTL-Pegeln funktioniert, kann
der MAX232 entfallen. Da in der vor-
liegenden Anwendung die RxD-Lei-
tung nicht verwendet wird, taucht sie
auch im Schaltbild nicht auf. Wenn
man das Programm mit zusätzlichen
Funktionen erweitern möchte, kann
man Pin 15 (PB0) des Mikrocontrollers
mit dem Ausgang R1OUT von IC 3
verbinden. Damit kann man ein RxD-
Signal an den Eingang R1IN
anschließen. Für K1 verwendet man
nun eine Ausführung mit drei
Anschlüssen, wobei der dritte
Anschluß über ein Drahtstück mit Pin
13 von IC3 verbunden wird. Das ist
auch schon alles, was es für diese
Funktionserweiterung zu tun gibt.
(970056-1)
Anmerkung: Diese Schaltung ist nicht für die
Verwendung in Verbindung mit leicht ent-
flammbaren, explosiven, korrosiven und ande-
ren chemisch aggresiven Flüssigkeiten ausge-
legt und darf dafür nicht verwendet werden.
970056-1
970056-1
C1
C2
C3
C4
C5
C6
C7
C8
C9
C10
C11
C12
C13
D1
D2
D3
D4
IC1
IC2
IC3
IC4
IC5
K1
K2
K3
R1
R2
R3
R4
R5
R6
R7
RE1
S1
S2
T1
V1
V2
V3
V4
X1
970056-1
SENSOR
TxD
T
+
0
C
NC
NO
Stückliste
Widerstände:
R1 = 220 k
R2,R3 = 10 k
R4 = 100 k
R5 = 4k7
R6,R7 = 470
Ω
Kondensatoren:
C1,C2 = 22 p
C3,C12,C13 = 100 n
C4 = 1
µ/16 V, stehend
C5,C10 = 100
µ/16 V, stehend
C6...C9 = 1
µ/25 V, stehend
C11 = 330 n
Halbleiter:
D1,D4 = 1N4148
D2 = LED rot, high eff.
D3 = LED grün, high eff.
T1 = BC547
IC1 = ST62T20 (mit Programm
976515-1, siehe Serviceseiten in
der Heftmitte)
IC2 = 74HC14
IC3 = MAX232N
IC4 = 78L05
IC5 = 93C06CB1 (SGS-Thomson)
Außerdem:
K1,K3 = 2polige Platinenan-
schlußklemme, Rastermaß 5 mm
K2 = 3polige Platinenan-
schlußklemme, Rastermaß 5 mm
S1 = 3poliger DIP-Schalter
S2 = 1poliger Taster, z.B. Multimec
CTL3
X1 = Quarz, 4 MHz
Re1 = 12-V-Relais für Platinenmon-
tage, z.B. Siemens V23057-B2-
A201
Optional: Diskette mit Quellkode
(976015-1, siehe Serviceseiten in
der Heftmitte)
2
Bild 2.
Bestückungsplan
und Leiterbahn-
seite der einseiti-
gen Platine.
Elektor
1/98
34