Дано: симисторный регулятор Овен для вентилятора. Он обнаруживает переход сети через 0, отмеряет время для регулировки мощности, включает импульс управления симистором, а в момент перехода через 0 отключает. Проблема в том, что отключать надо бы чуть раньше. В итоге регулятор работает неустойчиво.
Было решено добавить tiny13, чтобы укорачивать импульсы. И нарисовалась проблема с tiny13 на ровном месте. Устройство из палки и верёвки почему-то не работает. Часть импульсов пропущено. Понимаю, что можно сделать по-другому, но мне надо понять, в чём дело.
Красный луч - это входные импульсы частотой 100 Гц на порту PB3, жёлтый луч - выходные импульсы с порта PB0.
Добавлено after 22 minutes 21 second:
Всё, разобрался сам. Не срабатывает, когда фронт попадает после первого if, но до следующего while. Сделал ожидание обоих уровней, заработало.
Было решено добавить tiny13, чтобы укорачивать импульсы. И нарисовалась проблема с tiny13 на ровном месте. Устройство из палки и верёвки почему-то не работает. Часть импульсов пропущено. Понимаю, что можно сделать по-другому, но мне надо понять, в чём дело.
Красный луч - это входные импульсы частотой 100 Гц на порту PB3, жёлтый луч - выходные импульсы с порта PB0.
Добавлено after 22 minutes 21 second:
Всё, разобрался сам. Не срабатывает, когда фронт попадает после первого if, но до следующего while. Сделал ожидание обоих уровней, заработало.
- Вложения
-
- 20230511_203205.gif
- (19.6 КБ) 74 скачивания
-
- scratch.c
- (965 байт) 90 скачиваний