При диммировании = 128 напряжение внезапно возрастает до 240 вольт, а затем снова падает до 0 вольт.
При использовании схемы диммера с esp8266, при диммировании = 128, напряжение внезапно возрастает до 240 вольт, а затем возвращается к 0 вольт. На выходе подключена индуктивная нагрузка, как у НАСТОЛЬНОГО ВЕНТИЛЯТОРА. У него нет какого-либо адаптера, он работает от сети переменного тока.
Где диапазон затемнения составляет 0-128. 0=ВКЛ (без ограничения мощности) означает, что нагрузка должна быть ВКЛ. 128=OFF означает, что нагрузка должна быть отключена.
Происходит ли это обычно в схеме диммера при подключенной нагрузке [НАСТОЛЬНЫЙ ВЕНТИЛЯТОР] или я что-то делаю неправильно?
Кроме того, можем ли мы использовать это значение (128) для переключения? -- Это означает, что всякий раз, когда мы устанавливаем диммирование=128, нагрузка будет оставаться выключенной, а потребление энергии в сторону нагрузки прекратится, поскольку переключатель работает.
Я новичок и впервые пробую диммер esp8266.
Здесь напряжение в сети составляет 230-240 вольт переменного тока, частота электропитания 50 Гц.
Я ссылаюсь на эту схему как есть, вместе с кодом, только изменением является значение яркости, полученное с помощью последовательного интерфейса
Здесь я использую индуктивную нагрузку (НАСТОЛЬНЫЙ ВЕНТИЛЯТОР).

`
const int interruptPin = 14;
int AC_LOAD = 4; // Выход на вывод оптосимистора
int dimming = 128; // Уровень затемнения (0-128) 0 = ВКЛ, 128 = ВЫКЛ
void setup()
{
Serial.begin(115200);
pinMode(AC_LOAD, OUTPUT);// Установить вывод нагрузки переменного тока как выход
pinMode(interruptPin, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(interruptPin), zero_crosss_int, RISING); // Выберите номер прерывания по нулевому пересечению из таблицы выше
}
//функция прерывания не должна принимать параметров и ничего не возвращать
void zero_crosss_int() //функция, которая будет запущена при пересечении нуля, чтобы уменьшить яркость света
{
// Расчет угла зажигания: 1 полная волна 50 Гц = 1/50 = 20 мс
// Каждое пересечение нуля таким образом: (50 Гц)-> 10 мс (1/2 цикла)
// 10 мс=10000 мкс
// (10000 мкс - 10 мкс) / 128 = 75 (приблизительно)
int dimtime = (75 * dimming); // Для 60 Гц =>65
delayMicroseconds(dimtime); // Ждать срабатывания симистора
digitalWrite(AC_LOAD, HIGH); // Запустить симистор
delayMicroseconds(10); // задержка распространения сигнала симистора
// (для 60 Гц используйте 8,33) Некоторым симисторам требуется более длительный период
digitalWrite(AC_LOAD, LOW); // Больше не запускает TRIAC (следующее пересечение нуля выключит его) TRIAC
}
void loop() {
dimming = Serial.read(); // значение затемнения берется из последовательного порта
dimming the load
}`
0
- Как читать и записывать EEPROM в ESP8266
- Как сделать выводы Tx и Rx на ESP-8266-01 в выводах GPIO?
- Как навсегда изменить скорость передачи данных ESP8266 (12e)?
- Как заставить 5-вольтовое реле работать с NodeMCU
- Как исправить: Invalid conversion from 'const char*' to 'char*' [-fpermissive]
- ESP8266 не подключается к Wi-Fi
- esp8266 не отвечает на AT-команды
- Разница между этими двумя платами NodeMCU?