Erweiterung: Lastausgang

Neulich ergab sich der Bedarf eines weiteren Ausgangs der Robotersteuerung, um damit zum Beispiel einen kleinen Motor oder vielleicht ein paar helle LEDs ansteuern zu können. Glücklicherweise haben wir noch einen Anschluss des Mikrocontrollers frei, und zwar Port PA5 (Pin8). Über diesen und einen daran angeschlossenen Transistor BC337 lässt sich eine etwas größere Last bis zu 800 Milliampere schalten. Dann muss allerdings darauf geachtet werden, ob der Transistor im eingeschalteten Zustand heiß wird und bei Bedarf ein Kühlkörper aufgesetzt werden. Beim Anschluss eines kleinen Getriebemotors oder den zur Beleuchtung verwendeten LEDs kann jedoch nichts passieren.
Der Bestückungsplan zeigt, dass von Pin8 (Kontakt G9) zum Transistor (G20) ein langer Widerstand gelegt werden muss, den man am besten zumindest auf der rechten Hälfte mit einem Isolierschlauch versehen sollte, da er dicht an der grünen LED und den Kondensatoren vorbei führt.
Die Beinchen des Transistors müssen etwas gebogen werden, damit er in die Kontakte passt. Die Last (also der Motor oder die LEDs) wird mit ihrem Minuspol in Kontakt F21 gesteckt und mit dem Pluspol irgendwo in X:

Beim Anschließen von LEDs bitte den Vorwiderstand nicht vergessen! Dabei sollte jede LED ihren eigenen Widerstand bekommen und nicht etwa nur einer für alle verwendet werden.

Zum Ansteuern des Ausgangs dient die Funktion setzeAusgang(), der man in der Klammer mitteilt, ob der Ausgang eingeschaltet (1) oder ausgeschaltet werden soll (0), also zum Beispiel:

// Zusatz-Motor einschalten:
setzeAusgang( 1 );

. . .

// Zusatz-Motor ausschalten:
setzeAusgang( 0 );

Genaugenommen wird nicht nur bei 1 der Ausgang eingeschaltet, sondern bei jedem beliebigen Wert außer 0.

Damit dieser neue Befehl verwendet werden kann, müssen die Dateien hardware.h und hardware.c, die sich in folgendem ZIP befinden, ins Projektverzeichnis gelegt werden und die dort schon befindlichen Dateien ersetzen:
Dateien_Lastausgang.zip

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert