Проекты на pic16f628a – Проекты на PIC

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

Выбор микроконтроллера обычно осуществляется под необходимые задачи. Для изучения хорошо подойдет популярный МК с минимальным набором периферии: 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 блока:

  • выбор МК и его конфигурация
    include 16f628a -- подключение библиотеки нашего МК
    --
    -- This program assumes a 20 MHz resonator or crystal
    -- is connected to pins OSC1 and OSC2.
    pragma
    target clock 20_000_000 -- oscillator frequency
    -- configuration memory settings (fuses)
    pragma target OSC HS -- HS crystal or resonator
    pragma target WDT disabled -- no watchdog
    pragma target LVP disabled -- no Low Voltage Programming
    pragma target MCLR external -- reset externally
    --

  • объявление переменных, процедур, функций
    alias led is pin_A0
    pin_A0_direction = output

  • выполнение настроек и расчетов до основного цикла
    enable_digital_io() -- переключение всех входов\выходов на цифровой режим
  • бесконечный цикл основных действий МК
    forever loop
    led = on
    _usec_delay(250000)
    led = off
    _usec_delay(250000)
    end loop

Нажав F9 (или соответсвующую кнопку) программа скомпилируется в готовую прошивку, при этом будет видно сколько ресурсов МК будет задействовано:
Code :58/2048 Data:4/208 Hardware Stack: 0/8 Software Stack :80

Если прочитать комментарии, то станет ясно, что данная программа рассчитана на использование внешнего кварца 20MHz.
Так как у нас его пока нет, разберемся с конфигурацией и перепишем программу на использование внутреннего генератора.

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


В разных микрокотнролерах существуют различные наборы конфигурационных битов. Узнать о назначении каждого бита можно в даташите (стр. 97).
В подключенной библиотеке каждому биту и каждому его значению присвоена читабельная переменная, остается только выбрать необходимые нам параметры.
-- Symbolic Fuse definitions
-- -------------------------
--
-- addr 0x2007
--
pragma
fuse_def OSC 0x13 { -- oscillator
RC_CLKOUT = 0x13 -- rc: clkout on ra6/osc2/clkout, rc on ra7/osc1/clkin
RC_NOCLKOUT = 0x12 -- rc: i/o on ra6/osc2/clkout, rc on ra7/osc1/clkin
INTOSC_CLKOUT = 0x11 -- intosc: clkout on ra6/osc2/clkout, i/o on ra7/osc1/clkin
INTOSC_NOCLKOUT = 0x10 -- intosc: i/o on ra6/osc2/clkout, i/o on ra7/osc1/clkin
EC_NOCLKOUT = 0x3 -- ec
HS = 0x2 -- hs
XT = 0x1 -- xt
LP = 0x0 -- lp
}
pragma fuse_def WDT 0x4 { -- watchdog timer
ENABLED = 0x4 -- on
DISABLED = 0x0 -- off
}
pragma fuse_def PWRTE 0x8 { -- power up timer
DISABLED = 0x8 -- disabled
ENABLED = 0x0 -- enabled
}
pragma fuse_def MCLR 0x20 { -- master clear enable
EXTERNAL = 0x20 -- enabled
INTERNAL = 0x0 -- disabled
}
pragma fuse_def BROWNOUT 0x40 { -- brown out detect
ENABLED = 0x40 -- enabled
DISABLED = 0x0 -- disabled
}
pragma fuse_def LVP 0x80 { -- low voltage program
ENABLED = 0x80 -- enabled
DISABLED = 0x0 -- disabled
}
pragma fuse_def CPD 0x100 { -- data ee read protect
DISABLED = 0x100 -- disabled
ENABLED = 0x0 -- enabled
}
pragma fuse_def CP 0x2000 { -- code protect
DISABLED = 0x2000 -- off
ENABLED = 0x0 -- on
}
  • 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 (прошивки) от считывания программатором.

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

pragma target clock 4_000_000 -- указываем рабочую частоту, необходимо для некоторых функций расчета времени
-- конфигурация микроконтроллера
pragma target OSC INTOSC_NOCLKOUT -- используем внутренний генератор
pragma target WDT disabled -- сторожевой таймер отключен
pragma target PWRTE disabled -- таймер питания отключен
pragma target MCLR external -- внешний сброс активен
pragma target BROWNOUT disabled -- сбос при падении питания отключен
pragma target LVP disabled -- программирование низким напряжением отключено
pragma target CPD disabled -- защита EEPROM отключена
pragma target CP disabled -- защита кода отключена

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


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

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


В первом случае ток потечет от МК при установке единицы, а во втором — к МК при установке нуля.

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

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

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

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

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

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

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

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

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

После нажатия такой кнопки МК начнет выполнение программы с нуля.

Прошивка

Присваиваем нашему светодиоду и кнопке переменные:
enable_digital_io() -- переключение всех входов\выходов на цифровой режим
--
alias led is pin_B5 -- светодиод подключен к RB5
pin_B5_direction = output -- настраиваем RB5 как цифровой выход
--
alias button is pin_B4 -- кнопка подключена к RB4
pin_B4_direction = input -- настраиваем RB4 как вход
led = off -- выключаем светодиод

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

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

forever loop
led = off -- выключаем светодиод
_usec_delay(500000) -- ждем 0,5 сек
if Button == 0 then -- если кнопка нажата, выполняем действия
led = on -- зажигаем светодиод
_usec_delay(500000) -- ждем 0,5 сек
end if
end loop

Задержка считается просто:
частота генератора у нас 4MHz. Рабочая частота в 4 раза меньше: 1 MHz. Или 1 такт = 1 мкс. 500.000 мкс = 0,5 с.

Компилируем прошивку:

Errors :0 Warnings :0
Code :60/2048 Data:4/208 Hardware Stack: 0/8 Software Stack :80

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

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


Все таже схема:

Смотрим на распиновку:

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

Паяем…


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

В качестве питания 5В в данном случае использовался хвост от старой PS/2 мыши, вставленный в разъем для мыши.

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

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

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

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

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

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

Program All, затем Verify All

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

Результат


Финальная схема:

От программатора нам мешает только высокое напряжение (12в) на MCLR. Дабы не отпаивать весь программатор, можно отпаять только один провод… Или просто не подключать программатор к COM порту. Остальные провода нам мешать не будут (а подключенные питание и земля только упростят пайку).

Кнопку на MCLR паять можно по желанию, но подтяжка обязательна.

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


Результат работы можно увидеть на видео.

Итак, у нас получилось самое простое устройство на микроконтроллере: мигалка светодиодом.

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

habr.com

PIC16F628A — Меандр — занимательная электроника

В современных промышленных стан­ках используются цифровые уст­ройства для измерения перемещения механизмов, датчиками которых служат электромеханические устройства, на­пример, ПДФ-3М [1] или ЛИР-158 [2] и аналогичные, использующие двухфаз­ный метод счёта. Предлагаемый прибор предназначен для проверки и отбраков­ки таких датчиков. Метод проверки — подсчёт числа импульсов на один обо­рот вала датчика. В приборе, схема которого изображе­на на рис. …

Читать далее

Постоянная ссылка на это сообщение: http://meandr.org/archives/36475

Известно, что для регулирования переменного напряжения при различных экспериментах необходим лабораторный авто­трансформатор. Однако если его нет, можно использовать трансформатор, описанный в [1]. Для повышения оперативности и удобства работы с таким трансформатором в своё время был разработан и описан в [2] блок управления. К сожалению, он довольно сложен, поскольку построен на логических микросхе­мах малой и средней …

Читать далее

Постоянная ссылка на это сообщение: http://meandr.org/archives/35321

Устройство предназначено для запоминания двух положений автомобильного кресла по расстоянию от рулевой колонки и наклону спинки, выбранных пользователем, и их быстрой авто­матической установки. При необходимости оно может управлять и другими объектами, которые нужно быстро переводить в два заданных положения, например, потолочным люком или пово­ротной антенной. Основа устройства — микроконтрол­лер PIC16F628A. Во время работы перемещающего кресло …

Читать далее

Постоянная ссылка на это сообщение: http://meandr.org/archives/31213

Предлагаем вниманию читателей усовершенствованный вариант прибора, описание которого было опубликовано в [1]. По мнению автора, новый прибор обладает существенными преиму­ществами над прототипом, поскольку не только выводит результаты измере­ния на экран ЖКИ, но и обеспечивает соблюдение условий измерения макси­мальной для используемого в конструк­ции счётчика Гейгера СБМ-20 интенсив­ности радиации 144 мР/ч [2]. Кроме то­го, он измеряет суммарную …

Читать далее

Постоянная ссылка на это сообщение: http://meandr.org/archives/29650

Этот замок можно использовать для ограничения доступа в поме­щение, гараж, дом, сейф, шкаф. Его исполнительным устройством может служить механизм запирания двери автомобиля. Устройство, схема которого изоб­ражена на рис. 1, позволяет посред­ством введённого кода отпирать дверь и запирать её. Код хранится в EEPROM микроконтроллера DD1, а при включении питания устройства программа копирует его в оператив­ную память. …

Читать далее

Постоянная ссылка на это сообщение: http://meandr.org/archives/29634

meandr.org

Устройства на микроконтроллерах — Меандр — занимательная электроника

Схемы на микроконтроллерах PIC, AVR

