PWM Dimmer Basisfrequenz für PC-Lüfter anpassen

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

jp112sdl
Beiträge: 12108
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2148 Mal
Kontaktdaten:

Re: PWM Dimmer Basisfrequenz für PC-Lüfter anpassen

Beitrag von jp112sdl » 06.07.2020, 14:12

Asselhead hat geschrieben:
06.07.2020, 13:11
wie ich da meinen 25kHz Code rein bekomme.
Na das sollte nur noch Copy&Paste sein

Code: Alles auswählen

class FAN {
  uint8_t  pin;
public:
  FAN () : pin(0) {}
  ~FAN () {}

  void init(uint8_t p) {
    PORTD |= 4;
    DDRD   = (1 << p); 
    ICR3   = 160;
    TCCR3A = (1 << COM3A1) | (1 << COM3B1) | (1 << WGM31);             
    TCCR3B = (1 << WGM33) | (1 << CS30); 
  }
  
  void set(uint8_t value) {
    OCR3B = map(value, 0, 200, 0, 255);
  }
};
Musst nur dran denken im Sketch oben #define FAN_PIN 3 auf Pin 2 zu ändern.

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

Asselhead
Beiträge: 308
Registriert: 07.02.2019, 17:04
System: CCU
Wohnort: Niederrhein
Hat sich bedankt: 56 Mal
Danksagung erhalten: 147 Mal

Re: PWM Dimmer Basisfrequenz für PC-Lüfter anpassen

Beitrag von Asselhead » 06.07.2020, 14:26

Mega - Danke!

Werde ich heute Abend direkt testen!

Kaffee ist unterwegs :wink:
Viele Grüße

Stefan

FrankenKai
Beiträge: 179
Registriert: 04.05.2020, 21:31
System: CCU
Hat sich bedankt: 16 Mal
Danksagung erhalten: 8 Mal

Re: PWM Dimmer Basisfrequenz für PC-Lüfter anpassen

Beitrag von FrankenKai » 06.07.2020, 16:58

Was ich auch manchmal schon gesehen habe ist, das die pwm kurzzeitig auf 100% geht damit der Lüfter beim einschalten anläuft.
Hängt natürlich vom Lüfter ab.

jp112sdl
Beiträge: 12108
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2148 Mal
Kontaktdaten:

Re: PWM Dimmer Basisfrequenz für PC-Lüfter anpassen

Beitrag von jp112sdl » 06.07.2020, 17:00

FrankenKai hat geschrieben:
06.07.2020, 16:58
Was ich auch manchmal schon gesehen habe ist, das die pwm kurzzeitig auf 100% geht damit der Lüfter beim einschalten anläuft.
Hängt natürlich vom Lüfter ab.
Ja, das hatte ich beim Testen sogar so gemacht.
Muss ich mal noch in den Sketch mit reinnehmen.
Danke für den Hinweis.

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

Asselhead
Beiträge: 308
Registriert: 07.02.2019, 17:04
System: CCU
Wohnort: Niederrhein
Hat sich bedankt: 56 Mal
Danksagung erhalten: 147 Mal

Re: PWM Dimmer Basisfrequenz für PC-Lüfter anpassen

Beitrag von Asselhead » 07.07.2020, 09:03

Habe gestern Abend versucht den Sketch zu kompilieren (vorher D2 und D3 getauscht).
Kam natürlich erst einmal eine Fehlermeldung von der EnableInterrupt und Low-Power Library.
Dort dann erst einmal den ATMEGA328PB nachgetragen, dann ging auch das Kompilieren.
Sketch aufgespielt, Verdrahtung (PWM <-> GDO0) geändert und CC1101 Modul aufgelötet (vorher Freq_Test).

JP-HB-AddOn 2.27 aufgespielt und die Leiterplatte angelernt.

Anlernen hat einwandfrei funktioniert und sie lässt sich auch bedienen.
Leider bekomme ich noch keine PWM Ausgabe an Pin 2 (OC3B).

Heute Abend habe ich mehr Zeit, da werde ich mir das noch einmal anschauen.

@Jérôme: Vielen Dank noch einmal. Wenn du selbst die Version mit analogWrite erfolgreich getestet hast, würde ich mich über eine kurze Info freuen.
Viele Grüße

Stefan

jp112sdl
Beiträge: 12108
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2148 Mal
Kontaktdaten:

Re: PWM Dimmer Basisfrequenz für PC-Lüfter anpassen

Beitrag von jp112sdl » 07.07.2020, 10:42

Asselhead hat geschrieben:
07.07.2020, 09:03
Wenn du selbst die Version mit analogWrite erfolgreich getestet hast, würde ich mich über eine kurze Info freuen.
Ja, die habe ich natürlich getestet.
Ganz normal mit einem 328P und einem 3-pin FAN.
Klappt wunderbar.

Zum PB sowie den Nebenwirkungen der AskSinPP auf dessen Timer kann ich dir leider nichts weiter sagen.

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

