FET ohne Treiber direkt am PIC?

Persönliche Seite #853848
Lesenswert?

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
Gast #853854
Lesenswert?

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.
#853892
Lesenswert?

@ 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
Gast #853911
Lesenswert?

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.
Gast #853934
Lesenswert?

^ 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.
#853955
Lesenswert?

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.
Gast #853990
Lesenswert?

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.
(Firma: Promaxx.net) #854013
Lesenswert?

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.
Gast #854040
Lesenswert?

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.
Gast #854136
Lesenswert?

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?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren