Прибор для поиска скрытой проводки на PIC12F629 » Программирование устройств на PIC микроконтроллерах


Логин:
Пароль:
О сайте:

Pic.Rkniga.ru - Сайт как для начинающих, так и для опытных радиолюбителей, разрабатывающих свои устройства на популярных PIC микроконтроллерах.
Здесь можно обмениваться сообщениями на форуме, а также добавлять на сайт статьи и схемы своих устройств.

Меню сайта
Главная Форум по PIC микроконтроллерам Форум Статьи по PIC микроконтроллерам Статьи Справочная информаци по PIC микроконтроллерам Справочник Литература по PIC микроконтроллерам Литература Схемотехника Схемотехника устройств на PIC микроконтроллерах Микроконтроллеры Программаторы Все по программированию PIC микроконтроллеров Программы, Софт Программы Ссылки
Опрос

Сколько лет вы занимаетесь программированием PIC микроконтроллеров?


от 0-1 года
1-3 года
3-5 лет
5-10 лет
более 10


Последние материалы
  • Тестовая плата для отладки программ на микроконтроллере PIC18F4550
  • Кнопка On/OFF на PIC12F629.
  • Часы с синхронизацией от китайского будильника
  • ШИМ регулятор на PIC16F628A.
  • Счетчики прямого и обратного счета на PIC16F628A.
  • Таймер отключения питания для мультиметра и не только.
  • Измеритель напряжения и тока
  • Маршрутный компьютер для электровелосипеда
  • Простой двухканальный термометр на PIC16F690 и датчиках DS18B20
  • Электронная "Незабудка" для забывчивых
  • Популярные материалы
    Случайная книга
    Прибор для поиска скрытой проводки на PIC12F629
    Автор публикации: alex Просмотров: 17446 Добавлен: 5-08-2014, 09:36 Комментарии: 1

         Говорят, что ремонт – это стихийное бедствие. На него вечно не хватает ни денег, ни времени. Почти каждый, кто начинает ремонт, думает, как и на чем можно сэкономить. Поэтому ремонт в своей квартире автор решил начать самостоятельно с переделки проводки, а для этого надо было разобраться в трассировке старой внутренней проводки. Потому и был изготовлен прибор, описание которого приведено в этой статье.
         Вначале были найдены в радиолюбительской прессе и Интернете различные конструкции приборов для поиска скрытой проводки. Выбор пал на прибор, собранный на микроконтроллере компании Microchip PIC12F629, из статьи [1]. Подкупили характеристики и возможности прибора, простота схемы, доступность и невысокая цена комплектующих деталей.
         В статье [1] приведена схема, чертеж печатной платы, а также дана ссылка для скачивания исходного текста программы для МК, написанная на языке высокого уровня Си и файла прошивки.
         В [1] указано, что он отличается от большинства подобных приборов тем, что реагирует не только на наличие электромагнитного поля, но и на его частоту, а значит, «позволяет отличить поле частотой 50 Гц, характерной для электросети, от всех других полей», Значит, у этого прибора не должно быть ложных срабатываний. На самом деле он реагирует на диапазон частот от 30 до 70 Гц. Поэтому ложные срабатывания не исключены. Еще один небольшой недостаток этого прибора – это то, что при установке или замене батарей питания прибор «молчит», никак не индицируя свою готовность к работе.


         Взяв за основу саму идею, автор написал программу на ассемблере и сделал так, чтобы прибор реагировал только на электромагнитное поле частотой 50 Гц, и добавил индикацию подсоединения элементов питания в виде 3х звуковых и световых сигналов, после чего МК уходит в режим сна.
         Применение в исходной схеме прибора [1] составного транзистора из двух КТ3102 и резистора нагрузки не оправдано, так как вполне достаточно одного транзистора, а в качестве нагрузки этого транзистора можно использовать подтягивающий резистор входа GP2, подключенный к выводу 5 внутри МК. В результате окончательный вариант схемы, по которой и был собран прибор для поиска скрытой проводки, показан на рис.1.
         В моем варианте искателя проводки используется напряжение питания до 3 В, так как имевшийся в наличии корпус не позволял установить в прибор более двух гальванических элементов типоразмера ААА, но практика показала, что он вполне надежно работает и от двух таких элементов.
         Основой прибора является МК типа PIC12F629 производства компании Microchip, назначение выводов которого, с учетом введенной в него программы, приведено в таблице.



    Работа схемы
         Включение прибора и выключение его (перевод в режим SLEEP) осуществляется кнопкой SB1. Рабочий режим индицируется свечением светодиода HL1. Микроконтроллер DD1 PIC12F629 тактируется импульсами 4 МГц от внутреннего тактового генератора этого МК.
         Когда антенна прибора находится далеко от проводки, транзистор заперт, и на входе таймера/счетчика TMR0 (вывод 5 DD1) присутствует уровень лог. «1», который создается за счет наличия внутреннего подтягивающего резистора.
         На проводах скрытой в стене сетевой проводки имеется переменное напряжение 220 В/50 Гц.
         Поэтому, при поднесении прибора близко к трассе этой проводки, в антенне прибора наводится ЭДС, положительные полупериоды которой открывают VT1, и на входе таймера/счетчика TMR0 (вывод 5 DD1) формируется уровни лог. «0». Микроконтроллер ведет подсчет этих полупериодов и программно определяет их частоту. Если эта частота равна 50 Гц (или близка к этому значению), то на пьезоэлектрический излучатель (капсюль) HA1 кратковременно поступает сигнал звуковой частоты, а светодиод HL1 на это время гаснет.
         Частота звукового сигнала подобрана экспериментально. Она приблизительно равна частоте собственного резонанса пьезоэлектрического капсюля HA1 и лежит вблизи 1,5 кГц.

    Особенности программы для МК
         Как было отмечено выше, программа написана на языке ассемблера в среде программирования MPLAB IDE.
    Программа обеспечивает:
    • оптимальную конфигурацию МК DD1;
    • при подключении источника питания к прибору-искателю скрытой проводки начальную инициализацию МК и генерацию трех звуковых и световых сигналов, подтверждающих готовность прибора к использованию и последующее переключение прибора в энергосберегающий режим SLEEP (выключенное состояние с микропотреблением);
    • переход МК в рабочий режим при первом нажатии кнопки включения/выключения прибора SB1;
    • подсчет количества периодов входного сигнала, полученных за время равное 0,1 с;
    • формирование микроконтроллером сигналов звуковой и световой сигнализации наличия электромагнитного излучения с частотой 50 Гц, если количество подсчитанных периодов входного сигнала за 0,1 с равно 5;
    • переход МК в энергосберегающий режим SLEEP при повторном нажатии кнопки SB1 до следующего нажатия этой кнопки.

    Конфигурация МК задана в программе следующими мнемоническими кодами:
    1. _CPD_OFF – защита EEPROM памяти МК выключена;
    2. _CP_OFF – защита памяти программ МК выключена;
    3. _BODEN_OFF – сброс по снижению напряжения питания запрещен;
    4. _MCLRE_OFF – сброс MCLRE недоступен;
    5. _PWRTE_ON – таймер задержки включения напряжения питания PWRT включен;
    6. _WDT_OFF – сторожевой таймер выключен;
    7. _INTRC_OSC_NOCLKOUT – включен внутренний тактовый генератор 4 МГц, причем тактовый сигнал не выводится из МК.
    Пункты 4 и 7 позволяют использовать шесть из восьми выводов МК DD1 как линии порта ввода/вывода.

    В листинге программы можно выделить несколько модулей:
    • модуль инициализации;
    • подпрограмму сообщения о включении рабочего режима и перехода в режим экономии питания (sleep) до момента нажатия кнопки SB1;
    • модуль проверки наличия частоты 50 Гц;
    • модуль звуковой и световой индикации наличия частоты 50 Гц;
    • модуль включения/выключения (режим энергосбережения – SLEEP);
    • подпрограммы задержек.
    Замечу, что подпрограмм (ПП) задержек две:
    DELAY (300 мс) и DELAY_2 (744 мкс). DELAY используется для формирования интервалов времени световой и звуковой сигнализации при подключении батарей, а DELAY_2 используется при формировании сигнала звука. DELAY_1 и DELAY_3 – это вспомогательные метки в подпрограммах задержки.
    Программа, представленная в данной статье, не идеальна и может быть легко переработана читателями под собственные требования.

    Конструкция и детали
         Корпус для прибора с батарейным отсеком на два элемента типоразмера ААА был найден случайно. Печатная плата разрабатывалась в программе Sprint-Layout 5.0 под свободное место в этом корпусе. Она изготовлена из одностороннего фольгированного стеклотекстолита толщиной 1,5 мм и размерами 26х19,5 мм. Чертеж печатной платы показан на рис.2, а расположение деталей на этой плате – на рис.3.
         В качестве антенны используется отрезок многожильного монтажного провода длиной 100…200 мм, изогнутый по периметру корпуса прибора. Изменяя длину антенны, можно регулировать чувствительность прибора.


         Кнопка SB1, так называемая, тактовая типа B3W-1100, B3W-4000 или им подобная. Эти кнопки встречаются на платах старых зарубежных телевизоров и другой аппаратуры. В качестве звукоизлучателя НА1 был использован пьезоэлектрический капсюль от детской музыкальной игрушки китайского производства.
         Светодиод HL1 может быть любой маломощный диаметром 3 или 5 мм, хотя плата разрабатывалась под 3-миллиметровый диод.
         Чертеж печатной платы в формате программе Sprint-Layout 5.0, файл исходного текста программы на ассемблере и файл прошивки (НЕХфайл) размещены для скачивания на сайте издательства «Радиоаматор» [2].
         В заключение замечу, что прибор полезен также электрикам, профессионально занимающимся поиском обрывов в скрытой проводке.

    Ссылки
    1. Потапчук М. Микроконтроллерный искатель проводки // Радио. – 2006. – №2. – С.44, 45.
    2. http://www.rapublish.com.ua/ – сайт издательства «Радиоаматор».

    Автор: Иван Шевченко (RW1ZK), г. Заозерск, Мурманской обл.
    Материал взят из: Журнала РадиоАматор 2013 №10

    В архиве: исходный текст программы на ассемблере, прошивка микроконтроллера PIC12F629 и разводка печатной платы в формате LAY.

    pribordlyapoiskskprov.rar [9,47 Kb] (cкачиваний: 2231)

    Комментарии
    ser1961 4 ноября 2015 13:56 Группа: Посетители
    НЕ работало устройство .Убрал подтягивающий резистор входа GP2 в проге.ЗАРАБОТАЛО!!!

    :020000040000FA
    :10000000FF23831690008312850107309900831621
    :1000100099010E30850028308100023095000230B1
    :10002000960083120330A000051054200514A03060
    :10003000A100051685126120A10B1F282328051297
    :10004000851661201928A00B142843280514810166
    :10005000DB30A2008230A3000130A4005A20010846
    :10006000053A031D40280510A030A1000516851291
    :100070006120A10B3C2840280512851661203628F6
    :1000800085182628502085018316051183128B15AB
    :100090000B1063008B118316051583125020262840
    :1000A000851C5028542008009930A2008630A300F7
    :1000B0000230A400A20B5A28A30B5A28A40B5A28DA
    :0C00C0000800F730A200A20B6328080023
    :02400E00843FED
    :00000001FF