12F675 схема включения: Простая схема управления сервоприводом на микроконтроллере PIC12F675 – Встраиваемый ампер-вольтметр на PIC12F675 и LED-индикаторах

Простой таймер на микроконтроллере 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 с ис­ходниками и прошивкой, а также чертежи принци­пиальной схемы и печатной платы).

Ссылки

  1. http://flowcode.info/ — сайт русскоязычной поддержки программы Flowcode.
  2. https://www.driveru/b/2575388/- Реле по­воротов на PIC12F675 в блоге Максима Батурина.

Автор: Максим Батурин, г. Мурманск

Электронный кодовый замок на микроконтроллере PIC12F675. Схема

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

Особенностью данной схемы кодового замка на микроконтроллере является принципиально новый метод считывания нажатия клавиш, используя всего лишь один порт микроконтроллера 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МГц не будет правильно работать на заданной частоте. Хуже всего, что код прикладной программы, которому нужна данная калибровочная константа, в большинстве случаев будет приводить к общему сбою выполнения программы.

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

  1. Возьмите новую микросхему контроллера PIC 12F629 или 12F675, вставьте в программатор и СЧИТАЙТЕ данные памяти программ.
  2. Найдите последнюю ячейку памяти программ по адресу 0x3FF.
  3. Запишите шестнадцатеричное значение по данному адресу. Оно должно быть в виде 34xx, как обведено красным кружочком на рисунке ниже.

piccal2.jpg

  1. 34 – это инструкция RETLW (возврат из подпрограммы с установленной константой), бит, который нас интересует, является калибровочной константой. На рисунке выше – это шестнадцатеричный код 8C. Однако это значение не одинаковое для различных контроллеров. Поэтому важно знать фактическое значение калибровочной константы для каждого PIC контроллера.
  2. Запишите значение этой калибровочной константы и конвертируйте в двоичное число. В нашем примере 8C – это двоичное число 10001100.
  3. Очень удобно, что данные PIC контроллеры имеют 8 выводов, а двоичное число, которые мы в результате получили, имеет 8 бит.
  4. Возьмите маркер и далее по часовой стрелке вокруг выводов контроллера пометьте каждый вывод, где в значении калибровочной константы встречается логическая единица «1».

piccal1.jpg

Теперь если вы когда-либо сотрете калибровочную константу, вам всего лишь потребуется посмотреть на помеченные выводы контроллера, определить значение константы и с префиксом 34 повторно записать в последнюю ячейку памяти программ по адресу 0x3FF – Проще не бывает!

Оригинал статьи

Теги:

piccal1.jpg
Вознаградить Я собрал 0 0

x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография

0

Оценить Сбросить

Средний балл статьи: 0 Проголосовало: 0 чел.

Author:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *