Hallo liebe Raspberry-Community,
vorab, ich bin was Elektrotechnik angeht noch ein absoluter Anfänger und taste mich eher noch langsam ran.
Daher entschuldigt mich, wenn ich noch nicht alles verstehe.
Ich möchte, um es kurz zu fassen, einen 12 Volt PC-Lüfter steuern und kontrollieren können.
Dazu habe ich mir einen Lüfter von Artic geholt. (Model: F12 PWM)
Da ich die volle Leistung brauche, versorge ich den Lüfter über einen externen 12 Volt Netzteil, was auch ziemlich gut funktioniert.
Die PWM-Steuerung mache ich über den Raspberry-PI, nämlich über den GPIO 18 (PIN 12).
Auch das funktioniert soweit ganz gut.
Jedoch habe ich große Probleme mit dem Tacho-Signal des Lüfters.
Wenn ich alles so anschließe (habe ich aus einem anderem Forum), wie im unteren Bild, dann kriege ich sehr komische Werte.
Hier der Code, wie ich das alles abrufe:
#include <wiringPi.h>
#include <unistd.h>
// Anzahl der Tacho-Signale
int tacho_counter = 0;
// Funktion Tacho-Signale zaehlen
void raise_tacho_counter( )
{
tacho_counter++;
}
int main( )
{
// Initialisierung
wiringPiSetup( );
// Von GPIO Port 23 die Tacho-Signale auslesen
wiringPiISR( 4, INT_EDGE_RISING, raise_tacho_counter );
for(;;)
{
sleep(1);
printf("%d\n",zaehler/2 * 60); //durch 2 da pro Umdrehung 2 Impulse gegeben werden
tacho_counter = 0;
}
}
Display More
Ich kriege bei einer PWM von 100 % einen Wert von 2200 RPM, obwohl im Datenblatt des Lüfters, nur ein RPM von maximal 1400 möglich ist.
Sobald ich dann die PWM verändere, steigt auch die RPM zahl, was ich nicht so ganz verstehen kann. Ich kriege dann Werte wie 3700 oder 3200.
Auch bei einem PWM von 1 kriege ich zum Beispiel den Wert 1000 obwohl es bei ca. 500 liegen müsste.
Kann mir das eventuell einer Erklären ?
Vielen Dank schonmal.