Детектор "нуля" на микроконтроллере

     При использовании симисторных или тиристорных сетевых коммутаторов создаваемые ими помехи зависят от амплитуды напряжения в момент переключения. Чтобы свести помехи к минимуму, включение необходимо производить при максимально низком напряжении. Идеальным будет включение, когда амплитуда сетевого напряжения близка к нулю. Для этого необходим эффективный и простой способ обнаружения пересечения нуля синусоидальным сетевым напряжением. Это может использоваться и для других целей, например, измерения фазы, синхронизации работы ряда устройств от сетевого напряжения и т.п.
     В соответствии с рекомендациями из [1], на рис. 1 показана функциональная схема детектора пересечения нуля на микроконтроллере (МК) AVR. Следует отметить, что в схеме нет гальванической развязки от сети переменного тока, что обязательно нужно учитывать при встраивании ее в разрабатываемые устройства. Здесь используются внутренние аппаратные средства защиты МК (на диодах) от напряжения выше VCC и ниже GND. Любое напряжение превышающее VCC + 0,5 В, будет ограничено на уровне VCC + 0,5 В (0,5 В - падение напряжения на диоде). Аналогично напряжение ниже GND - 0,5 В будет ограничено на уровне GND - 0,5 В. С помощью резисторов R1 и R2 напряжение сети снижается до амплитуды, соответствующей уровням входных сигналов AVR (рис. 2). Следует учитывать, что  последовательный резистор и "внутренняя начинка", подключенная к выводу МК, создают эквивалент RC-фильтра, что ведет к сдвигу фазы между входным и продетектированным сигналом, впрочем, незначительному для данного примера, а сам резистор может быть источником помех. МК программируется на поиск переходов двухпорогового сигнала и тем самым программно (через прерывание) определяет пересечение нуля.
     Не рекомендуется, чтобы через диоды протекал ток более 1 мА, т.е. входное напряжение превышало 1000 В. Любое напряжение в сети, превышающее 250 В, вероятнее всего будет пиками или выбросами. Диоды способны выдержать кратковременные пики, но не длительные выбросы. Большинство резисторов имеют максимально допустимое напряжение, поэтому необходимо подобрать соответствующие типы, способные работать при таком напряжении. Например, резисторы МЛТ-0,125 имеют предельное напряжение 200 В, МЛТ-0,5 - 350 В, а МЛТ-2 - 750 В. Резисторы С2-1-0,5 способны работать при 500 В, С2-1-2 - при 1000 В. Для систем с более низким напряжением сопротивление резисторов можно уменьшить.
     Спад прямоугольного сигнала на входе МК (переход от высокого уровня к низкому) происходит прямо перед фактическим  пересечением синусоидой нуля (рис.2). Фронт (нарастание) сигнала происходит немного после перехода нуля. Для исключения влияния помех рекомендуется после обнаружения "нулевого пересечения"  проверять его программно 5 раз подряд и проводить сравнение, чтобы убедиться в стабильности результата. Если значения не совпадают, то сравнения необходимо продолжать до получения стабильной величины. Это исключает возможные ложные срабатывания, обусловленные помехами вблизи нулевого уровня. Программа МК должна детектировать пересечение нуля независимо от направления его перехода.
     Семейство микроконтроллеров AVR обладает полной гаммой программных эмуляторов, но не все эмуляторы оснащены внутренними ограничивающими диодами. Единственные эмуляторы, снабженные ими, - ICE200 и ICE40/50. Эмуляторы ICE10 и ICE30 не содержат ограничивающих диодов. Добавив внешние ограничивающие диоды, можно подавать сетевое напряжение, но, конечно, при пробое резисторов или случайном замыкании высокое напряжение может нанести серьезный ущерб оборудованию.
     Для гальванической развязки сети рекомендуется использовать изолирующие трансформаторы. Для более высоких частот необходимо использовать осциллограф для контроля действительного пересечения нуля и введения программной корректировки с целью получения необходимой точности ответа МК. Таким способом, не создавая помех, можно включать реле и пускатели, определив предварительно задержку их включения.
     В статье [2] я предложил устройство, предназначенное для изменения частоты вращения двигателя. В этом устройстве используется схема детектирования нуля, показанная на рис.3, хотя МК содержит встроенный компаратор. Выпрямитель на диодах VD1…VD4 является одновременно источником питания для электронного ключа на тиристоре (для упрощения  другие элементы управления двигателем на этой схеме не показаны). Ток через светодиод HL1 ограничен резистором R2. Светодиод выполняет функцию стабилитрона с напряжением выше порога переключения МК и одновременно шунтирует резистор R1. Кроме этого, светодиод служит индикатором работы. Если напряжение сети становится ниже порога открывания светодиода, то через делитель R1-R2 на входе Р1.2 МК устанавливается сигнал лог. "0", что программным способом фиксируется как состояние, близкое к пересечению нуля. Сопротивление резистора R1 не должно быть больше 4 кОм (для МК АТ89С2051), чтобы обеспечить необходимый уровень "0". Программа детектирования нуля в таком случае более проста и не содержит пятикратной проверки состояния входа.

    Рис. 1        Рис. 2

    Рис. 3

     Источники информации
     1. AVR182: Zero Cross Detector//Atmel. 8-bit AVR RISC Microcontroller. Application Note. Rev. 2508B-AVR-01/04//http://sub.chipdoc.ru/pdf/Atmel/app/avr/AVR182.pdf?fid=2
     2. Мельник В.А. 3-х фазный двигатель в однофазной сети. - Радиомир,  2004,  №10, С.19.

Besucherzahler most beautiful Russian and Ukrainian brides
счетчик посещений
META - Украина. 
Украинская поисковая система
Hosted by uCoz