Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: We-Mod-It | Das Forum von Moddern für Modder. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Scynd

1. Platz Enermax Casecon Contest

  • »Scynd« ist der Autor dieses Themas

Beiträge: 924

Registrierungsdatum: 12. März 2012

Wohnort: München

Beruf: Maschinenbautechniker

Danksagungen: 74

  • Nachricht senden

1

Mittwoch, 27. August 2014, 20:38

Arduino Tutorial 3 - Lüfter per PWM steuern

Arduino Tutorial 3 - Lüfter per PWM steuern



Ich zeige euch heute wie man 3-Pin Lüfter an den Arduino anschließt und den benötigten Code dazu, mit dem wir die Geschwindigkeit der Lüfter per PWM regeln und trotzdem die Drehzahl auslesen zu können.
Ich werde dieses Tutorial in mehrere Teile aufspalten, um verschiedene Szenarien durchzuspielen.

3.0 - PWM ohne pfeifen

3.1 - Lüftergeschwindigkeit per Taster wechseln

3.2 - Temperaturgesteuerter Lüfter

3.3 - Lüftergeschwindigkeit per Drehpoti einstellen



Vorwort


3-Pin Lüfter lassen sich sehr einfach mit einem Arduino und einem N-Kanal Mosfet (Transistor) per PWM steuern. Diese Methode birgt allerdings ein paar Probleme.

Lüfter Pfeifen/Rattern
Wenn man einen Lüfter per PWM mit dem Arduino drosselt, dann kann man oft ein störendes Pfeifen oder Rattern vom Lüfter hören. Das liegt daran,
dass die PWM Ausgänge bei Arduino standardmäßig mit 490Hz oder 980Hz laufen.
Diese Frequenz liegt im für Menschen hörbaren Bereich , daher auch die Geräusche (ganz vereinfacht gesagt ;)). Um diesem Problem Herr zu werden muss man dem Arduino sagen,
er soll die PWM Ausgänge mit höherer Frequenz (über 20kHz) betreiben. Das wiederum bringt weitere Stolpersteine mit sich.
Diese Probleme und dessen Lösungen beschreibe ich unter 3.0 - PWM ohne pfeifen.

Tachosignal
Die Drehzahl eines Lüfters, der mit PWM angesteuert wird, lässt sich nicht einfach auslesen. Das liegt daran, dass die Elektronik, die das Tachosignal erzeugt, vom Lüfter mit Strom versorgt wird.
Wenn wir jetzt ein PWM Signal an den Lüfter anlegen, wird er sehr schnell an und aus geschalten und somit eine gedrosselte Geschwindigkeit erzielt. Dadurch wird aber auch die Elektronik des Tachosignals gestört und der Lüfter gibt kein saubers Signal mehr aus.
Dieses Problem und dessen Lösung beschreibe ich im nächsten Tutorial 4 - Lüfterdrehzal auslesen




Teileliste

Arduino IDE (Tutorial wurde mit 1.5.7 Beta erstellt)
Arduino UNO (Es gibt die Arduinos aber auch deutlich günstiger bei Ebay)
Breadboard
10kOhm Widerstand
Taster
Steckbrücke (oder Kabel je nach Vorliebe)
10kO Drehpoti
10kO NTC-Wiederstand (Temperatursensor)
alternativ Wakü Thermosensor (das sind auch nur 10kO NTC-Wiederstände in einem Metallgehäuse)
N-Chanel Transistor/Mosfet
12V Netzteil (das ist nur ein Beispiel! Bitte wählt ein ausreichend starkes Netzteil je nach Leistung des Lüfters)
alternativ 12V Computer Netzteil
12V PC Lüfter






________________________________________________________________________

3.0 - PWM ohne Pfeifen


Um das Problem mit den pfeifenden/ratternden Lüftern zu lösen, muss man die Voreinstellungen der Timer im Arduino ändern um so die PWM Frequenz zu erhöhen.

