Hallo zusammen,

ich habe hier ein Problem mit einem störenden Elektromotor:
und zwar habe ich einem Aktor, den ich aus einem 24V Scheibenwischermotor gebaut habe, 2 Endschalter angebracht. Der Motor wird von dem Controller über einen MOSFET IRF540 angesteuert. und zieht im Durchschnitt etwa 2-2,5A im Anlauf entsprechend mehr)
Leider kann ich nur eine Leitung von der Steuerung (Mega zu dem Motor verwenden. Dazu habe ich eine 7 Adrige geschirmte Leitung mit 0,25mm² Querschnitt verwendet (Was anderes hatte ich leider nicht). 2mal2 Adern für den Motor, 1 Ader +5V und je eine Ader für die beiden Endschalter. Den Schirm habe ich auf Masse gelegt.
Nun habe ich das Problem, das die Signale der Endschalter nicht erkannt werden. Ich habe versuchsweise mal die Signale der Endschalter im Mikrocontroller direkt auf zwei Ausgänge weitergeleitet und daran Leuchtdioden gehängt.
Jetzt habe ich folgendes Phänomen: Wenn ich den Motor mit PWM ansteuere, dann bekomme ich ein sehr unsauberes Signal auf den Enschalterleitungen. Mit dem Oszi nachgemessen hat das Signal ungefähr meine PWM-Frequenz.
Wenn ich den Motor jedoch ohne PWM ansteuere (also der MOSFET dauernd durchgesteuert ist, habe ich ein sauberes Signal).
Ich habe den Motor schon mit den üblichen drei Kondensatoren und einer Diode entstört und die Pull Down Widerstände an den Endschaltern auf 1KOhm reduziert und an den Endschaltern selbst noch mal Pull Down Widerstände von 1,8KOhm angebracht, also insgesamt ~640 Ohm, was einem Strom von etwa 8mA im offnenen geschlossenen Zustand entspricht. Ausserdem hab ich von den Schalterleitungen noch Kondensatoren mit je 33nF jeweils nach Mase und nach +5V geschaltet.
Aber das Problem tritt immer noch auf und ich bekomme keine saubere Erkennung der Endschalter hin. Wenn ich sie mit einer entsprechend langen Zeitkonstante (aktuell 20mS) entprelle, dann funktioniert zwar die Erkennung der Endschalter, aber die Reaktionszeit auf einen geschalteten Endschalter ist so lang, das mein Aktor schon längst den Bereich des Schalters wieder verlassen hat, wenn die Software endlich mal erkannt hat, das die Position erreicht ist.

Gibt es eine Möglichkeit, trotzdem beides (Motor und Endschalter) über eine Leitung zu führen?


Mein zweites Problem betrifft den MOSFET selbst. Der sollte laut Datenblatt einen Strom von 22A schalten können und einen on-widerstand von 0,077Ohm aufweisen. Allerdings wird er im PWM-Betrieb mit 8 KhZ trotz Kühlkörper ziemlich heiss.
Ich steuere den MOSFET direkt aus dem Controller über einen 300Ohm Widerstand an und habe einen 1KOhm Widerstand als Entladewiderstand für das Gate angeschlossen.

Würde es vielleicht helfen, den Widerstand am PortPin zu vergrössern, so das weniger Strom ins Gate fliesst, oder sollte ich ihn noch verkleinern, um ihn schneller zum Durschschalten zu bringen? Da der Mega8 maximal 40mA treiben kann, könnte ich den Widerstand auf minimal 125Ohm verkleinern.
Bisher hatte ich solche Probleme noch nicht, da ich mit dem IRF540 nur kleinere Ströme bis maximal 500mA geschaltet habe.
(ich weiss, das der dazu maßlos überdimensioniert ist, aber ich hatte noch eine grössere Anzahl davon im Regal liegen )
Ich habe aber auch keine Lust, eine Treiberschaltung mit einem Transistor
aufzubauen, da ich dann noch eine zusätzliche Spannung für den MOSFET brauchen würde. Mein Motor läuft mit 24Volt und mein Controller mit 5Volt. Der IRF540 hat aber eine maximale Vgs von 20+/-Volt.

Florian