Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

25-kHz-4-Pin-PWM-Lüftersteuerung mit Arduino Uno – Bau, Code & Test

Komponenten und Zubehör

Software

Projektbeschreibung

Dieses Projekt zeigt, wie man einen 4-Pin-PWM-Lüfter präzise mit 25 kHz über einen Arduino Uno steuert. Die Frequenz ist einstellbar von 125 Hz bis 8 MHz, der Tastgrad (Duty Cycle) variabel von 0–100 %. Verwendet wird Timer 1 im phasenkorrekten PWM-Modus (Mode 10) auf den Pins 9 (OC1A) und 10 (OC1B).

Wichtige Hinweise vor dem Bau

25-kHz-4-Pin-PWM-Lüftersteuerung mit Arduino Uno – Bau, Code & Test
Versuchsaufbau mit Arduino Uno und 4-Pin-Lüfter
25-kHz-4-Pin-PWM-Lüftersteuerung mit Arduino Uno – Bau, Code & Test
PWM-Signal am Oszilloskop: 25 kHz, variabler Tastgrad

Arduino-Code

const byte OC1A_PIN = 9;
const byte OC1B_PIN = 10;
const word PWM_FREQ_HZ = 25000;          // Gewünschte Frequenz in Hz (hier 25 kHz)
const word TCNT1_TOP = 16000000 / (2 * PWM_FREQ_HZ);

void setup() {
  pinMode(OC1A_PIN, OUTPUT);
  // Timer1 zurücksetzen
  TCCR1A = 0;
  TCCR1B = 0;
  TCNT1  = 0;

  // Timer1 Konfiguration: Phase Correct PWM, Mode 10
  // COM1A1:1 = 0b10 (Clear on match up, set on match down)
  // WGM13:10 = 0b1010 (Phase Correct PWM, TOP = ICR1)
  // CS10 = 1 (Kein Prescaler, 16 MHz)
  TCCR1A |= (1 << COM1A1) | (1 << WGM11);
  TCCR1B |= (1 << WGM13) | (1 << CS10);
  ICR1 = TCNT1_TOP; // TOP-Wert setzt Frequenz
}

void loop() {
  setPwmDuty(0);   delay(5000);
  setPwmDuty(25);  delay(5000);
  // setPwmDuty(50); delay(20000);
  // setPwmDuty(75); delay(20000);
  // setPwmDuty(100); delay(20000);
}

void setPwmDuty(byte duty) {
  // duty: 0–100 %
  OCR1A = (word)(duty * TCNT1_TOP) / 100;
}

Schaltplan

25-kHz-4-Pin-PWM-Lüftersteuerung mit Arduino Uno – Bau, Code & Test
Verdrahtung: Arduino Pin 9 → PWM-Eingang Lüfter, GND gemeinsam, 12 V extern

Erklärung: Der Code setzt Timer 1 auf phasenkorrekten PWM mit ICR1 als TOP. Die Frequenz wird über PWM_FREQ_HZ definiert, der Tastgrad über OCR1A. Pin 10 (OC1B) bleibt ungenutzt, kann aber analog angesteuert werden.

Herstellungsprozess

  1. LED-Helligkeit per PWM und Taster am Arduino Mega steuern
  2. Deckenventilator per Alexa steuern – Schritt-für-Schritt-Anleitung
  3. Arduino Echtzeituhr für islamische Gebetszeiten bauen
  4. Smartes Sparschwein: Münzprüfer mit Arduino Nano steuern
  5. LED per Bluetooth mit Arduino steuern – Einfache DIY-Anleitung
  6. Zwei Schrittmotoren mit Arduino Nano & Joystick steuern – Einfaches Tutorial
  7. Bilder auf 1,17-Zoll-TFT-LCD mit Arduino UNO anzeigen
  8. 8×8 LED-Matrix mit Arduino Uno meistern: Schritt-für-Schritt-Anleitung
  9. 4x4x4 LED-Würfel mit Arduino Uno & 1Sheeld bauen – Interaktives LED-Projekt
  10. ThimbleKrox: Fingermontierte Maussteuerung mit Arduino Micro & MPU-6050