Forum: Mikrocontroller und Digitale Elektronik Atmega8 PWM stürzt ab. IRF1404 falsch angeklemmt?


von Thomas Oster (thommy.oster) (Gast)


Lesenswert?

Hallo,
Ich habe ein ferngesteuertes Auto gebaut, welches zum Lenken einen 
Scheibenwischermotor benutzt, welcher über den IRF1404 Mosfet am Atmega 
8 liegt.
Das funktioniert auch alles ganz gut, aber nach ungregelmäßiger Zeit 
scheint der AVR teilweise abzustürzen. DH. die PWM für den IRF (Hardware 
PWM mit Timer1 an OCR1A ist einfach weg und ich kann auch nichts mehr 
empfangen (RFM12 Funkmodul über Software SPI), aber die Interrupts und 
auch die Hauptschleife laufen noch.
Ich habe nämlich einen Counter eingebaut, der wenn über ein paar 
Sekunden kein Funksignal eingeht (was bei diesem Absturz der Fall ist) 
Eine Routine aufruft, die das Funkmodul neu initialisiert und auch die 
Bits im TimerRegister für die PWM nochmal setzt. Diese Routine wird bei 
dem Absturz aufgerufen und der Funk läuft danach wieder. Es ist so als 
ob alles wieder funktioniert, nur die PWM bleibt aus. Nach einem 
Hardware-Reset läuft wieder alles, also ist eine Überhitzung des FETs 
unwahrscheinlich.
Wenn ich den Motor abstecke, dann stürzt er nicht ab.

Ich habe den IRF1404 mit dem Gate direkt am AVR Pin, mit Source auf 
Masse und Drain über die Last an 12V+.
Denke mal nicht, dass das die konventionelle Methode ist, aber bis auf 
die Abstürze funktionierts.
Kann es sein, dass der PWM Pin überlastet ist und abschaltet?
Muss ich einen Vorwiderstand vor das Gate schalten?
Also der Atmega läuft auf internen 8 Mhz und die PWM hat einen Prescaler 
von 64. Aber das dürfte doch nicht zu schnell sein, oder?


Achso: Ich habe auch einen Modellbau Servo an einer PWM hängen (Timer0 
Pin OCR) und interessanterweise geht die auch nicht mehr, sobald es zu 
so einem Absturz kommt. Aber wie gesagt, alles andere läuft noch, auch 
normale IO Pins.Und nach einem Reset ist alles wieder in Ordnung.

von Mätte T. (maette)


Lesenswert?

Thomas Oster (thommy.oster) wrote:
> Eine Routine aufruft, die das Funkmodul neu initialisiert und auch die
> Bits im TimerRegister für die PWM nochmal setzt.

Vielleicht hast du Fehler beim setzen der Bits, wenn du das einfach 
weglässt müssts ja trotzdem funktionieren, da es den Timer ja nicht 
interessiert wenn der Funk ausfällt.
Vielleicht mal probieren ?

Wie siehts mit Freilaufdiode aus?

mfg

von Thomas Oster (thommy.oster) (Gast)


Lesenswert?

Freilaufdiode habe ich eingebaut => keine Änderung.
Das Problem bestand schon bevor ich die Routine mit dem Bits neu setzen 
und Funkmodul neu initialisieren eingebaut hatte.
Mir ist nur aufgefallen, dass der UART weiterhin reagierte (Rx 
Interrupt) und hatte deshalb die Idee mit dem FunkTimer.
Und seit dem kann ich nach dem Absturz wenn das Funkmodul neu 
initialisiert ist wieder empfangen, aber die PWMs bleiben tot.

Das interessante ist halt: Wenn ich den Motor abklemme, stürzt er nicht 
ab. Es muss also irgendwie an der Art des Anklemmens beim IRF1404 
liegen.
Übrigens: Hab schon extra eine Eigene Stromversorgung für den Motor 
eingebaut weil ich dachte, er belastet die andere vielleicht so, dass 
die Spannung absinkt und deshalb der Atmega abstürzt, aber wie gesagt es 
sind jetzt zwei Stromkreise mit Common GND. (Zwei Auto Batterien).

Hat niemand einen IRF1404 in seiner Schaltung und kann mir einen tipp 
geben, wie man ihn korrekt einbaut?
Oder dürfte es kein Problem geben, ihn direkt an den Atmega-Pin zu 
hängen?

von Benedikt K. (benedikt)


Lesenswert?

Thomas Oster (thommy.oster) wrote:

> Hat niemand einen IRF1404 in seiner Schaltung und kann mir einen tipp
> geben, wie man ihn korrekt einbaut?

Ich verbaue den gerne, aber nie direkt an einem AVR Portpin. 160nC 
Gateladung sind schon ziemlich viel. Ein Treiber wäre zwischen AVR und 
Mosfet wäre schon sinnvoll.

von Thomas Oster (thommy.oster) (Gast)


Lesenswert?

Bin leider noch nicht so erfahren in Sachen Elektronik, deshalb weiss 
ich nicht genau, was ein Treiber in Zusammenhang mit einem Mosfet ist.
Welchen Treiber sollte ich einsetzen? Wo bekomme ich den? und wie 
funktioniert er?

Denke mal man benutzt als Treiber einen Transistor oder kleiner 
dimensionierten Fet, ist das richtig?

Danke für die Hilfe

von Thomas Oster (thommy.oster) (Gast)


Lesenswert?

Achso: Noch eine Idee:
Also wie gesagt, das Problem tritt nicht auf, wenn der Motor abgeklemmt 
ist, also wenn Drain des Fets nicht verbunden ist.
Falls es also daran liegt, dass der Fet den AVR-Pin überlastet, müsste 
sich die Gate Kapazität nach Belastung des Fets ändern.
Ist das richtig? Braucht der Fet mehr Gateladung, oder ändert sich die 
Auf/Entladezeit mit der Belastung des Fets?

von Falk B. (falk)


Lesenswert?

@ Thomas Oster (thommy.oster) (Gast)

>ich nicht genau, was ein Treiber in Zusammenhang mit einem Mosfet ist.

Das ist eine Schaltung, welche ein schwaches Logiksignal vom AVR in ein 
starkes Steuersignal für einen MOSFET umwandelt. Praktisch ein 
(digitaler) Verstärker.

>Welchen Treiber sollte ich einsetzen? Wo bekomme ich den? und wie
>funktioniert er?

>Denke mal man benutzt als Treiber einen Transistor oder kleiner
>dimensionierten Fet, ist das richtig?

Im Prinzip ja.

>Falls es also daran liegt, dass der Fet den AVR-Pin überlastet, müsste
>sich die Gate Kapazität nach Belastung des Fets ändern.
>Ist das richtig?

Ja. Und das tut sie auch. Nennt sich Miller Charge.

> Braucht der Fet mehr Gateladung, oder ändert sich die
>Auf/Entladezeit mit der Belastung des Fets?

Ja.

MFG
Falk

von Thomas Oster (thommy.oster) (Gast)


Lesenswert?

Kann vielleicht jemand eine Schaltung die auf dieses FET passt posten, 
also welchen transisor usw man benutzt und wie die angeklemmt werden.

Wahrscheinlich braucht man wohl eher zwei transistoren, einen zum auf 
und einen zum entladen, oder? Ein FET entläd sich ja nicht selbst.
Achso und viele Transistoren sind doch relativ langsam. Also müssten sie 
auch entsprechend gewählt sein, dass sie auf meine PWM passen.
Welche würdet ihr mir empfehlen und wie muss ich sie verdrahten?

Thx

von Falk B. (falk)


Lesenswert?

ICL7667 als Treiber, dahinter der FET.

MFG
Falk

von Thomas Oster (thommy.oster) (Gast)


Lesenswert?

Danke für den Tipp
Morgen kommen direkt mal 3 Stück davon, dann kann ich sagen, ob das auch 
die Fehlerquelle war. Aber gesünder für den Atmega ist es auf jeden 
Fall, denke mal so ein Scheibenwischermotor zieht bei Belastung schon 
einige Ampere.....
Melde mich dann

von frager (Gast)


Lesenswert?

und gehts? habe das gleiche problem

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
Noch kein Account? Hier anmelden.