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
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
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
Wo man nicht mit Vernunft handelt, da ist auch Eifer nichts nütze; und wer hastig läuft, der tritt fehl.
Ein König richtet das Land auf durchs Recht; wer aber viel Steuern erhebt, richtet es zugrunde
Hallo Yossarian,
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.Zitat von Yossarian
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
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
Hallo
Vertseh ich nicht, das machst Du doch gerade.Der pullup schaltet den Transistor ein,Pumpe läuft.Desweiteren bin ich kein Freund von "Port xy=off" zum Einschalten des Ports
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
Wo man nicht mit Vernunft handelt, da ist auch Eifer nichts nütze; und wer hastig läuft, der tritt fehl.
Ein König richtet das Land auf durchs Recht; wer aber viel Steuern erhebt, richtet es zugrunde
[quote="Yossarian"]Hallo
Beim Initialisieren und beim Setzen des Ports auf 'off' wird der Ausgang auf Masse gezogen. Die Pumpe ist somit aus.Zum einschalten der Pumpe muß der Ausgang abgeschaltet werden.
Mit freundlichen Grüßen
Benno
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
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.
MfG Karl-Heinz
HobbyElektronik hier klicken ....
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
Wo man nicht mit Vernunft handelt, da ist auch Eifer nichts nütze; und wer hastig läuft, der tritt fehl.
Ein König richtet das Land auf durchs Recht; wer aber viel Steuern erhebt, richtet es zugrunde
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
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.
MfG Karl-Heinz
HobbyElektronik hier klicken ....
Lesezeichen