Asselhead
Beiträge: 308
Registriert: 07.02.2019, 17:04
System: CCU
Wohnort: Niederrhein
Hat sich bedankt: 56 Mal
Danksagung erhalten: 147 Mal

Re: PWM Dimmer Basisfrequenz für PC-Lüfter anpassen

Beitrag von Asselhead » 07.07.2020, 12:33

Es kann sein, dass ich nicht die neueste AskSinPP-Master Library verwendet habe. Denke es war 4.1.1.
Irgendwann ist ja laut Device.h auch ein 328PB Support hinein gekommen - zumindest was "Hardware-Serial" angeht...

Werde heute Abend mal mit der 4.1.6 versuchen.
Viele Grüße

Stefan

jp112sdl
Beiträge: 12108
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2148 Mal
Kontaktdaten:

Re: PWM Dimmer Basisfrequenz für PC-Lüfter anpassen

Beitrag von jp112sdl » 07.07.2020, 17:20

Ich hab heut nen 4-Pin Lüfter aus einem alten Server ergattern können.
Werd mir mal was mit nem 1284P aufbauen, der hat ja auch nen Timer3
Dann passen auch die anderen Kanäle mit rein und ich kann das Tachosignal überwachen

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

jp112sdl
Beiträge: 12108
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2148 Mal
Kontaktdaten:

Re: PWM Dimmer Basisfrequenz für PC-Lüfter anpassen

Beitrag von jp112sdl » 07.07.2020, 19:30

Folgende Erkenntnisse:

1.) Es gehen auch 25kHz am Timer2 ganz normal mit dem 328P.
https://forum.arduino.cc/index.php?topi ... msg2859274

2.) Es gibt 4-Pin PWM Lüfter, die selbst 0% Duty langsam weiter drehen. Die können kein "AUS", ohne den Strom zu kappen.
Ich habe hier so einen... EKL DFr922512CU-003 (CPU Lüfter)
Habe aber auch einen weiteren, der bei 0% stehen bleibt. QFR1212EHE (Gehäuselüfter)


Werde mal weiter rumspielen... Hab ja nun die Lüfter hier. Dass 25kHz am 328P gehen macht den Aufbau/Nachbau natürlich sehr einfach.
Hab den Code mal im Github aktualisiert.
Getestet mit 4-Pin Fan am 328P (Pin 3 (PD3)) und am 644PA (Pin 9 (PD6))

EDIT: Drehzahl auslesen klappt jetzt auch wunderbar.

Nächste Schritte:
- Kanal einbauen, der die RPMs an die CCU sendet
- ERROR Flag setzen, wenn Duty > 0 und RPM == 0 ("Lüfter hängt fest" Erkennung)

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

Asselhead
Beiträge: 308
Registriert: 07.02.2019, 17:04
System: CCU
Wohnort: Niederrhein
Hat sich bedankt: 56 Mal
Danksagung erhalten: 147 Mal

Re: PWM Dimmer Basisfrequenz für PC-Lüfter anpassen

Beitrag von Asselhead » 07.07.2020, 20:14

Da bist Du mir etwas zuvor gekommen :D

Das mit dem Timer 2 hatte ich gar nicht mehr weiter verfolgt :cry:

So oder so, nachdem ich die AskSin library auf 4.1.6 gesetzt hatte, bekam ich dann auch mit der modifizierten HMSensor und dem ATMEGA328PB eine schöne 25kHz PWM Ausgabe. Keine Ahnung, ob es an der 4.1.6 lag, aber nun geht es.

Zuerst passte das Puls-Pausen Verhältnis nicht ganz zum CCU Wert, aber das lag noch am falschen "MAP" Wert.

Habe die Zeile dann noch entsprechend angepasst:

Code: Alles auswählen

OCR3B = map(value, 0, 320, 0, 255);
Wenn ich jetzt z.B. 60% einstelle:
CCU.png
CCU.png (15.58 KiB) 1261 mal betrachtet
Dann finde ich die auch so ungefähr auf dem OSCAR wieder:
TEK00002.PNG
TEK00002.PNG (10.34 KiB) 1261 mal betrachtet
Mein Lüfter dreht auch bei 0% noch langsam.
Ich habe einen Intel CPU Lüfter verwendet: https://www.amazon.de/Intel-Aluminum-3- ... B004XJNC0O

Auch wenn man in Zukunft sicher einfacher den 328P also Arduino Pro Mini verwendet, habe ich immerhin was über den 328PB gelernt und das er durchaus für ASKSIN geeignet ist.

Insbesondere Leute die gerne selber löten, können sogar 50-60 Cent gegenüber dem 328P sparen (wenn er denn mal wieder verfügbar ist :roll: )

Vielen Dank noch einmal Jérôme, für Deinen unermüdlichen Einsatz!
Viele Grüße

Stefan

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“