Устройства на микроконтроллерах pic своими руками – Микроконтроллеры » Журнал практической электроники Датагор (Datagor Practical Electronics Magazine)

Устройства на микроконтроллерах





     Делаем простейший декоративный LED светильник на небольшом маломощном RGB светодиоде и микроконтроллере.

14.01.2014 Прочитали: 19249

     Микроконтроллеры для начинающих — делаем простой термометр на AtTiny2313.

12.01.2014 Прочитали: 36327

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

07.01.2014 Прочитали: 33138

     Принципиальная схема и видео самодельных самых простых часов на микроконтроллере atmega8.

04.01.2014 Прочитали: 37558

     Самодельная новогодняя LED елка на микроконтроллере PIC16F628 — схема, фото и видео.

29.12.2013 Прочитали: 16965

     Схема стабилизатора на микросхеме 7805, специально предназначенная для МК AVR.

28.12.2013 Прочитали: 18162

     Проверенная схема программатора контроллеров avr без использования дефицитных радиодеталей.

27.12.2013 Прочитали: 33983

     Делаем электронные часы с будильником на микроконтроллере и ЖК дисплее от мобильного телефона.

23.12.2013 Прочитали: 21940






Программатор pic-контроллеров Extra-pic своими руками

Довольно большую популярность в интернете набирают схемы с использованием микроконтроллеров. Микроконтроллер – это такая специальная микросхема, которая, по сути своей, является маленьким компьютером, со своими портами ввода-вывода, памятью. Благодаря микроконтроллером можно создавать весьма функциональные схемы с минимумом пассивных компонентов, например, электронные часы, плееры, различные светодиодные эффекты, устройства автоматизации.
Программатор picконтроллеров Extrapic
Для того, чтобы микросхема начала исполнять какие-либо функции, нужно её прошить, т.е. загрузить в её память код прошивки. Сделать это можно с помощью специального устройства, называемого программатором. Программатор связывает компьютер, на котором находится файл прошивки с прошиваемым микроконтроллером. Стоит упомянуть, что существуют микроконтроллеры семейства AVR, например такие, как Atmega8, Attiny13, и серии pic, например PIC12F675, PIC16F676. Pic-серия принадлежит компании Microchip, а AVR компании Atmel, поэтому способы прошивки pic и AVR отличаются. В этой статье рассмотрим процесс создания программатора Extra-pic, с помощью которого можно прошить микроконтроллер серии pic.
К достоинствам именно этого программатора можно отнести простоту его схемы, надёжность работы, универсальность, ведь поддерживает он все распространённые микроконтроллеры. На компьютере поддерживается также самыми распространёнными программами для прошивки, такими как Ic-prog, WinPic800, PonyProg, PICPgm.

Схема программатора


Программатор picконтроллеров Extrapic
Она содержит в себе две микросхемы, импортную MAX232 и отечественную КР1533ЛА3, которую можно заменить на КР155ЛА3. Два транзистора, КТ502, который можно заменить на КТ345, КТ3107 или любой другой маломощный PNP транзистор. КТ3102 также можно менять, например, на BC457, КТ315. Зелёный светодиод служит индикатором наличия питания, красный загорается во время процесса прошивки микроконтроллера. Диод 1N4007 служит для защиты схемы от подачи напряжения неправильной полярности.

Материалы


Программатор picконтроллеров Extrapic
Список необходимых для сборки программатора деталей:
  • Стабилизатор 78L05 – 2 шт.
  • Стабилизатор 78L12 – 1 шт.
  • Светодиод на 3 в. зелёный – 1 шт.
  • Светодиод на 3 в. красный – 1 шт.
  • Диод 1N4007 – 1 шт.
  • Диод 1N4148 – 2 шт.
  • Резистор 0,125 Вт 4,7 кОм – 2 шт.
  • Резистор 0,125 Вт 1 кОм – 6 шт.
  • Конденсатор 10 мкФ 16В – 4 шт.
  • Конденсатор 220 мкФ 25В – 1 шт.
  • Конденсатор 100 нФ – 3 шт.
  • Транзистор КТ3102 – 1 шт.
  • Транзистор КТ502 – 1 шт.
  • Микросхема MAX232 – 1 шт.
  • Микросхема КР1533ЛА3 – 1 шт.
  • Разъём питания – 1 шт
  • Разъём COM порта «мама» — 1 шт.
  • Панелька DIP40 – 1 шт.
  • Панелька DIP8 – 2 шт.
  • Панелька DIP14 – 1 шт.
  • Панелька DIP16 – 1 шт.
  • Панелька DIP18 – 1 шт.
  • Панелька DIP28 – 1 шт.

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

Изготовление печатной платы


