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

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

Рисунок №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, который приведён ниже.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Скриншот №17 - прошивка прошла успешно, можно расслабиться
Если в процессе у вас возникнут какие-либо вопросы, внимательно перечитайте статью заново и всё обязательно получится - проверено лично. Всем удачи и творческих успехов!!!
Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.Лучший самодельный программатор Скачать бесплатно для Windows
MyPlayCity.com 7
Загрузите самодельные поздравительные открытки бесплатно!
15 Прозрачная корпорация 556 Условно-бесплатное ПО
Нейропрограммист может изменять мозговую волну, используя захват мозговых волн.
5 Cypress MicroSystems 1,684 Бесплатное ПО
PSoC Programmer - это гибкое интегрированное приложение для программирования.
20 Altera Corporation 884 Бесплатное ПО
Позволяет добавлять файлы программирования и конфигурации.
7 Кристиан Стадлер 1 964 Бесплатное ПО
PICPgm - это приложение, предназначенное для программирования микроконтроллеров PIC.
10 Foxpro Inc.504 Бесплатное ПО
FOXPRO Programmer - это утилита для программирования звуков игр.
1 Traxon Technologies Europe GmbH 100 Бесплатное ПО
The e: cue Programmer - это приложение для программирования творческих световых проектов.
6 Решетчатый полупроводник 166 Бесплатное ПО
Diamond Programmer использует интерфейс пользователя Diamond.
5 Инструменты Техаса 757 Бесплатное ПО
Программатор флэш-памяти для ВЧ-устройств на кристалле компании Texas Instruments.
2 Frontline Electronics Pvt Ltd. Салем. Индия. 7 Бесплатное ПО
Дополнительная карта к стандартному персональному компьютеру через последовательный порт.
5 Texas Instruments Incorporated 739 Бесплатное ПО
LM Flash Programmer - бесплатная утилита для программирования флэш-памяти.
1 МикроЭлектроника 93 Коммерческий
При подключении к прототипу устройства программист становится IN-SYSTEM программистом.
CCS 9 Условно-бесплатное ПО
Mach X Programmer - это полнофункциональный программатор устройств.
2 Компания Megawin Technology Co., Ltd. 18 Бесплатное ПО
Megawin 8051 ISP-ICP Programmer - это бесплатный программатор.
Equinox Technologies 5 Бесплатное ПО
- это программное обеспечение для программиста Micro-Pro (PLUS).
KDI 31 год Бесплатное ПО
KDI Universal Programmer 3.0 - это профессиональный недорогой программатор параллельных вычислений.
2 Батроникс 5 Бесплатное ПО
Flash MC Programmer I - это быстрый программатор параллельного порта.
10 Uc Micro Systems 52 Бесплатное ПО
Программатор ucFlashUSB - доступный, надежный и быстрый программатор.
7 РОБОКИТЫ ИНДИЯ Бесплатное ПО
8051 USB Programmer - это недорогой полнофункциональный программатор.
Transtronics, Inc. 1 Бесплатное ПО
Карманный программатор начинается с программатора - в зависимости от типа микросхемы.
70 Команда HandBrake 82 132 Открытый источник
Преобразуйте свои самодельные клипы в различные видеоформаты.
.Самодельный программатор Скачать бесплатно для Windows
MyPlayCity.com 7
Загрузите самодельные поздравительные открытки бесплатно!
15 Прозрачная корпорация 556 Условно-бесплатное ПО
Нейропрограммист может изменять мозговую волну, используя захват мозговых волн.
5 Cypress MicroSystems 1,684 Бесплатное ПО
PSoC Programmer - это гибкое интегрированное приложение для программирования.
20 Altera Corporation 884 Бесплатное ПО
Позволяет добавлять файлы программирования и конфигурации.
7 Кристиан Стадлер 1 964 Бесплатное ПО
PICPgm - это приложение, предназначенное для программирования микроконтроллеров PIC.
10 Foxpro Inc.504 Бесплатное ПО
FOXPRO Programmer - это утилита для программирования звуков игр.
1 Traxon Technologies Europe GmbH 100 Бесплатное ПО
The e: cue Programmer - это приложение для программирования творческих световых проектов.
6 Решетчатый полупроводник 166 Бесплатное ПО
Diamond Programmer использует интерфейс пользователя Diamond.
5 Инструменты Техаса 757 Бесплатное ПО
Программатор флэш-памяти для ВЧ-устройств на кристалле компании Texas Instruments.
2 Frontline Electronics Pvt Ltd. Салем. Индия. 7 Бесплатное ПО
Дополнительная карта к стандартному персональному компьютеру через последовательный порт.
5 Texas Instruments Incorporated 739 Бесплатное ПО
LM Flash Programmer - бесплатная утилита для программирования флэш-памяти.
1 МикроЭлектроника 93 Коммерческий
При подключении к прототипу устройства программист становится IN-SYSTEM программистом.
CCS 9 Условно-бесплатное ПО
Mach X Programmer - это полнофункциональный программатор устройств.
2 Компания Megawin Technology Co., Ltd. 18 Бесплатное ПО
Megawin 8051 ISP-ICP Programmer - это бесплатный программатор.
Equinox Technologies 5 Бесплатное ПО
- это программное обеспечение для программиста Micro-Pro (PLUS).
KDI 31 год Бесплатное ПО
KDI Universal Programmer 3.0 - это профессиональный недорогой программатор параллельных вычислений.
2 Батроникс 5 Бесплатное ПО
Flash MC Programmer I - это быстрый программатор параллельного порта.
10 Uc Micro Systems 52 Бесплатное ПО
Программатор ucFlashUSB - доступный, надежный и быстрый программатор.
7 РОБОКИТЫ ИНДИЯ Бесплатное ПО
8051 USB Programmer - это недорогой полнофункциональный программатор.
Transtronics, Inc. 1 Бесплатное ПО
Карманный программатор начинается с программатора - в зависимости от типа микросхемы.
70 Команда HandBrake 82 132 Открытый источник
Преобразуйте свои самодельные клипы в различные видеоформаты.
.Самодельный программатор isp Скачать бесплатно для Windows
2 Компания Megawin Technology Co., Ltd. 18 Бесплатное ПО
Megawin 8051 ISP-ICP Programmer - это бесплатный программатор.
6 Nuvoton Technology Corp. 2 Бесплатное ПО
Nuvoton 8051 ISP-ICP Programmer - это программное обеспечение для настройки.
2 Frontline Electronics Pvt Ltd. Салем. Индия. 7 Бесплатное ПО
Дополнительная карта к стандартному персональному компьютеру через последовательный порт.
4 Uc Micro Systems 9 Бесплатное ПО
Программатор для флэш-памяти серий PIC 12, 16 и 18, микроконтроллеров OTP и т. Д.
67 MCS Electronics 7,551 Демо
BASCOM AVR - очень мощный компилятор для микроконтроллеров AVR.
1 Канда 3 Бесплатное ПО
Этот программный пакет предназначен для программистов AVR ISP для параллельного порта Atmel и Kanda.
50 Клаудио Ланконелли 8 210 Открытый источник
Ponyprog - очень мощный программатор микрочипов и микроконтроллеров.
3 Камани 87 Бесплатное ПО
KamPROG for AVR - программист разработки / производства, поддерживающий большинство интернет-провайдеров.
1 МикроЭлектроника 93 Коммерческий
При подключении к прототипу устройства программист становится IN-SYSTEM программистом.
CCS 9 Условно-бесплатное ПО
Mach X Programmer - это полнофункциональный программатор устройств.
Equinox Technologies 5 Бесплатное ПО
- это программное обеспечение для программиста Micro-Pro (PLUS).
KDI 31 год Бесплатное ПО
Универсальный программатор KDI 3.0 - профессиональный недорогой параллельный программист.
2 Батроникс 5 Бесплатное ПО
Flash MC Programmer I - это быстрый программатор параллельного порта.
10 Uc Micro Systems 52 Бесплатное ПО
Программатор ucFlashUSB - доступный, надежный и быстрый программатор.
7 РОБОКИТЫ ИНДИЯ Бесплатное ПО
8051 USB Programmer - это недорогой полнофункциональный программатор.
Transtronics, Inc. 1 Бесплатное ПО
Карманный программатор начинается с программатора - в зависимости от типа микросхемы.
70 Команда HandBrake 82 132 Открытый источник
Преобразуйте свои самодельные клипы в различные видеоформаты.
17 Алекс Тюринг 12,663 Открытый источник
Превратите свои домашние видеоролики в DVD-диски профессионального качества.
.Лучший программатор самоделок Скачать бесплатно для Windows
Лучший программист Самоделка
в Software InformerProgrammer's Notepad - текстовый редактор, специально разработанный для программистов.
Блокнот программиста- это ...полезно для программистов, тестировщиков ПО
MyPlayCity.com 7
Загрузите самодельные поздравительные открытки бесплатно!
15 Прозрачная корпорация 556 Условно-бесплатное ПО
Нейропрограммист может изменять мозговую волну, используя захват мозговых волн.
5 Cypress MicroSystems 1,684 Бесплатное ПО
PSoC Programmer - это гибкое интегрированное приложение для программирования.
20 Altera Corporation 884 Бесплатное ПО
Позволяет добавлять файлы программирования и конфигурации.
7 Кристиан Стадлер 1 964 Бесплатное ПО
PICPgm - это приложение, предназначенное для программирования микроконтроллеров PIC.
Подробнее Лучший программатор Самоделка
Лучший программист Самоделка во введении
10 Foxpro Inc. 504 Бесплатное ПО
FOXPRO Programmer - это утилита для программирования звуков игр.
1 Traxon Technologies Europe GmbH 100 Бесплатное ПО
The e: cue Programmer - это приложение для программирования творческих световых проектов.
6 Решетчатый полупроводник 166 Бесплатное ПО
Diamond Programmer использует интерфейс пользователя Diamond.
5 Инструменты Техаса 757 Бесплатное ПО
Программатор флэш-памяти для ВЧ-устройств на кристалле компании Texas Instruments.
2 Frontline Electronics Pvt Ltd.Салем. Индия. 7 Бесплатное ПО
Дополнительная карта к стандартному персональному компьютеру через последовательный порт.
5 Texas Instruments Incorporated 739 Бесплатное ПО
LM Flash Programmer - бесплатная утилита для программирования флэш-памяти.
Дополнительные заголовки, содержащие лучшие самодельные программаторы
1 МикроЭлектроника 93 Коммерческий
При подключении к прототипу устройства программист становится IN-SYSTEM программистом.
CCS 9 Условно-бесплатное ПО
Mach X Programmer - это полнофункциональный программатор устройств.
2 Компания Megawin Technology Co., Ltd. 18 Бесплатное ПО
Megawin 8051 ISP-ICP Programmer - это бесплатный программатор.
Equinox Technologies 5 Бесплатное ПО
- это программное обеспечение для программиста Micro-Pro (PLUS).
KDI 31 год Бесплатное ПО
KDI Universal Programmer 3.0 - это профессиональный недорогой программатор параллельных вычислений.
2 Батроникс 5 Бесплатное ПО
Flash MC Programmer I - это быстрый программатор параллельного порта.
10 Uc Micro Systems 52 Бесплатное ПО
Программатор ucFlashUSB - доступный, надежный и быстрый программатор.
7 РОБОКИТЫ ИНДИЯ Бесплатное ПО
8051 USB Programmer - это недорогой полнофункциональный программатор.
Transtronics, Inc. 1 Бесплатное ПО
Карманный программатор начинается с программатора - в зависимости от типа микросхемы.
70 Команда HandBrake 82 132 Открытый источник
Преобразуйте свои самодельные клипы в различные видеоформаты.
Massoth Elektronik GmbH
1 Whisper Technology Limited 232 Условно-бесплатное ПО
1 ECI Telecom 138
.