Die folgende Schaltung stellt eine einfache Scheibenwischersteuerung dar. Die zentralen Aufgaben in der Schaltung
übernimmt der Mikrocontroller HT46F47E. Der Scheibenwischerarm wird von einem 24 VDC elektrischen Motor bewegt. Ein induktiver Sensor
überwacht die linke Grenzposition des Wischerarmes. Bei dem Sensor handelt es sich um einen induktiven Schalter der Firma Leuze.
Der Sensor arbeitet mit 12 VDC. Das 12V-Signal, das der Sensor liefert, wird mithilfe eines Transistors dem Mikrocontroller zugeführt.
Des Weiteren verfügt die Schaltung über einen Regensensor (Feuchtigkeitssensor). Mit dem Signal des Regensensors wird in dem
automatischen Betrieb die Häufigkeit der Wischervorgänge beeinflusst.
Darüber hinaus enthält die Schaltung einen Taster (S1) und einen rastenden Schalter (S2). Mit dem Taster S1 wird ein vollständiger
Wischervorgang ausgelöst. Der Wischervorgang findet dabei einmalig statt. Für jeden weiteren Wischervorgang muss der Taster erneut
betätigt werden.
Der Schalter S2 aktiviert den automatischen Ablauf der Wischervorrichtung. Die Häufigkeit der Wischervorgänge hängt in dieser
Betriebsart nicht nur von dem Wert des analogen Signals, das von dem Regensensor geliefert wird, sondern auch von der Einstellung des
Potenziometers P1 ab.
Schwerpunkt der Schaltung liegt in der Auswertung eines analogen Signals mit dem Mikrocontroller HT46F47E. In dem Beispiel werden
zwei analoge Signale (Regensensor und Potenziometer) verarbeitet.
Die Hauptkomponenten der Schaltung sind der Mikrocontroller HT46F47E (TPS), ein 24VDC-Motor, induktiver Sensor, Regensensor
und zwei Relais.
Um Störungen zu vermeiden, werden die Schaltung und der Motor aus zwei unabhängigen Netzteilen eingespeist.
Der induktive Sensor IS 212MM/4NO-4N0-S12 kann mit einer Versorgungsspannung von 10 bis 30 VDC arbeiten. Im Leerlauf
benötigt der Sensor bis zu 10mA.
Der Sensor verfügt über einen Schließer-Ausgang (PNP-Transistor), der mit bis zu 200 mA belastet werden kann. Schaltfrequenz
beträgt 2000 Hz.
Die Länge des Sensors beträgt 60mm, Durchmesser 12mm, Gewinde M12x1mm.
Die kleinen, hellorange gefärbten Sanyou-Relais haben die Abmessungen 20x10x11,6 mm (L/B/H). Spulenspannung
(DSY2Y-S-212D) beträgt 12 VDC. Die Kontakte können mit 1 A belastet werden. Die nominale Schaltspannung beträgt 120 VAC. Die
Relais stellen zwei Wechsler zur Verfügung.
Pinbelegung
Pinseite
Der Schaltplan
Schaltplan
Für die Spannungsversorgung von 5 VDC sorgt der feste Spannungsregler LM78L05ACZ. Die Spannung wird von dem Mikrocontroller,
Regensensor und Potenziometer P1 gebraucht. Die Dioden D1 und D2 sind Freilaufdioden, die die induktiven Spannungen der Relaisspulen
kurzschließen. Die Relais K1 und K2 werden mithilfe der Transistoren T1 und T2 geschaltet. Die Sperrdiode D3 trennt die Signale der
beiden Schalter S1 und S2. Wird S1 betätigt, wird nur der Eingang PA0 aktiv. Wird S2 betätigt, werden die Eingänge PA0 und PA1 aktiv.
Bei jedem Start wird zunächst untersucht, ob sich der Wischerarm in seiner Ausgangsposition links befindet. Diese
Information liefert der induktive Sensor, der auf der linken Seite der Wischervorrichtung angebracht ist. Ist das nicht der Fall,
erfolgt die erste Bewegung des Wischerarmes stets in Richtung des Sensors, bis die Ausgangsposition erreicht wurde.
Befindet sich der Wischerarm in seiner Ausgangsposition, so wird untersucht, ob der Schalter S2 betätigt wurde. Gegebenenfalls
wird der automatische Ablauf gestartet. Schließlich wird von dem Programm geprüft, ob der Taster S1 betätigt wurde. In diesem
Fall wird ein einmaliger Wischervorgang gestartet.
Hauptprogramm:
000 C8 Prüfe, ob Eingang 1 LOW ist (< = > S1 OR S2 = Start), wenn ja, springe auf 2
001 31 Start nicht aktiviert, springe -1
002 CA Prüfe, ob Eingang 3 LOW ist (= Wischerarm in der Ausgangsposition?)
003 95 Springe auf 5 und beginne, da falsche Ausgangsposition, mit Linkslauf.
004 DA Unterprogramm „RECHTSLAUF“ aufrufen, Begin Zeile 10
005 81 Sprungbereich festlegen
006 D5 Unterprogramm „LINKSLAUF“ aufrufen, Begin Zeile 21
007 DA Unterprogramm „WARTEZEIT“, Begin Zeile 26
008 80 Sprungbereich festlegen
009 90 Springe auf 0
Nachdem der Ausgang „RECHTSLAUF“ aktiviert wurde, wird das Programm für eine vordefinierte Zeit mit einer Warteschleife
angehalten. In dieser Zeitspanne kann der Wischerarm die gewünschte rechte Position erreichen. Dies ist notwendig, da die Vorrichtung
über keinen Sensor „Position Rechts“ verfügt. Die Zeitspanne wird mit einer Zählschleife und Zeitbasis gebildet. Beträgt z.B. die
Zeitbasis 500 ms und der Startwert der Zählschleife 6 so ergibt sich eine Wartezeit von 6 x 500 = 3000 ms = 3 sek.
Unterprogramm RECHTSLAUF:
010 11 Ausgang 1 (PA4) „RECHTSLAUF“ setzen.
011 46 Lade 6 in Akku. (Wartezeit bis Position rechts erreicht als Schleife, den Wert anpassen)
012 52 Lade Wert von A nach C
013 81 Sprungbereich festlegen
014 A0 Zählschleife, dekrementiere C, bis 0 erreicht ist, sonst springe nach 16
015 93 Springe nach 19 (C auf 0 erfolgreich dekrementiert)
016 28 Wartezeit von z.B. 500 ms, muss angepasst werden
017 80 Sprungbereich festlegen
018 9D Springe zurück nach 13, bis C auf 0 dekrementiert wurde.
019 10 Ausgang „RECHTSLAUF“ aus (hier alle Ausgänge aus)
020 E0 Return
Der Linkslauf dauert solange an, bis der Sensor „Position Links“ erreicht wurde. Sobald der Sensor erreicht wurde, werden
die für den „LINKSLAUF“ zuständigen Ausgänge (Ausgang 1 + 2) abgeschaltet.
Unterprogramm LINKSLAUF:
021 13 Ausgang 1 + 2 „LINKSLAUF“ setzen
022 CA Prüfe, ob Sensor „Position LINKS“ erreicht wurde
023 31 Springe 1 Zeile zurück, da der Sensor noch nicht erreicht wurde
024 10 Ausgang „LINKSLAUF“ aus (hier alle Ausgänge aus)
025 E0 Return
In dem Unterprogramm „Wartezeit“ wird bestimmt, mit welcher Häufigkeit die einzelnen Wischervorgänge nacheinander
folgen. Die maximale Zeitspanne zwischen zwei vollständigen Vorgängen dauert 7,5 Sekunden. Diese Zeit wird von dem Regensensor und
Potenziometer bestimmt. Beide Signalgeber sind jeweils für eine Hälfte der Zeit zuständig. Die von den beiden Sensoren gelieferten
Werte werden jeweils durch 2 dividiert und anschließend addiert. Der so entstandene Wert bestimmt den Startwert einer Zählschleife.
Der maximale Wert des Startwertes beträgt 15. Nach jedem Ablauf der Zählschleife wird 500 ms gewartet. Daraus ergibt sich die
maximale Wartezeit von (15 * 500 ms) 7,5 Sek.
026 C9 Prüfe, ob Automatik an
027 E0 Return (keine Automatik)
028 69 Lade Regensensor in A (analoger Eingang 1)
029 51 Lade A in B
030 51 unverändert (bei invertiertem Signal 4F: Lade 15 in A)
031 51 unverändert (bei invertiertem Signal 74: A=A-B)
032 52 Merke das Ergebnis, Lade A in C
033 42 Lade 2 in A
034 51 Lade A in B (B = A = 2)
035 62 Hole A aus C: A=C
036 76 Rechne A = A / B
037 53 Merke A (aus Regensensor) D=A
038 42 Lade 2 in A
039 51 Lade A in B
040 6A Lade Wert des Potenziometers in A
041 76 Rechne A = A / B
042 51 Merke A: B = A
043 63 Hole Wert des Regensensors in A: A = D
044 73 Rechne A = A + B. Das ist der Startwert der Zählschleife
045 52 Lade Ergebnis in C (C = A)
046 83 Sprungbereich festlegen
047 A1 Zählschleife starten, C wird dekrementiert
048 E0 Return, Dekrementieren abgeschlossen
049 28 Warte 500 ms
050 82 Sprungbereich festlegen
051 9E Springe zurück nach 46
C8 31 CA 95 DA 81 D5 DA 80 90
11 46 52 81 A0 93 28 80 9D 10 E0
13 C6 31 10 E0
C9 E0 69 51 51 51 52 42 51 62 76 53 42
51 6A 76 51 63 73 52 83 A1 E0 28 82 9E