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
>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.
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
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!
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".
>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?
> 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 :(
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.
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
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).
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 ;)
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.. :(
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?
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!
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.
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.
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)?
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
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.
@ 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
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
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).
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.
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.
@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
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!
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.
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.
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?
1
DDRB&=~(1<<PB7);
2
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.
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)
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?
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?