Детектор потопа на pic-микроконтроллере

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

  • иcкатель проводки
  • искатель скрытой проводки
  • PIC12F629

Скачав очередной номер журнала РАДИО №2, 2006, затем знакомясь с его содержанием и дойдя до с. 44, я сразу заинтересовался описанным здесь прибором. Ничего подобного ранее мне не попадалось на глаза.

Сразу зачесались руки, захотелось как можно скорее его собрать. Что я и сделал, затратив на изготовление  не больше 2-х смен.

У меня давно валялся пустой корпус от китайского радиоприёмника TOLY. Что он из себя представляет, можно увидеть на фоографии:

Хотя в исходной статье есть рисунок печатной платы, я не стал его сканировать, а воспользовался программой Layout 4.0, практически повторив исходный рисунок.

Почему я не воспользовался сканером? Потому, что он у меня выдаёт отсканировнный рисунок в формате djvU, непригдном для качественной печати фотошаблона с более жирным, чем обычно, нанесением тонера в лазерном принтере.

Хочу попутно подчеркнуть, что далеко не каждый лазерный принтер обеспечивает качественную печать фотошаблонов печатных плат. Мой HP LaserJet 1018 с этим справляется.

В итоге получилась неплохая по качеству печатная плата. Можете себе представить, что когда в помине не было ещё подобных радиолюбительских технологий, подобные по размеру платки (и даже меньше) я вырезал ножом.

Вот вид со стороны печати:

А это — со стороны деталей:

Удачно, что отсек питания вмещает 2 гальванических элемента типоразмера АА, обеспечивая суммарное напряжение 3 В. А больше и н надо: микроконтроллеры этой серии способны работать в диапазоне U питания 2,5…6 В.

В итоге получился вот такой прибор-красавец с дополнительным сервисом — встроенными часами:

Чем же меня заинтересовал данный прибор:

В отличие от множества схемных решений, попадающихся мне, все они реагируют на различные электромагнитные колебания, создаваемые радио- и ТВ станциями, сотовой связью. Автор программно реализовал, что его прибор реагирует только на частоту 50Гц. Значит, исключены ложные срабатывания.

При обнаружении наводки на выдвижную телескопическую (автор использует рамочную) антенну частоты 50Гц, прибор подаёт звуковой сигнал через пьезоэлектрический излучатель частотой 1 кГц. (для моих ушей один из самых противных) в течение времени 0,2 С, невольно заостряющий внимание.

Немаловажно, что прибор имеет так называемый “спящий” режим, когда потребляемый им ток составляет около 1 мкА, что позволяет отказаться от выключателя питания.

Заинтересовавшиеся прибором почерпнут более подробную информацию в указанном в начале топика журнале РАДИО. Там же есть коды прошивок для различных PIC-контроллеров этой серии.

Я же по этой схеме собрал не один прибор на заказ. А первенец, фотографии которого я выложил, всегда у меня под рукой. Нет-нет — и он мне оказывается нужым.

Источник: http://monemo.ru/technology/iskatel-skrytoy-provodki-na-pic12f629/

Реле уровня воды на микроконтроллере PIC16F628A

В этой статье хочу предложить радиолюбителям самостоятельно изготовить реле уровня воды на микроконтроллере PIC16F628A.

Похожая разработка ранее рассматривалась на сайте, однако там отсутствовала возможность управления насосом (или другим исполнительным механизмом) можно было только смотреть, сколько воды в емкости.

Предлагаемая мною разработка позволяет смотреть, сколько воды в емкости, а также поможет облегчить/автоматизировать процедуру наполнения емкости водой.

Реле уровня воды состоит из нескольких частей:

  1. Датчики уровня воды;
  2. Электроника, которая обрабатывает информацию, полученную от датчиков.

Повторяться не стану и если Вас заинтересует данная разработка, то об устройстве датчиков можно почитать вот эту статью – индикатор уровня воды в баке.

Что умеет делать реле уровня воды на PIC16F628A:

  1. В схему заложена возможность независимого управления двумя реле, к которым можно подключить насос/насосную станцию и электроклапан;
  2. Если нужды в одном реле нет, то можно воспользоваться прошивкой, где работа данного реле отключена. При этом из схемы можно исключить ненужные детали;
  3. Можно зрительно (по светодиодам) судить об уровне воды в баке;
  4. Когда замыкается самый верхний (по схеме) датчик, светодиод этого уровня воды начинает мерцать с частотою 2 Гц. Для привлечения внимания;
  5. Есть возможность использовать данную разработку для бережного управления насосной станцией (в которой есть реле давления и гидроаккумулятор). Функция позволяет станции включаться на 15 секунд и если есть вода в водопроводе, то срабатывает стандартное реле давления (установленное на станции), что позволяет закачивать воду в бак. Если же за 15 секунд станция «не подхватила» воду, то она отключается. Через 15 минут попытка повторяется.

Логика работы реле уровня воды довольно проста. Реле клапана (узел выделен пунктирной линией на схеме) отключается только когда емкость полностью заполнена водой (замкнут самый верхний по схеме датчик) и мерцает светодиод HL1. Все остальное время – данное реле включено. Это сделано для того чтобы вода могла самотёком заполнять емкость.

Данная функция отлично подходит для подключения системы к центральному водоснабжению. Если же воду необходимо закачивать с колодца, то необходимости в клапане нет. В этом случаи используем соответствующую прошивку и исключаем из схемы все детали выделенные пунктирной линией.

Если воды в баке нет совсем или же замкнут только первый (нижний по схеме) датчик, то включается реле насоса, насос начинает закачивать воду в емкость. При замыкании датчиков включаются светодиоды соответствующего уровня воды. Когда замкнется самый верхний датчик, насос перестанет закачивать воду в емкость.

Следующее включение насоса произойдет только когда уровень воды в баке опуститься до самого нижнего датчика. Про функцию бережного использования насосной станции уже писал.

На рисунке 1 можно увидеть эл.клапан. В моем случае использовался клапан нормально-замкнутый с катушкой, рассчитанной на 220В. Сразу замечу, что катушка очень сильно греется.

Рисунок 1

Лучше использовать клапан с катушкой, рассчитанной на более низкое напряжение. Насосная станция показана на рисунке 2.

Рисунок 2

Принципиальная схема реле уровня воды на микроконтроллере PIC16F628A показана на рисунке 3.

Рисунок 3 – Принципиальная схема реле уровня воды на микроконтроллере PIC16F628A.

Рассмотрим узлы схемы. В качестве логики используется микроконтроллер PIC16F628A фирмы Microchip, по необходимости прошивку можно адаптировать и для микроконтроллеров PIC16F648A, PIC16F84.

Важно! Для понижения напряжения использовать понижающий трансформатор, который обеспечит необходимую гальваническую развязку с опасным сетевым напряжением.

На диодном мосте VD1, интегральном стабилизаторе DA1 и конденсаторах C9, C10 собран выпрямитель напряжения.

Конденсатор С3 необходимо ставить в непосредственной близости от выводов питания микроконтроллера DD1.

Цепочка R2 и C4 необходима для надежного сброса микроконтроллера.

Узел на ZQ1, C1, C2 необходим для запуска внутреннего тактового генератора микроконтроллера.

Резисторы R4-R7 необходимы для «подтяжки» выводов микроконтроллера к +5В питания.

Резисторы R8-R11 и конденсаторы С5-С8 необходимы для подавления помех, которые могут возникать на проводах подключения датчиков.

Светодиоды подключаются к разъемам XP1 – XP4. XP4 – нижний уровень воды, XP1 – верхний уровень воды. Со всем перечнем деталей можно ознакомиться, посмотрев в таблицу 1.

Таблица 1 – Перечень компонентов для самостоятельного изготовления реле уровня воды на микроконтроллере PIC16F628А.
Позиционное обозначение Наименование Аналог/замена
С1, С2 Конденсатор керамический – 15пФх50В SMD типоразмер 0805
С3-С8 Конденсатор керамический – 0,1мкФх50В SMD типоразмер 0805
С9 Конденсатор электролитический – 470мкФх25В
С10 Конденсатор электролитический – 1000мкФх10В
С11,С12 Конденсатор пленочный высоковольтный – 0,01мкФх630В
DA1 Интегральный стабилизатор L7805
DD1 Микроконтроллер PIC16F628A PIC16F648A, PIC16F84
HL1-HL4 Светодиод 3мм
К1, К2 Реле JZC-4123 JQC-3F
R1, R3, R8-R11, R14, R15 Резистор SMD 0805 5,1 Ом
R2 Резистор SMD 0805 1 кОм
R4-R7 Резистор SMD 0805 510 кОм
R12, R13 Резистор SMD 0805 5,1 кОм
R16-R19 Резистор SMD 0805 180 Ом
R20-R21 Резистор 0,5 Вт 39 Ом
VD1 Диодный мост 1А х 1000В DB107
VD2, VD3 Диод выпрямительный 1N4007
VT1,VT2 Транзистор BC846 SOT23
XP1-XP6 Штекер платный
XT1-XT2 Клеммник на 2 контакта.
XT3-XT5 Клеммник на 3 контакта.
ZQ1 Кварц 4МГц типаразмер HC49

