www.mikrocontroller.net

Forum: Analogelektronik und Schaltungstechnik FET ohne Treiber direkt am PIC?

Autor: Daniel B. (inox5)
Datum: 27.04.2008 16:39

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
Autor: der Warze (Gast)
Datum: 27.04.2008 16:43

Wenn Du einen Logic-Level FET nimmst nicht.
Der standard Mosfet kommt nicht ohne Treiber aus.
Autor: Daniel B. (inox5)
Datum: 27.04.2008 16:50

Muss ich den Gate-Strom begrenzen? Weil der Ausgang vom PIC schafft nur
25mA.
Autor: let (Gast)
Datum: 27.04.2008 16:51

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.
Autor: Falk Brunner (falk)
Datum: 27.04.2008 17:41

@ 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
Autor: Stefan B. (sbs)
Datum: 27.04.2008 17:54

@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
Autor: Daniel B. (inox5)
Datum: 27.04.2008 18:00

Also kommt sozusagen der Stromverbrauch des Fet auf seine Frequenz an
mit der man ihn schalten will, richtig?
Autor: let (Gast)
Datum: 27.04.2008 18:01

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.
Autor: Daniel B. (inox5)
Datum: 27.04.2008 18:12

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
Autor: let (Gast)
Datum: 27.04.2008 18:29

^ 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.
Autor: Benedikt K. (benedikt)
Datum: 27.04.2008 18:52

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.
Autor: let (Gast)
Datum: 27.04.2008 19:27

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.
Autor: Bernd Rüter (bigwumpus)
Datum: 27.04.2008 19:43

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.
Autor: let (Gast)
Datum: 27.04.2008 20:00

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.
Autor: Bernd Rüter (bigwumpus)
Datum: 27.04.2008 21:13

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 ;-)
Autor: let (Gast)
Datum: 27.04.2008 21:29

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?
Autor: Daniel B. (inox5)
Datum: 27.04.2008 22:10

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.

Antwort schreiben

Die Angabe einer Email-Adresse ist freiwillig. Wenn Sie automatisch per Email über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
  • Aussagekräftigen Betreff wählen
  • Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
  • JPEG-Dateien (.jpg) nur für Fotos und Scans verwenden
  • Schaltpläne, Screenshots usw. als PNG oder GIF anhängen

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel






webmaster@mikrocontroller.netImpressumWerbung auf Mikrocontroller.net