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

papa
Beiträge: 705
Registriert: 22.05.2018, 10:23
Hat sich bedankt: 24 Mal
Danksagung erhalten: 120 Mal

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

Beitrag von papa » 01.07.2020, 20:26

Kann man sich da nicht einfach nen normalen Dimmer als Vorbild nehmen ?
Anfragen zur AskSin++ werden nur im Forum beantwortet

jp112sdl
Beiträge: 12085
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

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

Beitrag von jp112sdl » 01.07.2020, 21:18

Dann gibt es 3 Dimmerkanäle (1phys + 2virt).

Ich weiß nicht, wie man das jetzt mit Temperatur/Feuchtigkeit verbinden könnte/sollte!?

VG,
Jérôme ☕️

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

Benutzeravatar
stan23
Beiträge: 2030
Registriert: 13.12.2016, 21:14
System: Alternative CCU (auf Basis OCCU)
Wohnort: Altmühltal
Hat sich bedankt: 577 Mal
Danksagung erhalten: 335 Mal
Kontaktdaten:

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

Beitrag von stan23 » 01.07.2020, 22:12

Temperatur mit virt. Kanal A, Feuchte mit virt. Kanal B und Handbedienung mit Kanal C verknüpfen, so wie man das bei Dimmern macht?

Und A B C verodern so dass das Maximum rauskommt?
Viele Grüße
Marco

RaspberryMatic als VM auf einem NUC mit Proxmox und USB-Funkmodul
~80 Geräte (HM, HmIP, HMW, HBW, AskSin)

papa
Beiträge: 705
Registriert: 22.05.2018, 10:23
Hat sich bedankt: 24 Mal
Danksagung erhalten: 120 Mal

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

Beitrag von papa » 01.07.2020, 22:13

Virtu. Kanal 1 mit Temp-Sensor peeren. Das Sensorevent bringt die Temp und der Kanal berechnet danach seinen "Dimmerwert".
Virtu. Kanal 2 mit Feutigkeitssensor und Berechnuing analog. Die Verknüpfung der Kanäle ergibt den echten Wert. Die Verarbeitung des Sensorevents muss natürlich entsprechend implementiert werden.
Anfragen zur AskSin++ werden nur im Forum beantwortet

jp112sdl
Beiträge: 12085
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

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

Beitrag von jp112sdl » 01.07.2020, 22:39

Das wird mir gedanklich zu komplex :mrgreen:

Aber ich bin mit 3 Kanälen (Weather, Dimmer, Switch) schon über der 32k Flash Größe.
Den Switch-Kanal wollte ich noch einbauen, um zwischen "Automatik" (Lüfterdrehzahl anhand konfigurierter Schwellwerte) und "Manuellem" Modus (Steuerung nur über CCU) umzuschalten.

Ich glaub, das wird zu überdimensioniert. Dafür extra einen 644 oder 1284 verbraten wollt ich nicht unbedingt.
Dann reicht wohl doch ein einfacher Dimmerkanal für den Lüfter und den Rest macht dann ein separater Sensor bzw. ein Programm auf der CCU.

VG,
Jérôme ☕️

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

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 » 02.07.2020, 06:47

jp112sdl hat geschrieben:
01.07.2020, 22:39
Das wird mir gedanklich zu komplex :mrgreen:

Aber ich bin mit 3 Kanälen (Weather, Dimmer, Switch) schon über der 32k Flash Größe.
Den Switch-Kanal wollte ich noch einbauen, um zwischen "Automatik" (Lüfterdrehzahl anhand konfigurierter Schwellwerte) und "Manuellem" Modus (Steuerung nur über CCU) umzuschalten.
Würden denn ein kleinere sensor kanal rein passen?
Für Weather (bzw Helligkeit), Switch hätte ich auch noch Verwendung in meine Beschattungs anwndung.
FrankenKai hat geschrieben:
09.05.2020, 18:23
....Ich möchte an der Pos des Lichtsensors am Fenster in den moment stoppen in dem (vermutlich) der rolladen diesen abdunkelt.
Das ist auch gut möglich wenn ich ca alle 5 Sekunden ! messe. (Der rolladen ist spätestens in 30 sec zu, somit kein problem beim duty cicle zu erwarten)
Kannst du mir da eventuel beim "HB CCU and on" auf die sprünge helfen ?

jp112sdl
Beiträge: 12085
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

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

Beitrag von jp112sdl » 02.07.2020, 12:41

FrankenKai hat geschrieben:
02.07.2020, 06:47
Würden denn ein kleinere sensor kanal rein passen?
Was ist denn ein "kleinerer Sensor Kanal"?
FrankenKai hat geschrieben:
02.07.2020, 06:47
Kannst du mir da eventuel beim "HB CCU and on" auf die sprünge helfen ?
Ja erst einmal schauen, wie sich das alles umsetzen lässt.