Попробовать работу реле уровня воды можно на упрощенной модели, построенной в протеусе. Рисунок 4.

Рисунок 4

Печатная плата показана на рисунках 5-7

Важно! Рисунки плат приводятся для ознакомления. Платы не в масштабе. Для изготовления плат необходимо использовать заготовки из архива.

Рисунок 5 – Плата печатная реле уровня воды на микроконтроллере PIC16F628A (верх)

Рисунок 6 – Плата печатная реле уровня воды на микроконтроллере PIC16F628A (низ детали).

Рисунок 7 – Плата печатная реле уровня воды на микроконтроллере PIC16F628A (низ).

Рабочая программа для PIC-микроконтроллера была написана на языке ассемблер и отлажена в программе MPLab 8.8

Реле уровня воды, собранное из заведомо рабочих деталей, начинает работать сразу и в наладке не нуждается.

Видео не по теме

Подведем небольшой итог. В статье представлена довольно подробная инструкция по самостоятельному изготовлению реле уровня воды на микроконтроллере PIC16F628A.

Само реле не содержит дефицитных деталей, при правильной сборке в наладке не нуждается. Прошивка предоставляется без каких-либо ограничений. Реализована функция бережного использования насосной станции. Реле способно управлять эл.

клапаном и насосом.

Повторили изобретение? Присылайте фото на media собака pichobby.lg.ua.

Файлы к статье:

Реле уровня воды на микроконтроллере PIC16F628A(статья)

Архив с проектом

Источник: https://pichobby.lg.ua/shemu/raznoe/item/43-rele-urovnya-na-pic16f628a.html

:: ДАТЧИК ПРОТЕЧКИ ВОДЫ ::

Источник: http://samodelnie.ru/publ/samodelnye_pribory/datchik_protechki_vody/5-1-0-200

Осваиваем простейший микроконтроллер PIC. Часть 1

Выбор микроконтроллера обычно осуществляется под необходимые задачи. Для изучения хорошо подойдет популярный МК с минимальным набором периферии: PIC16F628A.

Читайте также:  Функциональный генератор звукового диапазона

Первым делом необходимо скачать документацию по выбранному микроконтроллеру. Достаточно зайти на сайт производителя и скачать Datasheet.

На первых страницах перечислены основные характеристики МК (русское описание).

Основные моменты, которые нам понадобятся:

  • микроконтроллер содержит внутренний генератор на 4 MHz, так же можно подключить внешний кварц частотой до 20 MHz
  • 16 ног микроконтроллера можно использовать как цифровые входывыходы
  • есть 2 аналоговых компаратора
  • 3 таймера
  • CCP модуль
  • USART модуль
  • 128 байт энергонезависимой памяти EEPROM

Схема расположения выводов:Vdd — питание. Vss — земля. Это минимум, необходимый для работы МК.Остаются доступными 16 ног МК. Не сложно посчитать, что использование каждой ноги каким-либо модулем уменьшает максимальное число используемых цифровых портов.

Компилятор

Как я уже писал в предыдущих статьях, самым простым и легким я посчитал компилятор JAL с IDE JALEdit.

Качаем JALPack, устанавливаем.

В этом паке содержаться все необходимые библиотеки, а так же примеры их использования. Запускаем JALEdit. Открываем пример програмы для нашего микроконтроллера: 16f628a_blink.jal, дабы не портить исходник, сразу сохраняем ее в новый файл, к примеру, 16f628a_test.jal.

Весь код можно разделить на 4 блока:

  • выбор МК и его конфигурация
  • объявление переменных, процедур, функций
  • выполнение настроек и расчетов до основного цикла
  • бесконечный цикл основных действий МК

Нажав F9 (или соответсвующую кнопку) программа скомпилируется в готовую прошивку, при этом будет видно сколько ресурсов МК будет задействовано: Если прочитать комментарии, то станет ясно, что данная программа рассчитана на использование внешнего кварца 20MHz. Так как у нас его пока нет, разберемся с конфигурацией и перепишем программу на использование внутреннего генератора.

Конфигурация

В разных микрокотнролерах существуют различные наборы конфигурационных битов. Узнать о назначении каждого бита можно в даташите (стр. 97). В подключенной библиотеке каждому биту и каждому его значению присвоена читабельная переменная, остается только выбрать необходимые нам параметры.

  • OSC — конфигурация источника тактирования может принимать 8 различных значений, 4 из которых нам могут понадобиться
    1. INTOSC_NOCLKOUT — внутренний генератор (4M Hz)
    2. HS — внешний высокочастотный кварц (8-20 MHz)
    3. XT = внешний кварц (200 kHz — 4 MHz)
    4. LP — внешний низкочастотный кварц (до 200 kHz)
  • WDT — сторожевой таймер. Основная работа этого таймера в том, что бы перезагрузить микроконтроллер когда он дотикает до конца. Что бы перезагрузки не происходило, его нужно своевременно обнулять.Таким образом при сбое счетчик таймера перестанет обнуляться, что приведет к сбросу МК. Иногда бывает удобно, но в данный момент нам это не потребуется.
  • PWRTE — очередной таймер.При активации он будет сбрасывать МК до тех пор, пока питание не поднимется до нужного уровня.
  • BROWNOUT — сброс МК при падении питания ниже нормы.
  • MCLR — активация возможности внешнего сброса МК. При включении функции МК будет в постоянном резете до тех пор, пока на ноге MCLR (pin 4) не будет положительного напряжения. Для сброса МК достаточно установить кнопку, замыкающую pin 4 на землю.
  • LVP — активация возможности программирования при низком напряжении. При активации один цифровой вход переключится в режим LVP (pin 10). Если подать 5В на эту ногу, то МК перейдет в режим программирования. Для нормальной работы МК требуется держать на этой ноге 0В (подсоединить к земле).Мы будем использовать программатор, использующий повышенное напряжение, потому LVP активировать не требуется.
  • CPD — защита EEPROM от считывания программатором.
  • CP — защита FLASH (прошивки) от считывания программатором.

Изменим конфигурацию под себя:

Моргаем светодиодом по нажатию кнопки

Модифицируем программу так, что бы светодиод моргал только тогда, когда зажата кнопка. Решив данную задачу мы научимся работать с цифровыми портами как в режиме входа, так и в режиме выхода.

Цифровой выход

Выберем еще неиспользуемую ногу МК. Возьмем, к примеру, RB5(pin 11). Данная нога не имеет дополнительных функций, потому она нам более нигде не понадобится. В режиме цифрового выхода МК может притягивать к ноге либо питание, либо землю. Подключать нагрузку можно как к плюсу, так и к минусу.

Разница будет лишь в том, когда и в какую сторону потечет ток.В первом случае ток потечет от МК при установке единицы, а во втором — к МК при установке нуля. Дабы светодиод зажигался от логической единицы, остановимся на первом варианте.

Для ограничения тока через ногу (максимально допустимо 25 мА на цифровой вход или 200 мА на все порты) установлен токоограничительный резистор. По простейшей формуле высчитываем минимальное значение в 125 Ом. Но так как предел нам не нужен, возьмем резистор в 500 Ом (а точнее ближайший подходящий).

Для подключения более мощной нагрузки можно использовать транзисторы в различных вариантах.

Цифровой вход

Возьмем вторую неиспользуемую нигде ногу — RB4 (pin 10, указанная в распиновке функция PGM отностися к LVP, который мы отключили). В режиме цифрового входа микроконтроллер может считывать два состояния: наличие или отсутствие напряжения.

Значит нам необходимо подключить кнопку так, что бы в одном состоянии на ногу шел плюс, а во втором состоянии — к ноге подключалась земля.В данном варианте резистор используется в качестве подтяжки (Pull-up). Обычно для подтяжки применяют резистор номиналом 10 кОм.

Можно подключать не только кнопку, главное помнить о ограничении тока через МК.

Кнопка сброса

Пока не забыли, что мы активировали внешний сброс, добавим аналогичную кнопку на ногу MCLR (pin 4).После нажатия такой кнопки МК начнет выполнение программы с нуля.

Прошивка

Присваиваем нашему светодиоду и кнопке переменные:
Теперь присваивая переменной led значения 1 или 0 (on или off, true или false, другие алиасы..

) мы будем подтягивать к нужной ноге МК или плюс, или минус, тем самым зажигая и гася светодиод, а при чтении переменной button мы будем получать 1 если кнопка не нажата и 0 если кнопка нажата.

Теперь напишем необходимые нам действия в бесконечном цикле (эти действия будут выполняться постоянно. При отсутствии бесконечного цикла МК зависнет): Задержка считается просто: частота генератора у нас 4MHz. Рабочая частота в 4 раза меньше: 1 MHz. Или 1 такт = 1 мкс. 500.

000 мкс = 0,5 с. Компилируем прошивку: Теперь нам необходимо записать эту прошивку в МК, собрать устройство согласно схеме и проверить, что у нас все получилось как надо.

Программатор