В современных промышленных стан­ках используются цифровые уст­ройства для измерения перемещения механизмов, датчиками которых служат электромеханические устройства, на­пример, ПДФ-3М [1] или ЛИР-158 [2] и аналогичные, использующие двухфаз­ный метод счёта. Предлагаемый прибор предназначен для проверки и отбраков­ки таких датчиков. Метод проверки — подсчёт числа импульсов на один обо­рот вала датчика. В приборе, схема которого изображе­на на рис. …

Читать далее

Постоянная ссылка на это сообщение: http://meandr.org/archives/36475

В доме автора нередко отключают электропитание, что очень некстати в тёмное время суток, когда детям нужно делать уроки, а у остальных членов семьи остаются незаконченными домаш­ние дела. Это побудило его изготовить резервную систему пита­ния. Было выяснено, что потребляемая полностью включённым освещени­ем дома мощность при использовании люминесцентных ламп не превышает 600 Вт. В наличии имелся компьютер­ный …

Читать далее

Постоянная ссылка на это сообщение: http://meandr.org/archives/36457

Сейчас очень попу­лярно освещение с помощью светодиод­ных лент. Особенно интересно примене­ние RGB-светодиодных лент, потому что это позволяет полу­чить самую разно­образную окраску освещения. Это устройство предназначено для управления RGB-светодиодной лентой или тремя свето­диодными блоками с общими анодами. Устройство обеспечивает 13 режимов работы светодиодной ленты: Выключенное состояние. Включены все светодиоды. Включены красные светодиоды. Включены зеленые светодиоды. Включены …

Читать далее

Постоянная ссылка на это сообщение: http://meandr.org/archives/36423

Описание и назначение устройства Публикация статьи рассчитана больше на начина­ющих — тех, кто только пытается заняться освоени­ем и пониманием работы устройств на AVR микро­контроллерах. Поэтому приведённый здесь проект в AVR Studio с текстом исходного кода написан с под­робными комментариями. Мне хотелось на реальном простом устройстве, которое может найти конкрет­ное применение в быту, привести пример реализа­ции …

Читать далее

Постоянная ссылка на это сообщение: http://meandr.org/archives/36158

Индикатор предназна­чен для непрерывного измерения и индикации напряжения в электро­сети. Индикатор состоит из цифрового трехразряд­ного измерителя напряжения, источника питания и датчика напряжения электросети. По сути, датчик напря­жения электросети и источник питания это единое целое. Прибор питается от электросети через источник питания, состоящий из понижаю­щего трансформатора, выпрямителя и стабили­затора на микросхеме 7805. Напряжение пита­ния измерителя 5V …

Читать далее

Постоянная ссылка на это сообщение: http://meandr.org/archives/36074

meandr.org

Схемы на микроконтроллерах


    Схема и фото самодельных электронных часов с календарём и термометром.

20.07.2012 Читали: 23691


     Схема и фото программатора микроконтроллеров AVR Stk 200-300 через порт компьютера LPT.

14.06.2012 Читали: 17790


     Схема и фотографии проверенной сигнализации на микроконтроллере ATmega8, с оповещением на мобильный телефон.

10.06.2012 Читали: 36537


     Схема и подробное описание проверенного usb программатора микроконтроллеров avr.

09.06.2012 Читали: 49149


     Недавно собрал первый программатор в своей жизни. Решил поделится своей поделкой с вами, уважаемые посетители сайта ELWO.RU, так как результат работы устройства порадовал.

07.06.2012 Читали: 31346


     Ещё одна схема и описание конструкции проверенного контроллера USB-DMX.

28.04.2012 Читали: 39539


     Схема, фотографии и описание самодельного контроллера USB-DMX для управления световыми приборами через ПК.

25.04.2012 Читали: 20654



Снижение расхода топлива в авто

Ремонт зарядного 6-12 В

Солнечная министанция

Самодельный ламповый

Фонарики Police

Генератор ВЧ и НЧ

elwo.ru

РадиоКот :: Часы — будильник на микроконтроллере PIC16F628A.

РадиоКот >Схемы >Цифровые устройства >Бытовая техника >

Часы — будильник на микроконтроллере PIC16F628A.

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

Ну а теперь — обещанный расказ, итак:
-Реализовано 2 режима отображения часы-минуты и минуты-секунды. Переключение кнопкой «Инкремент«.

-При нажатии кнопки «Коррекция» часы переходят в режим коррекции секунд (секунды обнуляются кнопкой «Инкремент«). Следующее нажатие кнопки «Коррекция» переводит часы в режим коррекции минут (минуты увеличиваются кнопкой «Инкремент«). Ещё одно нажатие кнопки «Коррекция» — переход к коррекции часов (часы увеличиваются кнопкой «Инкремент«). Следующее нажатие кнопки «Коррекция» — возврат в режим отображения часов-минут.

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

