Lüfter mit mehreren MOS-Modulen ansteuern?

Guten Tag,

Ich mache mir seit Tagen Gedanken warum nur manche MOS-Module einen Signal bekommen und manche nur ein ein sehr schwaches.

MOS-Modul: AZDelivery 3 x IRF520 MOSFET Driver Schalter MOS Treibermodul 5V für MCU ARM kompatibel mit Arduino und Raspberry Pi inklusive eBook! https://www.amazon.de/dp/B07YDFLPH3/ref=cm_sw_r_cp_api_glt_i_EHRWWHD83X7E7ZT0NV4X?_encoding=UTF8&psc=1

Ich will realisieren, das ein Gehäuse System mit 2x Lüfter oben (12V, Luft-Einzug), 2x Lüfter unten (12V, Luft-Auszug) und eine Heizplatte mit 4x Lüfter (5V) die Temperatur regelt und ein Lüfter eine LED belüftet, wenn diese an ist.
Die MOS-Module sind richtig angeschlossen. (Jeweils 1 MOS für Lüfter oben, unten und LED, V-/V+ = Lüfter, VIN/GND = 12V (1xMOS = 5V für Heizplatte), SIG (Oben = 10, Unten = 9, Heizplatte = 6, LED = 11) und VCC/GND 5V.

Lüfter: ARCTIC F9 PWM PST (5 Stück) - 92 mm PWM PST Gehäuselüfter, Case Fan mit PST-Anschluss (PWM Sharing Technology), Reguliert RPM synchron, 150-1800 U/min. - Schwarz https://www.amazon.de/dp/B097C717Y4/ref=cm_sw_r_cp_api_glt_i_MXKF898NZ3J7GG6A5F9D

Ich benutze eine externe Quelle für 12V und 5V die, die Spannung sauber rausgeben und wenn ich das Signal vom 5V an SIG anlege funktionieren die Lüfter und das MOS-Modul einwandfrei.

Mein Problem ist jetzt, ich habe die Frequenz so weit richtig eingestellt, glaube ich…
Auf jeden Fall funktionieren jeweils die unteren Lüfter und die an der LED.
Die Lüfter oben und an der Heizplatte funktionieren nicht egal was ich mache. Hab schon alles versucht, Wackelkontakt hat es auch keinen. Es muss an meinem Code Liegen.
Weil ich mir das anders nicht erklären kann, mir konnte noch keiner die Frequenz und wie man diese bestimmt erklären. Ich habe die Befürchtung es liegt daran.

#include "Arduino.h"

//DISPLAY
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);


//LÜFTER-SYSTEM
#define lufterOben 10
#define lufterUnten 9

#include "DHT.h" //TEMPERATURSENSOR
#define DHTPIN 2 //TEMPERATURSENSOR-PIN
#define DHTTYPE DHT11 //TEMPERATURSENSOR-TYPE
DHT dht(DHTPIN, DHTTYPE); //INIT TEMPERATURSENSOR



//HEIZ-SYSTEM
#define heizLufter 6 //HEIZUNGS-LÜFTER
const byte heizplatte = 7; //HEIZUNG



//LED
#define LED 5  //LED

#define LEDlufter 11 //LED-LÜFTER

int helligkeitSensor = A1; //HELLIGKEIT-SENSOR
int helligkeitWert = 0; //UMRECHNUNG IN PROZENT


void setup() {

  //START
  Serial.begin(9600); //ARDUINO
  lcd.init(); //LCD INITIALISIERUNG
  lcd.backlight(); //LCD LICHT



  //PINMODE

  //LÜFTER-SYSTEM
  TCCR1B = TCCR1B & 0b11111000 | 0x01; //LÜFTER HZ 
  TCCR2B = TCCR2B & 0b11111000 | 0x01;

  
  dht.begin(); //TEMPERATURSENSOR
  pinMode(lufterOben, OUTPUT); //LÜFTER OBEN
  pinMode(lufterUnten, OUTPUT); //LÜFTER UNTEN
  pinMode(DHTPIN, INPUT);


  //HEIZ-SYSTEM
  pinMode(heizLufter, OUTPUT); //HEIZUNGS-LÜFTER
  pinMode(heizplatte, OUTPUT); //HEIZUNG


  //LED
  pinMode(LED, OUTPUT); //LED
  pinMode(LEDlufter, OUTPUT); //LED-LÜFTER


 
}



void loop() {


  delay(250);

  //TEMP-SENSOR
  float h = dht.readHumidity();
  float t = dht.readTemperature();
  float f = dht.readTemperature(true);

  //CHECK FEHLER
  //  if (isnan(h) || isnan(t)) {
  //    Serial.println("DHT sensor FEHLER!");

  //    lcd.clear();
  //    lcd.setCursor(0, 0);
  //    lcd.print("DHT11 TEMPERATUR");
  //    lcd.setCursor(0, 1);
  //    lcd.print("FEHLER!");
  //    return;
  //  }

  //heat index
 //float hi = dht.computeHeatIndex(f, h);

  //TEMP-KONSOLE
  Serial.println("-- -- -- -- -- -- -- -- --");
  Serial.print("-- Feucht.: ");
  Serial.print(h);
  Serial.print(" % / ");
  Serial.print("Temp.: ");
  Serial.print(t);
  Serial.println(" *C --");
  //  Serial.print(f);
  //  Serial.print(" *F\t");
  //  Serial.print("Heat index: ");
  //  Serial.print(hi);
  //  Serial.println(" *F");
  lcd.clear();
  lcd.setCursor(1, 0);
  lcd.print(t);
  lcd.print("C");
  lcd.setCursor(9, 0);
  lcd.print(h);
  lcd.print("%");


  //LÜFTER-SYSTEM
  analogWrite(lufterUnten, 10);
  analogWrite(lufterOben, 10);


  //HEIZ-SYSTEM
  analogWrite(heizLufter, 255);

  //HELIGKEIT LED
  helligkeitWert = analogRead(helligkeitSensor);
  int prozentHelligkeitWert = map(helligkeitWert, 0, 1014, 0, 100);


  Serial.print("-- Helligkeit = " );
  Serial.print(helligkeitWert);
  Serial.print(" OHM / ");
  Serial.print(prozentHelligkeitWert);
  Serial.println(" % --");

  lcd.setCursor(0, 1);
  lcd.print(prozentHelligkeitWert);
  lcd.print("%LICHT");


  if (prozentHelligkeitWert < 68)

  {
    digitalWrite(LED, HIGH);
    analogWrite(LEDlufter, 8);
  }

  else
  {
    digitalWrite(LED, LOW);
    analogWrite(LEDlufter, 0);
  }

  delay(500);



}

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.