www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmega Pullups gehen kaputt


Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ziemlich komisch, mir gehen die ganzen Pullups meines Mega1280 
nacheinander flöten...

Die Pins liegen direkt an den Clock-Ausgängen von via PWM angesteuerten 
PC-Lüftern. Stundenlang funktioniert alles bestens (Clock signal wird 
über interrupt ausgwertet).

Zuerst haben dann 2 pullups nichtmehr funktioniert, jetzt sind es schon 
4 von 6, die nichtmehr funktionieren. Auch wenn ich die Lüfter wegnehme, 
der Pin bleibt nurnoch auf 0V, keine Softwareänderungen.


Wie kann denn sowas passieren?


Euer Tom

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Benutzt du keine Freilaufdioden an den Lüftermotoren?
http://www.mikrocontroller.net/articles/Relais_mit...

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>ziemlich komisch, mir gehen die ganzen Pullups meines Mega1280
>nacheinander flöten...

Die Pullups sinds wahrscheinlich nicht.

>Auch wenn ich die Lüfter wegnehme,
>der Pin bleibt nurnoch auf 0V, keine Softwareänderungen.
>Wie kann denn sowas passieren?

Da ist dir die interne Schutzdiode gegen GND wegen massiver
negativer Unterschwinger abgeraucht. Ein Widerstand vor dem
Eingang könnte da helfen. Evtl. ist es dann besser externe
Pullups zu nehmen.

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Hilfen,

Geschaltet wird via P-Fet die 12V Spannung vom Lüfter.
im Moment hab ich eine Schottkydiode eingebaut, die so geschaltet ist:

           diode
GND -----   >|   ------  +12v


Die sollte doch das gewünschte tun?


Sollte ich dann nur externe Widerstände als Pullups verwenden oder (mit 
nem neuen controller) einfach z.b. 1k Ohm in die Leitung schalten und 
die internen Pullups verwenden? oder sogar beides?



Grüße,

Tom

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kurzer nachtrag, mit den +12v ist der durch den mosfet geschaltete Pfad 
gemeint. also nach dem mosfet.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tu dir und uns den Gefallen und bring ein Schaltbild statt verbaler 
Beschreibung.

Autor: Tom (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, du hast natürlich Recht, hier ist das Schaltbild!

RLAST sind die Lüfter (sind 4 PC-Lüfter Parallel, insgesamt ca. 1,2A 
max)

C5 ist aktuell mit 10uF keramik bestückt.


Danke euch!

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was noch wichtig ist, PWM Frequenz ist 20Hz. Das funktioniert zum regeln 
bestens. Einzig das Clocksignal kann ich nicht so wirklich gut auswerten 
damit, da die PWM da "mit drinn ist".

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Was noch wichtig ist, PWM Frequenz ist 20Hz. Das funktioniert zum regeln
>bestens. Einzig das Clocksignal kann ich nicht so wirklich gut auswerten
>damit, da die PWM da "mit drinn ist".

Hat dir noch niemand gesagt das man PC Lüfter
mit Tacho Ausgang nicht per PWM regelt?

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Hat dir noch niemand gesagt das man PC Lüfter
> mit Tacho Ausgang nicht per PWM regelt?

Das war mir schon mehr oder weniger bewusst. Mir gings mehr ums regeln, 
als ums messen. Im Prinzip will ich nur wissen, ob ein Lüfter kaputt ist 
und es gibt im Messwert immerhin einen 40%igen Unterschied zwischen 
langsam drehenden Lüftern und vollbetrieb, auch wenn es nach Gefühl eher 
85% Unterschied sein müssten.

Evtl. kann man ja den Messwert durch ne art Approximation noch etwas 
genauer hinkriegen und die PWM statistisch "rausrechnen".
Die Eingänge wollt ich allerdings nicht kaputt machen vom Prozi :(

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man kann auch einfach die PWM Highside auf den Lüfter geben. Dann gibt 
es keine Probleme mit dem Taktsignal. Außer möglicher Einstreuungen 
eventuell. Aber dafür reicht ja ein kleiner Tiefpass.

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Simon, wenn ich dich richtig verstanden habe, dann tu ich bereits das, 
was du ansprichst.

Meine Lüfter haben aber die Eigenheit, dass es nur mit Strom ein 
Taktsignal gibt. Dreh ich den Lüfter ganz langsam mit der Hand, wird das 
Signal nie auf low gezogen.

Wenn ich ihn aber etwas stärker anstupse, dann seh ich wunderbar die 
low/high flanken.


Evtl. eine Art Lichtschranke und der Lüfter beim stärkeren Anstupsen als 
Generator? ;-)


Sorry, hab noch nicht so viel Ahnung von Elektronik

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sie sehen zwar nicht so aus, aber heutige Lüfter sind elektronische 
Komponenten, da die Schleifkohlen früherer Gleichstrommotoren durch 
elektronische Steuerung ersetzt wurden. Wenig erstaunlich ist da, dass 
ohne Strom kein Tachosignal kommt.

Manche solcher Dinger sind PWM-tauglich, andere nicht. Wieder andere 
haben einen PWM-Eingang (4pol Anschluss). Und die PWM-tauglichen mögen 
vielleicht nur bei hohen PWM-Frequenzen (Grössenordnung 10KHz) 
funktionieren, oder bei niedrigen (Grössenordnung 20Hz).

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie du dir mit dieser Schaltung deinen Mega1280 abschiesst ist mir 
unklar. Muss was anderes sein als das, was hier sichtbar ist.

Autor: Maik Fox (sabuty) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was kommt denn für ein Spannungspegel an den Taktausgängen der Lüfter 
raus und wie ist dieser Lüftertaktausgang an den Atmega angeschlossen?

Wenn da ein 12V-Taktsignal kommt, wäre der Fall unter Umständen klar ;)

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

