Hallo zusammen...
Ich habe eine Lüftersteuerung gebaut, was über einen bestimmten Temperatur oder Feuchtigkeitswert den Lüfter EIN Schaltet.
#include "DHT.h"
#define DHTPIN 2 // what pin we're connected to
#define DHTTYPE DHT22 // DHT 22 (AM2302)
#define fan 4
int maxHum = 60;
int maxTemp = 40;
DHT dht(DHTPIN, DHTTYPE);
void setup() {
pinMode(fan, OUTPUT);
Serial.begin(9600);
dht.begin();
}
void loop() {
// Wait a few seconds between measurements.
delay(2000);
// Reading temperature or humidity takes about 250 milliseconds!
// Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
float h = dht.readHumidity();
// Read temperature as Celsius
float t = dht.readTemperature();
// Check if any reads failed and exit early (to try again).
if (isnan(h) || isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
if(h > maxHum || t > maxTemp) {
digitalWrite(fan, HIGH);
} else {
digitalWrite(fan, LOW);
}
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.println(" *C ");
}
Ich hänge etwas bei der Wahl des Transistors fest . Zur Zeit betreibe ich ein BC547 mit einem 12V DC 80 mA PaPst Lüfter. Wenn ich es richtig verstanden habe und das Datenblatt richtig lesen kann, kann ich mit dem Transistor 100mA schalten.
Der Papst Lüfter soll aber gegen den Sunon Lüfter ausgetauscht werden. Laut Angabe braucht das Teil 1.7 Watt bei 12V. Das ergibt nen Strom von ca. 140mA...
Ich wollte Euch fragen wonach bzw. welcher Parameter im Datenblatt des Transistors für die Schaltleistung zuständig ist? Ist es Ptot oder eher Pc ??? Nach welcher Angabe soll ich den Transistor auswählen? Uc und Ic ist eigentlich klar... Kann mir jemnad helfen?
Danke Dir, trotzdem werde ich immer noch nicht schlau.
sehem wir mal den Datenblatt:
BC337-40
IC
800 mA
Kollektor-Emitterspannung U(CEO)
45 V
VCE Sättigung (max.)
700 mV
Kollektor Reststrom I(CES)
100 nA
Ptot
625 mW
Ich möchte 1,7 Watt schalten. Das sind 1700 Milliwatt. Kannst Du mir sagen wonach Du die Transistoren aussuchst? Ich habe noch ein paar BC 107B rumliegen. Gehen die auch? Wenn Ptot uninteressant ist, könnte das Teil sogar 200 mA schalten. Das müßte reichen.. Irgendwie muß da noch die max. Schaltleistung angegeben sein. oder?
knopers1:
Danke Dir, trotzdem werde ich immer noch nicht schlau.
.....
Ich möchte 1,7 Watt schalten. Das sind 1700 Milliwatt. Kannst Du mir sagen wonach Du die Transistoren aussuchst? Ich habe noch ein paar BC 107B rumliegen. Gehen die auch? Wenn Ptot uninteressant ist, könnte das Teil sogar 200 mA schalten. Das müßte reichen.. Irgendwie muß da noch die max. Schaltleistung angegeben sein. oder?
Bei dem was du schalten willst, ist die Spannung (12 V) und der Strom (140mA) wichtig. Beides ist für den Transistor kein Problem. Auch der BC107B sollte das schaffen. Ptot ist deshalb unkritisch, da sich der Wert aus dem Strom und dem Spannungsabfall am durchgeschalteten Transistor berechnet. Der sollte sehr niedrig sein.
Wenn ich einen Transistor für irgendeine Schaltung brauche (ich beherrsche Transistoren bislang nur als Schalter, wofür ich mich schämen könnte [es aber nicht tue]), nehme ich für alles bis 100 mA einen BC547 drüber einen BC139 und noch darüber ... äh ... pfff ...
Die Auswahl ist ziemlich einfach: Die Spannung Collektor-Emitter muss stimmen, dito der zu schaltende Strom. Man kann wahrscheinlich noch hundert andere Parameter beachten. Solange man nur schaltet, ist es simpel.
Ptot ist hauptsächlich relevant wenn man den Transistor im linearen Bereich betreibt. Du willst ihn als Schalter verwenden. Da fällt beim Stromfluss (und wenn ganz durchgeschaltet!) lediglich die Kollektor-Emitter-Sättigungsspannung (saturation voltage) ab. Wenn die maximale Spannung abfällt fließt kein Strom. Und wenn Strom fließt fällt nur die minimale Spannung ab.
Der verbotene Bereich der von der Ptot-Kurve markiert wird muss dabei lediglich schnell genug durchschritten werden.
knopers1:
Danke Dir, trotzdem werde ich immer noch nicht schlau.
sehem wir mal den Datenblatt:
BC337-40
IC 800 mA
Kollektor-Emitterspannung U(CEO) 45 V
VCE Sättigung (max.) 700 mV
Kollektor Reststrom I(CES) 100 nA
Ptot 625 mW
Die Grenzwerte, die nie überschritten werden dürfen, findest du im Kapitel "Absolute Maximum Ratings"
z.B. die 45V UCE. Mehr Spannung: Kaputt.
oder Ic 800mA. Das sind die wichtigsten Kenngrößen für Schaltbetrieb. Und ein Transistor an einem Prozessor wird nahezu immer zum Schalten verwendet.
Die Leistung deiner Last ist irrelevant. Wichtig ist die Spannung, die am Transistor anliegt, wenn er sperrt (12V) und der Strom, der fliesst, wenn er leitet (140mA).
Beides ist unkritisch.
Um den Transistor richtig durchzusteuern nimmst du die Zeile mit VCE (sat). Hier steht z.B.
VCE (sat): Collector-Emitter Saturation Voltage; IC=500mA, IB=50mA: 0.7 V
daraus kannst du ablesen, dass die angegebene Sättigungsspannung erreicht wurde, in dem der Basisstrom 1/10tel des Kollektorstromes ist. In deinem Falle also
IB = 14mA, also ca. 330 Ohm Vorwiderstand
Um sicher zu gehen, kannst du noch die Verlustleistung im Transistor ausrechnen:
140mA * 0,7V = 0,098W, also ca 100mW. Das ist weit unterhalb der erlaubten 625mW, passt also auch.
Für Kleinsignaltransistoren im Schaltbetrieb reicht das. Mehr brauchst du nicht.
guntherb:
Um sicher zu gehen, kannst du noch die Verlustleistung im Transistor ausrechnen:
140mA * 0,7V = 0,098W, also ca 100mW. Das ist weit unterhalb der erlaubten 625mW, passt also auch.
Wie kommst du denn auf die 0,7 Volt ?
Wenn der Transistor "richtig" durchschaltet, das sollte da immer der fall sein, liegt die Spannung deutlich darunter.
Und damit auch die Verlustleistung.
tatsache,
der BC107C kann laut Datenblatt nur 100mA. Damit ist er schon mal raus...
Komischerweise unter dem Link:
wird nur ein IC von 200mA angegeben. ICmax sehe ich leider nicht....
Um jetzt aber trotzdem etwas schlauer zu werden trage ich hier noch einmal zusammen, was ich von Euch gelernt habe...
Collector-Emitter Voltage muß passen
Ic muß passen
und der Transistor muß voll durchgeschaltet sein...
Laut Datenblatt zum BC107B findet man follgendes:
Base Emitter on Voltage VBE (on) 0,7V oder 0,77V
Kann jemand von Euch nochmal beschreiben, weshalb dort zwei Werte angegeben sind?
Wenn den Vorwiederstand für Base berechne, komme ich auf 423 Ohm und 9,2mA, für den Fall dass ich dabei 4,23 an dem Vorwiderstand vernichten möchte. (Ich gehe von 5V aus)
Bei 0,7V sind es schon 430 Ohm und 9,35 mA. Ich glaube wohl, dass der nächst großere erst bei 460 Ohm liegt.
Bei 0,7V sind es schon 430 Ohm und 9,35 mA. Ich glaube wohl, dass der nächst großere erst bei 460 Ohm liegt.
Der Basis-Vorwiderstand ist eher unkritisch. Zu bedenken ist, dass der fließende Strom nicht zu groß und nicht zu klein ist:
Bei zu kleinem Basisstrom geht der Transistor nicht in Sättigung: Ic hängt nicht nur an der Last, sondern wird durch den Transistor selbst begrenzt, was diesen mehr aufheizt als nötig. Der Verstärkungsfaktor hFE ( ~100 Ic/IB) käme ins Spiel...
Bei zu großem Strom wird evtl. der Signalpin überlastet, oder der max. Basisstrom des Transistors wird überschritten.
Faustregel: Ein Basisstrom von 5 .. 20 mA ist immer ok für den BC337 und einen Arduino. Wenn du mit 10 mA "rechnest", hast du viel Spiel in beide Richtungen.
Bei (5V - 0.7V) geht also alles zwischen 1k und 220 Ohm, und die Standardgrößen 390, 470, 560 sind perfekt.
Ob dann tatsächlich 4,2V oder 4,4V am Vorwiderstand abfallen, kannst du nachsehen, ist aber egal...
Aus dem Datenblatt.
Mir ist klar, dass der Wert in der Praxis deutlich niedriger liegt, aber mit dem Datenblattwert ist man auf der sicheren Seite. Und es geht hier nicht darum den Transistor bis zur Grenze auszureizen.
knopers1:
wird nur ein IC von 200mA angegeben. ICmax sehe ich leider nicht....
ja, aber oben drüber steht "Absolute Maximum Ratings"
Der BC 107 ist uralt. Ich kann mir vorstellen, dass moderne Clone davon bei sonst gleichen Eigenschaften einfach mehr können. Da die ja nicht teuer sind: probiers einfach aus. Schlimmstenfalls geht der Transistor in Rauch auf.
knopers1:
Base Emitter on Voltage VBE (on) 0,7V oder 0,77V
Kann jemand von Euch nochmal beschreiben, weshalb dort zwei Werte angegeben sind?
Der eine für IC=2mA, der andere für IC = 10mA. Steht links daneben.
knopers1:
Wenn den Vorwiederstand für Base berechne, komme ich auf 423 Ohm und 9,2mA, für den Fall dass ich dabei 4,23 an dem Vorwiderstand vernichten möchte. (Ich gehe von 5V aus)
Bei 0,7V sind es schon 430 Ohm und 9,35 mA. Ich glaube wohl, dass der nächst großere erst bei 460 Ohm liegt.
Wie kommst du auf die 9,2mA?
Grob kann man sagen, ca. 1/10tel des gewünschten Kollektorstromes (in deinem Falle 140mA) als Basisstrom ist ok. Wenn du es also rechnen willst: Rv = (5V-0,7V)/14mA = 307 Ohm. Alles zwischen 270 Ohm und 470 Ohm ist ok, die Grenzen sind hier sehr weit.
Wenn Du in das Thema Arduino und Elektronik einsteigst, wirst Du es hierzuforum schon einmal richtig nett finden. Ein Weihnachtsmarkt ist ein Dreck dagegen, unter Anderem weil es hier nicht nach Käsefondue und Glühwein stinkt.
Wenn Du etwas aus einem Datenblatt nicht herauslesen kannst, guck auch mal in andere. Die Datenblätter sind teilweise sehr unterschiedlich, je nachdem, wie alt sie sind oder von wem sie stammen.
Hallo Zusammen!
Ich muss den Thread noch eineml pushen!
Ich habe genau das gleiche vor, bloß das ich es nicht über einen Transistor schalten will, sondern über eine fertige Relaisplatine!
Zum Hintergrund:
Ich habe einen Garagenverteiler in dem ein 12V 30A Netzteil verbaut ist und ich möchte das bei 40Grad ein Lüfter (geschaltet über die Relaiplatine) die warme Luft aus den Verteiler bläst!
Da ich leider nicht viel vom porgrammieren verstehe, würde mich interesseiren, ob ich das Sketch zur steuerung einfach so verwenden kann, oder muss etwas geändert werden?
Vielen Dank!
Gruß
Stephan
Anstatt einen alten Thread hervorzukramen solltest Du einen neuen starten, in dem Du kurz beschreibst, was Du möchtest und dabei den Sketch zitierst, den Du verwenden möchtest. Fasse den Sketch in Code-Tags, damit er besser lesbar ist.