Вдруг, всё-таки, кому пригодится... Кое-то убрал, кое-что добавил.... В целом, схема та же.

Горящий светодиод указывает на установку верхнего\нижнего предела ШИМ. Их можно исключить
Нажатие кнопки UP\DOWN сразу переводит в настройки верхнего\нижнего предела, загорается соотв. светодиод.
Кнопки "ПАМЯТЬ" теперь нету.
Если в течении 3-4х секунд нажатий не было, автоматом сохраняется настройка в eeprom.
Термодатчик. Разогреваем до требуемой температуры и зажимаем одновременно UP\DOWN. Заносится значение в eeprom. При этом значении удерживается заданный максимальный шим, при дальнейшем увеличении температуры макс. шим устанавливается >95% и удерживается, пока температура не придет в "норму". Добавил: при обрыве\отсутствии датчика настройка макс. ШИМ игнорируется, и при горении дуги заполнение стремится >95%. Если термодатчик не нужен, вместо него установить резистор от 5 до 15 килоом.
На входе PB3 нужно около 3х вольт для перехода в "холостой ход". Импульсный сигнал - не проблема. Предусмотрено в коде.
Настройки гистерезиса убрал, они нафиг не нужны. В крайнем случае, можно R4 уменьшить.
Все изменения ШИМ плавные, дежурку насиловать не будет.
Емкость 0.1мкф по питанию МК обязательна.
При первом включении в память автоматом записываются "дефолтные" настройки, ок. 30-80% ШИМ, а температура "запредельная".
При включении с любой зажатой кнопкой - сброс настроек.
В общем, всё как и было, только минус одна кнопка и "реакция" на обрыв термодатчика. Ну, и настраивать чуть проще....
Всё в архиве. Кстати, протеус симулирует очень "криво". По крайней мере, у меня. Не соответствует таймлайну. Всё о-о-очень медленно...
Нажмите на изображение для увеличения
Название: Screenshot_1.png
Просмотров: 8964
Размер:	48.9 Кб
ID:	10078 Нажмите на изображение для увеличения
Название: Screenshot_2.png
Просмотров: 8940
Размер:	45.3 Кб
ID:	10079
PWM_21_01.rar
И не спрашивайте, чего я на этом регуляторе помешался.... Больше заняться пока нечем.... Вникаем в ассемблер