Jetzt fragt ihr euch sicherlich, was redet er jetzt von Timern ?(
Als Timer bezeichnet man beim Arduino/ Mikrocontrollern einen auf dem Chip integriertes Funktionsmodul, welcher beim Zählen von Ereignissen, Messen von Zeitabständen und periodischen Ausführen von Programmteilen eine wichtige Hilfe darstellt. Mit einem Timer sind immer mehrere PWM Ausgänge verbunden. Das ganze sieht wie folgt aus.

"Arduino Uno und Andere"



Der Arduino Uno hat 3 Timer und 6 PWM Ausgänge. Sie hängen wie folgt zusammen



Diese Belegung müsste mit den meisten anderen kleinen Arduinos übereinstimmen. Ich kann dafür aber nicht die Hand ins Feuer legen.



"Arduino Mega 2560"



Der Arduino Mega 2560 hat 6 Timer und 15 PWM Ausgänge. Sie hängen wie folgt zusammen





Ergänzend hier noch die Intel Spezifikation für PWM Lüfter.

Jetzt, da wir wissen welcher Timer welche Pins steuert, kommen wir zu dem Stolperstein von dem ich vorher gesprochen habe.
Timer0 steuert nicht nur zwei PWM Pins, sondern auch die Funktionen delay(), millis() und micros().
Wenn man jetzt die Frequenz dieses Timers verändert, ändern sich auch die Funktionen, wie oben in der Tabelle zu sehen ist. Zum beispiel, wenn wir die Frequenz auf 62500 Hz stellen, muss man die Funktion delay(1000) in delay(62500) ändern um 1 Sekunde zu warten.

Wenn ihr es etwas genauer nachlesen wollt, Arduino Playground


Der beste Weg dieses Problem zu umgehen, ist die Pins von Timer0 einfach nicht zu benutzen, da ihr sonst im Code schnell einen Timingfehler machen könnt. Wenn es nicht anders geht, dann achtet bitte sorgfältig darauf, die betroffenen Zeitfunktionen richtig zu programmieren.

Das Umstellen der Frequenz ist ganz einfach. Es bedarf nur einer einzigen Zeile Code die unter void setup() eingefügt werden muss.

TCCRnB = TCCRnB & 0b11111000 | Befehl;

Bei diesem befehl müsst ihr nur das n durch die Nummer des Timers und Befehl durch den Hex Code aus der Tabelle oben ersetzen. Für Timer1 und 31300Hz sähe es dann so aus.

TCCR1B = TCCR1B & 0b11111000 | 0x01;


Code

"AT_3_0.ino"



Zitat


/*
Der Arduino hat 3 Timer und 6 PWM Ausgänge. Der Zusammenhang zwischen Timern und PWM Kanälen ist:
Pins 5 und 6: gesteuert von timer0 (ACHTUNG, dieser Timer beinflusst auch Funktionen wie "delay" und "millis")
Pins 9 und 10: gesteuert von timer1
Pins 11 und 3: gesteuert von timer2

Beim Arduino Mega gibt es 6 Zimer und 15 PWM Ausgänge:
Pins 4 und 13: gesteuert von timer0 (ACHTUNG, dieser Timer beinflusst auch Funktionen wie "delay" und "millis")
Pins 11 und 12: gesteuert von timer1
Pins 9 und 10: gesteuert von timer2
Pin 2, 3 und 5: gesteuert von timer 3
Pin 6, 7 und 8: gesteuert von timer 4
Pin 46, 45 und 44:: gesteuert von timer 5

Nachzulesen:
http://playground.arduino.cc/Main/TimerPWMCheatsheet

*/


void setup() {

TCCR1B = TCCR1B & 0b11111000 | 0x01; // Setzt Timer1 (Pin 9 und 10) auf 31300Hz
}

void loop() {
// put your main code here, to run repeatedly:

}



Wenn ihr diese Zeile in euren Code einbaut, sollte es kein pfeifen oder rattern mehr geben. Ihr könnt jetzt ganz normal mit der analogWrite(0 - 255) Funktion euren Lüfter ansteuern.





________________________________________________________________________

3.1 - Lüftergeschwindigkeit per Taster wechseln

In diesem Teil zeige ich euch, wie ihr die Geschwindigkeit eines Lüfters in mehreren Stufen mit zwei Tastern steuern könnt.

Anschlussplan




Code

"AT_3_1.ino"



Zitat


/*
Arduino Tutorial 3.2 - Lüftergeschwindigkeit per Taster wechseln

by Scynd 2014

In diesem Tutorial geht es darum die Geschindigkeit eines Lüfters
per tastendruck um einen vordefinierten Wert zu erhöhen oder zu senken.

*/


// Konstante Variablen

const int FanPin = 9; // Pin für den Lüfter
const int Taster1Pin = 2; // Pin für Taster 1
const int Taster2Pin = 3; // Pin für Taster 2

// Variablen

int Schrittweite = 20; // Variable für die Schrittweite pro Tasterdruck des PWM Wertes
int FanSpeed = 75; // PWM Startwert des Lüfters (ca.30%)
int Taster1Status = 0; // Variable zum speichern des Tasterstatus
int Taster2Status = 0; // Variable zum speichern des Tasterstatus


void setup() {

TCCR1B = TCCR1B & 0b11111000 | 0x01; // Setzt Timer1 (Pin 9 und 10) auf 31300Hz
Serial.begin(9600); // Setzt die Baudrate für die Ausgabe am Serial Monitor auf 9600
pinMode(FanPin, OUTPUT); // Setzt den Pin des Lüfters als Ausgang
pinMode(Taster1Pin, INPUT); // Setzt den Pin des Tasters 1 als Eingang
pinMode(Taster2Pin, INPUT); // Setzt den Pin des Tasters 2 als Eingang

/* Der Lüfter bekommt 1 Sekunde einen Startimpuls und wir dann gedrosselt.
Das ist eine Sicherheitsmaßnahme, falls der Lüfter mit 30% nicht anläuft
*/
analogWrite(FanPin, 255);
delay(1000);
analogWrite(FanPin, FanSpeed);
}


void loop() {

Taster1Status = digitalRead(Taster1Pin); // TasterPin1 lesen und Status speichern
Taster2Status = digitalRead(Taster2Pin); // TasterPin2 lesen und Status speichern

// Wenn Taster 1 gedrückt ist, um den Wert von "Schrittweite" erhöhen
if(Taster1Status == HIGH) {
FanSpeed = FanSpeed + Schrittweite;
delay(500);
}

// Wenn Taster 2 gedrückt ist, um den Wert von "Schrittweite" senken
if(Taster2Status == HIGH) {
FanSpeed = FanSpeed - Schrittweite;
delay(500);
}

// Der ausgegebene PWM Wert wird auf den Bereich 75-255 begrenzt
if(FanSpeed > 255) {
FanSpeed = 255;
}

if(FanSpeed < 75) {
FanSpeed = 75;
}

analogWrite(FanPin, FanSpeed); // Gibt den PWM Wert am FanPin aus
Serial.println(FanSpeed); // Gibt den FanSpeed Wert im Seriellen Monitor aus
}




In den Variablen habe ich den Startwert des Lüfters mit FanSpeed = 75 festgelegt. Das entspricht ca. 30% des PWM wertes, also ca. 4V. bei dieser Spannung läuft evtl. nicht jeder Lüfter los. Deshalb lasse ich den Lüfter beim Programmstart unter void setup() für 1 Sek mit 100% laufen um das Anlaufmoment des Lüfters zu überwinden. Danach wird er wie geplant mit 75 angesteuert.
Die Hauptschleife beginnt mit dem abfragen der Taster. Ist ein Taster gedrückt, wird die Variable FanSpeed um 20 erhöht oder gesenkt.
Wenn FanSpeed größer als 255 wird, wird sie auf 255 zurückgesetzt. Das gleiche passiert in die andere Richtung bei 75. So wird ein Steuerbereich von 75 - 255, also 30% - 100% eingestellt.
Nun wird der Wert von FanSpeed per analogWrite() Befehl an den Lüfter ausgegeben und zur Kontrolle am Seriellen Monitor.






________________________________________________________________________

3.2 - Temperaturgesteuerter Lüfter mit 10kO NTC



In diesem Szenario geht es darum, die Lüftergeschwindigkeit über die Temperatur zu steuern. Bei steigender Temperatur, soll auch die Lüftergeschwindigkeit steigen, bei sinkender Temperatur fallen. Ausserdem legen wir bei niedriger Temperatur einen Bereich fest, in dem die Lüfter nicht laufen.
Die Temperatur wird mit einem 10kO NTC Widerstand gemessen. Diese NTC Widerstände werden gewöhnlich auch im Wasserkühlungsbereich verwendet, dort sind sie allerdings in Gehäusen verbaut, was aber nichts an ihrer Funktionsweise ändert.



Anschlussplan




Code

"AT_3_2.ino"


Zitat


/*
Arduino Tutorial 3.2 - Temperaturgesteuerter Lüfter mit 10kO NTC

by Scynd 2014

In diesem Szenario geht es darum, die Lüftergeschwindigkeit über die Temperatur zu steuern.
Bei steigender Temperatur, soll auch die Lüftergeschwindigkeit steigen, bei sinkender Temperatur fallen.

*/


// Konstanten

const int FanPin = 9; // Pin für den Lüfter
const int NTC = A0; // Pin für den 10kO NTC Wiederstand
const int NTCNominal = 10000; // Wiederstand des NTC bei Nominaltemperatur
const int TempNominal = 25; // Temperatur bei der der NTC den angegebenen Wiederstand hat
const int BCoefficient = 3977; // Beta Coefficient(B25 aus Datenblatt des NTC)
const int SerienWiederstand = 10000; // Wert des Wiederstands der mit dem NTC in Serie geschalten ist

// Variablen

int FanSpeed = 0; // Variable für die Lüftergeschwindigkeit
int FanMin = 60; // Kleinster PWM Wert für den Lüfter befor er abschält
int FanOut = 1; // Variable zum pürfen ob der Lüfter aus war
int TMin = 20; // Untere Grenze des Temperaturbereichs
int TMax = 60; // Obere Grenze des Temperaturbereichs
int AbfrageZahl = 5; // Je mehr abfragen, desto stabiler isr das Ergebnis, dauert aber länger
int Abfrage[5]; // Array Variable für das Mitteln der Temperatur http://arduino.cc/de/pmwiki.php?n=Reference/Array
float Durchschnitt = 0; // Variable für das Mitteln der Temperatur
float Temp; // Variable für die Berechnung der temperatur nach Steinhart

void setup() {

TCCR1B = TCCR1B & 0b11111000 | 0x01; // Setzt Timer1 (Pin 9 und 10) auf 31300Hz
Serial.begin(9600); // Setzt die Baudrate für die Ausgabe am Serial Monitor auf 9600
pinMode(FanPin, OUTPUT); // Setzt den Pin des Lüfters als Ausgang
pinMode(NTC, INPUT); // Setzt den Pin des NTC Wiederstands als Eingang
}


void loop() {

Temperaturberechnung(); // Startet die Temperaturerfassungsroutine

// Lüftergeschwindigkeit über den Temperaturbereich einstellen
// TMin->0% PWM | TMax->100% PWM
FanSpeed = map(Temp, TMin, TMax, 0, 255);

// Wenn der PWM Wert unter den van FanMin fällt, schält der Lüfter ab
if (FanSpeed < FanMin) {
FanSpeed = 0;
FanOut = 1;
}

// Hysterese
if (FanOut == 1) {
FanSpeed = 0;
}

if(Temp >= 32) {
if(FanOut == 1) {
FanOut = 0;
analogWrite(FanPin, 255);
}
}

// PWM Wert auf 255 begerenzen
if (FanSpeed > 255) {
FanSpeed = 255;
}

// Lüftergeschwindigkeit über den Seriellen Monitor ausgeben
Serial.print("Lueftergeschwindigkeit: ");
Serial.println(FanSpeed);

analogWrite(FanPin, FanSpeed); // Den Lüfter mit dem PWM Wert ansteuern
delay(500);
}



void Temperaturberechnung() {

// Nimmt N Abfragen in einer Reihe, mit einem kurzen delay
for (int i=0; i < AbfrageZahl; i++) {
Abfrage = analogRead(NTC);
delay(10);
}

// Mittelt alle Abfragen
Durchschnitt = 0;
for (int i=0; i < AbfrageZahl; i++) {
Durchschnitt += Abfrage;
}
Durchschnitt /= AbfrageZahl;

// Umwandlung des Wertes in Wiederstand
Durchschnitt = 1023 / Durchschnitt - 1;
Durchschnitt = SerienWiederstand / Durchschnitt;

// Umrechnung aller Ergebnisse in die Temperatur mittels einer Steinhard Berechnung
Temp = Durchschnitt / NTCNominal; // (R/Ro)
Temp = log(Temp); // ln(R/Ro)
Temp /= BCoefficient; // 1/B * ln(R/Ro)
Temp += 1.0 / (TempNominal + 273.15); // + (1/To)
Temp = 1.0 / Temp; // Invertieren
Temp -= 273.15; // Umwandeln in °C

// Ausgabe an den Seriellen Monitor
Serial.print("Temperatur ");
Serial.print(Temp);
Serial.println(" *C");

delay(500);
}





Fangen wir mit den Konstanten an. Hier haben wir diesmal ein paar für die Berechnung wichtigen Werte, die ich jetzt erläutere.
  • NTCNominal = 10000 - Damit ist der Wiederstand des NTC bei Nominaltemperatur gemeint. Dieser Wert wird immer im Namen schon angegeben. Ein 10kO NTC hat einen Wiederstand von 10000 Ohm.
  • TempNominal = 25 - Das ist die Nominaltemperatur. Diese ist im Normalfall 25°.
  • BCoefficient = 3977 - Der Beta Coefficient ist eine Materialkonstante und ist im Datenblatt des NTC zu finden und wird mit B25 bezeichnet.
  • SerienWiederstand = 10000 - Das ist der Wert in Ohm, des Wiederstand, der zusammen mit dem NTC Wiederstand verbaut wird. In unserem Fall auch ein 10kO Wiederstand.
Bei den Variablen gibt es ein paar Einstellmöglichkeiten, die je nach Geschmack oder Anwendungsfall zu wählen sind. Ich habe diese Werte nur exemplarisch gewählt.

  • FanMin = 60 - Das ist der kleinste PWm Wert den der Lüfter macht. Fällt der PWM Wert durch die Temperatursteuerung darunter, schält der Lüfter ab. Wählt diesen Wert so, dass euer Lüfter damit noch läuft.
  • TMin = 20 - Untere Tegeltemperaturgrenze
  • TMax = 60 - Obere Regeltemperaturgrenze
Über den Temperaturbereich zwischen TMin und TMax wird im Code der PWM Wert linear verteilt. Sprich 20° (TMin) = 0 PWM und 60° (TMax) = 255 PWM. Ich habe hier mit FinMin festgelegt das der Lüfter erst bei einem PWM Wert von 60 startet. Das entspricht ca. 30°. Alles was darunter liegt resultiert in einem stehenden Lüfter.

  • AbfrageZahl = 5
  • Abfrage[5]
AbfrageZahl und Abfrage hängen zusammen und bestimmen mit wievielen Messwerten des NTC gemittelt wird. Je höher der Wert, desto weniger sprunghaft ist der Temperaturwert, allerdings dauert die Erfassung auch länger.


Dier Code startet mit der Temberaturberechnung()
Hier wird als erstes der NTC so oft ausgelesen und dessen Werte gespeichert wie mit AbfrageZahl und Abfrage festelegt ist.
Als nächstes werden die Werte zusammengezählt und durch AbfrageZahl geteilt um den Durchschnitt zu bilden.
Jetzt wird der Durchschnitt in einen Wiederstandswert umgerechnet. Ist das erledigt, wird die Temperatur mittels der Steinhart Formel berechnet.
Die Berechnete temperatur wird nun in °C im Seriellen Monitor ausgegeben.

Weier im loop geht es mit dem festlegen des PWM Wertes von FanSpeed. Dieser wird mittels des map Befehls linear auf den temperaturbereich verteilt.
Wenn der PWM Wert unter den Wert von FanMin (60) fällt, was in diesem fall ca. 30°C sind, schaltet der Lüfter ab und setzt die Variable FanOut auf 1. Das mache ich, um zu registrieren, dass der Lüfter ausgegangen ist. Würde man den Lüfter bei 30°C einfach wieder anspringen lassen, könnte es passieren, dass der Lüfter ständig an und aus geht, wenn die Temperatur um 30°C pendelt. Da soetwas störend ist, Farge ich FanOut ab. Wenn FanOut = 1 ist weiß der arduino, dass der Lüfter aus ist und ich sage ihm er soll aus bleiben, solange FanOut auf 1 steht.
Wenn die Temperatur jetzt auf 32 °C steigt, setze ich FanOut wieder auf 0 zurück. Jetzt kann der Lüfter wieder anlaufen. Auf diesem Weg haben wir eine Einschaltdifferenz von ca. 2°C eingebaut. Der Lüfter schaltet bei 30°C ab und erst bei 32°C wieder an.
Ausserdem lasse ich den Lüfter kurz mit 100% PWM Wert anlaufen um das Anlaufmomend des Lüfters zu überwinden.
Zu guterletzt wird noch FanSpeed am Seriellen Monitor, und dann per analogWrite an den Lüfter ausgegeben.






Hier ist eine neuere Version des Codes , da in der alten ein Fehler war.



________________________________________________________________________

3.3 - Lüftergeschwindigkeit per Drehpoti einstellen


Hier zeige ich euch, wie man den Lüfter mit einem 10kO Drehpoti steuern kann. Das funktioniert genauso wie die günstigen Lüftersteuerungen, allerdings realisieren wir es über den Microkontroller und nicht über einen IC.



Anschlussplan




CODE

"AT_3_3.ino"


Zitat


/*
Arduino Tutorial 3.3 - Lüftergeschwindigkeit per Drehpoti einstellen

by Scynd 2014


In diesem Tutorial geht es darum, die Lüftergeschwindigkeit mit Hilfe eines Drehpotenzometers einzustellen.

*/

//Konstante Variablen

const int FanPin = 9; // Lüfter an Pin 9 angeschlossen
const int PotiPin = A0 ; // Potenzometer am analogen Eingang Pin 0 angeschlossen

// Variablen

int FanSpeed = 0; // Variable für die Lüftergeschwindigkeit
int PotiVar = 0 ; // Variable zum speichern des Potentiometereingangs



void setup() {

TCCR1B = TCCR1B & 0b11111000 | 0x01; // Setzt Timer1 (Pin 9 und 10) auf 31000Hz
Serial.begin(9600);
pinMode(FanPin, OUTPUT) ; //Setzt den Lüfter Pin als Ausgang
pinMode(PotiPin, INPUT) ; //Setzt den LEDPin als Ausgang
}



void loop() {

PotiVar = analogRead(PotiPin) ; // Liest das Potentiometer aus
FanSpeed = map(PotiVar, 51, 1023, 60, 255); // Verteilt den PWM Wert über den Messbereich des Potis

// Unterer Potenziometerbereichs (0-50) = Lüfter aus
if(PotiVar < 50) {
FanSpeed = 0;
}

Serial.println(FanSpeed); // Gibt die Variable im Seriellen Monitor aus
analogWrite(FanPin, FanSpeed); // Gibt die Variable mit PWM aus
}





Am Anfang des Loops, lesen wir das Potentiometer am PotiPin aus und speicher den Wert, der sich zwischen 0 - 1023 bewegt in der Variable PotiVar ab.
Jetzt verteilen wir per map Befehl über den Bereich des Potentiometer von 51 - 1023 den PWM Wert von 60 - 255 und speichern den PWM Wert dann in der Variable FanSpeed.
Um den Lüfter auch abschalten zu können, lege ich im Bereich des Potis von 0 - 50 einen PWM Wert von 0 fest.
Zum Schluss lassen wir uns den PWM Wert zu Kontrolle noch am Seriellen Monitor ausgeben und geben den Wert dann per analogWrite an den Lüfter aus.






Hier noch der Download der Arduino Sketche. Viel Spaß beim Nachbauen :thumbsup:
Arduino Tutorial 3 - Lüfter steuern.zip

Dieser Beitrag wurde bereits 75 mal editiert, zuletzt von »Scynd« (12. November 2015, 21:01)


Es haben sich bereits 3 registrierte Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

djtrickstar (05.03.2015), Koxxer (09.04.2015), rootable (27.04.2015)

der_george

"Mein Name ist George - Der George"

Beiträge: 4 832

Registrierungsdatum: 17. März 2010

Wohnort: Da wo der Berch wohnt

Beruf: Inginöööör und Freundinbeschäftiger

Danksagungen: 356

  • Nachricht senden

2

Mittwoch, 27. August 2014, 20:44

Geniales HowTo!

Vielen Dank für die Mühe das Ganze zusammenzuschreiben! :)

So long :0)
Meine Mods bei we-mod-it:
24h Stealth - 1.Platz 24h Livemodding DCMM 2010 | | taabar sin - 2. Platz Casemod DCMM 2012 | | 24h Semmetastic - 2. Platz 24h Livemodding DCMM 2013

Mein Modding-Verkaufsthread

Paladin

Wenn I Murksen muss... Aaarrgh..

Beiträge: 12 086

Registrierungsdatum: 18. Juli 2009

Name: Patrick Betz

Wohnort: Simbach bei Landau a. d. Isar

Beruf: Kraftfahrer (Gelernter Schreiner)

Danksagungen: 363

  • Nachricht senden

3

Mittwoch, 27. August 2014, 20:47

Schönes HowTo, auch wenn ich nur Bahnhof verstehe :)
COMPLEX-MODS.deMODDING | CONS | CE-MODS
HausModding by Patrick und Sonja

Ein Bayer kann alles, außer Hochdeutsch...... :D


Ironknocker

Heisskleber und Spaxschrauben!

Beiträge: 2 872

Registrierungsdatum: 31. August 2010

Wohnort: Koblenz

Beruf: Meister im Metallbauhandwerk

Danksagungen: 117

  • Nachricht senden

4

Donnerstag, 28. August 2014, 08:49

sehr geil da könnte man drüber nachdenken das beim nächten mal zu verbauen

Scynd

1. Platz Enermax Casecon Contest

  • »Scynd« ist der Autor dieses Themas

Beiträge: 924

Registrierungsdatum: 12. März 2012

Wohnort: München

Beruf: Maschinenbautechniker

Danksagungen: 74

  • Nachricht senden

5

Donnerstag, 28. August 2014, 11:11

Danke ihr Drei ^^
Na dann fangt mal an zu programmieren und zu löten :stick:
:thumbsup:


NKellerer

Neu Hier!

Beiträge: 2

Registrierungsdatum: 6. November 2014

  • Nachricht senden

6

Donnerstag, 6. November 2014, 17:41

Servus zusammen,

das Projekt sieht ja schonmal super aus.

Ich hätte da allerdings mal eine Frage zu dem Projekt.

Ist es möglich, die Frequenz am Ausgang auf eine andere Frequenz einzustellen als die fünf Vorgaben im Bild "Arduino Uno und andere"?
Genauer gesagt bräuchte ich genau 200 Hz +/- 5 Hz.
Ist dies mit dem Arduino möglich??

Gruß
Norman

der_george

"Mein Name ist George - Der George"

Beiträge: 4 832

Registrierungsdatum: 17. März 2010

