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?
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.
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?
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.
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?
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.
danke für die Antwort. Ist das nicht bei jedem Controller so? Bei welchen Controller denn nicht?
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.
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.
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.
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. :)
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.
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?
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.
Hi, Damit funktioniert es jetzt mit noch weniger Aufwand und sogar ohne Widerstand. Für den, der es noch braucht: Viel Spaß damit!
> 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)
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.
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
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
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:
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
> 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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.