100 Watt an einem Pin

Allgemeines   Beschaltung des L289   Beschaltung des AT89C2051   Programmbeispiel   Bibliographie
Auf dieser Seite wird beschrieben, wie man mit geringstem Aufwand große Lasten bis 46V/4A mit einem Microcontroller schalten kann. Die dabei vorgestellte Schaltung kann als Booster für Digital-Modellbahnen, als Leistungstreiber für schwerste Schütze oder starke Motore Verwendung finden.

Allgemeines

Wie schaltet man mit einem Microcontroller so, dass gleichermaßen große Ströme in positiver wie in negativer Richtung fließen können? Der erste Gedanke: man bastle sich mit zwei großen Transistoren eine sogenannte Brückenschaltung. Dies ist jedoch alles andere als trivial: so ist es nicht so leicht, eine wirklich belastbare Transistorschaltung korrekt zu dimensionieren. Da ist zum Beispiel eine geeignete Steuerung zu entwickeln, die aus den hochohmigen High- und niederohmigen Low-Pegel des Microcontrollers geeignete Signale für die Hochlast-Transistoren machen. Dabei ist unter allen Umständen zu verhindern, dass beide Transistoren kurzzeitig gleichzeitig öffnen und einen Kurzschluß verursachen. Die Gefahr, dass eine frisch gelötete Schaltung nach einer Viertelstunde Betrieb mit Rauchzeichen signalisiert, dass sie falsch berechnet wurde, ist reichlich groß. Zudem ist diese Schaltung dann auch noch größer und unter Umständen sogar noch teurer als die Schaltung auf Basis eines integrierten Chips, die im folgenden vorgestellt werden soll.
Es gibt zahlreiche geeignete IC-Schaltungen, die als Leistungschip infrage kommen. Man braucht nur mal nach "Bridge Driver" bei National oder ST suchen, und findet zahlreiche Schaltungen. Ich habe für diese Aufgabe den L298 von ST verwendet. Dies hat mehrere Gründe: zum einen ist der L298 einer der am besten und ausführlichsten dokumentierten Brückenschaltungen. Dann bietet er hohe Leistungen. Weiterhin hat er als nettes Goodie nebenbei noch einen Anschluss für einen Lastwiderstand, über den eine Spannung proportional zum abgegebenen Strom abgenommen werden kann. Und er vereint zwei Brückentreiber in einem Gehäuse, die an dieser Stelle allerdings zusammengeschaltet betrieben werden. Aufgrund dieser Flexibilität verwende ich den L298 immer wieder gern.

Die Beschaltung des L298

L298-Beschaltung
Die abgebildete Beschaltung basiert fast vollständig auf der im Datenblatt angegebenen Beispielbeschaltung und kann dort zur Vertiefung nachgeschlagen werden.
Der L298 kommt mit erfreulich wenig externen Komponenten aus. Benötigt werden einige Kondensatoren zur Pufferung der Lastspannung V+ und der Spannung für den Digitalteil Vcc. Weiterhin erforderlich sind 4 Dioden zur Ableitung von Spannungsspitzen, die durch Umkehrung der Polarität an induktiven Lasten wie Spulen oder Motoren entstehen. Dritte wesentliche Komponente ist ein Widerstand mit 0.27 bis 0.47 Ohm und 2 Watt, über den eine Spannung proportional zum Ausgangsstrom (Sense) abgegriffen wird. Um den möglichen Ausgangsstrom zu erhöhen, wurden beide Kanäle des L298 zusammengeschaltet.
Dies hat laut Datenblatt unbedingt in der hier abgebildeten Art und Weise zu geschehen. Anderenfalls können unter ungünstigen Umständen kurzzeitige Ausgleichsströme zwischen den Ausgangstreibern fließen, die den Chip mit der Zeit beschädigen können.
Der L298 muss unbedingt an einem ausreichend dimensionierten Kühlkörper montiert werden. Die Größe dieses Kühlkörpers richtet sich nach der Belastung, der der L298 ausgesetzt ist, und nach den näheren Umständen des Einbaues: möchte man die Schaltung in einem relativ dicht verschlossenen Gehäuse betreiben, so ist ein sehr großer Kühlkörper vorzusehen, der die Abwärme der gesamten erwarteten Betriebsdauer aufnehmen kann, bei einem offenen Gehäuse hingegen und einem Lüfter in der Nähe kann ein vergleichsweise kleiner Kühlkörper eingesetzt werden.

Die Beschaltung des AT89C2051