Wohnort: Da wo der Berch wohnt

Beruf: Inginöööör und Freundinbeschäftiger

Danksagungen: 356

  • Nachricht senden

7

Donnerstag, 6. November 2014, 18:45

Willkommen bei WMI!

Zu deiner Frage: Nein, leider nicht ohne weiteres.

Was du aber machen kannst ist den Timer 2 asynchron zu betreiben. Also mit einer externen Quartze.

So long :0)
Meine Mods bei we-mod-it:
24h Stealth - 1.Platz 24h Livemodding DCMM 2010 | | taabar sin - 2. Platz Casemod DCMM 2012 | | 24h Semmetastic - 2. Platz 24h Livemodding DCMM 2013

Mein Modding-Verkaufsthread

NKellerer

Neu Hier!

Beiträge: 2

Registrierungsdatum: 6. November 2014

  • Nachricht senden

8

Montag, 10. November 2014, 07:52

Danke für die schnelle Antwort.

Also werde ich wohl die komplizierte externe Beschaltung nutzen müssen :D :D

Gruß

Mitja

Neu Hier!

Beiträge: 3

Registrierungsdatum: 7. Januar 2015

  • Nachricht senden

9

Mittwoch, 7. Januar 2015, 23:59

Hallo,

eine Super Beschreibung, die Teile liegen bereits im Keller. Bravo für die Beschreibung!