Все таже схема:Смотрим на распиновку:

  • PGD — pin 13
  • PGC — pin 12
  • MCLR(Vpp) — pin 4
  • Vdd — pin 14
  • Vss — pin 5

Паяем…

Подключаем к компьютеру.

Качаем и запускаем WinPic800.

Идем в Settings->Hardware, выбираем JDM и номер порта, на котором висит программатор

Нажимаем Hardware Test, затем Detect Device

Открываем нашу прошивку pic628a_test.hex

На вкладке Setting можно проверить, что конфигурационные биты выставлены верно, при желании тут же их можно изменить

Program All, затем Verify All

Если ошибок не возникло, продолжаем паять.

Результат

Финальная схема:Кнопку на MCLR паять можно по желанию, но подтяжка обязательна.Результат работы можно увидеть на видео.Итак, у нас получилось самое простое устройство на микроконтроллере: мигалка светодиодом.

Теперь нам необходимо научиться пользоваться всей оставшейся периферией, но об этом в следущей статье.

Источник: https://habr.com/post/97795/

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

Искатель скрытой проводки на микроконтроллере PIC12F629,  описываемый в данной статье, обеспечивает надежное обнаружение электрических проводов в нутрии стен.

Это одна из разновидностей детектора скрытой проводки.

 Он  будет востребован не только в домашнем хозяйстве, но и всем, кому по специфики работы постоянно доводится отыскивать скрытые электрические провода внутри стен.

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

Существенный минус подобных устройств – у них повышенная чувствительность, как электромагнитному излучению проводов, так и к посторонним помехам, таким как радиоволны телетрансляторов или сотовых станций. Это, как правило, создает неверное срабатывание и крайне затрудняет поиск.

Особенность данного искателя для обнаружения скрытой проводки в том, что он не только обнаруживает электромагнитное поле, но и определяет частоту колебания электрического тока. Это помогает избежать ошибочных срабатываний на другие источники излучений.

Выделение одной частоты, а именно 50 Гц, и обработка ее осуществляется при помощи микроконтроллера DD1. В результате чего вся схема прибора остается довольно простой. Сигнал, уловленный антенной, идет усилитель, построенный на транзисторах VT1 и VT2. Данный усилитель обладает большим коэффициентом усиления и входным сопротивлением.

Составной транзистор VT1-VT2 коллектором связан входом таймера TMR0 (вывод  5) микроконтроллера PIC12F629. Для получения максимальной громкости от пьезоизлучателя его выводы подключены к выводам 2 и 3 микроконтроллера, за счет этого амплитуда звука повышается в два раза.

Так же в устройстве есть кнопка включения и светодиод HL1 для световой индикации. Конденсатор С2 предназначен для защиты входа от наводок, предотвращая ложные срабатывания. Как только кнопка SA1 нажата, микроконтроллер DD1 выходит из “спящего” состояния  и вслед за этим загорается светодиод HL1, сигнализируя о готовности прибора.

Микроконтроллер считает количество периодов пойманного на антенну переменного напряжения за установленный промежуток времени, то есть вычисляет его частоту.

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

 Отключается прибор для обнаружения скрытой проводки так же одним нажатием на кнопку SA1. Остается только запрограммировать микроконтроллер PIC12F629.

Для уменьшения энергопотребления переключение в данный режим связан с  отключением внутренних компараторов и детектора снижения напряжения питания микроконтроллера.

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

Чувствительность прибора можно немного изменить, меняя длину этой антенны.

Скачать прошивку и исходник (1,1 Mb, скачано: 2 392)

Источник: http://www.joyta.ru/4020-pribor-dlya-obnaruzheniya-skrytoj-provodki-na-mikrokontrollere/

Контроллер для аквариума своими руками на микроконтроллере PIC16F677

Схема данного контроллера для аквариума обеспечивает контроль температуры воды и управление освещением, по заданному временному графику. В контроллере аквариума предусмотрено также и ручное управление (включение/выключение) фильтра и компрессора.

Это особенно полезно во время чистки аквариума, не нужно выдергивать шнур фильтра из розетки, а можно просто нажать кнопку на контроллере.

 Описание аквариумного контроллера

Аквариумный контроллер построен на микроконтроллере PIC16F677. Прошивка, скорее всего, должна подойти и для микроконтроллеров более высокого уровня из этой группы. Работа схемы была проверена и на микроконтроллере PIC16F690. Измерение температуры обеспечивает цифровой температурный датчик DS18B20 с разрешением 0,5 гр. Цельсия.

Отсчет времени организован с помощью микросхемы DS1302 – контроллера реального времени. В случае отключения электроэнергии, к 8 ножке DS1302 (вывод резервного питания) подключен конденсатор C8. Его емкости хватает более чем на 3 дня для того чтобы не произошел сброс времени.

Все управление осуществляется четырьмя кнопками: «СВЕТ» (S) «ОБОГРЕВ» (Т) «КОМПРЕССОР» (V) и «ФИЛЬТР» (F). Короткое нажатие будет включать/выключать соответствующий канал.

Возможно переключение между ручным и автоматическим режимом управления. Это относится только к освещению и обогреву. Включение/ выключение компрессора и фильтра осуществляется только в ручном режиме.

Обогрев в автоматическом режиме удерживает необходимую заданную температуру воды в аквариуме.

Управление освещением: первое нажатие включает свет, второе отключает, треть переводит управление освещением в автоматический режим. Для установки времени включения/выключения света, необходимо нажать кнопку (S) и удерживать ее более 4 секунд.

Сначала устанавливается время включения. Короткими нажатиями кнопки (S) происходит переход от одного разряда индикатора к другому, значение каждого можно менять кнопками V (+) и F (-).

Далее, продолжительным нажатием кнопки (S) значение сохраняется и происходит переход в настройки времени выключения. Здесь порядок настройки такой же.

Еще одним долгим нажатием происходит переход в исходное состояние.

Установка температуры практически такое же. Продолжительное нажатие кнопки (Т) позволяет перейти в режим установки необходимой температуры воды в аквариуме. Изменение величины с шагом 0,5 гр. Цельсия осуществляется кнопками V (+) и F (-). После установки продолжительное нажатие кнопки (Т) переводит контроллер в основной режим.

Установка значения реального времени осуществляется одновременным и продолжительным нажатием двух кнопок (S) и (T). Далее все то же самое, как и при настройке освещения. Все значения хранятся в EEPROM, и при отключении питания нет необходимости все заново настраивать.

Индикация состояния каждого канала – графическая. Каждый канал обозначается своей буквой: «СВЕТ» (S) «ОБОГРЕВ» (Т) «КОМПРЕССОР» (V) и «ФИЛЬТР» (F). Если буква на экране заглавная, то это означает, что канал включен, если же прописная, то выключен.

Еще под каждым из выше перечисленных каналов прописывается либо буква А (автоматический режим — automatic) либо буква М (ручной режим – manual). Так же на индикатор выводится дата, время и фактическая температура воды в аквариуме.

Для удобства силовая часть контроллера сделана отдельно и подключена к основной плате TP-проводом с разъемом RJ-45. Трансформатор для блока питания подойдет любой с выходом на вторичной обмотке — 9 В и токе не менее 400 мА.

Скачать прошивку (скачено: 436)

http://www.tosi.cz/elektro/akvarium.html

Источник: http://fornk.ru/1456-kontroller-dlya-akvariuma-svoimi-rukami-na-mikrokontrollere-pic16f677/

Цифровой металлоискатель на avr микроконтроллере

Источник: http://radiolubitel.moy.su/blog/cifrovoj_metalloiskatel_na_avr_mikrokontrollere/2014-12-21-158

PIC-микроконтроллеры, где могут пригодиться радиолюбителю?

Среди множества семейств микроконтроллеров от разных производителей радиолюбители полюбили два – AVR и PIC. Микроконтроллеры PIC производятся компанией Microchip.

Энтузиастами и любителями в области электроники часто используются как для сборки готовых проектов, так и для разработки своих малых автоматизированных систем. Для примера многие встраиваемые вольт-амперметры из Китая построены на базе PIC-контроллеров.

Пожалуй, среди начинающих очень распространены микроконтроллеры пик младших моделей, а именно семейств:

Эти микроконтроллеры 8-битные, при этом различают две архитектуры:

  1. Baseline с 10-битными инcтрукциями с 35-ю ассемблерными командами.
  2. Mid-range с 14-битными инструкциями и 35 или 49 команд на языке ассемблера в зависимости от конкретной модели.

В разработках радиолюбителей очень часто встречается модель 16f628. Конфигурация этого pic-микроконтроллера следующая, в нём есть:

  • встроенный тактовый генератор может быть настроен на частоту 4 или 8 МГц;
  • 18 ножек – портов, из которых 16 может использоваться для ввода-вывода данных, 2 задействованы под питание;
  • возможность использовать кварцевый резонатор для работы на тактовых частотах до 20 МГц (тогда задействуют еще 2 ноги для него);
  • буква F в маркировке говорит о памяти типа Flash, объёмом на 2048 слов;
  • гарвардская архитектура, с 14-битными инструкциями, всего их 35 штук;
  • длина машинного цикла 4 такта (1 действие выполняется за 4 такта кварцевого резонатор или внутреннего генератора);
  • 224 байта ОЗУ;
  • 128 байт EEPROM;
  • USART – последовательный порт;
  • внутренний источник опорного напряжения;
  • питается от 3.3 до 5 В.

PIC16 имеют низкую цену и достаточно развитую аналоговую периферию, что и обеспечивает их популярность. При этом модели могут выпускаться в корпусах с количеством ножек от 18 до 40. Это позволяет делать более сложные системы, чем возможно на вышеприведенном примере.

Существуют и более мощные модели, например, 16-битные:

  1. PIC24x
  2. DsPIC30/33F – для цифровой обработки сигналов.

Они способны выполнять 16 MIPS (миллионов итераций в секунду), что обеспечивает весьма высокое быстродействие вашей системы при 2 при двухтактном машинном цикле, такая скорость обеспечивается частотой в 32 МГц. 40 MIPS достигается при 80 МГц соответственно.

32-битные микроконтроллеры PIC32MX имеют большую производительность и превосходящий объём памяти, если сравнивать с 16-битными моделями, и работают на частоте в 80 МГц.

Сфера применения PIC-микроконтроллеров

Как уже было сказано, семейство PIC16 очень любят радиолюбители. К тому же оно хорошо описано в большом количестве литературы. По количеству учебников с семейством PIC, на момент написания статьи, может посоревноваться только семейство AVR.

Давайте рассмотрим несколько схем с применением микроконтроллеров семейства PIC.

Таймер для управления нагрузкой на PIC16f628

Простейшая автоматика на микроконтроллерах PIC – это стихия 8-битного семейства. Их объём памяти не позволяет делать сложных систем, но отлично подходит для самостоятельного выполнения пары поставленных задач.

Так и эта схема трёхканального таймера на Pic16f628, поможет вам управлять нагрузкой любой мощности. Мощность нагрузки зависит только от установленного реле/пускателя/контактора и пропускной способности электросети.

Настраивается прибор с помощью набора из 4-х кнопок SB1-SB4, на HG1 выводятся параметры, это дисплей типа LCD на 2 строки по 16 символов. В схеме используется внешний кварцевый резонатор на 4 МГц, а KV1 – это реле, с питанием катушки в 24 В, вы можете использовать любое реле, лишь бы оно подходило по напряжению катушки к вашему БП. МК питается от 5 В стабилизированного источника.

Вы можете использовать от 1 до 3 каналов в управлении нагрузкой, стоит только продублировать схему, добавив реле к выводам RA3, RA4 микроконтроллера.

Часы-будильник на МК PIC16f628A

Такие часы, согласно заявлениям разработчика, получились весьма точными, их погрешность весьма мала – порядка 30 секунд в год.

С незначительными переделками вы можете использовать любые 7-мисегментные индикаторы. Питаются от блока питания на 5В, при этом, при отключении от сети продолжают работать от батареек, что вы можете увидеть в правом верхнем углу схемы.

Регулятор мощности паяльника на PIC16f628A

У начинающих радиолюбителей не всегда есть возможность купить паяльную станцию. Но они могут собрать её сами. На схеме ниже представлен регулируемый блок питания на PIC16f628, для работы паяльника. В основу схемы вложено фазоимпульсное управление. Это, по сути, доработанный и осовремененный аналог классического тиристорного регулятора, но с микроконтроллерным управлением.

Схема довольно простая, в нижней части реализация светодиодной индикации. Главный силовой элемент – тиристор BT139, а MOC3041 – нужен для гальванической развязки МК от сети и управления тиристором с помощью логического уровня в 5 В.

Как прошивать микроконтроллер? С чего начать изучение?

Официальный программатор для семейств PIC – это PICkit V3, является наиболее распространенным. Программный код загружается в чип с помощью ПО, которое есть на диске, он идёт в комплекте с программатором. IDE имеет название MPlab.

Является официальной средой разработки от производителя, между прочим, бесплатной. Для изучения устройств есть отличная книга на русском языке «Pic-микроконтроллеры. Полное руководство» автор её Сид Катцен.

Кроме этой книги вы найдете огромное количество видео-уроков и текстовых материалов, которые вам помогут.

Применение микроконтроллеров PIC весьма широко, многие радиолюбители собирают металлоискатели и счетчики Гейгера на этих МК.

Больше интересного ↓

Источник: https://ArduinoPlus.ru/pic-mikrokontrollery-gde-mogut-prigoditsya/

Программирование микроконтроллеров PIC. Часть 2. Что такое контроллер и как с ним работать

Итак, вы прочитали предыдущую статью и установили MPLAB. Что дальше? Дальше давайте немного поговорим о том, что вообще представляет собой pic-контроллер, как он устроен и как с ним работать.

Принципы построения у всех pic-контроллеров одинаковые и принципы работы со всеми контроллерами тоже одинаковы, но в этой статье в качестве конкретных примеров будут использоваться примеры для PIC16F628A.

Контроллер можно представить как совокупность некоторого количества различных устройств, заключённых в одном корпусе, работой которых управляет одно главное устройство. Кроме этого, контроллер имеет память программ и память данных.

Главное устройство называется ядром (оно тоже состоит из разных частей: АЛУ, детектор инструкций, стек и т.д., но нам для программирования это пока не важно). Главным оно является потому, что только оно может читать зашитые в память программ элементарные команды и, в зависимости от этих команд, раздавать указания остальным устройствам, что нужно делать.

Одним из важнейших компонентов ядра является АЛУ — арифметико-логическое устройство. В микроконтроллерах PIC оно имеет один рабочий регистр W и может выполнять математические и логические операции с любым регистром памяти данных. То, что АЛУ может работать с любым регистром памяти данных — очень важно, в дальнейшем будет рассказано почему.

Все остальные устройства — это периферийные модули. Непосредственно друг с другом они не взаимодействуют и предназначены для выполнения каких-либо конкретных задач.

Например, контроллер PIC16F628A имеет такой набор периферийных модулей: 2 порта ввода-вывода (по 8 независимых цифровых каналов), модуль аналоговых компараторов (2 компаратора), 3 таймера, модуль сравнения/захвата/ШИМ и модуль USART.

Разные контроллеры могут отличаться набором периферийных модулей (соответственно, могут решать разные задачи), но все контроллеры одной серии имеют одно и тоже ядро.

Память контроллера делится на память программ и память данных.

Память программ в контроллерах с буквой F — флешовая, соответственно, она может быть достаточно большое количество раз перезаписана.

Здесь основным интересным фактом является то, что размер этой памяти не кратен 8-ми битам, как обычно, а имеет разрядность 14 бит. Такой размер в данном случае называется словом.

Все команды контроллера 14-ти разрядные, то есть занимают одно слово памяти программ. Доступ к памяти программ осуществляется по отдельной 14-ти разрядной шине.

Те, кто писал программы для компьютера могут запутаться, т.к. в компьютере слово — это 16 бит, так что будьте внимательны. Когда говорят, что объём памяти программ, например, PIC16F628A равен 1 Килобайту, то это не означает, что он равен 1024 байта по 8 бит. На самом деле он равен 1024-м словам по 14 бит.

Память данных, в свою очередь, делится на EEPROM и ОЗУ.

EEPROM — это энергонезависимая память, которая может использоваться для хранения любой пользовательской информации. Ячейки этой памяти имеют стандартный размер — 8 бит. Тут всё понятно.

ОЗУ — это оперативная память, которая используется только во время выполнения программы. При отключении питания, информация, хранившаяся в этой памяти, пропадает. Эта память, так же как и EEPROM, 8-ми битная. На этом типе памяти давайте остановимся поподробнее:

ОЗУ представляет собой набор регистров, разделённый на блоки по 128 байт, называемые банками. В разных контроллерах может быть разное количество банков (например, в PIC12 их 2, а в PIC16 — 4).

В каждом банке по первым 32-м адресам (с 0000h по 0020h) расположены служебные регистры. Их называют регистрами специального назначения (SFR — special function register). Через эти регистры, собственно, и осуществляется управление работой всех составных частей контроллера (управление различными функциями как самого ядра, так и периферийных модулей).

Каждому устройству выделен один или несколько регистров специального назначения. Увидев то или иное сочетание битов, выставленное в соответствующем регистре ядром (помните, АЛУ может оперировать с любым регистром), устройство понимает, что ему нужно делать. Таким же образом, изменяя специальные биты в другом своём регистре, устройство докладывает о результатах своей работы.

То есть, то, какие биты и в каком регистре специального назначения нужно установить для получения желаемого результата (включение прерываний, установка высокого или низкого уровня на одном из входов и т.д.

), определяет программист — пишет в программе команды, которые устанавливают или сбрасывают нужные биты в соответствующем регистре специального назначения.

А непосредственно выполняет эти команды (непосредственно устанавливает нужные биты в нужных регистрах) — ядро контроллера с помощью АЛУ.

При обращении к регистрам используется не абсолютный адрес ячейки памяти, а смещение относительно начального адреса того банка, в котором этот регистр находится.

