[an error occurred while processing this directive] [an error occurred while processing this directive]
Дык..(+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Анатоль 19 декабря 2001 г. 15:14
В ответ на: Ответ: отправлено hotson 19 декабря 2001 г. 14:27

1. Значение переменных Delay и Half обратнозависимы. Ты учитываешь это? Из программы не видно.
2. Там в аппликухе в схеме управения симистором ошибка, нашел?
3. Причем здесь надежность промобразца? Макет должен работать правильно. Имхо, полупериоды равноправны, значит их надо обрбатывать соответственно.
4. Задержку считаешь по таймеру или "вручную"? Если вручную, то будет ошибка регулирования, которая может сказаться на временах близких к переходу.
5. Я бы вообще построил все не так :-)
Весь полупериод разбить на участки:
Перепад(TMR0=0)-Регулировочный участок(TMR0=Ton)-Интервал ожидания перепада(Tmax-(Tmax/8)<=TMR0<=Тmax)
- Если таймер переполнился два раза, значит свет выключили выключателем - нет целого периода.
- Нет ошибки связанной с ходом программы,
- Если перепад произошел не на участке ожидани - помеха, игнорируем,
- Значения Ton и Tmax относительные, они вычисляются. Каждый раз замеряется длина периода, вычисляется его средняя величина Tmax=Tper/2, а потом в зависимости от уровня яркости определяется значение Ton (можно определять величины для каждого полупериода). Это позволит работать от внутреннего генератора и не зависеть от частоты в сети.


Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru