Плавный пуск нагрузки в прерывании.
- Войдите на сайт для отправки комментариев
Пнд, 13/12/2021 - 07:20
Есть готовый скетч диммера по управлению тэном на энкодере с кнопкой. При первом нажатии на кнопку, отключаем нагрузку. Второе нажатие включает нагрузку с мощностью которая была до отключения. Скетч рабочий. Только нужно сделать плавный запуск нагрузки при повторном нажатии.
void Encod() {
enc1.tick(); // нужно вызывать как можно чаще
enc1.setFastTimeout(40); // таймаут на скорость isFastR. По умолч. 50
if (enc1.isRight()) percent = percent + 5; // если был поворот
if (percent > 100) percent = 100; // Если больше 100% остаёмся на сотке
if (enc1.isLeft()) percent = percent - 5; // если был поворот
if (percent < 0) percent = 0; // если меньще нуля остаёмся на нуле
// Управление нажатием кнопки энкодера
// остановка и запуск тэна
// обработка первого нажатия. Мощность сбрасываем на ноль
// и запоминаем значение мощности до сброса
if (enc1.isPress()) {
if ( percent > 0) percent_i = 0;
if ( percent_i == 0)
{
percent_b = percent; // percent_b Мощность нагрузки до сброса
percent = 0;
}
// обработка второго нажатия. восстанавливаем мощность в нагрузке до сброса
if (percent_i == 1)
{
percent = percent_b; // восстанавливаем мощность в нагрузке до сброса ( ТУТ НУЖЕН ПЛАВНЫЙ ЗАПУС НАГРУЗКИ )
percent_b = 0;
percent_i = percent_i - 2;
}
percent_i ++;
}
Пробовал в строке 30 сделать цикл с задержкой на увеличение переменной percent. Не получилось.
Вроде и считает. Но тэн включается сразу на ту мощность которая была до останова. Без плавного пуска.
Вот и вопрос как тут можно сделать плавный запуск тэна?
Забыл написать энкодер обрабатывается в прерывании.
если управление нагрузкой идёт через прерывание то в этом куске можно сделать, через цикл в 30 строке, иначе нет
раз энкодер обрабатывается в прерывании, то нет, делайте в функции включения любое включение плавным до установленной мощности
tager, а зачем тэну плавное включение, что бы что? Он и так инерционный, плавность нагрева в любом случае обеспечена. Если речь про плавную нагрузку на сеть -то включать в момент перехода через ноль, -это будет очень плавно для сети)
tager, а зачем тэну плавное включение, что бы что? Он и так инерционный, плавность нагрева в любом случае обеспечена. Если речь про плавную нагрузку на сеть -то включать в момент перехода через ноль, -это будет очень плавно для сети)
ТКС у нихрома очень маленький, так что точно нет смысла