AT89C2051-Beschaltung
Die Belegung der Pins des AT89C2051 ist danach ausgelegt, möglichst viel Flexibilität für noch unbekannte Einsatzzwecke zu bieten. Aus diesem Grunde ist P3 mit Counter-, Interrupt- und Seriellen Signalen komplett freigehalten und über Kontakte zugänglich. Am Reseteingang hängt die in Kehrschleife für Wechselstrom-Bahnen erläuterte Resetschaltung, um auch unter ungünstigsten Bedingungen wie langsam ansteigender Versorgungsspannung einen zuverlässigen Reset zu gewährleisten. Die Beschaltung mit dem Quarz ist nicht besonders aufregend und wurde in dieser Form schon vielfach angewendet. Der im 2051er integrierte Precision Voltage Comparator wurde mit dem Sense-Widerstand des L298 verbunden, womit sich beispielsweise eine Kurzschlusserkennung oder Aktivitätskontrolle realisieren läßt. Als Vergleichswert dient ein Mehrgang-Präzisionspotentiometer. Desweiteren hängen am P1 noch 3 LED's, die zur Statusanzeige oder zum Debugging Verwendung finden können, und die Eingänge des L298. Die Ausgänge des L298 bringen genau den Zustand der damit korrespondierenden Eingänge, nur eben vielfach verstärkt. Der Enable-Eingang des L298 schaltet bei High-Pegel die Ausgänge ein. Darum ist sofort nach dem Beenden des Resets als allererste Aktion der Enable-Pin auf Low zu setzen. Ein NOT-Gatter wäre an dieser Stelle sicher die sauberere Lösung, aber um die Platine nicht weiter zu verkomplizieren wurde darauf verzichtet.

Der Rest der Platine

Weiterhin befindet sich eine Spannungsversorgung auf der Platine. Diese besteht in einem großen Brückengleichrichter für den direkten Betrieb an einem Trafo, und einem 7805 - Festspannungsregler. Da von relativ hohen Spannungen heruntergeregelt werden muss, wobei viel Wärme frei wird, wurde ein 1A-Typ eingesetzt. Dieser wurde auf der Kupferseite der Platine, also unten und spiegelverkehrt, montiert, sodass die Massefläche der Platine gleich als Kühlkörper fungieren kann. Für größere Belastungen der 5V-Schiene sollte er aber am Kühlkörper des L298 montiert werden, der ja ohnehin zur Verfügung steht. Um für alle Anwendungsfälle gewappnet zu sein, wurde die 5V-Versorgung über Flachstecker nach Aussen geführt.
Aufbau der Platine

Beispielprogramm

Wie kann man nun diese Schaltung einsetzen? An dieser Stelle soll einmal nur ein kleines Beispiel aufgeführt werden, das den Einsatz zur Steuerung eines Gleichstrommotors, dessen Kontakte an die beiden Ausgänge der Platine angeschlossen sind, zum Inhalt hat. Es wurden Rechtslauf, Linkslauf, Ein/Aus und eine Kurzschluss- oder Überlastkontrolle implementiert.
Natürlich kann man mit der hier vorgestellten Schaltung wesentlich mehr anstellen als nur einen simplen Motor zu steuern. Aber das soll in einer der Folgeseiten näher erläutert werden, weil es den Rahmen dieser Seite sprengen würde.
	INPA	EQU	P3.0	; Ein/Aus
	INPB	EQU	P3.1	; Rechtslauf/Linkslauf
	
	OUTA	EQU	P1.6	; Ausgang A
	OUTB	EQU	P1.5	; Ausgang B
	ENBL	EQU	P1.7	; Active High Enable

	SHORT	EQU	P3.6
	
	LED0	EQU	P1.4
	LED1	EQU	P1.3
	LED2	EQU	P1.2


ausschalten:			; abstellen
	clr LED0		
	setb LED1
	setb LED2

warten:				; auf Aktivierung warten
	jnb INPA,warten

	setb ENBL		; einschalten
	clr LED1	
	
aktion:
	jnb INPA,ausschalten	; wieder ausschalten?

	mov c,INPB		; Richtung festlegen
	mov OUTA,c
	cpl c
	mov OUTB,c

kurzschlusstest:
	jnb SHORT, aktion 	; Kurzschluss/Überlastung?

	clr ENBL		; Strom abstellen
	clr LED2

	mov a,#1		; 1 Sekunde warten
	call F_wait_s

	setb ENBL		; wieder versuchen

	mov a,#2		; 2 ms warten, ob sich
	call F_wait_m		; die Verhältnisse normalisieren

	setb LED2
	jmp kurzschlusstest		
		
		

Bibliographie

Hier finden sich die im Text verstreuten Literaturquellen und Links zum Thema noch einmal zum Nachschlagen und Wiederfinden
http://eu.st.com/stonline/books/pdf/docs/1773.pdf Datenblatt des L298 von ST
http://eu.st.com/stonline/books/pdf/docs/1681.pdf Applications of monolithic Bridge Drivers

zurück zum Anfang

Seite zurück Startseite Seite vor
Erik Buchmann
EMail an: Owner@ErikBuchmann.de