Для фазового регулирования, Расчет времени включения симмистора для получения необходимой мощности. /*
- Функция для расчета момента открытия симмистора в зависимости от уставки требуемой мощности.
- Расчет будет вестись для одной полуволны. Чем раньше откроем симмистор, тем больше мощность в итоге получим.
- расчитаем значение времени (мкс) от пересечения синусоидой 0Вольт до необходимого времени включения симмистора.
- float 4 байта 1.175E-38.. 3.402E+38 Числа с плавающей точкой, точность: 6-7 знаков
- double 4/8 байт 2.225E-308.. 1.797E+308 Для AVR то же самое, что float. На ESP и прочих 32-бит МК – 8 байт, точность – 15-16 знаков, расчет ведется не аппаратно
- Вариант 1:
- В основе Формула. Время(сек) = ACOS(1-(мощностьВпроцентах * 2)/100) * (1/(Гц))/(2*ПИ) p.s. ПИ = acos(-1.0)
- Значение от -1 до 1, для которого вычисляется арккосинус (обратный косинус).
- Функция acos возвращает арккосинус x в диапазоне от 0 до радиан π.
- const double PI = acos(-1.0);
- Вариант 2: Прийдется самому считать аркосинус :(
- это значения для формулы ниже. a0 = 1,5707288; a1 = -0,2121144; a2 = 0,074261; a3 = -0,0187293;
- наибольшая абсолютная ошибка 5 * 10^-5 (можно высчитать и 2 * 10^-8, но будет седьмая степень.
- для левой части полуволны (0 .. PI/2)
- соответственно мощность (100.. 50%)
- Значение х (в формуле) (1 .. 0) т.е. для 100% = 1.00; 99% = 0.98;...50% = 0.00
- arccos x = (sqrt(1 - x)) * (a0 + a1 * x + a2 * (x * x) + a3 * (x * x * x))
- для правой части полуволны (PI/2;PI) Формула примет вид. период минус arccos x
*/