der Clockausgang (sorry, ist da garnet aufgezeichnet) geht direkt auf 
die Ports vom Atmega. Interner Pullup ist aktiviert.

=> wunderbare Rechteckssignale zwischen 0 und +4,8V, steile Flanken, 
eigtl. perfekt.

Ich kann auch keine Übermäßigen Spitzen nach oben oder irgendwas 
erkennen.

Aber die Ports sterben nacheinander, alle paar Stunden wird auf einmal 
einer weniger hochgezogen.. :(

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sind deine vermeintlichen 330-er (R13, Aufdruck 331) möglicherweise 
33-er (Aufdruck 330)?

Autor: Maik Fox (sabuty) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tom wrote:
> Hi,
>
> der Clockausgang (sorry, ist da garnet aufgezeichnet) geht direkt auf
> die Ports vom Atmega. Interner Pullup ist aktiviert.
>
> => wunderbare Rechteckssignale zwischen 0 und +4,8V, steile Flanken,
> eigtl. perfekt.

Ist das die Spannung im angeschlossenen Zustand oder auch dann, wenn der 
Taktausgang nicht am Atmega hängt?

Autor: Tom (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo nochmal.

Hängt der Taktausgang nicht am Atmega sinds konstante 4,8V.

Ich hab nun mal ein Bild von der Sachlage gemacht.

Grün (Channel 4) ist die per PWM gesteuerte 12V Spannung (5v Skala) 
(20hz)

Gelb (Channel 1) ist der Taktausgang des Lüfters


Beim ausschalten der PWM gibt es also Einstreuungen in die Clockleitung 
und dadurch werden (mehrfach) interrupts ausgelöst (sind alles die INT 
ports).



> Sind deine vermeintlichen 330-er (R13, SMD-Aufdruck: 331) möglicherweise
> 33-er (SMD Aufdruck: 330)?

das sind schon 300 Ohm. Kaputt geht auch nicht der PWM ausgang, sondern 
die Clock Eingänge, die direkt mit dem Clocksignal verbunden sind.


Dass der Messwert falsch wird, ok. Aber kann durch die ersichtliche 
Einstreuung der Eingang/Pullup kaputtgehen?


Danke und viele Grüße,

Euer Tom!

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nächste Möglichkeit: Clock-Anschlüsse statt auf Eingang mit Pullup 
versehentlich auf Ausgang high programmiert und Lüfter erwischt die 
genug Schmackes haben, die trotzdem runterziehen zu können.

Autor: David (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Woher kommen die Clock Signale genau?

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tom wrote:

> Hängt der Taktausgang nicht am Atmega sinds konstante 4,8V.

Kapier ich jetzt grad nicht. Einen Takt liefert der Tacho nur wenn der 
Mega da dranhängt? Könnte ich mir ja noch andersrum vorstellen, also 
konstant auf 0 weil Open Collector, aber so?

Skope vorsorglich mal die Ströme. An allen Lüfter-Anschlüssen.

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tom wrote:
> Kaputt geht auch nicht der PWM ausgang, sondern
> die Clock Eingänge, die direkt mit dem Clocksignal verbunden sind.

Sorry den sehe ich in dem Schaltbild nicht.

Wie hast du den Clock-Eingang am AVR gegen Überspannungen und Überstrom 
abgesichert?

Ist die Messung in dem Oszibild von der Situation Clock am AVR 
angeschlossen (noch heile AVR Schutzdioden ggf. aktiv) oder ist das 
gemessen, wenn die Clockleitung frei bambelt (PWM aber angeschlossen 
bzw. Lüfter läuft konstant)?

Autor: David (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>10mA am PWM Ausgang..ist das nicht ein Bisschen viel?

Autor: Peter Hoppe (peterhoppe59)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

das erinnert mich an einen ähnlichen Fall, den ich mal hatte. Ist aber 
sehr spekulativ:
Am Drain deines MOSFETs sehe ich keinen Bypasskondensator gegen Gnd. Der 
FET schaltet sehr schnell aus, und wenn die Leitungen zum nächsten 
Kondensator lang sind, gibt es allein wegen den Leitungen einen 
induktiven Peak.
Also Cerco 100n direkt zwischen Drain und Gnd.

Peter

Autor: oh (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja,

ohne Mega konstant 4.8V und mit Mega & Pullup der Takt. Hier stimmt doch 
etwas hinten und vorne nicht ...

Autor: Peter Hoppe (peterhoppe59)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Eingänge also...
Die Nadel auf dem Clock kommt sicherlich von dem Kondensator parallel 
zum Lüfter. Der wird beim Einschalten des FETs schlagartig geladen. Da 
müsste zumindest noch ein Widerstand in Reihe mit dem Kondensator rein. 
Zu den konstanten 4.8V fällt mir nichts ein.

Autor: Falk Brunner (falk)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@  Peter Hoppe (peterhoppe59)

>Also Cerco 100n direkt zwischen Drain und Gnd.

AUA! Das ist einfach Bockmist^3!

Genau wie die Schaltung des OP.

Einen 10 MIKROFarad Kondensator DIREKT mit ner PWM zu behämmern ist 
einfach behämmert!

Der Op sollte sich mal mit dem Konzept es Schaltreglers vertraut machen 
und sich fragen, warum dort ne Spule drin ist.

Solche Lüftermotoren werden wie bereits gesagt mit PWM selten 
glücklich. Hier braucht man eine klassiche lineare Ansteuerung. Ist auch 
kein Problem. Die PWM mit RC-Filter glätten und auf einen OPV geben, 
LM358 tuts. Dahinter ein BC337 als Emitterfolger und fertig.

Siehe Anhang.

MFG
Falk

Autor: Peter Hoppe (peterhoppe59)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falk Brunner wrote:
> @  Peter Hoppe (peterhoppe59)
>
>>Also Cerco 100n direkt zwischen Drain und Gnd.
>
> AUA! Das ist einfach Bockmist^3!


Entschuldigung, ich meinte das Source, also die Seite mit Vcc.

Peter

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dass die PWM-Steuerung nicht allzu sinnvoll und noch dazu fragwürdig 
realisiert ist - klar. Offen ist jedoch, warum der Controller darunter 
leidet. Wäre irgendwie enttäuschend, die Auflösung nicht mitzukriegen 
(Lüfter verkehrt angeschlossen, oder was auch immer).

Autor: A. K. (prx)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe in vergleichbarer Rolle sowas mal mit einem LM2575-ADJ
realisiert, der eine per PWM steuerbare Gleichspannung produziert. War
mir lieber als etliche Watt linear zu verheizen. Ausserdem war es 
interessanter.

Immerhin schreibt er von 1,2A (müssen ja ziemliche Brummer sein). Nicht 
direkt die Domäne vom BC337.

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, ich nochmal.


Die 4,8V ist die Spannung am Atmega Eingangspin, wenn kein Lüfter drann 
hängt. Also ganz einfach per Pullup hochgezogen. (Solange der noch 
funktioniert)

Das Bild ist von einem Pin mit noch funktionierendem Pullup. Der Lüfter 
macht ja nix anderes als die Clockleitung auf Masse zu ziehen.

Die Leitung zum 10uF keramikkondensator ist 1cm lang und 3cm breit.


Diese Einstreuung kommt ja in dem Moment, wenn der Mosfet ausschaltet 
(Grün --> 0v)


Ich frag mich halt nur weshalb da die Pins den Geist aufgeben, mit der 
Clockleitung hab ich ja eigentlich nix gemacht. die Hängt einfach nur 
ohne alles vom Lüfter aufm AVR und der zieht sie auf 5V.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@A. K. (prx)

>realisiert ist - klar. Offen ist jedoch, warum der Controller darunter
>leidet.

Möglicherweise reisst das Aufladen des Kondensators die Masse vom Lüfter 
mit hoch und die Eingänge vom AVR kriegen einen saftigen Stromstoss.
Könnte man zumindest dadurch verhindern, indem man 1K Längswiderstände 
vor die AVR-Pins schaltet.

MFG
Falk

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

den Kondensator hab ich jetzt mal ausgelötet. Dann werd ich mal sehen ob 
ich noch pins kaputt krieg. Funktionsunterschied gibts keinen, Lüfter 
lassen sich bei 20hz bestens und geräuschlos regeln.


Grüße!

Autor: Winfried (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da werden wohl doch ein paar hochenergetische Spikes von der 
Clockleitung kommen, woher auch immer du dir die einkoppelst (z.B. 
übersprechende Leitungen). Ein kleiner Tiefpass mit z.B. 100 Ohm/47pF am 
Eingang in der Nähe des Prozessors sollte das abfangen.

Dein Design ist allerdings wirklich ungünstig, wie schon beschrieben 
wurde, weil du durch den 10uF Kondensator dafür sorgst, dass enorme 
Pulsströme fließen. Damit erzeugst du also hochenergetische Störungen, 
die du dir dann wieder einkoppelst.

Autor: axelr. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was nützen die ganzen Freilaufdioden, wenn es keinen Weg zum Freilaufen 
gibt. Die hohen, kurzzuschließenden Frequenzen müssen auch irgentwie 
kurzgeschlossen werden. Wenn schon kein Bypasskondensator drinn ist, 
sollte wenigstens eine der Schottkydioden raus, damit wenigstens 
teilweise übers Netzteil und über den/die dort befindlichen Elkos (so 
diese schnell genug sind) die Spikes abfließen können.

Autor: avion23 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde beide shottkys und C5 rauswerfen. C5 schließt nur im 
Einschaltmoment die Spannung kurz.

Das Tachosignal über 1k an den AVR-pin anschließen.

Wie hast du den Pullup aktiviert?
DDRB &= ~(1<<PB7);
PORTB |= (1<<PB7);
so ungefähr? Nicht dass du den pin gewaltsam runter oder hoch ziehst ;) 
Such auch mal im Code, ob du dort etwas vergessen hast.

Mir ist es mal passiert, dass ich die input buffer abgeschaltet habe um 
Strom zu sparen. Für das nächste Projekt habe ich den code übernommen 
und konnte keinen Taster auslesen :/ Der pullup hat aber weiterhin 
funktioniert. Miss doch mal nach, welche Spannung tatsächlich an dem pin 
mit aktiviertem pullup anliegt. Also nicht in software sondern mit 
multimeter.

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bin grade dabei zu verstehen, dass meine Freilaufdiode net so viel 
bringt auf Grund der beiden Schottkydioden bei den Spannungseingängen.

Die hab ich drinn, um die beiden Netzteile zu entkoppeln (Strom für die 
Lüfter wird doppelt zugeführt, wenn ein Netzteil kaputt geht sollten die 
Lüfter noch immer laufen)

Reicht es evtl. noch ne zusätzliche Diode antiparallel zu den 
entkopplungsdioden zu schließen? Mehr als 0,3V Differenz sollten die 
Netzteile ja nie im Leben haben, also sollte auch nie Strom von einem 
ins andere fließen (Was ich ja mit den zwei Dioden verhindern will)

Autor: dewetron (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
am Knotenpunkt beider Dioden einen schnellen Kondensator gegen GND.

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey dewetron,

danke für den Input aber für mich als Elektronikeinsteiger nicht ganz so 
einfach zu verstehen.

Den Transistor sollte ich dann logischerweise invertierend zur PWM 
schalten, richtig? Also in dem Moment, wo die Versorgungsspannung weg 
ist gleichzeitig gegen Masse kurzschließen um die induzierte Spannung 
abzuführen?


Wäre es besser den Transistor erst hinter den Mosfet zu machen damit es 
da nicht immer durch die body diode durchmuss?

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hoppla ich hab Transistor statt Kondensator gelesen, sorry.

Was genau ist denn ein schneller Kondensator? Davon hab ich ehrlich 
gesagt noch nie was gehört. Eher Keramik oder Elko?

Autor: Scherbo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Er meint einen Kondensator mit geringer parasitärer Induktivität.
Vielschicht-Keramikkondensatoren (SMD) beispielsweise.

Antwort schreiben

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

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.