Grüße und bereits ein Fan
Mitja

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Mitja« (8. Januar 2015, 00:13)


Scynd

1. Platz Enermax Casecon Contest

  • »Scynd« ist der Autor dieses Themas

Beiträge: 924

Registrierungsdatum: 12. März 2012

Wohnort: München

Beruf: Maschinenbautechniker

Danksagungen: 74

  • Nachricht senden

Mitja

Neu Hier!

Beiträge: 3

Registrierungsdatum: 7. Januar 2015

  • Nachricht senden

11

Donnerstag, 8. Januar 2015, 10:55

Habe paar Fragen:

1: Könnte man mit einem Arduino, mehrere Lüfter ansteuern?
z. Bsp: den ersten Lüfter für Potibereich bis 537 und den zweiten drüber.
Mir ist klar, das ein Leistungssprung ab diesem Wert geschieht.

2: Kann man auch mit so einen Lösung diese Pumpe ansteuern? Die hat ja 0-5V
http://topsflo.german.globalmarket.com/p…mp-3655555.html

der_george

"Mein Name ist George - Der George"

Beiträge: 4 832

Registrierungsdatum: 17. März 2010

Wohnort: Da wo der Berch wohnt

Beruf: Inginöööör und Freundinbeschäftiger

Danksagungen: 356

  • Nachricht senden

