esphome / esphome/feature-requests

SOLVED: TRIAC delayed-trigger compensation routine

Open
#3,105 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
450
Forks
29
PR merge metrics
No merged PRs in 30d

Description

**Describe the problem you have/What new integration you would like**

Hello,

if a TRIAC delay is decreased linearly, the output power delivered to a resistive load does not increase linearly. I thus developed the following compensation routine:
_Input:_ Relative power (0: off up to 1: full power)
_Output:_ Linearized relative TRIAC trigger delay (0: start of half sine wave up to 1: end of half sine wave, 1 when input < 0, 0 when input > 1, NaN when input is NaN)
_Relative error_ of power delivered to the resistive load: < 1e-5

[plin.zip](https://github.com/user-attachments/files/18758984/plin.zip) (7-Zip)

[Original post](https://github.com/espressif/esp-dsp/issues/76)

Cheers!

f4lc0n

P.S.: If you want ~1.4× `plin()` speedup just for **ESP32(-S3)**, see the [original post](https://github.com/espressif/esp-dsp/issues/76) for ESP32(-S3), there is a float reciprocal macro in play to achieve this…

**Please describe your use case for this integration and alternatives you've tried:**

I wanted the power delivered to a resistive load (e.g. a heater or a boiler) to be controlled linearly so I developed this compensation routine.

**Additional context**

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.