Hab grad erstmal eine andere Baustelle zu flicken. Der Pool hat 84 °C 8)

VG,
Jérôme ☕️

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

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 » 02.07.2020, 13:01

jp112sdl hat geschrieben:
02.07.2020, 12:41


Hab grad erstmal eine andere Baustelle zu flicken. Der Pool hat 84 °C 8)
Oh, das spart den kochtopf.
Keine Eile, bin eigentlich in "Sommerpause"

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 » 02.07.2020, 20:46

Hallo zusammen,

hier mal kurz ein Update bzgl. Machbarkeit mit dem ATMEGA328PB.

Ich habe mir eine HMSensor Leiterplatte mit ATMEGA328PB bestückt.
Als Bootloader habe ich den von MCUDude (MiniCore) verwendet: https://github.com/MCUdude/MiniCore
Interner Clock mit 8MHz, BOD disabled.

Anschließend Tom´s Codeschnipsel abgeändert und geflasht.
Siehe da - nix tut sich (aufm Oscar).

Dann ein bisschen recherchiert und festgestellt, dass Timer 3 und 4 beim 328PB eine Besonderheit haben.
Es gibt beim 328PB einen Output Compare Modulator - siehe auch Punkt 22 im Datenblatt:
The Output Compare unit 3B and Output Compare unit 4B shares the PD2 port pin for output. The
outputs of the Output Compare units (OC3B and OC4B) overrides the normal PORTD2 Register when
one of them is enabled (that is, when COMnx[1:0] is not equal to zero). When both OC3B and OC4B are
enabled at the same time, it will also enable this modulator.
Für mich war die Lösung dann ein simples

Code: Alles auswählen

PORTD |= 4;
Ich habe dann noch ein Poti an A0 angeschlossen um den Duty Cycle verändern zu können und mir die Werte vom Poti seriell ausgeben lassen.
Das ganze sah dann so aus:

Code: Alles auswählen

#define potiPin A0 //Eingang Poti ist A0

int potiWert;

void setup() {
  

Serial.begin(115200);

  PORTD |= 4;
  DDRD   = (1 << 2); // pin D2 as output
  ICR3   = 160;
  //OCR3B  =  80;    // 50%
  TCCR3A = (1 << COM3A1) | (1 << COM3B1) | (1 << WGM31);             
  TCCR3B = (1 << WGM33) | (1 << CS30); 
  
}

void loop() {

  potiWert = analogRead(potiPin); //Potiwert einlesen (Auflösung Analogeingang = 10 Bit)

  potiWert = map(potiWert, 0, 1023, 0, 255);

  OCR3B = potiWert; // Setzen des Impuls-Pausenverhältnis

  Serial.println(potiWert);

  delay(15);
}
Kann man sicher besser machen - hab aber keine Ahnung von Software und - funktioniert!

Kann wunderbar bei 25kHz die PWM von 0 bis 160 durchfahren.


Mit angeschlossenem PWM Lüfter funktioniert es ebenfalls einwandfrei, wobei man schon merkt, dass die Lüfterdrehzahl nicht linear zur PWM steigt.

Festzuhalten ist, dass man für diese Konstellation Pin D2 benötigt, der in ASKSIN auf GDO0 des CC1101 Modul liegt.
Info am Rande: Der 328PB hat einen weiteren UART (auch im Bootloader wählbar) und eine weitere SPI Schnittstelle.

Die 25kHz PWM nach ASKSIN zu portieren, müssten andere übernehmen - dafür hab ich leider zu wenig Ahnung von Software :cry:
Dateianhänge
TEK00003.PNG
TEK00003.PNG (11.67 KiB) 983 mal betrachtet
TEK00002.PNG
TEK00002.PNG (11.38 KiB) 983 mal betrachtet
TEK00001.PNG
TEK00001.PNG (11.21 KiB) 983 mal betrachtet
TEK00000.PNG
TEK00000.PNG (10.87 KiB) 983 mal betrachtet
Viele Grüße

Stefan

TomMajor
Beiträge: 1790
Registriert: 30.08.2017, 23:25
Hat sich bedankt: 175 Mal
Danksagung erhalten: 399 Mal
Kontaktdaten:

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

Beitrag von TomMajor » 03.07.2020, 01:13

Das mit der Doppelbelegung OC3B/4B hatte ich gesehen, deswegen schrieb ich nur 3 unabhängige Kanäle (statt 4).
Jetzt sehe ich dass es Absicht ist, damit kann man 2 PWM mixen. 8)
The Output Compare Modulator (OCM) allows generation of waveforms modulated with a carrier
frequency.
PORTD2 steuert dabei AND/OR. Interessantes Feature.
Viele Grüße,
Tom

Antworten

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