12

Donnerstag, 8. Januar 2015, 11:19

Hallo und herzlich willkommen bei WMI!

Zu beiden Fragen: Ja!

So long :0)
Meine Mods bei we-mod-it:
24h Stealth - 1.Platz 24h Livemodding DCMM 2010 | | taabar sin - 2. Platz Casemod DCMM 2012 | | 24h Semmetastic - 2. Platz 24h Livemodding DCMM 2013

Mein Modding-Verkaufsthread

Mitja

Neu Hier!

Beiträge: 3

Registrierungsdatum: 7. Januar 2015

  • Nachricht senden

13

Donnerstag, 8. Januar 2015, 11:38

Danke!Am Wochenende wird die Schaltung zusammengebaut!

mmueller

Neu Hier!

Beiträge: 3

Registrierungsdatum: 15. Januar 2015

  • Nachricht senden

14

Donnerstag, 15. Januar 2015, 22:48

Hallo Scynd und der Rest,

ich hab gerade deinen Beitrag beim googln gefunden und er liest sich echt super.

Ich hab eine spezielle Frage dazu und hoffe du bzw. ihr könnt mir weiterhelfen. (Was ihr wissen solltet, ich bin noch relativ jungfräulich in der Elektronik)

So nun zu meine Frage, ich helfe gerade meinem Bruder bei seiner Bachelorarbeit und brauche nun eure Hilfe.
Wir bauen einen Fog Screen (http://youtu.be/hlIl72yLfPQ?t=1m40s) und dafür müssen wir 20 Lüfter (12V) je Seite 10 Stück regeln können.

Der Beitrag sieht nun so aus als wäre das genau richtig dafür, meine Frage daher: kann ich das einfach so übernehmen und über diesen Mosfet die 10 Lüfter einer Seite laufen lassen?

1 Lüfter = 0,24A / 12V
10 Lüfter = 2,4A / 12V

Vielen vielen Dank schon mal im voraus für eine Unterstützung!

Viele Grüße
Maximilian

der_george

"Mein Name ist George - Der George"

Beiträge: 4 832

Registrierungsdatum: 17. März 2010

Wohnort: Da wo der Berch wohnt

Beruf: Inginöööör und Freundinbeschäftiger

Danksagungen: 356

  • Nachricht senden

15

Donnerstag, 15. Januar 2015, 23:56

Herzlich willkommen bei WMI!

Ja das geht.

Sollte ohne Probleme gehen, da die Lüfter relativ genügsam sind, die du da erwähnst. Sicherheitshalber würde ich ihn an einen kleinen Kühlkörper oder Alu/Kupferblech schrauben. Dafür wird dir der Mosfet im PWM-Betrieb dankbar sein. Sollte aber trotzdem nicht wärmer als Handwarm werden, als eher als reine Vorsichsmaßnahme zu verstehen. :)

So long :0)
Meine Mods bei we-mod-it:
24h Stealth - 1.Platz 24h Livemodding DCMM 2010 | | taabar sin - 2. Platz Casemod DCMM 2012 | | 24h Semmetastic - 2. Platz 24h Livemodding DCMM 2013

Mein Modding-Verkaufsthread

Scynd

1. Platz Enermax Casecon Contest

  • »Scynd« ist der Autor dieses Themas

Beiträge: 924

Registrierungsdatum: 12. März 2012

Wohnort: München

Beruf: Maschinenbautechniker

Danksagungen: 74

  • Nachricht senden

16

Freitag, 16. Januar 2015, 08:33

Hallo mmueller und herzlich willkommen bei WMI ^^

Wie George schon gesagt hat, sollte das überhaupt kein Problem mit dem MOSFET sein den ich oben gelistet habe, der kann ja bis 27A ab.
Cooles Projekt habt ihr da! Ich wünsche euch viel Erfolg und falls noch Fragen offen sind, einfach raus damit ;)


Gruß Scynd


mmueller

Neu Hier!

Beiträge: 3

Registrierungsdatum: 15. Januar 2015

  • Nachricht senden

17

Samstag, 17. Januar 2015, 22:39

Hi ihr zwei,

Danke erstmal für eure Antworten, ich war heute gleich einkaufen und hab mir die noch fehlenden Teile besorgt.

Jetzt wollte ich gerade die Schaltung aufbauen, das auslesen des Potis funktioniert einwandfrei.
Aber der es passiert nichts am Lüfter, der läuft einfach immer gleichbleibend... aber woran kann das liegen?

Ich hab nochmal alles kontrolliert aber ich finde keine Fehler, habe extra ein paar MOSFETs genommen und mit zweien getestet aber bei beiden das gleiche.

Viele Dank schon mal für eure weitere Hilfe!

*EDIT*

Es geht, juhu!

Es lag daran das GND Netzteil und GND Arduino nicht mit einander verbunden waren... ich kann mir das jedoch nicht erklären konnte das wirklich der Grund sein?

PS. ok, ja es konnte. Hab mir den Schaltplan nochmal genau angeschaut... Vielen Dank!

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »mmueller« (17. Januar 2015, 23:21)


Scynd

1. Platz Enermax Casecon Contest

  • »Scynd« ist der Autor dieses Themas

Beiträge: 924

Registrierungsdatum: 12. März 2012

Wohnort: München

Beruf: Maschinenbautechniker

Danksagungen: 74

  • Nachricht senden

18

Sonntag, 18. Januar 2015, 09:39

Hi,
Ja das lag daran. Die musst du verbinden. Das sollte aber später kein Problem sein, da ich jetzt mal davon ausgehe, dass ihr den Arduino mit dem selben Netzteil mut Strom versorgt, wie die Lüfter. Dann ist das Brücken der Masse eh nicht nötig.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Scynd« (19. Januar 2015, 07:38)


der_george

"Mein Name ist George - Der George"

Beiträge: 4 832

Registrierungsdatum: 17. März 2010

Wohnort: Da wo der Berch wohnt

Beruf: Inginöööör und Freundinbeschäftiger

Danksagungen: 356

  • Nachricht senden

19

Sonntag, 18. Januar 2015, 15:00

Sehr gut - freut mich, dass es alles geklappt hat.

Wir freuen uns schon auf ein Worklog zur Fog Screen - hier ist der Link zum Worklogbereich: http://we-mod-it.com/board1-modding/boar…ng-z-b-ce-mods/

:P

So long :0)
Meine Mods bei we-mod-it:
24h Stealth - 1.Platz 24h Livemodding DCMM 2010 | | taabar sin - 2. Platz Casemod DCMM 2012 | | 24h Semmetastic - 2. Platz 24h Livemodding DCMM 2013

Mein Modding-Verkaufsthread

mmueller

Neu Hier!

Beiträge: 3

Registrierungsdatum: 15. Januar 2015

  • Nachricht senden

20

Montag, 26. Januar 2015, 16:38

Huhu ich bins wieder,

also das hat schon mal alles sehr sehr gut funktioniert!

Jetzt bin ich noch am schauen wie ich das ganze "schön" verlöten kann und welche Platine dafür sinn macht.
Könnt ihr mir da Tipps geben?

Das mit dem Worklog hört sich gut an :) wenn alles funktioniert und mitte März vorbei ist dann schau ich das ich den hier einstell.

Danke euch schon mal für die weitere Hilfe!

Viele Grüße
Maximilian