Hi mikrocontroller Community,
Der Betreff ist wenig aussagekräftig, ich wusste es aber nicht besser zu
beschreiben.
Ich habe mich auch schon durch google und SuFu geprügelt, komme aber
nicht auf einen grünen Zweig. Die Schaltung im Anhang habe ich mir
aufgebaut. Präziser sind die Widerstände R1 und R2 Heizwiderstände, die
das Heizbett eines 3D Druckers betreiben sollen. Die FETs sind BUZ11
-> Auszug aus dem Datenblatt:
Drain to Source Breakdown Voltage: 50V
Gate Threshold Voltage: 2.1V-4V
Continuous Source to Drain Current: 30A
Als Stromversorgung arbeitet ein altes PC Netzteil mit 5V&12V Ausgängen.
Der Druckercontroller aus der Zeichnung ist ein Arduino Mega mit
RAMPS1.4 Shield (wenn das jemandem etwas sagt).
Die gestrichelte Linie beschreibt einen Widerstand, den ich erst später
eingesetzt habe, nachdem das Problem auftrat.
Die 5V Versorgung ist noch nicht angeschlossen, kann also nicht sagen ob
es da wieder auftritt.
Mein Ziel ist es, dass der Druckercontroller mit seinem gesteuertem 12V
Ausgang das Heizbett betreibt (die zwei Widerstände sich "einschalten").
Nun zu meinem Problem.
Als ich das Netzteil eingeschaltet habe, dauerte es nur wenige sekunden
(vlt eine halbe Minute), bis der BUZ11 so heiß wurde, dass der Lack am
Kühlkörper sich verfärbt hat. Auch das Heizbett war eingeschalten. Der
gesteuerte Ausgang war die ganze Zeit aus! Ich wollte eigentlich die
Motorsteuerungen testen und nicht das Bett :-D
Danach habe ich nochmal das Netzteil eingeschalten und am gesteuerten
Ausgang vom Druckercontroller das Multimeter angehalten. Da lag für eine
Sekunde ~3V an, die aber sofort abfielen. Daher setzte ich den
Widerstand R3 ein. Dachte das Gate wäre wohl damit schon geladen und der
MOSFET auf.
Ich muss irgendetwas an der Wirkweise/Verwendung von FETs so richtig
brutal missverstanden haben. Habe mit anderen n-Kanal MOSFETs bisher
bloß ein paar LEDs zum lernen betrieben.
Einfachste Frage... was mach ich falsch?
Ich möchte die BUZ11 nicht an den digitalen Ausgängen vom RAMPS
betreiben, da die nur 5V Steuerspannung versorgen. Bei Vgs von 2.1-4 V
macht der MOSFET damit ja nicht voll auf oder?
Ich hoffe ihr könnt mir bei dem Problem helfen. Habe schon etliche
Arbeit reingesteckt und komme nicht auf meinen Fehler.
Gruß Klaus
Du wirst die Mosfets direkt gegrillt haben.... Heizwiderstände haben wie
Glühbirnen im Einschaltzeitpunkt die nette Eigenschaft einen "etwas"
höheren Strom zu ziehen - ohne den Pulldown (R3) mit einem floating-gate
wurden die Mosfets so im Linearbetrieb betrieben und die TDP komplett
überschritten (Mosfet ist schrott) - du kannst die Dinger ja mal im
ausgebautem Zustand auf Durchgang prüfen...
Als Einschalt-Strombegrenzung kannst du jeweils eine kleine Drossel in
Reihe zu den Heizwiderständen schalten - vergiss dann aber nicht die
Freilaufdioden..
Liefert der Steuerausgang auch wirklich +12V ? 3 sind definitiv zu
wenig.. du könntest dir natürlich Logic-Level Mosfets besorgen - die
funktionieren dann mit 5V Steuerspannung
Was kommt aus dem Drucker-Controller für ein Signal raus?
Ich vermute, daß er im "aus"-Zustand einfach offen ist und damit hängen
die Gates der beiden BUZ in der Luft. Das hast du jetzt durch den
gestrichelten Widerstand verhindert. Den sollte man sowieso immer
vorsehen. Denn wenn der Ausgang, der den FET ansteuert, offen ist oder
der µC defekt, dann tritt genau das ein, was du beobachten durftest. Der
FET fängt am Gate irgendwas auf und schwebt pegelmäßig irgendwo zwischen
GND und irgendwas. Aber er solle ja im Schalterbetrieb arbeiten, also
entweder ein oder aus. Durch das Floaten ist der FET dann im
Analogbetrieb und muß an seiner S-D-Strecke die entstehende Leistung
verbraten.
Wenn der Ausgang vom Controller Tristate macht, haben deine Mosfets
keine Möglichkeit, die Gateladung los zu werden.
Deshalb ist beim Mosfet meisten ein Gate-Source Widerstand zusehen.
Danke für die schnellen Antworten. Dass ich wegen des erst zu spät
eingesetzten Pulldown Widerstands den FET direkt zerstört habe und dann
kein Schalten mehr möglich war, klingt erstmal logisch.
Da ich es gegen 2 Uhr letzter Nacht hingelegt habe, habe ich mir auch
nicht mehr die Zeit genommen, den FET raus zu nehmen und durch zu
messen. Das werde ich heute abend direkt machen. Im Detail, sieht die
Schaltung im RAMPS (Controller) so aus:
http://reprap.org/mediawiki/images/f/f6/RAMPS1.4schematic.png
Da, links unten bei Heater & Fans. Meistens wird dieser Ausgang
betrieben um direkt das Heizbett mit Strom zu versorgen. Für mein großes
Heizbett ist die Elektronik aber zu schwach, weswegen ich damit nur noch
schalten wollte.
Habe vor einigen Wochen die Spannung an dem Ausgang gemessen, für on
lagen da +12V and und bei aus, nichts. Dachte eigentlich der Ausgang
läge aber auch so mit einem Widerstand an GND.
Gibt es eine Regel, nach der ich den Pulldown Widerstand aussuchen
sollte? Manchmal finde ich Schaltungen mit 10k od. 100k und
Vorwiderstand fürs Gate und der gleichen.
Wenn ich das richtig sehe, sind das doch Open Drain-Ausgänge. Das heißt,
sie schalten den Ausgang nach GND. Und im offenen Zustand ist lediglich
die LED mit Vorwiderstand nach +12V. Wenn du hier die Gates ranhängen
willst, brauchst du noch einen Pullup am Gate. der dir +12V liefert.
Genau den Teil hatte ich auch irgendwie missverstanden. Folgendes Bild
erschien mir etwas klarer:
http://reprap.org/mediawiki/images/3/38/RAMPS1-3_placed.JPG
Da ist am linken Ende des Boards der Ausgang D8 dessen "-" zum Drain des
MOSFETs auf dem Controllerboard geht und dessen "+" der Ausgang ist, den
ich verwendet habe (kommt von +12V des Netzteils, über eine PTC
Sicherung).
...erm... heißt dass, der + Pol am Controller ist immer "an", wenn das
Netzteil eingeschaltet ist und der neg. Pol ist der, der vom Arduino
geschalten wird?
Ich habe mit den Portbeschreibungen einige Probleme. Bin ein
hervorragender Softwareentwickler allerdings sind meine
Elektronikkenntnisse nur wenig besser als die eines Physikschülers der
10. Klasse. Ich hoffe ihr könnt mir folgen.
Im Detail sieht der ganze Controller so aus:
http://reprap.org/wiki/RAMPS_1.4
Allem vorran erstmal Danke für eure Hilfe und Zeit!
Kannst du dem Controller nit einfach einen stärkeren Mosfet einbauen? Es
braucht ja nur der eine Kanal modifiziert werden.
Eventuell noch Leiterbahnen verstärken mit Draht.
Hab ich schon überlegt, da das Druckbett an meinem Drucker aber wirklich
wirklich groß ist (30x25cmx2mm Aluplatte) und ich dafür nicht genug
Leistung von den 12V vom Netzteil bekomme, habe ich eine zweite Reihe
für die 5V Versorgung vom Netzteil gebaut. Außerdem habe ich mir von
einem Elektronikhändler für 3D Drucker erzählen lassen, dass das Board
unter hohen Strömen erheblich leide. Die 11A PTC Sicherung müsste ich
dann auch noch austauschen.
Das Prinzip ist so, daß der Anschluß + fest an +12V hängt (P$1) und der
Anschluß - durch den MOSFET gegen GND geschalten wird (P$2). Und
zwischen diesen beiden Anschlüssen ist es vorgesehen, einen Verbraucher
anzuschließen. Der Stromweg ist also: +12V -> Verbraucher -> Mosfet ->
GND.
Den Mosfet kannst du wie einen Schalter sehen, der in der GND-Leitung
eines Verbrauchers liegt. Wenn du jetzt einen externen Mosfet dort
ansteuern willst, mußt du statt dem Verbraucher einen Widerstand
anklemmen, die bei offenem Mosfet die Klemme - auf +12V zieht. Wenn der
Mosfet durchschaltet, zieht er den Anschluß auf GND. Und die Klemme -
legst du an das Gate deines externen BUZ. Den Pulldown am Gate solltest
du trotzdem dranlassen. Den kannst du allerdings größer machen
(50...100k).
Aaaahhh... jetzt sackt es durch. Hey ehrlich, danke für eure Hilfe! Das
führt mich allerdings zu einem anderen Problem... So wie die Schaltung
aussieht, war der BUZ11 immer einfach voll offen. Dass er so heiß wurde
heißt also, ich verlange ihm zuviel ab... die Verlustleistung ist ihm
viel zu viel. Könnt Ihr mir einen FET empfehlen, der günstig ist und
etwas mehr verträgt? Durch die Heizwiderstände gehen 120 und 100 Watt
durch. Dachte eigentlich, dass sollte sie nicht stören, da ich nur an
und aus schalte und nicht linear.
>Dass er so heiß wurde>heißt also, ich verlange ihm zuviel ab...
Nein, du betreibst ihn einfach nicht im Schaltbetrieb:
>Denn wenn der Ausgang, der den FET ansteuert, offen ist oder>der µC defekt, dann tritt genau das ein, was du beobachten durftest. Der>FET fängt am Gate irgendwas auf und schwebt pegelmäßig irgendwo zwischen>GND und irgendwas. Aber er solle ja im Schalterbetrieb arbeiten, also>entweder ein oder aus. Durch das Floaten ist der FET dann im>Analogbetrieb und muß an seiner S-D-Strecke die entstehende Leistung>verbraten.
Okay... jetzt bin ich doch wieder verwirrt, wie am Anfang. So wie ich
jetzt die Schematics von dem RAMPS Board verstehe, ist der +12V
"Ausgang", den ich an die Gates geführt habe doch nur die +12V vom PC
Netzteil? Sollten damit die FETs nicht einfach offen sein?
npn schrieb:> mußt du statt dem Verbraucher einen Widerstand> anklemmen, die bei offenem Mosfet die Klemme - auf +12V zieht. Wenn der> Mosfet durchschaltet, zieht er den Anschluß auf GND. Und die Klemme -> legst du an das Gate deines externen BUZ.
Entschuldige npn, aber da kann ich dir nicht ganz folgen. Wie gesagt,
meine Elektronikkenntnisse sind bescheiden aber ich lerne gern dazu.
Kannst du das irgendwo skizzieren?
Besten Dank!
Klaus schrieb:> Entschuldige npn, aber da kann ich dir nicht ganz folgen. Wie gesagt,> meine Elektronikkenntnisse sind bescheiden aber ich lerne gern dazu.> Kannst du das irgendwo skizzieren?
So ich habe das mal auf die Schnelle zusammengeschmiert. So ungefähr
hatte ich mir das gedacht. Das Gate des BUZ kriegt über R2 die 12V aus
dem Controller, wenn der interne FET sperrt. Wenn er durchschaltet,
zieht er das Gate des BUZ auf GND.
Wenn der MOSFET auf dem Shield leitet, zieht er den Ausgang nach GND und
dein BUZ sperrt - hier passt alles.
Wenn der MOSFET auf dem Shield sperrt, dann wird der Ausgang über
1,8kOhm und eine LED auf dem Shield nach oben (12V) gezogen, auf deiner
Schaltung wird er mit 1kOhm nach unten gezogen. Das Gate des BUZ liegt
dann bei ~4V, der BUZ schaltet nicht richtig durch und heizt sich
anstelle der Heizwiderstände auf.
Wenn du - wie von npn vorgeschlagen - den Pulldown R3 auf 100kOhm
einstellst, dann geht das Gate im angeschalteten Zustand immerhin auf
~10V hoch, und die Verluste werden viel geringer. Für ein schnelles hin-
und herschalten der Heizung (PWM-Regelung) ist diese Gateansteuerung zu
langsam, für gelegentliches Ein- und Ausschalten sollte sie ok sein.
Was deine Probleme zu Anfang (ohne R3) angeht: hast du daran gedacht,
dass die Ausgangsstufe auf dem Shield das Signal invertiert (d.h. wenn
der Arduino high treibt, dann zieht der MOSFET auf dem Shield den
Ausgang auf low).
Ich sehe grade noch den Schaltungsvorschlag von npn von 17:21. Sein R2
sorgt dafür, dass das Gate des BUZ die vollen 12V sieht. Das ist besser,
als wenn du nur den Pullup auf dem Shield benutzt, weil dort nochmal ~2V
an der LED hängen bleiben würden...
Noch ein Hinweis, der mir gerade eingefallen ist. Hast du auch GND des
Controllers an GND (Source) des externen BUZ verbunden? Klingt doof,
aber mancher hat das schon vergessen und sich dann gewundert, daß seine
"Eindraht-Schaltung" nicht funktioniert :-)
> Entschuldige npn, aber da kann ich dir nicht ganz folgen. Wie gesagt,> meine Elektronikkenntnisse sind bescheiden aber ich lerne gern dazu.> Kannst du das irgendwo skizzieren?
"+" Ist nicht der Ausgang des Signals sondern "-" ist der Ausgang.
"+" ist einfach fest verdrahtet mit den +12V vom Netzteil und kann nicht
geschaltet werden.
Du kannst nur "-" Schalten! Wenn "-" geschaltet also aktiviert ist dann
kommen da 0V raus. Wenn "-" nicht geschaltet ist also nicht aktiviert
dann ist da irgendwas dran z.B. 2V und der FET macht nur halb auf und
hat vieleicht den Selben Widerstand wie deine Last. Dann Zieht er auch
soviel Leistung wie deine Last und verbrennt.
Du must also wenn du nicht die 0V schaltest dem FET einen definierten
Pegel geben z.B. 12V über 1KOhm.
Dein FET ist aber an wenn 12V am Gate anliegen. Der Ausgang kann aber
nur =v Ausgeben.
Soweit verstanden?
Ich verstehe... zumindest das meiste. Wenn ich es richtig aufnehme, mit
der Zeichnung von npn, kann ich schalten, hab aber exakt das Gegenteil
von dem, was ich erwarte. Also board schaltet an, mein Heizbett geht aus
und umgekehrt.
Es wird oft von pullup bzw. hochziehen und pulldown gesprochen. Damit
meint ihr das Konzept vom Spannungsteiler oder? Der Artikel bei
Elektronik Kompendium ist da ein wenig missverständlich. Ich stell mir
den Strom vor wie Druck im Gefäß... verteilt sich gleichmäßig in
proportion zum widerstand. Kann ich damit nicht die Spannung am Buz,
sagen wir zwischen 1V (aus) und 8V (an) so schalten, dass er den selben
Schaltstatus hat, wie der FET auf dem Board?
Wenigstens eins weiß ich... GND am board entspricht dem GND vom
Netzteil, so hab ich es zumindest aus den Schematics heraus gelesen.
So wie ich es sehe, habe ich drei Möglichkeiten.
1. Ich besorge mir stattdessen 2 logic level Fets und Sattel auf einen
anderen Port um. Habe den IRL3103 aus der Mosfet Übersicht ins Auge
gefasst, den krieg ich aber scheinbar nur teuer und schwer nach Wien.
2. Ich zerlege den Code der Repetier Firmware, damit sie einfach das
umgekehrte Signal verschickt. Das kann ne Stunde oder eine Woche dauern,
je nach Qualität des Codes.
3. Es gibt eine Schaltung, mit der ich besagtes Verhalten herstellen
kann. Also internes an entspricht externes an usw.
Vielleicht noch etwas einfaches nebenbei, das Bett wird nicht per PWM
betrieben. Die Heizung und die Aluminiumplatte sind dafür zu träge, als
dass sich das lohnt, dafür knappen Arbeitsspeicher vom ATMega zu
verbrauchen.
Eine Frage noch, die mit unter den Nägeln brennt, warum war wie oft
angesprochen der BUZ im linear betrieb? Er hing doch statisch an +12V
vom PC Netzteil und sollte voll offen gewesen sein oder?
Habe mir gedacht, als dankeschön für eure Hilfe, wenn die Kiste wieder
läuft, kann sich jeder Poster bisher was von thingiverse oÄ. wünschen,
dass in ein Polsterkuvert passt.
Klaus schrieb:> Er hing doch statisch an +12V
Naja, aber 20A ist auch keine Kleinigkeit mehr: Bei etwa 35mOhm fallen
hier dran bereits 0,7V ab. Mal 20A macht 14 Watt Verlustleistung...
Spendiere dem Ding einen vernünftigen* Kühlkörper und er wird noch lange
leben ;)
*Bei 14 Watt Verlustleistung und 50°C Temperaturerhöhung bräuchtest du
dann
50K/14W=3,57K/W
Der "Thermal Resistance Junction-case" liegt bei 1,67K/W, du brauchst
also einen Kühlkörper mit maximal 1,9K/W. Da ist dann noch genug
Sicherheit für WLP und Luftzufuhr...
Mit dem hier wärst du z.B. noch gerade so im Rahmen (knapp 80°C im
MOSFET):
http://www.reichelt.de/Profilkuehlkoerper/V-5512G/3/index.html?&ACTION=3&LA=2&ARTICLE=22250&GROUPID=3383&artnr=V+5512G