Схемы на pic16f628a все делаем сами. LC метр на микроконтроллере PIC16F628A
Принципиальная схема частотомера
Микроконтроллер PIC16F628A служит для того, чтобы выполнить всю работу без каких-либо дополнительных микросхем. На 16F628A 16 I/O выводов, два из которых используются для кварцевого генератора, один предназначен для ввода сигнала, а другой может быть использован только для ввода, что дает нам только 12 полезных I/O контактов. Решение — поставить транзистор, который открывается при выключении всех других цифр.
Светодиодный 7-сегментный дисплей, используемый здесь, с общим катодом типа BC56-12SRWA. Когда все сигналы находятся на высоком уровне, транзистор Q1 открывается и переключается на первой цифре. Ток для каждого сегмента составляет около 7 мА.
Вся схема частотомера потребляет тока порядка 30 мА в среднем. Микроконтроллер использует свой внутренний 4 MHz генератор для тактирования CPU. А внешний кварцевый генератор с частотой 32768 Hz нужен для установки 1 второго временного интервала. Tmr0 используется для подсчета входного сигнала на выводе RA4.
В качестве входного сигнала нужно будет 5 вольт прямоугольного вида. Сам частотомер может измерять до 1 мегагерца, что более чем достаточно для любительских проектов. Это сделано для удобства, так как счетчик может достигать показаний 999999 Гц — и ничего переключать не нужно. Меряем хоть 11 герц, хоть 139,622 килогерц.
В общем если у кого есть желание повторить этот проект самим, вот файлы . Плата в архиве немного отличается от той, что на фотографии, были позже сделаны некоторые оптимизации. А программный код открыт — можно его при умении оптимизировать.
Описание оригинальной схемы.
Доработка устройства для постановки с снятия сигнализации при помощи ключа —
ОПИСАНИЕ УСТРОЙСТВА
Устройство предназначено для охраны и наблюдения за удаленными объектами. Собрано оно на микроконтроллере PIC16F628A, который отсчитывает необходимые интервалы времени и управляет мобильным телефоном посредством AT команд. Кроме этого, есть функция дозвона до телефонных номеров из списка (не более 3), записанных в EEPROM PIC’a и возможность отправлять SMS. Устройство очень простое в изготовлении и налаживании.
Конструкция не является собственной разработкой — схема, прошивка и программа конфигурирования были взяты из Интернета.
Работает устройство следующим образом: после включения питания проверяется уровень на RA5. Если переключатель «запись конфигурации» замкнут, микроконтроллер переходит в режим установки параметров и ждет прихода информации с ПК.
В случае работы с телефоном, будет произведена инициализация телефона (команды ATE0, AT+CMGF=0, AT+CNMI=1,1,0,0,1) и после временной задержки (конфигурируется) устройство перейдет в дежурный режим — будет контролировать логические уровни на «Вход1» — «Вход4». В случае если они не совпадают с записанными ранее в EEPROM значениями, может быть произведена отправка SMS, дозвон, включение внешних сигнальных устройств (сирена, свет и т. д.). После этого в течение времени, определённого параметром «время восстановления», микроконтроллер не будет реагировать на изменение состояния датчика.
Автор оригинальной схемы заложил возможность определения в любой момент состояние всех четырех датчиков. Для этого отправляется сообщение с текстом «stat» на номер SIM карты мобильного телефона используемого в составе GSM сигнализации. На практике у меня такого не получилось. Для сброса устройства, возможно, использовать в SMS текст «rst».
Для отображения режима работы служат светодиоды LED1 и LED2. При работе в режиме охраны (основной режим) светодиод D2 мигает с частотой один раз в 4 сек. Оба горящих светодиода обозначают готовность к записи конфигурации с компьютера. Оба немигающих светодиода означают повреждение данных в EEPROM (неверная конфигурация устройства). Вспышки светодиода LED2 с периодом в 0,5 сек говорят о попытке передачи AT команд после включения для конфигурирования мобильного телефона.
В оригинальной схеме стабилитроны D3-D6 защищают входы микросхемы от превышения допустимого уровня напряжения. Ввиду особенностей выводов микроконтроллера, я не стал следовать авторской схеме, применив делители на резисторах.
Как для связи с телефоном, так и для связи с компьютером при установке параметров, служат линии «data rx»(7 вывод PIC) и «data tx” (8 вывод PIC). Скорость порта составляет 19200 бит/с. Напряжение питания микроконтроллера составляет номинальное напряжения питания мобильного телефона (до 4В). В принципе, в нескольких проверенных автором экземплярах устройство нормально работало даже от двух разряженных NiCd аккумуляторов (напряжение около 2В). Схемы разъемов для мобильных телефонов можно найти, например, на сайте www.pinouts.ru. В качестве примера приведем распиновку разъема для телефона Siemens S35, с которым и работает это устройство.
Я подключал эти линии к мобильному телефону через резистор номиналом 1КОм. В некоторых моделях телефонов, работающий по умолчанию через USB, необходимо дополнительно замкнуть некий вывод разъема для перевода интерфейса в режим работы через СОМ-порт. Для подключения к компьютеру необходим преобразователь уровней RS-232 в TTL. Я исконно использую 2 элементарных КТ315 для этих целей, хотя можно, применить микросхему MAX232 или аналогичные. Печатную плату я не сооружал, ввиду элементарности схемы, все компоненты разместил на монтажной плате, соединения с оборотной стороны обычными проводами.
На разъём «Input» подключается: 3 входа контролируемых параметров (в оригинале их 4, 4-й я подключил на внешнее питание), корпус, питание (12В), вход блокирования работы PIC-контроллера — в период снятия с охраны необходимо было блокировать работу ПИК.
Немного измененный и доработанный вариант охранки предложил участник форума Maratt с форума сайта первоисточника. Суть изменения — улучшить сервисные качества охранного устройства ic develop, автор которого на вопросы не отвечает. Если нельзя изменить программу, попытаемся улучшить аппаратную часть.
Есть только одна версия прошивки контроллера PIC16F628A, так как автор исходники не опубликовал.
Теперь про правую часть.
В сети был найден проект «автосторож с устройством считывания электронных ключей типа DS1990A», и просто добавлен в схему.
Контроллер PIC12F675 обеспечивает считывание кода электронных ключей Touch Memory типа DS1990A фирмы Dallas Semiconductor, сравнение считанного ключа с информацией хранящейся в памяти, и выдачу сигнала управления.
Считывание серийного номера происходит при кратковременном касании электронного ключа к считывающему устройству контроллера. Контроллер снабжен световой индикацией режимов работы.
Количество хранящихся в памяти ключей, не более 20. Тактирование контроллера осуществляется от внутреннего тактового генератора частотой 4 МГц
К порту GPIO5 (вывод 2) микроконтроллера подключен светодиод «Режим», индицирующий работу контроллера электронного замка. Резистор R1 задает ток, протекающий через светодиод.
К порту GPIO4 (вывод 3) микроконтроллера подключен считыватель электронных ключей. Как уже упоминалось, обмен данными и командами между микроконтроллером D1 и электронным ключем, подключенным к считывателю, происходит с помощью однопроводного интерфейса 1-Wire. Резистор 4,7К является нагрузочным резистором для линии интерфейса 1-Wire (Обычный одножильный провод в оплетке). Резистор 150 ом и стабилитрон 4V7 защищают порт микроконтроллера от повышенного напряжения (статического и любого другого).
К порту GPIO3 (вывод 4) микроконтроллера подключена кнопка Прог ключей. С помощью нажатия этой кнопки производится запись ключа в память микроконтроллера, а также стирание всех ключей. Резистор 4,7К формирует напряжение высокого уровня на выводе 4 микроконтроллера. А нажатием на кнопку Прог ключей формируется напряжение низкого уровня.
Порт GPIO2 (вывод 5) микроконтроллера меняет свое состояние в зависимости от режима (снято с охраны -1, на охране -0)
Для записи первого или последующих ключей необходимо после подачи питания коснуться считывателя электронным ключем и нажать на кнопку Прог ключей. После четырех коротких вспышек светодиода «Режим» произойдет запоминание серийного номера в памяти микроконтроллера. Если память микроконтроллера полностью заполнится, то это будет оповещено четырьмя световыми сигналами. Вспышки светодиода будут более медленными, чем при записи ключа в память микроконтроллера.
Для стирания сразу всех ключей, хранящихся в памяти, необходимо выключить питание контроллера электронного замка, нажать на кнопку и подать на устройство питание, удерживая кнопку примерно 4 — 6 секунд, до появления серии коротких вспышек светодиода «Режим». Количество вспышек светодиода определяется количеством записанных в память электронных ключей (на стирание каждого ключа будет четыре коротких вспышки светодиода). После этого можно отпускать кнопку и устройство перейдет в нормальный режим работы. Но при этом перед пользованием необходимо записать в память микроконтроллера серийный номер хотя бы одного ключа.
Описание работы
При подаче питания контроллер после инициализации входит в режим проверки подключения электронного ключа. Светодиод «Режим» после включения питания начинает мигать, указывая на то, что устройство находится в режиме охраны, на выходе контроллера низкий лог уровень который не влияет на работу генератора. При касании считывателя контроллера электронным ключем, серийный номер которого хранится в памяти микроконтроллера, светодиод моргнет два раза. На выходе контроллера появится высокий уровень который заблокирует работу генератора. Светодиод «Режим» при этом будет светится постоянно, указывая о режиме снято с охраны.
При повторном касании электронного ключа считывателя произойдет постановка на охрану, и светодиод перейдет в режим мигания.
Внимание! После выключения питания устройство переходит в режим охраны!
Мой вариант исполнения охранки:
Разумеется, что повторяя данную схему, всегда сталкиваешься с подводными камнями. Были они и у меня. Для начала я определился по какой схеме буду собирать охранку и не прогадал – схема и печатка с дополнительной платой питания оказалась очень практичной конструкцией.
Схема охранного устройства:
Рис. 1 — Принципиальная схема простого GSM охранного устройства на PIC16F628A с электронным ключом типа Touch Memory
Устройство питания и сигнализации для простого охранного устройства.
Схема блока питания для охранного устройства:
Рис. 2 — СХЕМА принципиальная Схема блока питания для охранного устройства
К контактам разъема Х1 подключается вторичная обмотка сетевого трансформатора. На контактах разъема Х2 должно быть напряжение 16-18в.
Разъемы Х2 и Х3 предназначены для подключения узла (выделенного красным цветом) в состав которого входит:
1.Зарядное устройство,
2.аккумулятор 12в.
3. Устройство защиты аккумулятора от полного разряда.
При установке охранного устройства в месте, где нет сетевого напряжения, к разъему Х3 подключается заряженный аккумулятор.
На транзисторе VT1 собран ключ для коммутации звуковой сигнализации- зуммера на 12вольт со встроенным генератором подключенного к разъему Х5. К разъему Х4 (Сигнал1) подключается одноименный выход сигналки. Для более мощного устройства, например автономной сирены, к разъему Х5 можно подключить реле, которое будет коммутировать это устройство.
На транзисторе VT2 собран ключ для коммутации встроенного (паяется на плату) или выносного зуммера (подключается к разъему Х8) с напряжением питания 5в. Разъем Х6 (Сигнал2) подключается к одноименному выходу сигналки. Вход Сигнал3 (разъем Х7) можно подключить к 6 выводу PIC12F675 или использовать по своему усмотрению.
На микросхеме VR1 собран стабилизатор напряжения с выходным напряжением 3,0в. К его выходу Х9 подключаем вход питания сигналки. При этом напряжении контроллеры PIC16F628A и PIC12F675 работают стабильно, а сигналы RX TX согласованны по уровням с телефоном или модемом.
На микросхеме VR2 собран стабилизатор напряжения с выходным напряжением 4,2в. К выходу которого подключается модем или телефон. Это номинальное напряжение питания модуля SIM300D. Для питания телефона нужно снизить это напряжение до 3,7в, уменьшив сопротивление резистора 560*. На выходе стабилизатора есть делитель напряжения, средняя точка которого выведена на разъем Х10. Делитель имитирует сигнал с терморезистора аккумулятора сотового телефона. При подключении контактов Х10 вместо аккумулятора телефон будет работать от стабилизатора. Для некоторых моделей телефонов может потребоваться подбор резисторов делителя.
Изготовление печатной платы показывать не буду, так как это уже тривиально, сразу покажу результат работы.
С монтажом деталей:
Рис.3 — Плата GSM сигнализации своими руками — с монтажом деталей лицевая и обратная сторона.
Рис. 4 — Обратная сторона платы GSM сигнализации
Блок питания для сигнализации в готовом виде:
Рис. 5 — Готовая плата блока питания со стороны деталей
Рис. 6 — Плата блока питания с обратной стороны
Сильно изощряться не стал и использовал корпус от блока питания компьютера. Корпус с вмонтированным трансформатором можно увидеть на рисунках ниже:
Тут не показано, но слева от гнезда питания при помощи болтов и гаек была прикручена клемная полоска.
Рис. 7 — корпус устройства.
Чтобы закрыть дырку от кулера я вырезал из ДСП форменный кусок и смонтировал на него прижимное кольцо от транзистора — «считыватель» для электронного ключа. Вывел пару светодиодов для визуального контроля работы устройства.
Рис. 8 — Закрывающая дырку от вентилятора деталь корпуса устройства.
Вырезанный кусок ДСП я приклеил при помощи термоклея. На задней панели железного корпуса я вывел клемную колодку, к ней подключил выводы датчиков и сисирены. Питания к трансформатору подводится по стандартному кабелю от блока питания.
Телефон Siemens А60 подключил по стандартному разъему
Рис.9 — Штекер для мобильного
Распиновка штекера Совпадает с любым х55/х60/х65. Исключений пока два — ST55/ST60.
1 — +U
2 — Gnd
3 — Tx
4 — Rx
5 — CTS
6 — RTS
7 — DCD
8 — звук левый
9 — звук общий
10 — звук правый
11 — земля микрофона
12 — микрофон
В соответствии с распиновкой необходимо припаять провода к плате и питанию.
Рис. 10 — Соединение двух плат (Блака питания и GSM сигнализации)
Затем все было настроено и помещено в корпус. Устройство было установлено для охраны загородного дома. Дабы исключить возможность отключения сигнализации злоумышленником, я исопльзовал старый бесперебойный блок питания. Это позволило решить проблему работы стройства при отсутствии сетевого питния. В качестве датчиков использовал герконы и датчик разбития стекла.
Рис. 11 — Преобразователь уровней RS-232 в TTL (транзисторно-транзисторная логика)
Готовое устройство выглядит так:
Рис. 12 — Преобразователь уровней RS-232 — TTL на транзисторах
Собственно выводы с коробки — общий , RX , TX , и одиночный (молочного цвета) провод из коробки — «+».
Очень важно!! — После сборки устройства настроить при помощи программы!
Теперь несколько слов о настройке устройства.
Для установки параметров контроллера с ПК автором была написана несложная программа. При работе в режиме программирования, конфигурация записывается в память микроконтроллера. Также можно использовать файл конфигурации для создания двоичного образа EEPROM, который затем записывается при помощи программатора в микросхему.
Для записи параметров используется преобразователь уровней RS-232 — TTL на транзистора. Подключаем преобразователь к COM порту компьютера, выводы RХ и TX к плате соответственно (RX- 7 нога микроконтроллера, TX — 8 нога микроконтроллера) подключаем общий провод преобразователя к общей дорожке платы. Подаем +5в через резисторы к преобразователю, как показано на рис. 11, от источника питания.
Для записи параметров в микроконтроллер следует перед подачей питания на все охранное устройство дополнительно нажать кнопку возле микроконтроллера, она отвечает за начало записи. Держать нажатой в течении всего процесса записи параметров через программу. Процесс записи проходит достаточно быстро, палец не устанет 😉
Подключаем питание платы охранки. Открывает программу, выбираем порт, нажимаем — «ЗАПИСАТЬ» — готово.
Прописывать параметры в соответствующих окнах программы следует до того, как вы решили запрограммировать их, потому как сложно будет держать одним пальцем нажатой кнопку программирования, а другим набирать телефоны, менять время работы и др.
Если кто не знает «Параметры» — это номера телефонов на которые будет звонить сигнализация, также время работы сирены и длительность дозвона и др. В программе все подписано и интуитивно понятно.
Рис. 13 — Интерфейс программы для прошивки конфигурации в контроллер.
Варианты реализации:
Вариант корпуса для сигнализации. Использован корпус для автоматов. Очень удобная и практическая конструкция. Внутрь влезло все, что необходимо.
Сзади есть достаточное количество отверстий для крепления, чтобы смонтировать сигнализацию на любую поверхность.
Внутри щитка видно, что все поместилось очень хорошо. Что касается платы блока питания — ее нет. Все запитывается от 5 вольтового источника питания от зарядки.
Ну вот собственно общий вид сигнализации — лицевая сторона.
Скачать печатную плату:
Печатная плата в.lay и описание для GSM сигнализации с считывателем ключей-
Эти электронные часы простейшие. Собраны были за несколько часов. Основа микроконтроллер PIC16F628A, кроме него часы содержат несколько простых и дешевых элементов, информация выводится на 4-х разрядный (часовой) светодиодный индикатор. Схема питается от сети, а также имеет резервное питание. Данную конструкцию можно рекомендовать начинающим, я специально снабдил исходную программу подробными коментариями, чтобы легче было поять, что и как тут работает.
Схема очень простая, простой и алгоритм их работы (см.коментарии в исходнике). Кнопки кн1 и кн2 служат для коррекции времени — часов и минут соответственно. Часы имеют 24 часовой формат отображения. В 1-м разряде часов сделано гашение незначащего нуля. Точность хода часов целиком зависит от частоты кварцевого резонатора. Но даже без специальных подборок кварцев и конденсаторов в тактовом генераторе — часы идут весьма точно.
Часы собраны на 2-х печатных платах, пристыкованных одна к одной под углом 90 градусов. На одной плате размещен целиком индикатор, а все остальное на другой. Элемент резервного питания выломан из китайской зажигалки со светодиодным фонариком. Удаляем светодиод, а держатель батареек устанавливаем на плату. На фотографии видно, что к батарейкам выведены обрезки выводов резисторов — они то и держут всю эту конструкцию. Конечно емкость таких батареек невелика, но когда часы питаются от сети, ток от батареек не потребляется. Они питают схему, только если нет сетевого питания. При этом питается только микроконтроллер, индикатор же от батареек не питается, поэтому гаснет, а часы продолжают ход. Кнопки управление вынесены с платы в любое удобное место корпуса. Конструкция кнопок может быть любой. Для питания от сети использован китайский БП-адаптор, в который добавлена плата с микросхемой 7805 (5-ти вольтовый стабилизатор). Вобще подойдет любой блок питания, с выходным напряжением 5В и током 150мА.
Программа написана таким образом, что ее можно использовать для начального изучения микроконтроллера PIC, прокоментировано действие практически каждой команды. При желании в нее легко можно добавить дополнительные функции, например календарь, таймер, секундометр и др.
|
Данное устройство представляет из себя обычные электронные часы с будильником, но управляются они с пульта дистанционного управления на ИК лучах. Часы реализованы программно, индикация динамическая. В схеме предусмотрено резервное питание, на случай отключения эл.энергии. Будильник реализован на простой «пищалке» с встроенным генератором — buzzer.
Пульт управления реализован на микроконтроллере PIC12F629. Питается пульт от обычной батарейки для материнской платы компьютеров. Если не нажата ниодна из кнопок — микроконтроллер находится в режиме SLEEP и практически не потребляет тока. Как только кнопка нажата — микроконтроллер «просыпается» и формирует кодовую посылку на ИК светодиод.
При включении питания на дислей выводится текущее время, двоеточие мигает. Если нажать кнопку CLOCK диплей покажет время на которое установлен будильник (двоеточие не мигает), либо —:— , если будильник выключен. Повторное нажатие на кнопку CLOCK, или через 6 секунд — девайс будет опять отображать текущее время. Нажатие кнопки COR переводит устройство в режим коррекции часов, если в данный момент индицируются часы; либо в режим установки будильника, если на дисплее отображается будильник. Первое нажатие — мигают часы, кнопкой +1 устанавливаются часы, второе нажатие кнопки COR — мигают минуты — кнопкой +1 устанавливаются минуты, третье нажатие — выход из режима коррекции часов (или будильника). Если корректируется время будильника — то он автоматически включается.
Когда дисплей индицирует время установки будильника (включается кнопкой CLOCK) — нажатие кнопки +1 включает, а повторное нажатие выключает будильник, дисплей, соответственно, показывает время установки будильника или —:— (двоеточие не мигает). Если будильник выключен, то время его установки не сбрасывается.
В режиме индикации часов (двоеточие мигает) — нажатие кнопки +1 — переводит часы в «ночной» режим — в этом режиме индикатор полностью гаснет и мигает только двоеточие, что снижает энергопотребление и не создает лишней ночной подсветки. При этом нажатие любой кнопки на пульте, а также срабатывание — выводит часы из ночного режима.
Если сработал будильник — звучит звуковой сигнал в течение одной минуты, все цифры на дислее мигают. Нажатие любой кнопки на пульте управления выключают будильник (не сбрасывая времени его установки).
Для резервного питания часов, также как и в пульте управления, использована батарейка от материнской платы компьютера. Ее напряжение 3V, поэтому микроконтроллер в часах нужно применить низковольтный — PIC16LF628A. Если же применить батарейку с напряжением более 3,6V то подойдет и обычный PIC16F628A. Ну и совсем идеальный вариант — применить микроконтроллер с технолигией NANOWATT — PIC16F819 (Внимание! для этого микроконтроллера используется другая прошивка).
Вот еще один образец лабораторного оборудования — LC метр. Данный режим измерения, особенно замер L практически невозможно найти в дешевых заводских мультиметрах.
Схема данного LС метра на микроконтроллере была взята с сайта www.sites.google.com/site/vk3bhr/home/index2-html. Прибор построен на PIC микроконтроллере 16F628A, и так как я недавно приобрел программатор PIC, я решил испытать его это с помощью этого проекта.
Я убрал регулятор 7805, так как решил использовать зарядное устройство на 5 вольт от сотового телефона.
В схеме подстроичный резистор на 5 кОм, но на самом деле я поставил 10 кОм, согласно datasheet на приобретенный LCD модуль.
Все три конденсаторы 10 мкФ танталовые. Необходимо заметить что конденсатор C7 – 100мкФ на самом деле 1000мкФ.
Два конденсатора по 1000пФ конденсаторы styroflex с допустимым отклонением в 1%, индуктивная катушка 82мкГн.
Общий ток потребления с подсветкой составляет около 30мА.
Резистор R11 ограничивает ток подсветки и должен быть рассчитан в соответствии с фактически используемым LCD-модулем.
Я использовал оригинальный рисунок печатной платы в качестве отправной точки и изменил его под имеющиеся у меня компоненты.
Вот результат:
Последние две фотографии показывают LC метр в действии. На первом из них измерение емкости конденсатора 1нФ с отклонением 1%, а на втором — индуктивность 22мкГн с отклонением в 10%. Устройство очень чувствительно – то есть, с неподключенным конденсатором он показывает емкость порядка 3-5 пФ, но это устраняется путем калибровки.
Реле уровня воды на микроконтроллере PIC16F628A
В этой статье хочу предложить радиолюбителям самостоятельно изготовить реле уровня воды на микроконтроллере PIC16F628A. Похожая разработка ранее рассматривалась на сайте, однако там отсутствовала возможность управления насосом (или другим исполнительным механизмом) можно было только смотреть, сколько воды в емкости. Предлагаемая мною разработка позволяет смотреть, сколько воды в емкости, а также поможет облегчить/автоматизировать процедуру наполнения емкости водой.
Реле уровня воды состоит из нескольких частей:
- Датчики уровня воды;
- Электроника, которая обрабатывает информацию, полученную от датчиков.
Повторяться не стану и если Вас заинтересует данная разработка, то об устройстве датчиков можно почитать вот эту статью – индикатор уровня воды в баке.
Что умеет делать реле уровня воды на PIC16F628A:
- В схему заложена возможность независимого управления двумя реле, к которым можно подключить насос/насосную станцию и электроклапан;
- Если нужды в одном реле нет, то можно воспользоваться прошивкой, где работа данного реле отключена. При этом из схемы можно исключить ненужные детали;
- Можно зрительно (по светодиодам) судить об уровне воды в баке;
- Когда замыкается самый верхний (по схеме) датчик, светодиод этого уровня воды начинает мерцать с частотою 2 Гц. Для привлечения внимания;
- Есть возможность использовать данную разработку для бережного управления насосной станцией (в которой есть реле давления и гидроаккумулятор). Функция позволяет станции включаться на 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, С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(статья)
Архив с проектом
Введение в PIC16F628a — Инженерные проекты
Сегодня я подробно расскажу о введении в PIC16F628a. Он определяется как автономная 18-контактная система микросхем, которая поставляется с памятью…Привет ребята! Я вернулся, чтобы дать вам ежедневную дозу ценной информации, чтобы вы продолжали возвращаться за тем, что мы можем предложить. Сегодня я расскажу подробности о Знакомство с PIC16F628a. Определяется как автономный 18-контактный микроконтроллер PIC, который поставляется с памятью, процессором, периферийными устройствами и в основном используется для встроенных систем и приложений. Микроконтроллеры всегда остаются главным приоритетом для специалистов, где главной задачей является автоматизация. До изобретения микроконтроллеров микропроцессоры широко использовались для выполнения различных функций, связанных с промышленной автоматизацией и обработкой данных. Оба они работают одинаково в той или иной степени, однако есть некоторые исключения, например, микропроцессоры не поставляются с ПЗУ, ОЗУ и другими периферийными устройствами, нам нужно добавить их извне, чтобы они работали как микроконтроллер, однако микроконтроллер поставляется со всеми периферийными устройствами на одном чипе, нам не нужно добавлять их извне; именно это делает его компактным по сравнению с громоздким микропроцессором. В этом уроке я расскажу обо всем, что связано с PIC16F628a, его основных функциях, распиновке, работе и приложениях. Давайте прыгнем прямо и закрепим все, что вам нужно знать.
Знакомство с PIC16F628a
- PIC16F628a представляет собой крошечный 18-контактный чип, который содержит процессор, память, контакты ввода-вывода и другие периферийные устройства и в основном используется для встроенных систем и приложений, которые имеют удаленное или прямое подключение к автоматизация.
- Это недорогой, высокопроизводительный 8-разрядный микроконтроллер на основе CMOS Flash, который в равной степени совместим с устройствами PIC16F628, PIC16C5X, PIC16C62XA и PIC12CXXX.
- PIC16F628a поставляется со 128 байтами памяти данных EEPROM, внутренним генератором 4 МГц, двумя 8-битными и одним 16-битным таймером, USART, ШИМ, двумя компараторами и программируемым источником опорного напряжения, что делает его подходящим для бытовой техники, автомобилей, промышленных и потребительских устройств. Приложения.
- Процессор PIC основан на усовершенствованной архитектуре RISC и поставляется с 35 наборами инструкций, которые просты в использовании и настройке.
- Как и некоторые контроллеры в сообществе PIC, PIC16F628a имеет рабочий диапазон от 2 до 5,5 В при температуре от -40 до 125 °C.
- Размер программируемой памяти составляет 3,5 КБ, а SRAM — 224 байта.
- Эта модель PIC способна хранить 2048 слов памяти программ, поэтому максимальная длина программы не может превышать 2048 инструкций, где каждое слово определяет одну инструкцию.
- Для выполнения каждой инструкции требуется четыре такта, кроме инструкций перехода и условных инструкций, для которых может потребоваться 8 тактов.
PIC16F628a Распиновка
На следующем рисунке показана распиновка PIC16F628a.
- Глядя на распиновку контроллера выше, вы можете ясно предположить, что большинство контактов на левой стороне могут использоваться для нескольких целей, однако указание любого контакта для конкретной функции исключает использование этого контакта для другой цели.
- В этой модели есть два порта, известные как порт A и порт B.
- Все эти контакты являются двунаправленными контактами ввода-вывода, за исключением контакта № 14 и контакта № 5 , которые являются контактами питания и заземления соответственно.
- Контакт № 7 и Контакт № 8 используются для последовательной связи, где Rx — это контакт приема USART, используемый для приема последовательных данных, а Tx — это контакт передачи USART, используемый для отправки последовательных данных. .
- Контакт № 4 можно использовать тремя способами. MCLR (Master Clear) , для которого требуется постоянное питание 5 В, напряжение не должно превышать Vdd. При настройке в качестве MCLR этот вывод ведет себя как активный низкий уровень сброса устройства. Он также используется в качестве входного порта и входа напряжения программирования.
- Контакты № 15 и 16 известны как OSC2 (Генератор 2) и OSC1 (Генератор 1), , к которым мы можем подключить внешний генератор с частотой около 20 МГц. Pin # 16 является входом для кварцевого генератора, а Pin # 15 действует как выход для генератора.
- Оба , контакт № 2 и , контакт № 3 , являются контактами аналогового компаратора, где контакт № 3 также используется в качестве тактового входа для Timer0.
- Контакт № 6 — двунаправленный контакт ввода-вывода, который можно использовать для внешнего прерывания.
- Контакт № 9 используется для захвата, сравнения и ШИМ и может программироваться.
- Контакт № 10 — это входной контакт для программирования низкого напряжения, который также может использоваться для смены прерывания на контакте. Важно отметить, что при настройке программирования низкого напряжения отключаются как «слабые подтягивающие резисторы, так и прерывание по изменению контакта».
- Если вы новичок в микроконтроллерах и испытываете трудности с поиском правильного подхода к практическому опыту работы с контроллером, вы можете взглянуть на Введение в микроконтроллеры, где я изложил все, что вам нужно знать, и с небольшими усилиями вы можете стать довольно изящным о контроллере и оптимизировать проекты в реальном времени в соответствии с вашими потребностями и требованиями.
Структура памяти
- Структура памяти немного отличается, поскольку каждая ячейка памяти рассматривается как регистр, к которому можно получить доступ по его адресу.
- Важно отметить, что не все регистры доступны все время, а память разбита на четыре банка, которые поставляются со 128 регистрами, и только один из них может быть доступен в данный момент времени.
- Первые 32 регистра в каждом банке известны как регистры специального назначения, которые можно использовать для управления процессором и выводами ввода/вывода. Последние 16 регистров, доступных в каждом банке, являются общими для всех банков, значения которых могут быть доступны в любое время, независимо от того, какой конкретный банк используется.
- Существует единственный рабочий регистр, известный как «W», который в основном используется для хранения измененных значений различных функций, используемых в контроллере.
- Объем памяти этой модели немного меньше, чем у других контроллеров, доступных на рынке, однако вы можете скомпилировать функцию, требующую минимальных инструкций и скорости обработки. Если вы собираетесь работать с высокой скоростью обработки и большим объемом памяти, то вам необходимо рассмотреть возможность работы с PIC16F877a.
Основные характеристики
Эта модель PIC-контроллера очень удобна для встраиваемых проектов и обладает некоторыми ценными функциями, которые ставят этот совет перед многими контроллерами в сообществе PIC.
Специальные функции микроконтроллера
- Низковольтное программирование, при котором микросхема программируется с использованием рабочего напряжения устройства
- Низкоскоростной режим часов
- Программируемый сброс при снижении напряжения (BOR)
- Сброс при включении
- Сторожевой таймер с независимым генератором для надежной работы
- Выбираемые опции осциллятора
- Программируемая кодовая защита
- Мультиплексированный основной сброс/входной контакт
- Промышленный диапазон температур
Ввод/вывод и пакеты
- 15 контактов ввода/вывода с индивидуальным управлением направлением
- 18-контактный корпус DIP и SMD
Высокопроизводительный ЦП RISC
- Всего 35 однословных инструкций для заучивания
- Все инструкции выполняются за один цикл (1 мкс), за исключением ветвей программы
- Работа на частоте 20 МГц с внешним генератором
- Внутренний генератор с частотой 4 МГц, который выдает тактовый сигнал на определенной частоте, используя постоянное напряжение. Его можно заставить работать на частоте 48 кГц для экономии энергии и отладки
- 2 КБ флэш-памяти программ
- 224 байта оперативной памяти
- 128 байт EEPROM
- Внутрисхемное последовательное программирование
- 1 000 000 цикл записи EEPROM
- 100 000 операций записи Flash Endurance
- Таймер запуска и включения генератора
- Широкий диапазон рабочего напряжения от 2 до 5,5 В
Периферийные устройства
- Универсальный синхронный/асинхронный приемник/передатчик (USART)
- Один 16-битный таймер/счетчик
- Два 8-битных таймера/счетчика (TMR0,TMR2)
- Модуль захвата/сравнения ШИМ (CCP)
- Сильноточный источник/потребитель для прямого привода светодиодов
- Два аналоговых компаратора
- Программируемые слабые подтяжки на PORTB
Технология CMOS
- Высокоскоростная технология CMOS FLASH
- Полностью статическая конструкция
- Энергосберегающий спящий режим
- 40-летнее хранение данных
- Высокопрочная флэш-ячейка
- Программируемый VREF
Компилятор PIC16F628a
- Компилятор MPLAB C18 — это стандартный компилятор, используемый для микроконтроллеров PIC. Вы можете получить этот компилятор онлайн с официального сайта Microchip.
- Сторонние приложения также доступны для компиляции программы, где MikroC Pro For PIC остается впереди других компиляторов, доступных на рынке.
- Вы должны проверить этот список 3 лучших компиляторов PIC C, где вы можете выбрать любой компилятор в зависимости от ваших потребностей и требований.
- Код написан в компиляторе PIC, который компилирует код и генерирует шестнадцатеричный файл, который загружается в микроконтроллер PIC.
Приложения
- В основном используется во встроенной системе
- Приложения для промышленной автоматизации и обработки
- Системы домашней автоматизации и безопасности
- Блоки обработки данных
- Робототехника
На сегодня это все, надеюсь, я предоставил вам все, что вам нужно знать об этом контроллере. Если вы не уверены или у вас есть какие-либо вопросы, вы можете задать их мне в разделе комментариев ниже. Я хотел бы помочь вам в любом случае я могу. Не стесняйтесь держать нас в курсе ваших ценных предложений, они помогут нам предоставить вам качественную работу. Спасибо за прочтение статьи.
JLBCB — прототип 10 печатных плат за 2 доллара США (любой цвет) Китайское крупное предприятие по производству прототипов печатных плат, более 600 000 клиентов и онлайн-заказ Повседневная Как получить денежный купон PCB от JLPCB: https://bit.ly/2GMCH9wТеги:
Введение в pic16f628a, особенности pic16f628a, распиновка pic16f628a, pic16f628a базовая схема, Приложения,
-Автор сайта
седзаиннасир Я Сайед Заин Насир, основатель The Engineering Projects (TEP). я программист с 2009 года, до этого я просто искал вещи, делал небольшие проекты, а теперь делюсь своим знания через эту платформу. Я также работаю фрилансером и сделал много проектов, связанных с программирование и электрические схемы. Мой профиль Google+Подписаться Присоединиться
pic16f628a | Встроенная лаборатория
Архив тегов: pic16f628a
Опубликовано по РБ Оставить комментарий
Самодельные LC-метры очень популярны среди любителей и студентов. Вот еще проект счетчика LC , основанный на микроконтроллере PIC16F628A. Он использует схему колебательного генератора, объединяющую несколько внешних компонентов и внутренний модуль компаратора PIC. Значения L и C рассчитываются по резонансной частоте LC-контура. В проект также была включена автоматическая калибровка путем замыкания измерительных проводов. В измерителе используется стандартный ЖК-дисплей 2×16 символов для отображения.
LC-метр на базе PIC
Опубликовано по РБ 18 комментариев
Серводвигатель представляет собой специальный редукторный двигатель постоянного тока, оснащенный электронной схемой для управления направлением вращения, а также положением вала двигателя. Поскольку серводвигатели обеспечивают точное угловое позиционирование их выходного вала, они широко используются в робототехнике и радиоуправляемых автомобилях, самолетах и лодках для управления движением их различных частей. На этом лабораторном занятии мы сначала рассмотрим, из чего состоит серводвигатель и как он работает, а затем продемонстрируем, как связать его с микроконтроллером PIC.
Управление серводвигателем с помощью микроконтроллера PIC
Подробнее
Опубликовано по РБ 42 комментария
Конденсаторыявляются одним из наиболее распространенных пассивных электрических компонентов, которые широко используются во всех видах электронных схем. В этом проекте мы обсудим метод создания цифрового измерителя емкости с использованием микроконтроллера PIC. Этот проект может измерять значения емкости от 1 нФ до 99 мкФ, с разрешением 1 нФ. Этот метод основан на измерении времени, прошедшего, когда конденсатор заряжается до известного напряжения через последовательный резистор. В данном проекте используется микроконтроллер PIC16F628A.
Измеритель емкости
Подробнее
Опубликовано по РБ 140 комментариев
Измерение и контроль температуры и относительной влажности находит применение во многих областях. В наши дни доступны устройства, которые имеют встроенные датчики температуры и влажности с преобразованием сигнала, АЦП, калибровкой и коммуникационным интерфейсом. Использование таких интеллектуальных датчиков значительно упрощает конструкцию и снижает общую стоимость. Ранее мы обсуждали измерения влажности и температуры с помощью датчиков Sensirion SHT1x/SHT7x. Эти датчики способны измерять как температуру, так и относительную влажность и обеспечивают полностью откалиброванные цифровые выходы. Хотя датчики SHT1x/SHT7x являются очень точными датчиками, они по-прежнему дороги для любителей. В этой статье обсуждается датчик DHT11, который также обеспечивает откалиброванные цифровые выходы для температуры и влажности, но относительно намного дешевле, чем датчики Sensirion. В датчике DHT11 используется собственный протокол 1-wire, который мы рассмотрим здесь и реализуем с помощью микроконтроллера PIC16F628A, который будет получать значения температуры и влажности от датчика и отображать их на ЖК-дисплее с разрешением 16×2 символов.