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.
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
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?
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.
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
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?
@ 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
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
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
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.