Простой таймер на микроконтроллере PIC12F675. Схема и описание
Этот простой таймер на микроконтроллере может использоваться для переключения любой нагрузки в интервале времени от 30 минут до 6 часов. Первоначальная задача этого таймера была — управление вытяжкой в ванной комнате.
Схема и конструкция таймера исходит из требований, которые я хотел реализовать в нем, а именно использовать одну кнопку, один потенциометр (220 кОм) и два светодиода.
Использование интегрального таймера NE555 не заслуживало моего внимания. Можно было бы использовать микросхему HCF4541B, но для этого мне бы пришлось для заданного интервала времени использовать относительно стабильный генератор с частотой 3-36 Гц.
В конце концов, я решил использовать микроконтроллер PIC12F675. Положение потенциометра сканируется внутренним АЦП микроконтроллера, а тактовый сигнал 32,768 кГц используется в качестве источника синхронизации. Для данной цели точности более чем достаточно, кроме того, я обошелся минимумом деталей.
Разрешение АЦП я снизил до 8 бит. Вся дорожка потенциометра условно поделена на 255 шагов по 80 секунд каждая. Минимальный интервал времени задал 30 минут (потенциометр в крайнем положении).
Отсюда максимальное время составляет 30 минут + 255 x 80 секунд = примерно 6 часов и 10 минут. Простое изменение пары констант в исходнике, позволяет установить произвольные временные интервалы.
Скачать прошивку (554 bytes, скачано: 158)
Управлять таймером просто — вращением ползунка потенциометра, устанавливаем необходимый интервал времени и нажимаем кнопку.
После нажатия на кнопку выполняется преобразование АЦП и начинает обратный отсчет. При повторном нажатии кнопки обратный отсчет останавливается и таймер сбрасывается.
www.tosi.cz
Реле поворотов на микроконтроллере PIC12F675 — Меандр — занимательная электроника
Каждый автолюбитель не однажды сталкивается с ситуацией, когда начинает «залипать» реле поворотов. Причем оно может «залипнуть» как при повороте направо, так и при повороте налево. В дороге эта неприятность иногда устраняется легким постукиванием по нему, но, как правило, ненадолго. Кардинально проблема решается заменой реле новым. В гараже у каждого автолюбителя имеется, пожалуй, несколько таких неисправных устройств, в корпусе одного из них и было изготовлено реле поворотов на микроконтроллере
PIC12F675, описание которого приведено в этой статье.Стандартное электромагнитное реле поворотов работает, как прерыватель тока, только при подключенной нагрузке. От сопротивления и тока нагрузки часто зависит работа реле-прерывателя поворотов. Если в своей машине в указателях поворотов вместо ламп накаливания вы решили установить светодиодные лампы, то частота их «моргания» заметно изменится. В Интернете некоторые
автолюбители советуют устанавливать на выходе реле параллельно светодиодным лампам сопротивление нагрузки — мощный проволочный резистор. Сопротивление и мощность этого резистора советуют самые разные. Заметим, что при этом теряется такое достоинство светодиодных по- воротников, как экономичность.
Многие любительские схемы реле поворотов на аналоговых компонентах, например на 555-ом таймере, также не выдерживают критики, так как постоянно генерируют импульсы. Нормальное реле поворотов, как было замечено выше, работает, как прерыватель, только когда к нему подключена нагрузка. Разработанное и изготовленное автором реле поворотов на PIC12F675 лишено этого недостатка и обеспечивает надежную работу поворотников как на светодиодах, так и на лампах накаливания. Его схема показана на рис.1.
Рис. 1
Основой этого реле является микроконтроллер (МК) DD1 PIC12F675 в корпусе DIP-8. Назначение выводов этого МК, с учетом «залитой» в него программы, приведено в таблице.
Обозначение | Назначение | |
1 | Vdd | Напряжение питания |
2 | СР5 | Выводы не используются (уровень лог. «1»)
|
3 | СР4 | |
4 | СР3 | |
5 | Vss | Корпус |
6 | CP1 | Вход от делителя напряжения с нагрузки |
7 | СР0 | Выход импульсов |
8 | CP2 | Корпус |
МК DD1 питается напряжением 4,7 В от параметрического стабилизатора на стабилитроне VD1 и балластном резисторе R1. В качестве силового ключа использован мощный p-канальный МДП-транзистор VT3 типа IRF4905, который управляют с выхода GPO (вывод 7) DD1 через усилитель на n-p-n транзисторе VT2 типа 2SC1815. Резистор R2 — ограничивающий в цепи базы VT2, a R3 — нагрузка этого транзистора. При включении правого или левого поворота к выходу реле подключается хотя бы одна лампа, нагружая его. DD1 фиксирует наличие нагрузки и подает на выход GPO (вывод 7) DD1 положительные импульсы (включает реле).
Для определения наличия подключенной нагрузки (ламп накаливания или светодиодных ламп) в схему введен делитель напряжения R4, R5, R6. С резистора R6 снимается напряжение на вход GP1 (вывод 6) DD1. При отсутствии нагрузки, когда VT3 заперт, на вывод 6 DD1 с делителя поступает уровень лог. «1», и МК поддерживает VT3 в запертом состоянии. Когда при запертом VT3 нагрузка подключена, она шунтирует последовательно соединенные резисторы R5 и R6. При этом на вывод 6 DD1 с делителя поступит уровень лог. «О», который программно обеспечит включение реле поворотов.
Когда конструкция была уже готова, было решено для контроля работы реле поворотов последовательно с резистором R3 включить красный светодиод (на схеме рис.1 он не показан).
Программа была создана в среде Flowcode [1] для МК DD1 PIC12F675, но ее несложно портировать и для PIC12F629. Код получился несложным, но объемным, как, пожалуй, все коды, создаваемые во Flowcode.
Устройство собрано на печатной плате размерами 22×23 мм с применением SMD-компонентов. Плата установлена в корпусе от стандартного реле поворотов (см. фото). Печатная плата реле поворотов, как, впрочем, и принципиальная схема, разрабатывались в программе DipTrace.
Скачать архив к проекту (файлы проекта реле поворотов в Proteus с исходниками и прошивкой, а также чертежи принципиальной схемы и печатной платы).
Ссылки
- http://flowcode.info/ — сайт русскоязычной поддержки программы Flowcode.
- https://www.driveru/b/2575388/- Реле поворотов на PIC12F675 в блоге Максима Батурина.
Автор: Максим Батурин, г. Мурманск
Электронный кодовый замок на микроконтроллере PIC12F675. Схема
В различной радиолюбительской литературе можно обнаружить множество вариантов электронных кодовых замков.
Данный микроконтроллер снабжен 10 битным АЦП с диапазоном преобразования от 0 до 1023. Суть метода в том, что клавиатура представляет из себя, по сути, делитель напряжения на резисторах R1-R12 и при нажатии определенной кнопки клавиатуры на вход 7 микроконтроллера поступает напряжение, величина которого характерна только для данной кнопки.
Работа кодового замка на PIC12F675
Для записи 4 цифр секретного кода сперва необходимо нажать кнопку “CODE” и удерживать ее до того момента когда загорится светодиод LED. Затем поочередно нужно набрать 4 цифры секретного кода. По завершению ввода, данный код будет записан в энергонезависимую память микроконтроллера.
Теперь если набрать данный код на клавиатуре произойдет включение реле на 5 секунд. При десятикратной неверно набранном секретном коде прозвучит сигнал тревоги.
Скачать прошивку и печатную плату (56,3 KiB, скачано: 646)
Сохранение калибровочной константы для контроллеров PIC 12F629 и 12F675
Примечание: Программатор Microchip PICKit2 с версией программного обеспечения V2.61 вычислит и повторно занесет в память стертую константу OSCCAL за одну операцию. Поэтому настоятельно рекомендуется использовать программатор PICkit, благодаря которому вам больше не придется беспокоиться о случайно стертой константе OSCCAL.
Контроллеры PIC 12F629 и 12F675 имеют заводскую установочную калибровочную константу, которая записана в последнюю ячейку памяти программ во время процесса изготовления. При программировании контроллера программное обеспечение должно считать данную константу, сохранить вместе с данными основной программы, которые записаны в PIC контроллере, и затем повторно перезаписать в свою ячейку.
Поскольку данная калибровочная константа находится в обычной области памяти программ PIC контроллера, то ее можно легко затереть. Если вы случайно стерли эту константу, тогда будет нелегко определить, какая константа была на самом деле. Без этой константы внутренний тактовый генератор на 4МГц не будет правильно работать на заданной частоте. Хуже всего, что код прикладной программы, которому нужна данная калибровочная константа, в большинстве случаев будет приводить к общему сбою выполнения программы.
Поэтому важно знать правильное значение данной константы для калибровочных настроек тактового генератора. Ниже указана процедура сохранения правильной калибровочной константы тактового генератора, благодаря которой вы сможете восстановить и повторно записать случайно стертую константу.
- Возьмите новую микросхему контроллера PIC 12F629 или 12F675, вставьте в программатор и СЧИТАЙТЕ данные памяти программ.
- Найдите последнюю ячейку памяти программ по адресу 0x3FF.
- Запишите шестнадцатеричное значение по данному адресу. Оно должно быть в виде 34xx, как обведено красным кружочком на рисунке ниже.
- 34 – это инструкция RETLW (возврат из подпрограммы с установленной константой), бит, который нас интересует, является калибровочной константой. На рисунке выше – это шестнадцатеричный код 8C. Однако это значение не одинаковое для различных контроллеров. Поэтому важно знать фактическое значение калибровочной константы для каждого PIC контроллера.
- Запишите значение этой калибровочной константы и конвертируйте в двоичное число. В нашем примере 8C – это двоичное число 10001100.
- Очень удобно, что данные PIC контроллеры имеют 8 выводов, а двоичное число, которые мы в результате получили, имеет 8 бит.
- Возьмите маркер и далее по часовой стрелке вокруг выводов контроллера пометьте каждый вывод, где в значении калибровочной константы встречается логическая единица «1».
Теперь если вы когда-либо сотрете калибровочную константу, вам всего лишь потребуется посмотреть на помеченные выводы контроллера, определить значение константы и с префиксом 34 повторно записать в последнюю ячейку памяти программ по адресу 0x3FF – Проще не бывает!
Оригинал статьи
Теги:
Вознаградить Я собрал 0 0x
Оценить статью
- Техническая грамотность
- Актуальность материала
- Изложение материала
- Полезность устройства
- Повторяемость устройства
- Орфография
0
Оценить Сбросить
Средний балл статьи: 0 Проголосовало: 0 чел.