Если регистр находится в нулевом банке, то это смещение будет совпадать с абсолютным адресом, но если регистр находится в любом другом банке, то такого совпадения не будет.

Для того, чтобы определить смещение относительно начала банка — нужно от абсолютного адреса регистра отнять адрес начала банка.

Например, регистр TRISA расположен по адресу 85h. Этот адрес находится в первом банке — адрес начала банка 80h. То есть, для обращения к этому регистру в программе нужно сначала выбрать первый банк, а потом обращаться к регистру по адресу 85h-80h=05h.

Выбор банка, так же, как и любое другое управление, заключается в установке в специальном регистре нужных битов. В контроллере PIC16F628A текущий выбранный банк определяется сочетанием битов RP1, RP2 в регистре STATUS.

Некоторые регистры имеют сквозную адресацию и доступны из всех банков (например, регистр STATUS доступен по смещению 03h в любом банке).

Кроме регистров специального назначения, существуют ещё регистры общего назначения — это просто пустые ячейки памяти, которые могут использоваться программистом для хранения в оперативной памяти какой-то пользовательской информации (например, в них можно хранить значения каких-то переменных).

Полный список всех регистров (с адресами и банками, в которых они расположены) называется картой памяти.

Карта памяти, описание всех регистров специального назначения и порядок работы с ними, а также описание всех поддерживаемых ядром инструкций приводятся в документации на контроллер.

Источник: http://radiohlam.ru/?p=964

Программирование устройств на PIC микроконтроллерах

  • 07/27/14–21:26: Термометр на DS18B20
  •      Осмелюсь предложить для повторения простой термометр на датчике DS18B20 (DS18S20) и PIC16F630.

         Сделано для применения в климатической приточной системе на другом МК, а данная схема явилась побочным продуктом разработки. Особенностью является высокая скорость измерений (период отсчетов около 110 мс). Диапазон обычен: -55…

    +125 , разрешающая способность 1 градус, точность соответствует точности датчика – 0,5 градуса (в диапазоне -10…+85).

  • 07/27/14–21:38: Переключатели на микроконтроллере
  •      Электрические цепи зачастую переключают с помощью обычных механических переключателей. Несомненные достоинства такого решения — простота, достаточная надёжность, невысокая стоимость.

    Однако механическим переключателям свойственны и некоторые недостатки. Их контакты и подвижные элементы подвержены износу, а если возникает необходимость переключать несколько цепей в определённой последовательности, конструкция переключателя существенно усложняется.

         Из всего многообразия механических переключателей наиболее проста по конструкции и надёжна обычная кнопка без фиксации.

    Такие кнопки и применены в качестве управляющих в описываемых ниже конструкциях, а логика переключения при последовательных нажатиях на эти кнопки заложена в программу микроконтроллера.

  • 07/27/14–21:41: Велокомпьютер на микроконтроллере PIC16F628A
  •      По просьбе сына оборудовать его велосипед спидометром автор изготовил этот прибор и заодно наделил его дополнительными функциями, превратив в полноценный велокомпьютер.

    Базой для разработки послужил сравнительно недорогой и широко распространённый микроконтроллер PIC16F628A, индикатор был выбран семиэлементный светодиодный на четыре десятичных разряда. С его помощью удалось вывести и все нужные для пояснительных надписей буквы латинского алфавита.

    Велокомпьютер имеет небольшие размеры и автономное питание от батареи гальванических элементов или аккумуляторов, энергии которых при средней интенсивности поездок хватает на несколько месяцев работы.

         Почти все аналогичные приборы, описания которых встречаются в Интернете, имеют ЖК-индикаторы на одну-две строки по 8—16 символов в каждой.

    Такие индикаторы, наряду с несомненными достоинствами (возможность вывода не только цифр, но и букв, отсутствие необходимости постоянно обновлять информацию на экране, малое энергопотребление, относительно небольшое число линий управления), имеют и существенные недостатки. К ним можно отнести невысокую ударопрочность, небольшой размер символов, деградацию при длительном воздействии прямых солнечных лучей, недостаточно широкий угол обзора, относительно высокую стоимость.

  • 07/28/14–21:22: Зарядное устройство из компьютерного блока питания
  •      В статье приведена схема и методика переделки блока питания (БП) от отслужившего свой век ПК в мощное устройство для зарядки свинцово-кислотных аккумуляторных батарей, практически любой емкости, зарядным током до 12 А. Работа по переделке БП проста и может быть проведена даже начинающим радиолюбителем, а само устройство получается недорогим и удобным в использовании.

  • 07/28/14–21:25: Простой встраиваемый ампервольтметр на PIC16F676
  •      В статье представлена конструкция цифрового амперметра-вольтметра, предназначенного для совместной работы с универсальной платой управления лабораторными блоками питания. Его особенностью является отсутствие собственного датчика тока.

    При измерении тока используется датчик тока платы управления. Рассмотренная конструкция идеально подходит для переделки компьютерных блоков питания (БП) в лабораторные источники питания постоянного тока.

         Переделка компьютерных блоков питания в лабораторные оказалась весьма востребована. В поисках вариантов схемы управления и защиты автор обнаружил универсальную плату управления, описанную в [1].

    Схема платы управления оказалась очень простой и эффективной, удовлетворяющей всем требованиям управления и защиты мощного лабораторного источника питания постоянного тока.

  • 07/28/14–21:37: Контроллер RGB светодиодной ленты
  •      Описываемое устройство позволяет произвольным образом регулировать цвет свечения ленты со светодиодами трёх базовых цветов — красного (R), зелёного (G) и синего (B).

    Оно рассчитано на работу с лентой с объединённым анодным выводом всех цветовых компонент, но может быть приспособлено и к лентам со светодиодами, включёнными в другой полярности.

         Установка нужного цвета свечения RGB светодиодной ленты производится изменением яркости образующих его компонент R, G и В за счёт варьирования длительности импульсов, питающих соответствующие светодиоды, при постоянной частоте их повторения (76 Гц).

    Для каждой компоненты предусмотрено по 256 ступеней изменения длительности импульсов и, следовательно, её яркости. Имеется возможность запомнить сочетания яркости компонент RGB для трёх оттенков цвета свечения ленты и быстро устанавливать эти оттенки простыми нажатиями на предназначенные для этого кнопки.

  • 07/29/14–21:16: Автоматический блок управления стеклоочистителем
  •      Ниже приводится вариант блока управления стеклоочистителем. Этот блок управляет работой щеток и одновременно включением насоса омывателя ветрового стекла.

         Особенность предлагаемого читателям микроконтроллерного устройства — отсутствие в нём переменного резистора или переключателя для регулирования длительности паузы между взмахами щёток стеклоочистителя.

    Программа, загруженная в микроконтроллер, следит за действиями водителя и подстраивает под них периодичность включения стеклоочистителя, повышая комфортность и безопасность управления автомобилем.

  • 07/29/14–21:20: Программатор-отладчик PicMon
  •      Предлагаемое простое устройство и обслуживающие его компьютерные программы позволяют не только запрограммировать распространённые микроконтроллеры фирмы Microchip, но и запустить загруженную программу на исполнение, а в ходе его наблюдать за изменением состояния регистров общего и специального назначения и ячеек EEPROM работающего микроконтроллера. Не выходя из программы, можно изменять значения, хранящиеся в таких регистрах и ячейках. Полученная информация позволяет судить о правильности работы программы и выявлять допущенные при её разработке ошибки.
         В статье рассказано, как подготовить программу микроконтроллера к отладке, описаны компьютерные программы, разработанные автором для управления программированием и отладкой, приведён пример поиска с помощью отладчика ошибки в программе и её исправления.

  • 07/29/14–21:30: Портативный MP3-плейер
  •      Сегодня в продаже имеется множество карманных МРЗ-плей еров, да и в большинстве сотовых телефонов предусмотрена возможность воспроизводить аудиозаписи такого формата.

    Но автору захотелось создать свой собственный небольшой плейер, в результате на свет появилось устройство, описанное в этой статье.

    Оно позволяет воспроизводить МРЗ-файлы со скоростью цифрового аудиопотока до 256 Кбит/с и длительностью до 99 мин 59 с.

         Лабораторный блок питания с цифровым вольтметром и амперметром служит мне уже полгода. Собран он в корпусе от компьютерного блока питания. К оформлению лицевой панели пока руки не доходят. Напряжение регулируется от 1,32 до 24,00 вольт, ток – до 3 ампер.

    Индикаторами служат 4-х цифровые светодиодные индикаторы с общим катодом. Вольтметр с разрешающей способностью 0,04. В (с гашением незначащих нулей в двух левых индикаторах),  запятая после 2-го знака.

    Амперметр с разрешающей способностью 4 мА (с гашением незначащих нулей в двух левых индикаторах), запятая после 1-го знака.

         Чтобы управлять поворотным устройством остронаправленной УКВ-антенны, необходима автоматизированная система её наведения, оснащённая всеми функциями, обеспечивающими комфортную работу оператора радиостанции в эфире. Один из вариантов такой системы представлен вниманию читателя в предлагаемой статье.

         Для эффективного проведения связей на любительских УКВ-диапазонах используют многоэлементные направленные антенны, для работы с которыми требуются системы для их разворота в сторону корреспондента, так называемые поворотные устройства.

    С расширением использования спутниковых ретрансляторов для проведения дальних радиосвязей на УКВ потребовались поворотные устройства, обеспечивающие изменение направления максимального излучения антенны не только по азимуту (в горизонтальной плоскости), но и по углу места (вертикальной плоскости).

    Это обусловлено тем, что спутник-ретранслятор движется по эллиптической орбите на значительной высоте над земной поверхностью. Система наведения антенны на спутник должна постоянно корректировать её направление в зависимости от положения спутника на небосклоне.

    Управлять наведением вручную, постоянно доворачивая антенну, довольно сложно и не эффективно, поэтому сегодня этот процесс автоматизируют с помощью компьютера.

         Назначение этого коммутатора — простое и удобное подключение микроконтроллеров PIC в корпусах DIP с различным числом выводов к программатору. Все они устанавливаются в одну и ту же 40-гнёздную панель ZIF (Zero Insertion Force — с нулевым усилием вставления) по принципу “первый вывод в первое гнездо”.

         Радиолюбители сегодня широко используют в своих конструкциях микроконтроллеры. Наиболее удобный и распространённый программатор для внутрисхемного (без демонтажа из целевого устройства) программирования микроконтроллеров семейства PIC — PICkit 2 и его модификации. Однако многие радиолюбители предпочитают загружать программу в микроконтроллер ещё до установки его в свою конструкцию.

    Для этого к PICkit 2 приходится делать приставки с панелью под программируемый микроконтроллер или с несколькими панелями, если нужно программировать микроконтроллеры разных типов с различным числом выводов. В некоторых случаях используют панель ZIF-40, в которую микроконтроллер каждого типа вставляют особым образом.

    Это очень неудобно и часто приводит к ошибкам, в результате которых неправильно вставленный микроконтроллер зачастую выходит из строя.

  • 08/03/14–22:20: Счётчик людей в помещении, управляющий освещением
  •      Когда люди в течение дня приходят в помещение и уходят из него, свет, который забыл выключить ушедший последним, нередко остаётся гореть на всю ночь. Предлагаемый прибор, постоянно подсчитывая входящих и выходящих, всегда “знает”, сколько человек находится внутри.

    Устройство автоматически включает освещение, как только в помещение кто-нибудь входит, и выключает его, когда все вышли.

         Построен прибор на микроконтроллере PIC12F629, обрабатывающем сигналы двух оптических бесконтактных датчиков положения объекта Opto-Bero 3RG7010-0CC00 фирмы Siemens, установленных на косяке двери так, что каждый входящий пересекает чувствительную зону сначала первого, а затем второго датчика, а выходящий пересекает их в обратном порядке.

         Регулятор, описание которого приведено в этой статье, был разработан и изготовлен по просьбе товарища – владельца грузового автомобиля ЗиЛ 5301 («Бычок»).

    Необходимость переделки управления скоростью вентилятора печки обусловлена тем, что штатная система отопления этого автомобиля имеет только 2 режима отопления салона – средний и максимальный.

    Разработанный автором регулятор имеет 5 ступеней регулировки отопления, а установленный уровень сохраняется в памяти микроконтроллера регулятора при выключении зажигания.

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

  • 08/03/14–22:36: Плата для программатора
  •      Иногда необходимо запрограммировать микроконтроллеры в DIP корпусе в устройствах с отсутствующим разъемом внутрисхемного программирования. В статье приводится пример печатной платы для программирования микроконтроллров PIC в DIP корпусах. Данную переходную плату я использую совместно с программатором-отладчиком PICkit3.

  • 08/04/14–22:36: Прибор для поиска скрытой проводки на PIC12F629
  •      Говорят, что ремонт – это стихийное бедствие. На него вечно не хватает ни денег, ни времени. Почти каждый, кто начинает ремонт, думает, как и на чем можно сэкономить. Поэтому ремонт в своей квартире автор решил начать самостоятельно с переделки проводки, а для этого надо было разобраться в трассировке старой внутренней проводки.

    Потому и был изготовлен прибор, описание которого приведено в этой статье.
         Вначале были найдены в радиолюбительской прессе и Интернете различные конструкции приборов для поиска скрытой проводки. Выбор пал на прибор, собранный на микроконтроллере компании Microchip PIC12F629, из статьи.

    Подкупили характеристики и возможности прибора, простота схемы, доступность и невысокая цена комплектующих деталей.

  • 08/04/14–22:40: Фотореле-таймер
  •      Если в темное время суток нажать на одну из установленных в подъезде и подсвеченных светодиодами кнопок, предлагаемое устройство включит в нем свет на заданное время.

    Однако его можно с успехом использовать и для автоматического включения и выключения ночного освещения во дворе или на улице, и даже в качестве обычного таймера, включающего на определенное время любую нагрузку.

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

  • 08/04/14–22:42: Ламинатор для изготовления печатных плат
  •      Многие радиолюбители давно уже применяют технологию термопереноса рисунка печатных проводников, напечатанного на бумаге лазерным принтером, на фольгу заготовки будущей платы с помощью обычного утюга.

    К сожалению, пользуясь таким инструментом, очень сложно достичь оптимального прижатия бумаги к заготовке платы и идеально выдержать температуру, необходимую для переноса расплавленного тонера на фольгу.

    Процесс приходится, как правило, много раз повторять, опытным путём добиваясь приемлемого качества рисунка на фольге.
         Сегодня у многих радиолюбителей имеются не вполне исправные или морально устаревшие и давно не используемые по назначению лазерные принтеры.

    Такой аппарат с успехом может послужить основой для изготовления ламинатора, обеспечивающего надёжный и высококачественный перенос рисунка.

