Pages: [1]   Go Down
Author Topic: Bekomme keinen Transistor geschaltet - wo ist das Problem?  (Read 509 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo Fories!

Bin neu im "Geschäft", habe aber bereits erfolgreich das Projekt "Blinking LED" + PWM sowie LCD-Display und Temperaturmessung hinter mir. Wollte jetzt endlich größere Lasten mit einem Arduino schalten, bekomme es aber einfach nicht hin.

Habe es mit div. Transistoren und MOSFET probiert, aber es will nicht. Habe die Schaltungen auf Steckbrett und auf Lochraster aufgebaut. Wenn ich als Eingangssignal für diese Schaltungen einen Vorwiederstand 10k gegen +12V halte, funktionieren die Schaltungen. Kommt das Signal direkt vom Arduino, funktioniert es nicht. Habe aus Verzweiflung schon ein weiters Arduino-Board gekauft (ursprünglich die Uno-Version mit SMD-CPU, jetzt auch die große CPU)

Hintergrund: Ich möchte einfach einen simplen 12V DC Motor ein- und ausschalten (zeitgesteuert). Der Motor hängt an einem Netzteil 12V DC, über einen Transistor oder MOSFET. Parallel zum Motor habe ich eine Freilaufdiode.

Habe zuerst einen TIP130 versucht, weil in der Anleitung ein TIP120 verwendet wurde (hatte den TIP130 noch liegen). Dann habe ich einen IRLZ34N genommen (Logic Level MOSFET), ohne Vorwiderstand. Dann einen IRF540N mit und ohne Vorwiederstand, mit zwei BC547 (inkl. Vorwiderstand) als MOSFET-Treiber. Habe einen Widerstand zwischen Gate und Source gelegt, Arduino GND und Netzteil GND zusammengelegt, aber nix... Funzt einfach nicht.

Die Schaltungen funktionieren für sich betrachtet, nur wenn der Schaltvorgang vom Arduino durchgeführt werden soll geht es nicht. Der Motor läuft ständig und schaltet nicht ab, egal ob High oder Low anliegt. Wenn eine LED mit Vorwiderstand benutzt wird brennt diese ständig, aber nicht mit voller Kraft, deshalb gehe ich davon aus, dass der Motor auch nicht komplett mit 12V läuft.

Was kann ich noch versuchen, bzw. liegt es evtl. an der Software? Habe die Beispiele aus dem Einsteigerbuch von Massimo Banzi genommen. Muss ich dem Arduino noch was "mitgeben", damit es funktioniert?

Gruß Oliver
Logged

Hamburg, Germany
Offline Offline
Sr. Member
****
Karma: 5
Posts: 291
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Sketch, Schaltplan? Ansonsten bleibt die Kristallkugel arg vernebelt...
Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@markbee: Ne klar, sorry... hier erst einmal das Sketch zum Testen

#define Transistor 13        // Pin 13 an Transistor
                                           // auf Pin 13 gelegt, damit zur Kontrolle der Funktion LED auf GND gelegt werden kann

void setup() {
  pinMode(Transistor, OUTPUT);  // Ausgang
}

void loop() {
 
  digitalWrite(Transistor, HIGH);    // Motor 1 Sekunde an
  delay(1000);
  digitalWrite(Transistor, LOW);    // Motor 1 Sekunde aus
  delay(1000);
}

So, Schaltungen mit Erörterungen im Anhang. Die Treiberstufe habe ich über den R13 an den Arduino angeschlossen. Den BD677A habe ich übrigens auch ausprobiert. Einmal mit Vorwiderstand 1k und einmal ohne. Ist 1k zuviel?

Gruß Oliver


* Ausprobiert.jpg (52.12 KB, 700x506 - viewed 25 times.)

* Treiberstufe.jpg (22.28 KB, 526x451 - viewed 43 times.)
Logged

Switzerland
Offline Offline
Faraday Member
**
Karma: 108
Posts: 5144
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sind die Massen (vom Arduino und von Deinen 12V) verbunden?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo Pylon,

ja, ich habe "...Arduino GND und Netzteil GND zusammengelegt..." (s.o.).

Gruß Oliver
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

So, habe noch einmal was im Web gefunden bzgl. des Widerstandes an der Basis. danach müßte ich rechnerisch einen Widerstand von 107 Ohm einsetzen. Habe jetzt 100 Ohm genommen und es funktioniert mit dem BD677A. Sogar PWM funktioniert, Motor läßt sich mit Drehzahl regeln.

Formel für Widerstand war:

R = UArduino-UBE / Imax = 5V-0,7V / 40 mA = 5V-0,7V / 0,04 A = 107,5 Ohm

UArduino ist die vom Arduino gelieferte Spannung am Pin
UBE ist der Spannungsabfall an der Basis-Emitter-Strecke des Transistors
Imax ist der max. Strom, der vom Pin geliefert wird

Das ist für NPN- / PNP-Transistoren. Wie hoch ist der Spannungsabfall am MOSFET?

Der 2,2k Widerstand an der Treiberstufe ist etwas überdimensioniert, 200 Ohm müßten hier dann ja reichen!?

Gruß Oliver
Logged

Germany
Offline Offline
Faraday Member
**
Karma: 56
Posts: 2973
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
danach müßte ich rechnerisch einen Widerstand von 107 Ohm einsetzen. Habe jetzt 100 Ohm genommen und es funktioniert mit dem BD677A
Herzlichen Glückwunsch erstmal.

Die Formel für den Widerstand verwendet den Maximalstrom des Arduino. Das Ergebnis ist der minimale Widerstand !
Statt 100 Ohm bist du mit höheren Werten ( 330 ... 1k  schätze ich mal) auf der sicheren Seite für den Arduino. Bei 1k hast du einen Basis-Strom von 4-5mA, sollte mit deinem Darlington (hFE=750) reichen, ein Ampere zu schalten. Reicht das für deine Anforderung ?   
Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 248
Posts: 21169
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Schöne Rechnung;
nur daß UBE 1,4V ist weil Darlingtontransistor
figure3 in http://www.fairchildsemi.com/ds/BD/BD681.pdf
Also ist Dein Basisstrom IB= 5V-1,4V/100Ohm = 36mA.
Bei einer Stromverstärkung von mindestens 750 kannst Du mindestens 27A schalten aber der BD677 hält nur 4A aus .

Der Spannungsabfall zwischen Drain und Source an MOSFETs hängt vom RDSon und vom Strom ab.
Zwischen Gate und Source gibt es keinen Spannungsabfall wie beim NPN transistor sondern praktisch ist zwischen Gate und Source ein kleiner Kondensator der geladen werden muß.

Zu Deinen Fehlern. 
Wenn Du den N-MOSFET verkehrt herum (drain und Source verwechselt) verwendest dann leitet er immer weil die (parasitäre) Diode zwischen Drain und Source durchschaltet.
Wenn Du den NPN Transistor verkehrt verwendest (Emitter Collektor) dann Schaltet er fast gar nicht bis gar nicht durch.


R13 kann ruhig 2,2kOhm sein weil der Transistor Q1 kaum Strom schalten muß und deshalb wenig Basisstrom braucht.
 
Grüße Uwe
« Last Edit: November 19, 2012, 04:16:20 pm by uwefed » Logged

Pages: [1]   Go Up
Jump to: