PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Transistorberechnung



Tido
01.01.2007, 17:33
Hallo,

ich möchte mit meinem mC und angeschlossener Porterweiterung PCF8574 eine 12V-Pumpe schalten (ohne Relais).

Dazu habe ich folgende Überlegungen angestellt:

Pumpe: 12V, 1,7A (maximal)
Ausgang PCF8574: Uout=5V (4,7KOhm Pull-Up)

Transistorberechnung:
Da ein Darlington-Typ (Ube=1,4V) eingesetzt werden soll, beträgt der

Basisstrom Ib=(Uout-Ube)/4,7KOhm=3,8mA

Also suche ich einen Transistor mit einem

Stromverstärkungsfaktor B=Ipumpe / Ib * 2 = 894
(*2, damit er auch sicher in die Sättigung kommt)

So fiel die Wahl auf den TIP120: NPN-Darlington, Ucb=60V, Ic=5A, Ptot=65W, B>1000
Sind meine Überlegungen falsch bzw. habe ich was vergessen oder muß ich irgendetwas beachten?

MfG
Tido

Yossarian
01.01.2007, 19:05
Hallo
Du solltest Dein Ausgangssignal invertieren oder gleich einen pnp (z.B TIP125) nehmen,sonst läuft Deine Pumpe sofort los, bis Du mit der Initialisierung fertig bist und den Ausgang auf low gezogen hast.

Mit freundlichen Grüßen
Benno

Tido
01.01.2007, 19:49
Hallo Yossarian,


Hallo
Du solltest Dein Ausgangssignal invertieren oder gleich einen pnp (z.B TIP125) nehmen,sonst läuft Deine Pumpe sofort los, bis Du mit der Initialisierung fertig bist und den Ausgang auf low gezogen hast.

Mit freundlichen Grüßen
Benno

du hast damit vollkommen Recht, allerdings tritt dieser Fall nur ein einziges Mal (beim ersten Start vor der Initialisierung) ein und danach nie wieder. Desweiteren bin ich kein Freund von "Port xy=off" zum Einschalten des Ports.

Die Hauptsache ist, daß ich mit den o.a. Werten richtig liege und den Transistor nicht überlaste!

1. Stimmt meine Berechnung?
2.Wie kann ich die Gesamtverlustleistung des Transistors berechnen?

MfG
Tido

Mosi
01.01.2007, 20:18
Ohne nachgezurechnet zu haben, stimmt dein Rechenweg.
Die Verlustleistung berechnet man: P=Uc_e_sat*Ic, also Kollektor-Emitter-Sättigungsspannung (je nach Basis und Kollektorstrom um die 2V bei TIP125)*1,7A Pumpenstrom, ergo: ca.3-4W.
Tipp:mit einem Logic-Level FET gehts mit viel weniger Verlusten.

Gruß, Rene

Yossarian
01.01.2007, 20:48
Hallo

Desweiteren bin ich kein Freund von "Port xy=off" zum Einschalten des Ports
Vertseh ich nicht, das machst Du doch gerade.Der pullup schaltet den Transistor ein,Pumpe läuft.
Beim Initialisieren 'aktivierst' Du den Ausgang, er wird low,Pumpe schaltet ab.
Zum einschalten der Pumpe muß der Ausgang abgeschaltet werden.

Mit freundlichen Grüßen
Benno

Tido
01.01.2007, 21:40
Hallo
[quote]Zum einschalten der Pumpe muß der Ausgang abgeschaltet werden.

Mit freundlichen Grüßen
Benno

Beim Initialisieren und beim Setzen des Ports auf 'off' wird der Ausgang auf Masse gezogen. Die Pumpe ist somit aus.
Beim Setzen des Ports auf 'on' wird der Transistor durch den Pull-Up aktiviert. Funktioniert auch im Test mit einem "kleinem" Transistor und LED statt Pumpe.

Tido

kalledom
01.01.2007, 22:21
Während Reset und nach Power-On-Reset sind alle Pins Eingänge; folglich fließt wegen dem PullUp-Widerstand ein Basis-Strom bzw. liegt bei einem FET 5V am Gate, der Transistor / FET leitet, die Pumpe läuft.
Erst wenn der Reset-Eingang wieder High-Pegel hat, beginnt die Initialisierung durch das Programm, bei der die entsprechenden I/O-Pins auf Ausgang und der Ausgangs-Pegel auf 0 = Low = Transistor / FET hochohmig gesetzt wird; bis dahin ist die Pumpe an. Wenn es keinen Reset-Taster gibt, dann sind beim Einschalten einige µs bis zur Initialierung / Abschaltung der Pumpe.
Daher würde ich den I/O-Pin invertieren. Wenn eine Invertierung mittels Transistor erfolgt, kann evtl. mit einem zweiten PNP-Transistor / P-FET der Plus geschaltet werden.

Yossarian
01.01.2007, 23:19
Hallo
das Senden einer 0 zum Port setzt diesen auf low.Aber das bedeutet in diesem Fall, daß der Ausgang eingeschaltet ist.
Das Senden einer 1 macht den Ausgang hochohmig (sofern man 50kohm als hochohmig ansehen möchte)

Mit freundlichen Grüßen
Benno

Tido
02.01.2007, 09:31
Hallo,

von einem Reset des mC (in meinem Fall M-Unit2.0) bekommt der PCF ja nix mit (zumindest ändert er seine I/O's nicht, es werden beim Reset ja keine Daten über den IIC-Bus übertragen. Nach dem Reset erfolgt die Initialisierung, alle Ausgänge des PCF werden dabei auf low geschaltet. Sofern also die Pumpe vor dem Reset ausgeschaltet war (Port=low), so bleibt sie dies auch während des Resets.
Um meine Aussage zu untermauern: Ich hab's ausprobiert!!!

MfG
Tido

kalledom
02.01.2007, 13:35
Hallo Tido,
Du hast natürlich vollkommen Recht, der PCF8574 hat keinen Reset-Eingang und bekommt dann auch nichts davon mit, wenn am µC ein Reset ausgelöst wird. Ich hatte nicht mehr an den I2C-Baustein gedacht.
Bleibt die Zeit vom Einschalten bis zur Initialisierung des PCF.
Nach einem µC-Reset sollte der PCF bei der Initialisierung nicht erst in einen 'Grundzustand' und kurze Zeit später in den 'Endzustand' gesetzt werden; es sollte zwischen Power-On-Reset / Kaltstart und Reset / Warmstart unterschieden werden.
Ob so ein kurzer 'Falsch-Zustand', der sicherlich unter 10 ms liegt (Initialisierung ohne Warteschleifen vorausgesetzt), den Motor zu einer Drehbewegung bringen kann, wage ich allerdings zu bezweifeln.

Tido
02.01.2007, 13:49
Danke, kalledom, so ("...unter 10 ms...) sehe ich das auch.
Zumal, wie schon beschrieben, die Schaltung (hoffentlich) nie erneut kaltgestartet werden wird.

Tido