ПРОГРАММАТОР ДЛЯ PIC
Данное устройство — так называемый JDM программатор, представляет собой наиболее простую конструкцию для прошивки контроллеров семейства PIC. Неоспоримые преимущества — простота, компактность, питание без внешнего источника данной классической схемы программатора сделали её очень популярной среди радиолюбителей, тем более что схеме уже лет 5, и за это время она зарекомендовала себя как простой и надёжный инструмент работы с микроконтроллерами.
Принципиальная схема программатора для pic контроллеров:
Питание на саму схему не требуется, ведь для этого служит COM порт компьютера, через который и осуществляется управление прошивкой микроконтроллера. Для низковольтного режима программирования вполне достаточно 5в, но могут быть не доступны все опции для изменения (фьюзы). Разъем подключения COM-9 порта смонтировал прямо на печатную плату программатора для PIC — получилось очень удобно.
Можно воткнуть плату без лишних шнуров прямо в порт. Программатор опробован на различных компьютерах и при программировании МК серий 12F,16F и 18F, показал высокое качество прошивки. Предложенная схема позволяет программировать микроконтроллеры PIC12F509, PIC16F84A, PIC16F628. Например недавно с помощью предложенного программатора успешно был прошит микроконтроллер для простого металлоискателя.
Для программирования используется WinPic800 — одна из лучших программ для программирования PIC контроллеров. Программа позволяет выполнять операции для микроконтроллеров семейства PIC: чтения, записи, стирания, проверки FLASH и EEPROM памяти и установку битов конфигураций. Скачать WinPic800 можно здесь.
Различные типы микроконтроллеров PIC12C508, PIC12C509, PIC16C84 и микросхем памяти с интерфейсом I2C программируют, вставляя в разъём как показано на рисунке выше. Материал прислал in_sane.
Источник
JDM – совместимый программатор для PIC на макетке размером 2х8 см
Решил переделать имеющуюся простую и дешевую реализацию программатора для микроконтроллеров PIC.
Вот, что у меня получилось
Чтобы не запутаться при монтаже, порисовал в sPlan и Sprint-Layout
Расположение компонентов, слева от платы подписаны номера выводов разъема DB-9 (F) (проводники от разъема припаиваются к площадкам второго слева ряда, к 1 2 3 4 и 6 если считать сверху), справа назначение выводов штыревого шестипинового PLS разъема CON1
Схема разводки для монтажа проводников, вид снизу платы
Для программирования МК в панельке на плате программатора надо соединить выводы разъема CON1 с соответствующими выводами рядом с DIP-28 панелькой микросхемы. Ниже схема распиновки МК в разных корпусах
Для программирования программатор подключается к физическому COM порту компьютера. Через дешевые переходники USB-to-COM, программатор работать не будет, так как такие переходники не обеспечивают необходимые уровни сигналов.
Проверил на PIC16F1938-I/SP которая будет использоваться в автоматическом тюнере
Программу использовал PICPgm версии 1.9.3.1 (последняя на момент записи блога). Перед подключением программатора в настройках программы установил автоматическое определение типа программатора и тип программируемого МК. Параметр Timing Delay Factor для пущей надежности установил в slow
При подключенном программаторе программа успешно определила и тип программатора и установленный МК
Запись МК и верификация прошли успешно
Дисплей собираемого автоматического тюнера отображает данные, значит у нас все получилось!
Внимание! Перед записью МК стоит лишний раз обратить на информацию из авторской статьи, а именно:
“Одно важное ограничение которое вы должны знать перед сборкой это то что программатор не подойдет для программирования некоторых чипов. А именно чипов в которых линии PGD и PGC (Data и Clock) находятся на тех же пинах где и сигнальные линии модуля USB (D+, D-). Из-за такого совмещения на этих пинах в этих МК нельзя превышать напряжение 3,6v – в результате PIC JDM может навредить таким МК”.
Источник
Самодельный программатор для PIC-контроллеров
Развитие электроники идёт стремительными темпами, и всё чаще главным элементом того или иного устройства является микроконтроллер. Он выполняет основную работу и освобождает проектировщика от необходимости создания изощрённых схемных решений, тем самым уменьшая размер печатной платы до минимального. Как всем известно, микроконтроллером управляет программа, записанная в его внутреннюю память. И если опытный программист-электронщик не испытывает проблем с использованием микроконтроллеров в своих устройствах, то для начинающего радиолюбителя попытка записать программу в контроллер (особенно PIC) может обернуться большим разочарованием, а иногда и небольшим пиротехническим шоу в виде дымящей микросхемы.
Как ни странно, но при всём величии сети Интернет в нём очень мало информации о прошивке PIC-контроллеров, а тот материал что удаётся найти — очень сомнительного качества. Конечно, можно купить заводской программатор за неадекватную цену и шить сколько душе угодно, но что делать, если человек не занимается серийным производством. Для этих целей можно собрать несложную и не дорогую в реализации самоделку, именуемую JDM-программатором по приведенной ниже схеме (рисунок №1):
Как можно догадаться, в схеме моего программатора использован корпус DIP8. При большом желании можно изготовить универсальный переходник под каждый тип микросхемы, получив тем самым универсальный программатор. Но так как с PIC-контроллерами работаю редко, для меня хватит и этого.
Хоть сама схема довольно проста и не вызовет трудностей в сборке, но она тоже требует уважения. Поэтому неплохо было бы сделать под неё печатную плату. После некоторых манипуляций с программой SprintLayout, текстолитом, дрелью и утюгом, на свет родилась вот такая заготовка (фото №3).
Первым делом выбираем тип программатора — JDM Programmer. Далее выставляем радиокнопку использования драйвера Windows. Следующий шаг подразумевает выбор COM-порта, к которому подключен ваш программатор. Если он один, вопросов вообще нет, а если более одного — посмотрите в диспетчере устройств, какой на данным момент используется. Ползунок задержки ввода/вывода предназначен для регулирования скорости записи и чтения. Это может понадобится на быстрых компьютерах и при возникновении проблем с прошивкой — этот параметр необходимо увеличить. В моём случае он остался по умолчанию равным 10 и всё нормально отработало.
На этом настройка программы IC-Prog окончена и можно переходить к процессу самой прошивки, но для начала считаем данные с микроконтроллера и посмотрим что в него записано. Для этого на панели инструментов нажимаем на значок микросхемы с зелёной стрелкой, как показано на скриншоте №11.
Источник
PIC JDM – простейший программатор для PIC МК
Программируемый микроконтроллер не нуждается во внешнем питании в процессе прошивки если устройство не потребляет больше 15 мА. Самый наипростейший (собирался для прошивки микросхемы PIC для более функционального программатора на USB)
Список поддерживаемых девайсов зависти в основном от прошивающего софта (версии программы WinPic 800 или ICProg). Один из производителей Bravekit ( ссылка на источник ) даёт следующий список :
PIC10F200 PIC10F202 PIC10F204 PIC10F206
PIC12F508 PIC12F509 PIC12F510 PIC12F629 PIC12F635 PIC12F675 PIC12F635 PIC12F683
PIC16F627 PIC16F627A PIC16F628 PIC16F628A PIC16F630 PIC16F636 PIC16F639 PIC16F648A PIC16F676 PIC16F684 PIC16F685 PIC16F687 PIC16F688 PIC16F689 PIC16F690 PIC16F73 PIC16F74 PIC16F76 PIC16F77 PIC16F716 PIC16F737 PIC16F747 PIC16F767 PIC16F777 PIC16F83 PIC16F84 PIC16F84A PIC16F87 PIC16F88 PIC16F818 PIC16F819 PIC16F870 PIC16F871 PIC16F872 PIC16F873 PIC16F873A PIC16F874 PIC16F874A PIC16F876 PIC16F876A PIC16F877 PIC16F877A PIC16C61 PIC16C62 PIC16C62A/B PIC16C63 PIC16C63A PIC16C64 PIC16C64A PIC16C65 PIC16C65A/B PIC16C66 PIC16C67 PIC16C620/A PIC16C621/A PIC16C622/A PIC16CE623 PIC16CE624 PIC16CE625 PIC16C71 PIC16C72 PIC16C72A PIC16C73 PIC16C73A/B PIC16C74 PIC16C74A/B PIC16C76 PIC16C77 PIC16C710 PIC16C711 PIC16C712 PIC16C716 PIC16C745 PIC16C765 PIC16C773 PIC16C774 PIC16C923 PIC16C924 PIC16C925 PIC16C926
PIC18F1220 PIC18F2220 PIC18F2320 PIC18F2331 PIC18F2410 PIC18F242-2439 PIC18F2420 PIC18F2431 PIC18F2455 PIC18F248 PIC18F2480 PIC18F2510 PIC18F2515 PIC18F252-2539 PIC18F2520 PIC18F2525 PIC18F2550 PIC18F258 PIC18F2580 PIC18F2585 PIC18F2610 PIC18F2620 PIC18F2680 PIC18F4220 PIC18F4320 PIC18F4331 PIC18F4410 PIC18F442-4439 PIC18F4420 PIC18F4431 PIC18F4455 PIC18F448 PIC18F4480 PIC18F4510 PIC18F4515 PIC18F452-4539 PIC18F4520 PIC18F4525 PIC18F4550 PIC18F458 PIC18F4580 PIC18F4585 PIC18F4610 PIC18F4620 PIC18F4680
Принципиальная схема, ход спорки (печатку делал сам, скомпоновал на малый размер):
Источник
Простой USB программатор PIC
Предлагаемая мной схема не является чем-то оригинальным, и я не претендую на изобретение велосипеда, а всего лишь хочу поделиться своим опытом. Так что не судите строго.
Однажды я решил собрать несложный LC-метр на pic16f628a и естественно его надо было чем-то прошить. Раньше у меня был компьютер с физическим com-портом, но сейчас в моём распоряжении только usb и плата pci-lpt-2com. Для начала я собрал простой JDM программатор, но как оказалось ни с платой pci-lpt-com, ни с usb-com переходником он работать не захотел (низкое напряжение сигналов RS-232). Тогда я бросился искать usb программаторы pic, но там, как оказалось всё ограничено использованием дорогих pic18f2550/4550, которых у меня естественно не было, да и жалко такие дорогие МК использовать, если на пиках я очень редко что-то делаю (предпочитаю авр-ы, их прошить проблем не составляет, они намного дешевле, да и программы писать мне кажется, на них проще). Долго копавшись на просторах интернета в одной из множества статей про программатор EXTRA-PIC и его всевозможные варианты один из авторов написал, что extrapic работает с любыми com-портами и даже переходником usb-com.
В схеме данного программатора используется преобразователь логических уровней max232.
Я подумал, если использовать usb адаптер, то будет очень глупо делать два раза преобразование уровней usb в usart TTL, TTL в RS232, RS232 обратно в TTL, если можно просто взять TTL сигналы порта RS232 из микросхемы usb-usart преобразователя.
Так и сделал. Взял микросхему CH340G (в которой есть все 8 сигналов com-порта) и подключил её вместо max232. И вот что получилось.
В моей схеме есть перемычка jp1, которой нет в экстрапике, её я поставил потому что, не знал, как себя поведёт вывод TX на ТТЛ уровне, поэтому сделал возможность его инвертировать на оставшемся свободном элементе И-НЕ и не прогадал, как оказалось, напрямую на выводе TX логическая единица, и поэтому на выводе VPP при включении присутствует 12 вольт, а при программировании ничего не будет (хотя можно инвертировать TX программно).
После сборки платы пришло время испытаний. И тут настало главное разочарование. Программатор определился сразу (программой ic-prog) и заработал, но очень медленно! В принципе — ожидаемо. Тогда в настройках com порта я выставил максимальную скорость (128 килобод) начал испытания всех найденных программ для JDM. В итоге, самой быстрой оказалась PicPgm. Мой pic16f628a прошивался полностью (hex, eeprom и config) плюс верификация где-то 4-6 минут (причём чтение идёт медленнее записи). IcProg тоже работает, но медленнее. Ошибок про программировании не возникло. Также я попробовал прошить eeprom 24с08, результат тот же — всё шьёт, но очень медленно.
Выводы: программатор достаточно простой, в нём нет дорогостоящих деталей (CH340 — 0.3-0.5$, к1533ла3 можно вообще найти среди радиохлама), работает на любом компьютере, ноутбуке (и даже можно использовать планшеты на windows 8/10). Минусы: он очень медленный. Также он требует внешнее питание для сигнала VPP. В итоге, как мне показалось, для нечастой прошивки пиков — это несложный для повторения и недорогой вариант для тех, у кого нет под рукой древнего компьютера с нужными портами.
Вот фото готового девайса:
Как поётся в песне «я его слепила из того, что было». Набор деталей самый разнообразный: и smd, и DIP.
Для тех, кто рискнёт повторить схему, в качестве usb-uart конвертера подойдёт почти любой (ft232, pl2303, cp2101 и др), вместо к1533ла3 подойдёт к555, думаю даже к155 серия или зарубежный аналог 74als00, возможно даже будет работать с логическими НЕ элементами типа к1533лн1. Прилагаю свою печатную плату, но разводка там под те элементы, что были в наличии, каждый может перерисовать под себя.
Источник