Hi Kann man einen N-Kanal-Fet direkt an ein PORTPIN hängen oder brauch ich einen Treiber(-Darlingtontransistor?)? Ich will etwa alle 5s eine Konstantstromquelle (max. 1,5A) ausmachen und weiter 5s später wieder ein. Benötige ich nun also einen Treiber? Danke Inox
Wenn Du einen Logic-Level FET nimmst nicht. Der standard Mosfet kommt nicht ohne Treiber aus.
Wenn der PIC mit 5V läuft sollte so ziemlich jeder FET der mind. 1.5A schalten kann ohne Treiber funktionieren. Bei 10A sähe das schon anders aus. Aber einen Vorwiderstand (z.B. 1k) solltest du zwischen Port und Gate schalten.
@ let (Gast) >Aber einen Vorwiderstand (z.B. 1k) solltest du zwischen Port und >Gate schalten. Nein! Das kann und sollte man direkt verbinden. Der PIC-Ausgang ist "schwach" genug, um EMV Probleme etc. zu vermeiden. 1k ist schon recht viel und kann bei höheren PWM-Freqeunzen die Schaltzeit negativ verlängern. MFG Falk
@Falk: Daniel B. wrote: ... > Ich will etwa alle 5s eine Konstantstromquelle (max. 1,5A) ausmachen und > weiter 5s später wieder ein. ... Naja bei der Frequenz dürfte 1k ok sein. ;-) @ Daniel B. Pack das Gate einfach an ein Portpin dran. Bei der Frequenz braucht man so gut wie gar keine Umladeströme die den Pic belasten. Gruss Stefan
Also kommt sozusagen der Stromverbrauch des Fet auf seine Frequenz an mit der man ihn schalten will, richtig?
Wer sagt denn etwas von PWM? Außerdem passieren beim PIC seltsame Dinge wenn man eine kapazitive Last ein einen Port hängt. Mal geht es ohne Problem, mal springt der Ausgang nach einem Zyklus wieder zurück auf den alten Zustand. Also wenn man z. B. von 1 -> 0 schaltet macht der Port das aber nach 125ns geht er wieder auf 1. Im Register steht aber eine 0. Wir mußten deswegen einige dutzend Geräte zurückrufen, da der Fehler natürlich erst beim Kunden aufgetreten ist. Jetzt liegen 1k in Reihe zum FET und es geht.
Kann ich eigentlich einen BUZ90A verwenden? Im Datenblatt steht unter V-Gate-Source (5V) -> I Drain (4,5A). Und brauch ich nun einen Widerstand, weil evntl. muss ich die PWM verändern nämlich zu 5s an und nur 500ms aus? MfG Inox
^ Da sehe ich kein Problem. Einen Widerstand würde ich in jedem Fall einbauen. Wenn es bei der Flankensteilheit um Mikrosekunden geht, kannst du ja 330 Ohm verbauen. Dann kommst du auf 5*R*C = 1.65us. Der Strom geht dann nicht über 15mA.
let wrote: > Wer sagt denn etwas von PWM? Außerdem passieren beim PIC > seltsame Dinge wenn man eine kapazitive Last ein einen Port > hängt. Mal geht es ohne Problem, mal springt der Ausgang nach > einem Zyklus wieder zurück auf den alten Zustand. Also wenn > man z. B. von 1 -> 0 schaltet macht der Port das aber nach > 125ns geht er wieder auf 1. Im Register steht aber eine 0. Was lernen wir darauf ? -> Nächstes mal einen AVR nehmen. Vermutlich war das aber ein Softwarebug (ansonsten wäre das schon sehr bitter für die PICs). Ich tippe drauf, dass ihr irgendwo den Port zurücklest bzw. irgendwo ein Bit verodert, so dass der Port zurückgelesen wird. Dabei wird der Pin als Low erkannt (da beim Einlesen nicht der Ausgangswert gelesen wird, sondern der Eingangswert) und so das Bit gelöscht wird.
Nein, das Problem ist beseitigt seitdem der Widerstand vor dem Gate sitzt. Der Fehler trat im Durschnitt bei jedem 10. Schaltvorgang auf. Ausgelesen wurde das PORTB Register nur zu Debugzwecken in der Hauptschleife. An dem PIC ist ein Ethernet Controller angeschlossen über den wurde dann jede Sekunde der Inhalt des Registers als Trace-Message ausgegeben. Das entsprechende Bit wechselte bei jedem Schaltvorgang brav mit. An einem anderen Pin angeschlossen kippte der Ausgang auch zurück. Meine erste Vermutung war das das Register an einer anderen Stelle im Programm verändert wird. Daher die Trace Meldung. Der Einbau des Widerstandes war eher eine Verzweiflungstat. Aber das war es. An der Software habe ich nichts weiter verändert und die neuen Geräte mit Widerstand laufen seit Sommer letzten Jahres.
Aber das ist doch alles kalter Kaffee! Sieh mal bei Sprut.de nach, da wird über dieses Problem ausführlich berichtet. Es geht darum, daß ein Portpin (als Ausgang) umgeschaltet wird, aber die kapazitive Last (wie hier bei FETs) dazu führt, daß sich die Spannung am Portpin nur langsam ändert. Wird ein anderer Portpin am gleichen Port in der sehr kurzen Folge ebenfalls geschaltet (Bit-Befehl), dann werden alle 8 Bits aus den Eingängen gelesen, das zweite Bit geändert und wieder in das Port-Register geschrieben. Aber das erste Bit wurde falsch gelesen, weil sich die Spannung am Ausgang noch nicht genügend geändert hatte.... (Read-Modify-Write) Bei 18F-Pics (und aufwärts) gibt es darum das LAT-Register, was man besser benutzt und bei den ganzen kleinen Dingern kann man das Problem umgehen, indem man ein Schattenregister einführt, in dem man alle Ausgaben reinschreibt und dann einfach nur stumpf in das Portregister kopiert.
Aha, wieder etwas gelernt. Danke für die Erklärung. Ich muß gestehen das mir die Existenz der LAT Register zwar bekannt ist, ich diese jedoch bisher vollständig ignoriert habe. Das sollte ich wohl mal ändern... Aber wie Benedikt schon erwähnte, mit einem AVR wäre das nicht passiert ;). Nichtsdestotrotz sind mir diese Stromstöße bei einem µC nicht geheuer. Da bin etwas schüchtern.
let wrote: > Aber wie Benedikt schon erwähnte, mit einem AVR wäre das > nicht passiert ;). Genau - weil der AVR von der Entwicklung bis zur Serienfertigung nämlich schon abgekündigt wäre ;-)
Hmm..., mal sehen: 16F877 -> 18F452 -> 18F4520 18F252 -> 18F2520 186720 -> 18F6722 Die sind untereinander nur bedingt kompatibel. Beim Übergang 252 -> 2520, 877 -> 452 und 452 -> 4520 mußten wir Software ändern. Prinzipiell sollten zwar die alten Typen noch lieferbar sein, nur leider sind die bei unseren Lieferanten (Sasco, Microchip Direct) nicht verfügbar wenn wir sie brauchen. Welcher AVR ist denn ersatzlos gestrichen worden?
Ich würd sagen das hier wird langsam OT. macht lieber einen Thread auf: PIC oder AVR. ich möchte auch hier einmal erwähnen das die 18F PICs zum Teil besser ausgestattest sinbd als avrs.
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.