Программатор собирается на печатной плате размерами 100х70 мм. Печатная плата выполняется методом ЛУТ, файл к статье прилагается. Отзеркаливать изображение перед печатью не нужно.
Программатор picконтроллеров Extrapic
Скачать плату:

Сборка программатора


Первым делом на печатную плату впаиваются перемычки, затем резисторы, диоды. В последнюю очередь нужно впаять панельки и разъёмы питания и СОМ порта.
Программатор picконтроллеров Extrapic

Программатор picконтроллеров Extrapic
Т.к. на печатное плате много панелек под прошиваемые микроконтроллеры, а используются у них не все выводы, можно пойти на такую хитрость и вынуть неиспользуемые контакты из панелек. При этом меньше времени уйдёт на пайку и вставить микросхему в такую панельку будет уже куда проще.
Программатор picконтроллеров Extrapic
Разъём СОМ порта (он называется DB-9) имеет два штырька, которые должны «втыкаться» в плату. Чтобы не сверлить под них лишние отверстия на плате, можно открутить два винтика под бокам разъёма, при этом штырьки отпадут, как и металлическая окантовка разъёма.
Программатор picконтроллеров Extrapic

После впайки всех деталей плату нужно отмыть от флюса, прозвонить соседние контакты, нет ли замыканий. Убедиться в том, что в панельках нет микросхем (вынуть нужно в том числе и МАХ232, и КР1533ЛА3), подключить питание. Проверить, присутствует ли напряжение 5 вольт на выходах стабилизаторов. Если всё хорошо, можно устанавливать микросхемы МАХ232 и КР1533ЛА3, программатор готов к работе. Напряжение питания схемы 15-24 вольта.
Программатор picконтроллеров Extrapic
Программатор picконтроллеров Extrapic
Плата программатора содержит 4 панельки для микроконтроллеров и одну для прошивки микросхем памяти. Перед установкой на плату прошиваемого микроконтроллера нужно посмотреть, совпадает ли его распиновка с распиновкой на плате программатора. Программатор можно подключать к СОМ-порту компьютера напрямую, либо же через удлинительный кабель. Успешной сборки!
Программатор picконтроллеров Extrapic

Устройства на микроконтроллерах





     Принципиальная электрическая схема популярного пограмматора JDM, предназначенного для микроконтроллеров семейства PIC16.

22.06.2014 Прочитали: 17006

     Самодельная паяльная станция (Фен) — блок управления на микроконтроллере с цифровым измерителем температуры на светодиодных индикаторах.

11.06.2014 Прочитали: 109330

     Пример подключения LCD дисплея от мобильного телефона Motorola V-180 к микроконтроллеру.

03.06.2014 Прочитали: 21437

     Схема самодельного измерителя индуктивности и ёмкости на микроконтроллере pic16 и ЖК дисплее от Nokia.

30.05.2014 Прочитали: 55662

     Как сделать терморегулятор с цифровой индикацией и микроконтроллером для электрического духового шкафа — два варианта схем.

23.04.2014 Прочитали: 110013

     Сборка и настройка простой встраиваемой конструкции вольтамперватметра на микроконтроллере PIC16F676 и микросхеме 74HC595.
 

10.04.2014 Прочитали: 28199

     Инструкция по изготовлению цифрового ампервольтметра на микроконтроллере и ЖК дисплее от телефона Nokia-1202.

04.03.2014 Прочитали: 60845

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

02.03.2014 Прочитали: 48656

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

01.02.2014 Прочитали: 13148






Самодельный программатор для PIC-контроллеров

Самодельный программатор для PIC-контроллеров
Развитие электроники идёт стремительными темпами, и всё чаще главным элементом того или иного устройства является микроконтроллер. Он выполняет основную работу и освобождает проектировщика от необходимости создания изощрённых схемных решений, тем самым уменьшая размер печатной платы до минимального. Как всем известно, микроконтроллером управляет программа, записанная в его внутреннюю память. И если опытный программист-электронщик не испытывает проблем с использованием микроконтроллеров в своих устройствах, то для начинающего радиолюбителя попытка записать программу в контроллер (особенно PIC) может обернуться большим разочарованием, а иногда и небольшим пиротехническим шоу в виде дымящей микросхемы.

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


Самодельный программатор для PIC-контроллеров
Рисунок №1 — схема программатора

Сразу привожу перечень элементов для тех, кому лень всматриваться в схему:


  • R1 — 10 кОм
  • R2 — 10 кОм (подстроченный). Регулировкой сопротивления данного резистора нужно добиться около 13В на выводе №4 (VPP) во время программирования. В моём случае сопротивление составляет 1,2 кОм
  • R3 — 200 Ом
  • R4, R5 — 1,5 кОм
  • VD1, VD2, VD3, VD4, VD6 — 1N4148
  • VD5 — 1N4733A (Напряжение стабилизации 5,1В)
  • VD7 — 1N4743A (Напряжение стабилизации 13В)
  • C1 — 100 нФ (0,1 мкФ)
  • C2 — 470 мкФ х 16 В (электролитический)
  • SUB-D9F — разъём СОМ-порта (МАМА или РОЗЕТКА)
  • Панелька DIP8 — зависит от используемого вами контроллера

В схеме использован пример подключения таких распространённых контроллеров, как PIC12F675 и PIC12F629, но это совсем не значит, что прошивка других серий PIC будет невозможна. Чтобы записать программу в контроллер другого типа, достаточно перекинуть провода программатора в соответствии с рисунком №2, который приведён ниже.


Самодельный программатор для PIC-контроллеров
Рисунок №2 — варианты корпусов PIC-контроллеров с необходимыми выводами
Как можно догадаться, в схеме моего программатора использован корпус DIP8. При большом желании можно изготовить универсальный переходник под каждый тип микросхемы, получив тем самым универсальный программатор. Но так как с PIC-контроллерами работаю редко, для меня хватит и этого.

Хоть сама схема довольно проста и не вызовет трудностей в сборке, но она тоже требует уважения. Поэтому неплохо было бы сделать под неё печатную плату. После некоторых манипуляций с программой SprintLayout, текстолитом, дрелью и утюгом, на свет родилась вот такая заготовка (фото №3).


Самодельный программатор для PIC-контроллеров
Фото №3 — печатная плата программатора
Скачать исходник печатной платы для программы SprintLayout можно по этой ссылке:
pp_programmator.zip [17.67 Kb] (скачиваний: 974)
При желании его можно изменить под свой тип PIC-контроллера. Для тех, кто решил оставить плату без изменений, выкладываю вид со стороны деталей для облегчения монтажа (рисунок №4).
Самодельный программатор для PIC-контроллеров
Рисунок №4 — плата с монтажной стороны

Ещё немного колдовства с паяльником и мы имеем готовое устройство, способное прошить PIC-контроллер через COM-порт вашего компьютера. Ещё тёпленький и не отмытый от флюса результат моих стараний показан на фото №5.


Самодельный программатор для PIC-контроллеров
Фото №5 — программатор в сборе
С этого момента, первый этап на пути к прошивке PIC-контроллера, подошёл к концу. Второй этап будет включать в себя подключение программатора к компьютеру и работу с программой IC-Prog.
К сожалению, не все современные компьютеры и ноутбуки способны работать с данным программатором ввиду банального отсутствия на них COM-портов, а те что установлены на ноутбуках не выдают необходимые для программирования 12В. Так что я решил обратится к своему первому ПК, который давным-давно пылился и ждал своего звёздного часа (и таки дождался).
Итак включаем компьютер и первым делом устанавливаем программу IC-Prog. Скачать её можно с сайта автора или по этой ссылке:
icprog105d.zip [432.25 Kb] (скачиваний: 1159)
Подключаем программатор к COM-порту и запускаем только что установленное приложение. Для корректной работы необходимо выполнить ряд манипуляций. Изначально необходимо выбрать тот тип контроллера, который собираемся шить. У меня это PIC12F675. На скриншоте №6 поле для выбора контроллера выделено красным цветом.
Самодельный программатор для PIC-контроллеров
Скриншот №6 — выбор типа микроконтроллера

Далее переходим в меню «Настройки»->»Опции«, в появившемся окне выбираем вкладку I2C и ставим галочки, как показано на скриншоте №7.


Самодельный программатор для PIC-контроллеров
Скриншот №7 — настройка метода записи контроллера

В этом же окне переходим во вкладку «Программирование» и выбираем пункт «Проверка при программировании«. Проверка после программирования может вызвать ошибку, так как в некоторых случаях самой прошивкой устанавливаются фьюзы блокировки считывания СР. Чтобы не морочить себе голову данную проверку лучше отключить. Короче следуем скриншоту №8.


Самодельный программатор для PIC-контроллеров
Скриншот №8 — настройка верификации

Продолжаем работу с этим окном и переходим на вкладку «Общие«. Здесь необходимо задать приоритет работы программы и обязательно задействовать NT/2000/XP драйвер (скриншот №9). В некоторых случаях программа может предложить установку данного драйвера и потребуется перезапуск IC-Prog.


Самодельный программатор для PIC-контроллеров
Скриншот №9 — общие настройки

Итак, с этим окном работа окончена. Теперь перейдём к настройкам самого программатора. Выбираем в меню «Настройки»->»Настройки программатора» или просто нажимаем клавишу F3. Появляется следующее окно, показанное на скриншоте №10.


Самодельный программатор для PIC-контроллеров
Скриншот №10 — окно настроек программатора
Первым делом выбираем тип программатора — JDM Programmer. Далее выставляем радиокнопку использования драйвера Windows. Следующий шаг подразумевает выбор COM-порта, к которому подключен ваш программатор. Если он один, вопросов вообще нет, а если более одного — посмотрите в диспетчере устройств, какой на данным момент используется. Ползунок задержки ввода/вывода предназначен для регулирования скорости записи и чтения. Это может понадобится на быстрых компьютерах и при возникновении проблем с прошивкой — этот параметр необходимо увеличить. В моём случае он остался по умолчанию равным 10 и всё нормально отработало.

На этом настройка программы IC-Prog окончена и можно переходить к процессу самой прошивки, но для начала считаем данные с микроконтроллера и посмотрим что в него записано. Для этого на панели инструментов нажимаем на значок микросхемы с зелёной стрелкой, как показано на скриншоте №11.


Самодельный программатор для PIC-контроллеров
Скриншот №11 — процесс чтения информации с микроконтроллера

Если микроконтроллер новый и до этого не прошивался, то все ячейки его памяти будут заполнены значениями 3FFF, кроме самой последней. В ней будет содержаться значение калибровочной константы. Это очень важное и уникальное для каждого контроллера значение. От него зависит точность тактирования, которая путём подбора и установки этой самой константы закладывается заводом изготовителем. На скриншоте №12 показана та ячейка памяти, в которой будет храниться константа при чтении контроллера.


Самодельный программатор для PIC-контроллеров
Скриншот №12 — значение калибровочной константы

Повторюсь, что значение уникальное для каждой микросхемы и не обязательно должно совпадать с тем, что на рисунке. Многие по неопытности затирают эту константу и в последствии PIC-контроллер начинает некорректно работать, если в проекте используется тактирование от внутреннего генератора. Советую записать эту константу и наклеить надпись с её значением прямо на контроллер. Таким образом вы избежите множество неприятностей в будущем. Итак, значение записано — двигаемся дальше. Открываем файл прошивки, имеющий как правило расширение .hex. Теперь вместо надписей 3FFF, буфер программирования содержит код нашей программы (скриншот №13).


Самодельный программатор для PIC-контроллеров
Скриншот №13 — прошивка, загруженная в буфер программирования

Выше я писал, что многие затирают калибровочную константу по неосторожности. Когда же это происходит? Это случается в момент открытия файла прошивки. Значение константы автоматически меняется на 3FFF и если начать процесс программирования, то назад дороги уже нет. На скриншоте №14 выделена та ячейка памяти где ранее была константа 3450 (до открытия hex-файла).


Самодельный программатор для PIC-контроллеров
Скриншот №14 — автоматическое изменение калибровочной константы

Теперь нужно очень внимательно выполнить последующие действия. Нажимаем иконку микросхемы с молнией на панели инструментов, тем самым сообщая программе, что мы хотим инициировать процесс прошивки. Программа спросит уверены ли мы, что хотим прошить данное устройство. Соглашаемся и нажимаем «ДА«. После этого получаем предупреждение, показанное на скриншоте №15.


Самодельный программатор для PIC-контроллеров
Скриншот №15 — предупреждение о расхождении значений константы тактирования

IC-Prog сообщает нам, что ранее было установлено одно значение калибровочной константы (в моём случае 3450), а теперь другое (3FFF), автоматически подставленное из hex-файла. Также по умолчанию предлагается оставить значение 3FFF. Здесь важно нажать «НЕТ«, чтобы IC-Prog во время программирования вернул нам значение 3450 или то, что будет у вас. В общем жмём «НЕТ» и наблюдаем следующее окно (скриншот №16).


Самодельный программатор для PIC-контроллеров
Скриншот №16 — процесс программирования

В этот период советую ничего не нажимать и не грузить компьютер другими задачами. Когда я делал снимок экрана для этой статьи, то при нажатии на кнопку Print Screen вылетела ошибка записи и пришлось проделывать всё заново. По истечении некоторого времени IC-Prog выдаст вам сообщение об успешной проверке вновь записанного кода в ваш PIC-контроллер, так что всем кому понравилась эта статья, желаю увидеть вот это после аналогичных стараний (скриншот №17):


Самодельный программатор для PIC-контроллеров
Скриншот №17 — прошивка прошла успешно, можно расслабиться

Если в процессе у вас возникнут какие-либо вопросы, внимательно перечитайте статью заново и всё обязательно получится — проверено лично. Всем удачи и творческих успехов!!!

Самодельный программатор для PIC-контроллеров Доставка новых самоделок на почту

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

*Заполняя форму вы соглашаетесь на обработку персональных данных

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

Author:

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

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