Источник: http://biblioclasm57.rssing.com/chan-27280666/all_p3.html

Ссылка на основную публикацию
Adblock
detector
",css:{backgroundColor:"#000",opacity:.6}},container:{block:void 0,tpl:"
"},wrap:void 0,body:void 0,errors:{tpl:"
",autoclose_delay:2e3,ajax_unsuccessful_load:"Error"},openEffect:{type:"fade",speed:400},closeEffect:{type:"fade",speed:400},beforeOpen:n.noop,afterOpen:n.noop,beforeClose:n.noop,afterClose:n.noop,afterLoading:n.noop,afterLoadingOnShow:n.noop,errorLoading:n.noop},o=0,p=n([]),h={isEventOut:function(a,b){var c=!0;return n(a).each(function(){n(b.target).get(0)==n(this).get(0)&&(c=!1),0==n(b.target).closest("HTML",n(this).get(0)).length&&(c=!1)}),c}},q={getParentEl:function(a){var b=n(a);return b.data("arcticmodal")?b:(b=n(a).closest(".arcticmodal-container").data("arcticmodalParentEl"),!!b&&b)},transition:function(a,b,c,d){switch(d=null==d?n.noop:d,c.type){case"fade":"show"==b?a.fadeIn(c.speed,d):a.fadeOut(c.speed,d);break;case"none":"show"==b?a.show():a.hide(),d();}},prepare_body:function(a,b){n(".arcticmodal-close",a.body).unbind("click.arcticmodal").bind("click.arcticmodal",function(){return b.arcticmodal("close"),!1})},init_el:function(d,a){var b=d.data("arcticmodal");if(!b){if(b=a,o++,b.modalID=o,b.overlay.block=n(b.overlay.tpl),b.overlay.block.css(b.overlay.css),b.container.block=n(b.container.tpl),b.body=n(".arcticmodal-container_i2",b.container.block),a.clone?b.body.html(d.clone(!0)):(d.before("
"),b.body.html(d)),q.prepare_body(b,d),b.closeOnOverlayClick&&b.overlay.block.add(b.container.block).click(function(a){h.isEventOut(n(">*",b.body),a)&&d.arcticmodal("close")}),b.container.block.data("arcticmodalParentEl",d),d.data("arcticmodal",b),p=n.merge(p,d),n.proxy(e.show,d)(),"html"==b.type)return d;if(null!=b.ajax.beforeSend){var c=b.ajax.beforeSend;delete b.ajax.beforeSend}if(null!=b.ajax.success){var f=b.ajax.success;delete b.ajax.success}if(null!=b.ajax.error){var g=b.ajax.error;delete b.ajax.error}var j=n.extend(!0,{url:b.url,beforeSend:function(){null==c?b.body.html("
"):c(b,d)},success:function(c){d.trigger("afterLoading"),b.afterLoading(b,d,c),null==f?b.body.html(c):f(b,d,c),q.prepare_body(b,d),d.trigger("afterLoadingOnShow"),b.afterLoadingOnShow(b,d,c)},error:function(){d.trigger("errorLoading"),b.errorLoading(b,d),null==g?(b.body.html(b.errors.tpl),n(".arcticmodal-error",b.body).html(b.errors.ajax_unsuccessful_load),n(".arcticmodal-close",b.body).click(function(){return d.arcticmodal("close"),!1}),b.errors.autoclose_delay&&setTimeout(function(){d.arcticmodal("close")},b.errors.autoclose_delay)):g(b,d)}},b.ajax);b.ajax_request=n.ajax(j),d.data("arcticmodal",b)}},init:function(b){if(b=n.extend(!0,{},a,b),!n.isFunction(this))return this.each(function(){q.init_el(n(this),n.extend(!0,{},b))});if(null==b)return void n.error("jquery.arcticmodal: Uncorrect parameters");if(""==b.type)return void n.error("jquery.arcticmodal: Don't set parameter \"type\"");switch(b.type){case"html":if(""==b.content)return void n.error("jquery.arcticmodal: Don't set parameter \"content\"");var e=b.content;return b.content="",q.init_el(n(e),b);case"ajax":return""==b.url?void n.error("jquery.arcticmodal: Don't set parameter \"url\""):q.init_el(n("
"),b);}}},e={show:function(){var a=q.getParentEl(this);if(!1===a)return void n.error("jquery.arcticmodal: Uncorrect call");var b=a.data("arcticmodal");if(b.overlay.block.hide(),b.container.block.hide(),n("BODY").append(b.overlay.block),n("BODY").append(b.container.block),b.beforeOpen(b,a),a.trigger("beforeOpen"),"hidden"!=b.wrap.css("overflow")){b.wrap.data("arcticmodalOverflow",b.wrap.css("overflow"));var c=b.wrap.outerWidth(!0);b.wrap.css("overflow","hidden");var d=b.wrap.outerWidth(!0);d!=c&&b.wrap.css("marginRight",d-c+"px")}return p.not(a).each(function(){var a=n(this).data("arcticmodal");a.overlay.block.hide()}),q.transition(b.overlay.block,"show",1*")),b.overlay.block.remove(),b.container.block.remove(),a.data("arcticmodal",null),n(".arcticmodal-container").length||(b.wrap.data("arcticmodalOverflow")&&b.wrap.css("overflow",b.wrap.data("arcticmodalOverflow")),b.wrap.css("marginRight",0))}),"ajax"==b.type&&b.ajax_request.abort(),p=p.not(a))})},setDefault:function(b){n.extend(!0,a,b)}};n(function(){a.wrap=n(document.all&&!document.querySelector?"html":"body")}),n(document).bind("keyup.arcticmodal",function(d){var a=p.last();if(a.length){var b=a.data("arcticmodal");b.closeOnEsc&&27===d.keyCode&&a.arcticmodal("close")}}),n.arcticmodal=n.fn.arcticmodal=function(a){return e[a]?e[a].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof a&&a?void n.error("jquery.arcticmodal: Method "+a+" does not exist"):q.init.apply(this,arguments)}}(jQuery)}var debugMode="undefined"!=typeof debugFlatPM&&debugFlatPM,duplicateMode="undefined"!=typeof duplicateFlatPM&&duplicateFlatPM,countMode="undefined"!=typeof countFlatPM&&countFlatPM;document["wri"+"te"]=function(a){let b=document.createElement("div");jQuery(document.currentScript).after(b),flatPM_setHTML(b,a),jQuery(b).contents().unwrap()};function flatPM_sticky(c,d,e=0){function f(){if(null==a){let b=getComputedStyle(g,""),c="";for(let a=0;a=b.top-h?b.top-h{const d=c.split("=");return d[0]===a?decodeURIComponent(d[1]):b},""),c=""==b?void 0:b;return c}function flatPM_testCookie(){let a="test_56445";try{return localStorage.setItem(a,a),localStorage.removeItem(a),!0}catch(a){return!1}}function flatPM_grep(a,b,c){return jQuery.grep(a,(a,d)=>c?d==b:0==(d+1)%b)}function flatPM_random(a,b){return Math.floor(Math.random()*(b-a+1))+a}
");let k=document.querySelector(".flat_pm_modal[data-id-modal=\""+a.ID+"\"]");if(-1===d.indexOf("go"+"oglesyndication")?flatPM_setHTML(k,d):jQuery(k).html(b+d),"px"==a.how.popup.px_s)e.bind(h,()=>{e.scrollTop()>a.how.popup.after&&(e.unbind(h),f.unbind(i),j())}),void 0!==a.how.popup.close_window&&"true"==a.how.popup.close_window&&f.bind(i,()=>{e.unbind(h),f.unbind(i),j()});else{let b=setTimeout(()=>{f.unbind(i),j()},1e3*a.how.popup.after);void 0!==a.how.popup.close_window&&"true"==a.how.popup.close_window&&f.bind(i,()=>{clearTimeout(b),f.unbind(i),j()})}f.on("click",".flat_pm_modal .flat_pm_crs",()=>{jQuery.arcticmodal("close")})}if(void 0!==a.how.outgoing){let b,c="0"==a.how.outgoing.indent?"":" style=\"bottom:"+a.how.outgoing.indent+"px\"",e="true"==a.how.outgoing.cross?"":"",f=jQuery(window),g="scroll.out"+a.ID,h=void 0===flatPM_getCookie("flat_out_"+a.ID+"_mb")||"false"!=flatPM_getCookie("flat_out_"+a.ID+"_mb"),i=document.createElement("div"),j=jQuery("body"),k=()=>{void 0!==a.how.outgoing.cookie&&"false"==a.how.outgoing.cookie&&h&&(jQuery(".flat_pm_out[data-id-out=\""+a.ID+"\"]").addClass("show"),j.on("click",".flat_pm_out[data-id-out=\""+a.ID+"\"] .flat_pm_crs",function(){flatPM_setCookie("flat_out_"+a.ID+"_mb",!1)})),(void 0===a.how.outgoing.cookie||"false"!=a.how.outgoing.cookie)&&jQuery(".flat_pm_out[data-id-out=\""+a.ID+"\"]").addClass("show")};switch(a.how.outgoing.whence){case"1":b="top";break;case"2":b="bottom";break;case"3":b="left";break;case"4":b="right";}jQuery("body > *").eq(0).before("
"+e+"
");let m=document.querySelector(".flat_pm_out[data-id-out=\""+a.ID+"\"]");-1===d.indexOf("go"+"oglesyndication")?flatPM_setHTML(m,d):jQuery(m).html(e+d),"px"==a.how.outgoing.px_s?f.bind(g,()=>{f.scrollTop()>a.how.outgoing.after&&(f.unbind(g),k())}):setTimeout(()=>{k()},1e3*a.how.outgoing.after),j.on("click",".flat_pm_out .flat_pm_crs",function(){jQuery(this).parent().removeClass("show").addClass("closed")})}countMode&&(flat_count["block_"+a.ID]={},flat_count["block_"+a.ID].count=1,flat_count["block_"+a.ID].click=0,flat_count["block_"+a.ID].id=a.ID)}catch(a){console.warn(a)}}function flatPM_start(){let a=flat_pm_arr.length;if(0==a)return flat_pm_arr=[],void jQuery(".flat_pm_start, .flat_pm_end").remove();flat_body=flat_body||jQuery("body"),!flat_counter&&countMode&&(flat_counter=!0,flat_body.on("click","[data-flat-id]",function(){let a=jQuery(this),b=a.attr("data-flat-id");flat_count["block_"+b].click++}),flat_body.on("mouseenter","[data-flat-id] iframe",function(){let a=jQuery(this),b=a.closest("[data-flat-id]").attr("data-flat-id");flat_iframe=b}).on("mouseleave","[data-flat-id] iframe",function(){flat_iframe=-1}),jQuery(window).on("beforeunload",()=>{jQuery.isEmptyObject(flat_count)||jQuery.ajax({async:!1,type:"POST",url:ajaxUrlFlatPM,dataType:"json",data:{action:"flat_pm_ajax",data_me:{method:"flat_pm_block_counter",arr:flat_count}}})}).on("blur",()=>{-1!=flat_iframe&&flat_count["block_"+flat_iframe].click++})),flat_userVars.init();for(let b=0;bflat_userVars.textlen||void 0!==a.chapter_sub&&a.chapter_subflat_userVars.titlelen||void 0!==a.title_sub&&a.title_subc&&cc&&c>d&&(b=flatPM_addDays(b,-1)),b>e||cd||c-1!=flat_userVars.referer.indexOf(a))||void 0!==a.referer.referer_disabled&&-1!=a.referer.referer_disabled.findIndex(a=>-1!=flat_userVars.referer.indexOf(a)))&&(c=!0),c||void 0===a.browser||(void 0===a.browser.browser_enabled||-1!=a.browser.browser_enabled.indexOf(flat_userVars.browser))&&(void 0===a.browser.browser_disabled||-1==a.browser.browser_disabled.indexOf(flat_userVars.browser)))){if(c&&void 0!==a.browser&&void 0!==a.browser.browser_enabled&&-1!=a.browser.browser_enabled.indexOf(flat_userVars.browser)&&(c=!1),!c&&(void 0!==a.geo||void 0!==a.role)&&(""==flat_userVars.ccode||""==flat_userVars.country||""==flat_userVars.city||""==flat_userVars.role)){flat_pm_then.push(a),flatPM_setWrap(a),flat_body.hasClass("flat_pm_block_geo_role")||(flat_body.addClass("flat_pm_block_geo_role"),flatPM_ajax("flat_pm_block_geo_role")),c=!0}c||(flatPM_setWrap(a),flatPM_next(a))}}}let b=jQuery(".flatPM_sticky");b.each(function(){let a=jQuery(this),b=a.data("height")||350,c=a.data("top");a.wrap("
");let d=a.parent()[0];flatPM_sticky(this,d,c)}),debugMode||countMode||jQuery("[data-flat-id]:not([data-id-out]):not([data-id-modal])").contents().unwrap(),flat_pm_arr=[],jQuery(".flat_pm_start, .flat_pm_end").remove()}

   Автономный датчик протечки воды будет полезен для всех мест, где возможна утечка воды, таких как подвалы, баки для воды, машинные залы, водяные трубы, погреба, бассейны, резервуары, стиральные машины и так далее.

Промышленность производит и продаёт такие устройства уже давно, например датчик протечки HM-003BHS использует принцип изменения сопротивления при погружении электрода в воду.

Микропроцессор и устойчивый к коррозии зонд обеспечивают достаточную точность и чувствительность.

   Другими особенностями датчика являются низкое энергопотребление, высокая и долговременная стабильность.  Датчик имеет небольшие размеры и вес. Его толщина составляет всего 28 мм.

Сенсорная часть снабжена проводом для фиксации в месте, нуждающемся в контроле. Но для самодельщиков предлагается не менее достойный вариант – собрать его своими руками. Тем более что рано или поздно большой потоп в доме случается у каждого.

В общем задумайтесь над сборкой устройства, которое бы включало при авариях тревогу.

Схема датчика протечки на микроконтроллере

   Требования при разработке схемы были следующие: датчик должен быть способен почувствовать попадание воды и вызывать тревогу. Также он должен быть небольшой по размерам и работать независимо от 220 В – на батарейках. Напряжение аккумулятора должно само контролироваться.

Детали для принципиальной схемы

  • R1-резистор 10 кОм
  • R2 резистор 10 кОм
  • R3 резистор 10 кОм
  • R4 резистор 1 кОм
  • R5 резистор 10 кОм
  • R6 резистор 1 кОм
  • C1 конденсатор 100 нФ
  • Led1 зеленый светодиод 5 мм
  • Led2 красный светодиод 5 мм
  • D1 4V7 стабилитрон
  • Пьезоэлемент HPE-120
  • VR1 стабилизатор 78L05
  • IC1 PIC12F683 микроконтроллер

   Печатные платы использованные для этого проекта однослойные, размером 27.02 x 32.41 мм.

   Hex программа должна быть сохранена в памяти микроконтроллера PIC12F683 ещё до пайки на печатной плате. В маленькой коробочке, которая была использована для детектора, не было достаточно места для всех компонентов, так что пришлось разместить светодиоды и пьезоэлемент на наружной стороне коробки.

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

   Датчики должны быть расположены не слишком далеко друг от друга и они никогда не должны прикасаться. Детектор установлен на полу. Полоски металла на дне коробки касаются пола, а светодиоды видны сверху.

   Включение схемы, светодиоды и пьезо тестируются. После того, как все проверится, детектор будет переведён в нормальное дежурное состояние. Каждые 10 секунд он будет проверять сопротивление зондов и напряжение аккумулятора.

   Если вода попадает между датчики детектора – красный светодиод включается и пьзодинамик начнет воспроизводить громкий звук. Детектор будет находиться в аварийном режиме до тех пор, пока не будет нажата кнопка отключения. Это на случай если вас нет дома.

Видео работы детектора протечки

   Если напряжение аккумулятора хорошее, зеленый индикатор будет мигать каждые 10 секунд, но если напряжение падает до 7 В – красный светодиод будет мигать каждые 10 секунд и пьезо сделает короткий звуковой сигнал, уведомляющий, что пришло время менять батарейку. Поскольку микроконтроллер переводит схему в режим пониженного потребления для экономии заряда аккумулятора, опрос датчика происходит каждые 10 секунд.

Поделитесь полезными схемами

    Устройство предназначено для зарядки литиевых аккумуляторов от мобильных телефонов. Достаточно простая конструкция обеспечивает правильную зарядку аккумулятора. Имеет светодиодный индикатор заряда.
     Триггер определяется, как бистабильный элемент, то есть логическое устройство с обработанными связями, которое может находиться в одном из двух устойчивых состояний, обеспечиваемых этими связями. Входами триггера R, T и S служат кнопки SB1 – SB3, нажатием которых подается напряжение высокого уровня. Индикаторами выходов Q и Q– являются лампы HL1 и HL2. При включении питания триггера загорается одна из ламп, например HL2. Если теперь на вход R подать 1, нажав кнопку SB1, триггер перейдет в другое устойчивое состояние – загорится лампа HL1, а лампа HL2 погаснет.   
    Простейшая конструкция приемопередающих узлов светотелефона, не требующих каких-либо дефицитных материалов и обеспечивающих достаточную для практических целей дальность связи.
   Чтобы удобно и качественно паять различные миниатюрные детали и микросхемы, включая SMD компоненты, разработана конструкция миниатюрного низковольтного паяльника. Напряжение паяльника — 6 В, мощность около 15-ти Ватт. Диаметр нагревательного элемента пол сантиметра. 

источник: indikatop.ru

Начну с пред истории… Вскапывая огород, один знакомый человек нашел старинную монету 1600-сотого года. И говорит, мол “был бы металлоискатель…и т.д.”  Я недолго думая и не капаясь в интернете в поисках истины начал делать свой проект, так сказать буквально на коленках.

За основу взята задумка из набора Мастер КИТ, название: “Металлоискатель по принципу частотомера”.

В этой статье хочу представить Вашему вниманию мой проект “Металлоискатель на микроконтроллере AVR”.

Данный проект несложен для самостоятельного изготовления и содержит минимум деталей для нормального функционирования устройства.

Схема простого маталлоискателя на микроконтроллере AVR показана на рисунке ниже:

Устройство имеет как звуковую индикацию обнаруживаемых предметов, так и цифровую. Принцип работы устройства заключается в подсчете периода нескольких десятков импульсов, фильтрация данного значения, проход через условности автоматической коррекции и сброса а затем вывод на дисплей.

Устройство работает в динамическом и статическом режиме с возможностью переключения режимов и огрубления чувствительности в каждом из них.

Метало детектор обеспечивает обнаружение по воздуху, на расстоянии от центра поисковой катушки:

* монета 1 копейка ————5см;
* монета 5 копеек ————  10см;
* крышка от консервации — 25см;
* ведро металлическое —-   ~45см;

Внешний вид цифрового металлоискателя на микроконтроллере AVR

Конструкция:
Печатная плата металлоискателя выполнена из одностороннего фольгированного стеклотекстолита методом ЛУТ (Лазерно-Утюжной технологии:). Разъем для внутрисхемного программирования я сделал прямо на плате, чтобы не изворачиваться с вытаскиванием микроконтроллера, во избежание погнутых и поломанных выводов. Транзистор КТ3102 с любым буквенным индексом, он работает в режиме ключа и коэффициент усиления неважен, так же возможна замена транзистора на другой аналогичный N-P-N. Микроконтроллер ATmega8-16Mhz можно тактировать от внутреннего RC-генератора на максимальной частоте, при этом быстродействие в динамическом режиме может заметно ухудшиться, поэтому рекомендую все-таки поставить кварцевый резонатор.

Светодиод VD1 – красный , служит для питания дисплея от 3-х вольт, хотя его можно не ставить, а подключить напрямую. Дисплей работает и от 5В, но при этом длительная работа не гарантируется.

Если применить 4 пальчиковые аккумулятора с суммарным напряжением 4,8В , то стабилизатор 78L05 можно не ставить, конденсатор C1 естественно тоже. Конденсатор для поисковой катушки нужно использовать с малым ТКЕ, желательно поставить тантал.

При не подходящем конденсаторе значения на дисплее будут сильно “скакать”. Я использовал конденсатор типа “зеленый приплюснутый бочонок” залитый чем-то похожим на зеленый эпоксидный клей. 

Выдрал его из китайского радиоприемника (по моему). Емкость данного конденсатора не критична, рекомендуемая 0.01-0.05 мкФ , от этого зависит поисковая частота датчика. Катушку я мотал на 3-х литровой банке 80-120 витков, проводом 0,2-0,5 (тоже не критично). После намотки катушки на банку, снял и туго замотал ее скотчем для жесткости.

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

Конструкция поисковой катушки должна быть максимально жесткой, поэтому я свою засунул в распиленную пластиковую водопроводную трубу, и дополнительно обмотал скотчем.

Прошивка:

Фьюз-биты микроконтроллера программируются на тактирование от внешнего кварцевого резонатора.

Скачать прошивку микроконтроллера AVR для этого металло-детектора