Четверг, 25.04.2024, 10:28
Приветствую Вас Гость | RSS
Меню сайта
Форма входа
Поиск

Микроконтролерный искатель проводки

Именно под таким названием вышла статья в журнале
Собирал уже пол-года назад.Схема с журнала какого-то.Работает,но как-то "туповато" что-ли,сантиметров 20+ разброс иногда показывает.Хотя попробуйте-схема рабочая.PIC12F629 я прошивал RCD Programerом.Удачи!
 
Статья с "нэта":
 
В предлагаемом очень простом микроконтроллерном искателе проводки автор принял меры, повышающие надежность ее обнаружения. Прибор будет полезен не только в быту, но и всем, кому по роду работы часто приходится искать скрытые в стенах электропровода.

Работа устройств, способных обнаружить электрические провода в стене, основана на улавливании создаваемого ими электромагнитного поля Обычно такое устройство представляет собой простейший усилитель на транзисторах или микросхеме, к входу которого подключена небольшая антенна, а к выходу — звуковой или световой сигнализатор. Уловив электромагнитное поле, приборы подают звуковые или световые сигналы. Их большой недостаток — чувствительность не только к полю сетевых проводов, но и к любому другому, создаваемому, например, близлежащими радио- и телепередатчиками или сотовыми телефонами. Это приводит к ложным срабатываниям, сильно затрудняя поиск.


Идея разработанного устройства заключается в определении не только наличия электромагнитного поля, но и частоты его колебаний. Это позволяет отличить поле частотой 50 Гц, характерной для электросети, от всех других полей. Реализация идеи в аналоговой форме приводит к значительному усложнению устройства за счет введения в него фильтров, выделяющих сигналы только одной частоты. Микроконтроллер выполняет все нужные операции в цифровой форме, схема устройства остается очень простой. Прибор построен на восьмивыводном перепрограммируемом микроконтроллере PIC12F629. Однако с самого начала разработки предусматривалась возможность применить вместо него один из дешевых однократно программируемых микроконтроллеров PIC12C508, PIC12C509 и их модификаций. По этой причине многие возможности микроконтроллера PIC12F629 сознательно не использованы.


Напряжение, наведенное на антенну WA1, поступает на вход усилителя на составном транзисторе VT1VT2, имеющего высокое входное сопротивление и большой коэффициент усиления. Коллектор составного транзистора соединен с выводом 5 микроконтроллера DD1 — входом его внутреннего таймера/счетчика TMR0. Подключение пьезоизлучателя звука НА1 между выводами 2 и 3 микроконтроллера позволило подать на излучатель переменное напряжение, амплитудой в два раза больше напряжения питания микроконтроллера, и значительно увеличить громкость звукового сигнала. В приборе имеются также световой сигнализатор (светодиод HL1) и кнопка включения/выключения SB1. Конденсатор С2 защищает вход, к которому подключена кнопка, от наводок, предотвращая самопроизвольные изменения состояния прибора.
После нажатия на кнопку SB1 микроконтроллер выходит из "спящего" режима и подает команду включения светодиода HL1. Теперь антенну WA1 нужно вести вдоль стены, в которой, как предполагается, находится электропроводка. Микроконтроллер подсчитывает число периодов наведенного на антенну сигнала за определенный отрезок времени, т. е. измеряет его частоту.

Обнаружив наводку частотой 50 Гц, прибор в течение 0,2 с подает звуковой сигнал частотой 1 кГц, погасив на это время светодиод HL1. Затем цикл измерения—сигнализации повторяется.

Выключают искатель еще одним нажатием на кнопку SB1. После этого на всех выводах микроконтроллера будут установлены низкие логические уровни, а сам он перейдет в "спящий" режим. Для снижения энергопотребления переход в этот режим сопровождается выключением внутренних компараторов и детектора уменьшения напряжения питания микроконтроллера. В результате удалось добиться тока потребления менее 1 мкА и отказаться от обычного выключателя напряжения питания.

На последней подпрограмме следует остановиться особо. Сразу после вызова она очищает регистр таймера/счетчика TMR0, настроенного подпрограммой инициализации на подсчет импульсов, поступающих на вывод 5 микроконтроллера. Накопленный за 0,1 с после очистки результат счета подпрограмма сохраняет во временном регистре, а затем анализирует. Если он лежит в нужном интервале (частота близка к 50 Гц), подпрограмма возвращает логическое значение TRUE. Если же изменения уровня на входе таймера не зафиксированы или их частота лежит вне заданного интервала, вызывающей программе будет передано логическое значение FALSE.