Forum: Analoge Elektronik und Schaltungstechnik PROFET mit uC ansteuern


von Martin S. (drunkenmunky)


Lesenswert?

Hallo,

ich will mit einem uC Infineon C515C einen Infineon Profet BTS50080 
ansteuern.

http://www.infineon.com/dgdl/BTS50080-1TEA_DS_v10.pdf?folderId=db3a304314dca389011537739e37155f&fileId=db3a30431ce5fb52011d7264d7916f32

der Fet benötigt ungefähr nur 1 mA Strom. Kann ich den dann direkt 
schalten mit dem uC Ausgang? Funktioniert bei mir irgendwie nicht so...

Das einfachste wäre dann wohl ein selbstleitenden N-Kanal-Mosfet zu 
nehmen und mit dem den IN Eingang des Profets auf Masse zu ziehen, oder?

Selbstleitend deswegen, damit bei einem Reset des Controllers der Profet 
nicht durchschaltet. Aber was ist wenn die 5V Versorgungsspannung des uC 
ausfallen? Dann schaltet des Profet ja auch ein ?!

Wie kann man dieses Problem lösen? Man braucht dafür mindestens 2 
Transistoren, oder?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Moment mal, der PROFET schaltet doch dann durch, wenn du seinen
Eingang auf 0 V legst, wenn du ihn offen lässt (Controllerpin ist
hochohmig), dann ist er ausgeschaltet.

Oder habe ich das Datenblatt flasch verstanden?

Zur Not müsste ein pnp-Transistor als Emitterfolger genügen, um
den Strom zu verstärken.  Ich kann aber nicht recht glauben, dass
ein Controllerausgang nicht in der Lage wäre, einen derartigen
(vergleichsweise geringen) Steuerstrom zu versenken.

von Martin S. (drunkenmunky)


Lesenswert?

ja, der Profet schaltet durch, wenn der IN Eingang auf Masse gelegt 
wird.

Ich habe den Ausgang des uC direkt mit IN des Profets verbunden. Die 
Versorgungsspannung des Profets ist größer als 5V. Jetzt zum Testen ca. 
8V. Wenn ich dann am IN Eingang messe (Ausgang high) habe ich 7,x Volt. 
Bei Ausgang low habe ich aber immernoch so um die 5 Volt.

Kannst du kurz ne Skizze machen, wie du es mit einem zusätzlichen 
Transistor schalten würdest?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

Wenn Vbb höher als Vcc ist, brauchst du wohl in der Tat Transistoren.
Das hier sollte sicher funktionieren.  Für die Transistoren könntest
du ja einen BC847BPN nehmen, da hast du beide gleich in einem Gehäuse.

von Martin S. (drunkenmunky)


Lesenswert?

Hi,
also die Schaltung funktioniert so schon, ändert aber nichts daran dass 
beim Einschalten der PROFET kurz eingeschalten wird wegen dem Reset des 
Controllers, der alle Ausgänge kurzzeitig auf 1 schaltet.

Wie könnte man das Problem lösen? Mit Mos-FETs? Aber dann braucht man ja 
mindestens einen selbstleitenden und einen selbstleitenden oder?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Martin S. schrieb:
> Wie könnte man das Problem lösen?

Sicher nur mit einem Controller, der keine derartige Macke hat.

Oder mit sehr viel mehr an Aufwand ringsum: einschalten mit "low"
vom Controller, aber gleichzeitig noch überwachen, dass Vcc des
Controllers schon anliegt, denn ansonsten kann er ja den zum
Ausschalten notwendigen "high"-Pegel (der wohl in Wirklichkeit nur
ein pullup ist, wenn ich das richtig sehe) noch nicht erzeugen.

Falls Schaltgeschwindigkeit und Sicherheit keine Rolle spielen,
kannst du dir mit einem Tiefpass behelfen, der den Einschaltimpuls
unterdrückt.

von Martin S. (drunkenmunky)


Lesenswert?

danke für die Antwort.

Ist das nicht bei jedem Controller so?

Bei welchen Controller denn nicht?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Martin S. schrieb:

> Ist das nicht bei jedem Controller so?

Ja, das ist nicht bei jedem so.

> Bei welchen Controller denn nicht?

Bei so ziemlich allen, die ein zeitgemäßes Design mit (auf tristate
schaltbaren) push-pull-Ausgangsstufen statt einer Krücke mit
open-drain-FETs und Pullup-Widerständen haben.  Dort startet der
Controller mit allen IO-Pins im Tristate, und entsprechend kann
kein Basisstrom in den Transistor fließen.  Wenn die Firmware dann
den Pin auf Ausgang stellt, sollte sie sich halt zuvor kümmern,
dass er danach den passenden Pegel (hier: low) hat, dann entsteht
auch kein spike auf der Leitung.

von Martin S. (drunkenmunky)


Lesenswert?

Ok. Kannst du mal ein paar Typen nennen? Pics? AVRs?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Martin S. schrieb:
> Ok. Kannst du mal ein paar Typen nennen? Pics? AVRs?

Ja, zum Beispiel diese.  Bei den AVRs bin ich ganz sicher, dass sie
alle push-pull-Ausgänge haben, bei den PICs kann ich das nur für
die sagen, mit denen ich bislang zu tun hatte, aber da trifft das
ebenfalls zu.

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Jörg Wunsch schrieb:
>> Bei welchen Controller denn nicht?
>
> Bei so ziemlich allen, die ein zeitgemäßes Design mit (auf tristate
> schaltbaren) push-pull-Ausgangsstufen statt einer Krücke mit
> open-drain-FETs und Pullup-Widerständen haben.  Dort startet der
> Controller mit allen IO-Pins im Tristate, und entsprechend kann
> kein Basisstrom in den Transistor fließen.  Wenn die Firmware dann
> den Pin auf Ausgang stellt, sollte sie sich halt zuvor kümmern,
> dass er danach den passenden Pegel (hier: low) hat, dann entsteht
> auch kein spike auf der Leitung.

Wenn du den 8051 meinst: Da ist erheblich mehr im Pin drin! Meiner 
Meinung nach ist es ein elegantes Design. Auch wenn ich gerne auf Intel 
rumhacke.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Abdul K. schrieb:
> Wenn du den 8051 meinst: Da ist erheblich mehr im Pin drin!

Zumindest nicht beim klassischen 8051, und offenbar auch nicht beim
hier benutzten C515 von Infineon (der kann wohl an einem Port auch
push-pull arbeiten, aber der scheint mir als Speicherbus benutzt
zu werden).  Ansonsten sind dort externe oder interne Pullups üblich,
um den high-Pegel am normalen parallelen Ausgang zu erreichen.

Kann natürlich sein, dass es mittlerweile auch Derivate gibt, die
mehr echte push-pull-Stufen haben, die Vielfalt an 8051-Derivaten
ist mir zu unübersichtlich, um mich da auf eine Aussage einzlassen. ;-)
Im Großen und Ganzen werden sie's aber alle als historischen Ballast
mit sich rumschleppen, da man einen 8051 ja nicht wegen seiner
architekturellen Schönheit, sondern in erster Linie wegen seiner
Rückwärtskompatibilität bis zur Jungsteinzeit benutzt. :)

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Und in deren Jungsteinzeit wurde bereits der Pin kurzzeitig durch einen 
stärkeren PMOS nach High gezogen und dann durch einen Weak-Pull-Up 
gehalten. Sie waren einfach schlau!

Ich habe Hunderte von vor allem 80C535 aber auch aller benachbarten 
Typen in Händen gehabt, entwickelt, supported, repariert, in zig 
Maskenversionen.

Die Vorgänge sind in den technischen Unterlagen zu diesen Controllern 
ausführlich beschrieben und mittlerweile im Internet vermutlich 
hunderttausende Male in HTML geklont worden.

Ja ist richtig, im External-Mode wird ein Port dauerhaft strong 
geschaltet. Man kann sogar die Pins für RD und WR sowie die seriellen 
Pins RxD und TxD am Port 3 gleichzeitig als Port und Funktionspin 
benutzen.

Ich bin für die Dinger leider Experte geworden, war bei Phytec.

von Martin S. (drunkenmunky)


Angehängte Dateien:

Lesenswert?

Hi,
ich frag mich nur warum der Vorgang so lange geht. Ich hab mal eine 21W 
Glühbirne an den PROFET geschalten und die leuchtet, wie ich finde, bis 
zur vollen Helligkeit auf, bis sie dann auf Low gesetzt wird. Also 
schätungweise eine halbe Sekunde.

Im Handbuch des C515C steht:

The time required for a reset operation is the oscillator start-up time 
plus 2 machine cycles, which,
under normal conditions, must be at least 10 - 20 ms for a crystal 
oscillator. This requirement is
typically met using a capacitor of 4.7 to 10 mF. The same considerations 
apply if the reset signal is
generated externally (figure 5-1 b). In each case it must be assured 
that the oscillator has started
up properly and that at least two machine cycles have passed before the 
reset signal goes inactive.

Stimmt meine Resetbeschaltung nicht? Hab mal ne Skizze angehängt.

Phytec schreibt das zur Resetbeschaltung:
Verbinden Sie den /Reset-Eingang des Moduls (Pin 31) über eine Taste mit 
der Schaltungsmasse. Eine Spule von 2,2µH im Signafluß und ein 
Kondensator von 100nF gegen VCC bilden hier eine Filtermaßnahme und die 
Tastenentprellung.

Hab ich da was falsch verstanden?

von Tobias B. (gremlin72)


Lesenswert?

Hi,

Ich habe mal eine Frage zu Jörg's Schaltung:
Braucht man den PNP Transistor unbedingt? Ich ziehe den Eingang eines 
BTS443 mit nur einem NPN Transistor (SC236) auf 0. Diesen steure ich 
über ein AVR Net-IO. Das funktioniert hervorragend. Jedoch habe ich die 
Platinen schon fertig und wollte einen SMD (BC 847) nehmen, was nicht 
funktioniert. Kann mir mal bitte einer erklären, woran das liegt. Ich 
werde wohl die Platinen noch mal machen dürfen, oder?

Vielen Dank schon mal für Eure Antworten. Bin schon seit Stunden am 
Grübeln und Googlen.

von Tobias B. (gremlin72)


Angehängte Dateien:

Lesenswert?

Hi,

Damit funktioniert es jetzt mit noch weniger Aufwand und sogar ohne 
Widerstand.

Für den, der es noch braucht: Viel Spaß damit!

von MaWin (Gast)


Lesenswert?

> Damit funktioniert es jetzt mit noch weniger Aufwand und sogar ohne
> Widerstand.

Du meinst, es ist auf diese Art immer eingeschaltet.
Das hättest du einfacher haben können, IN an GND.

Und der TE hat keinen AVR.

Ist es wirklich so schwer, im Datenblatt des BTS in Figure 13 zu
gucken, und zu erkennen, daß der ProFET für 8051-er Microcontroller
eher ungeeignet ist ?

Man bräuchte mindestens

       +5V
        |E
Pin -R-|< PNP  +--R-- ProFet
        |      |
        +--R--|< NPN
               |E
              GND

(z.B. realisiert durch einen BCR10)

von Tobias B. (gremlin72)


Lesenswert?

Hallo MaWin,

Eingeschaltet ist er immer dann, wenn am Gate des BSS123 5V anliegen. 
Sonst nicht!
Ich verwende keinen 8051, sondern einen Atmel. Das meinte ich auch mit 
AVR.

von Anja (Gast)


Lesenswert?

MaWin schrieb:
> Man bräuchte mindestens

Nee ein einfacher Logic-Level FET (BSS138) reicht vollkommen aus:
Das Gate fest an +5V den Source an den Port-Ausgang. Drain zum BTS.

Im Reset-Fall: Pull-up ist aktiv Gate und Source = 5V FET sperrt -> BTS 
ist aus.

Mit Low-Level am Port: Gate ist positiver als Source -> FET leitet -> 0V 
am BTS -> BTS ist ein.

Gruß Anja

von Anja (Gast)


Lesenswert?

Tobias Born schrieb:
> Eingeschaltet ist er immer dann, wenn am Gate des BSS123 5V anliegen.
> Sonst nicht!

Drain und Source sind im Bild vertauscht. Über die Body-Diode ist der 
BTS immer eingeschaltet.

Gruß Anja

von Tobias B. (gremlin72)


Angehängte Dateien:

Lesenswert?

Stimmt. Besten Dank, Anja! Jetzt hätte ich beinahe noch mal Ausschuss 
geätzt.
Auf der Platine war es richtig, wo es definitiv funktioniert, nicht 
jedoch nicht in der Schaltung.
So muß es aussehen:

von Anja (Gast)


Lesenswert?

Tobias Born schrieb:
> So muß es aussehen:

Ich würde bei Verwendung eines AVR noch einen Pull-Down Widerstand am 
Gate spendieren.
Ansonsten floatet das Gate während des Resets.

Gruß Anja

von MaWin (Gast)


Lesenswert?

> Nee ein einfacher Logic-Level FET (BSS138) reicht vollkommen aus:
> Das Gate fest an +5V den Source an den Port-Ausgang. Drain zum BTS.

Ja, die Variante geht auch.

Sozusagen Basisschaltung per MOSFET.

von Tobias B. (gremlin72)


Lesenswert?

Danke. Schon passiert.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.