-В часах реализована функция коррекции посредством подстройки константы (режим подстройки включается при удержании кнопки «Коррекция» дольше 1-й секунды). По умолчанию константа равна 1032 микросекунды в секунду. При отставании часов константу увеличиваем (кнопка «Инкремент«) на величину отставания вычисленное в микросекудах за 1 секунду. Если часы спешат, константу уменьшаем (кнопка «Будильник«) по тому же принципу.

-Возврат в обычный режим осуществляется из режимов коррекции через 3 минуты после последнего нажатия любой из кнопок.

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

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

Прошивку берем тут.
Исходники тут.
Печатная плата для индикатора 5620 тут.(от maverick5334)
Печатная плата для индикатора АЛС324 тут.(от maverick5334)

Все вопросы в Форум.


Как вам эта статья?

Заработало ли это устройство у вас?


Эти статьи вам тоже могут пригодиться:

www.radiokot.ru

PIC16F628A — Страница 2 — Меандр — занимательная электроника

Предлагаемые вниманию читателей часы имеют небольшие габариты и содержат минимум деталей. Они могут быть легко установлены в любом автомобиле. Cхема часов изображена на рис. 1. Они собраны на микроконтроллере PIC16F628A (DD1) и светодиодном ин­дикаторе СА56-11YWA (HG1). Тактовый генератор микроконтроллера работает на частоте 32768 Гц, стабилизирован­ной «часовым» кварцевым резонато­ром ZQ1. Для уменьшения числа деталей ка­тоды элементов …

Читать далее

Постоянная ссылка на это сообщение: http://meandr.org/archives/27807

Авторы исследовали ЖКИ, снятый с неисправной платы про­мышленного электронного прибора, и применили его в часах собственной разработки. В наше распоряжение попали не­сколько списанных электронных плат, входивших в состав импортных приборов, предназначенных для управ­ления технологическими процессами. На платах имелись ЖКИ M269 фирмы Clover Display Ltd. Такие ЖКИ имеют значительную площадь экрана, отображают большое число симво­лов, надписей …

Читать далее

Постоянная ссылка на это сообщение: http://meandr.org/archives/27766

В литературе встре­чается достаточно много описаний электронных цифро­вых термометров как на основе микроконт­роллеров, так и выполненных по простым логическим и аналоговым схе­мам. Этот прибор одновременно изме­ряет влажность и температуру в поме­щении. Влажность от 20 до 95% и темпе­ратуру от 0 до 50°С. Этого вполне доста­точно для контроля за влажностью и температурой в жи­лом, производствен­ном помещении. …

Читать далее

Постоянная ссылка на это сообщение: http://meandr.org/archives/27148

Отображение на ЖК-дисплее: температуры окружающей среды минимальной температуры максимальной температуры Связь с компьютером (через порт RS232C) Наблюдение за температурой в раскрывающемся графике Сохранение измерений в файле Программируемый термостат Контроль температуры через интернет на базе данных MySQL Контроль температуры через интернет с помощью протокола FTP 1.  Ознакомление Это электронный термометр с выводом температуры на ЖК-дисплей. Температура …

Читать далее

Постоянная ссылка на это сообщение: http://meandr.org/archives/24913

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

Читать далее

Постоянная ссылка на это сообщение: http://meandr.org/archives/22179

meandr.org

LC метр на микроконтроллере PIC16F628A. Схема и описание — Уголок радиолюбителя

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

Схема данного LС метра на микроконтроллере была взята с сайта www.sites.google.com/site/vk3bhr/home/index2-html. Прибор построен на PIC микроконтроллере 16F628A, и так как я недавно приобрел программатор PIC, я решил испытать его это с помощью этого проекта.

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

Я убрал регулятор 7805, так как решил использовать зарядное устройство на 5 вольт от сотового телефона.

В схеме подстроичный резистор на 5 кОм, но на самом деле я поставил 10 кОм, согласно datasheet на приобретенный LCD модуль.
Все три конденсаторы 10 мкФ танталовые. Необходимо заметить что конденсатор C7 – 100мкФ на самом деле 1000мкФ.
Два конденсатора по 1000пФ конденсаторы styroflex с допустимым отклонением в 1%, индуктивная катушка 82мкГн.

Общий ток потребления с подсветкой составляет около 30мА.
Резистор R11 ограничивает ток подсветки и должен быть рассчитан в соответствии с фактически используемым LCD-модулем.

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

Последние две фотографии показывают LC метр в действии. На первом из них измерение емкости конденсатора 1нФ с отклонением 1%, а на втором — индуктивность 22мкГн с отклонением в 10%. Устройство очень чувствительно – то есть, с неподключенным конденсатором он показывает емкость порядка 3-5 пФ, но это устраняется путем калибровки.

Если кто захочет попробовать собрать данный LC метр, вот PDF-файлы для скачивания:

Скачать рисунок печатной платы (скачено: 2 161)

http://diyfan.blogspot.ro

fornk.ru

0 comments on “Проекты на pic16f628a – Проекты на PIC

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

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