Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

Содержание

USB программатор PIC своими руками.

Собираем программатор для микроконтроллеров PIC и микросхем EEPROM

Какие первые шаги должен сделать радиолюбитель, решивший собрать схему на микроконтроллере? Естественно, необходима управляющая программа – "прошивка", а также программатор.

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

Цена готовых USB-программаторов довольно высока и лучшим решением будет собрать его самостоятельно. Вот схема предлагаемого устройства (картинки кликабельны).

Основная часть.

Панель установки МК.

Исходная схема взята с сайта LabKit.ru с разрешения автора, за что ему большое спасибо. Это так называемый клон фирменного программатора PICkit2. Так как вариант устройства является "облегчённой" копией фирменного PICkit2, то автор назвал свою разработку PICkit-2 Lite, что подчёркивает простоту сборки такого устройства для начинающих радиолюбителей.

Что может программатор? С помощью программатора можно будет прошить большинство легкодоступных и популярных МК серии PIC (PIC16F84A, PIC16F628A, PIC12F629, PIC12F675, PIC16F877A и др.), а также микросхемы памяти EEPROM серии 24LC. Кроме этого программатор может работать в режиме USB-UART преобразователя, имеет часть функций логического анализатора. Особо важная функция, которой обладает программатор – это расчёт калибровочной константы встроенного RC-генератора некоторых МК (например, таких как PIC12F629 и PIC12F675).

Необходимые изменения.

В схеме есть некоторые изменения, которые необходимы для того, чтобы с помощью программатора PICkit-2 Lite была возможность записывать/стирать/считывать данные у микросхем памяти EEPROM серии 24Cxx.

Из изменений, которые были внесены в схему. Добавлено соединение от 6 вывода DD1 (RA4) до 21 вывода ZIF-панели. Вывод AUX используется исключительно для работы с микросхемами EEPROM-памяти 24LС (24C04, 24WC08 и аналоги). По нему передаются данные, поэтому на схеме панели программирования он помечен словом "Data". При программировании микроконтроллеров вывод AUX обычно не используется, хотя он и нужен при программировании МК в режиме LVP.

Также добавлен "подтягивающий" резистор на 2 кОм, который включается между выводом SDA и Vcc микросхем памяти.

Все эти доработки я уже делал на печатной плате, после сборки PICkit-2 Lite по исходной схеме автора.

Микросхемы памяти 24Cxx (24C08 и др.) широко используются в бытовой радиоаппаратуре, и их иногда приходится прошивать, например, при ремонте кинескопных телевизоров. В них память 24Cxx применяется для хранения настроек.

В ЖК-телевизорах применяется уже другой тип памяти (Flash-память). О том, как прошить память ЖК-телевизора я уже рассказывал. Кому интересно, загляните.

В связи с необходимостью работы с микросхемами серии 24Cxx мне и пришлось "допиливать" программатор. Травить новую печатную плату я не стал, просто добавил необходимые элементы на печатной плате. Вот что получилось.

Ядром устройства является микроконтроллер PIC18F2550-I/SP.

Это единственная микросхема в устройстве. МК PIC18F2550 необходимо "прошить". Эта простая операция у многих вызывает ступор, так как возникает так называемая проблема "курицы и яйца". Как её решил я, расскажу чуть позднее.

Список деталей для сборки программатора. В мобильной версии потяните таблицу влево (свайп влево-вправо), чтобы увидеть все её столбцы.

Название Обозначение Номинал/Параметры Марка или тип элемента
Для основной части программатора
Микроконтроллер DD1 8-ми битный микроконтроллер PIC18F2550-I/SP
Биполярные транзисторы VT1, VT2, VT3   КТ3102
VT4   КТ361
Диод VD1   КД522, 1N4148
Диод Шоттки VD2   1N5817
Светодиоды HL1, HL2   любой на 3 вольта, красного и зелёного цвета свечения
Резисторы R1, R2 300 Ом МЛТ, МОН (мощностью от 0,125 Вт и выше), импортные аналоги
R3 22 кОм
R4 1 кОм
R5, R6, R12 10 кОм
R7, R8, R14 100 Ом
R9, R10, R15, R16 4,7 кОм
R11 2,7 кОм
R13 100 кОм
Конденсаторы C2 0,1 мк К10-17 (керамические), импортные аналоги
C3 0,47 мк
Электролитические конденсаторы C1 100 мкф * 6,3 в К50-6, импортные аналоги
C4 47 мкф * 16 в
Катушка индуктивности (дроссель) L1 680 мкГн унифицированный типа EC24, CECL или самодельный
Кварцевый резонатор ZQ1 20 МГц  
USB-розетка XS1   типа USB-BF
Перемычка XT1   любая типа "джампер"
Для панели установки микроконтроллеров (МК)
ZIF-панель XS1   любая 40-ка контактная ZIF-панель
Резисторы R1 2 кОм МЛТ, МОН (мощностью от 0,125 Вт и выше), импортные аналоги
R2, R3, R4, R5, R6 10 кОм

Теперь немного о деталях и их назначении.

Зелёный светодиод HL1 светится, когда на программатор подано питание, а красный светодиод HL2 излучает в момент передачи данных между компьютером и программатором.

Для придания устройству универсальности и надёжности используется USB-розетка XS1 типа "B" (квадратная). В компьютере же используется USB-розетка типа "А". Поэтому перепутать гнёзда соединительного кабеля невозможно. Также такое решение способствует надёжности устройства. Если кабель придёт в негодность, то его легко заменить новым не прибегая к пайке и монтажным работам.

В качестве дросселя L1 на 680 мкГн лучше применить готовый (например, типов EC24 или CECL). Но если готовое изделие найти не удастся, то дроссель можно изготовить самостоятельно. Для этого нужно намотать 250 – 300 витков провода ПЭЛ-0,1 на сердечник из феррита от дросселя типа CW68. Стоит учесть, что благодаря наличию ШИМ с обратной связью, заботиться о точности номинала индуктивности не стоит.

Напряжение для высоковольтного программирования (Vpp) от +8,5 до 14 вольт создаётся ключевым стабилизатором. В него входят элементы VT1, VD1, L1, C4, R4, R10, R11. С 12 вывода PIC18F2550 на базу VT1 поступают импульсы ШИМ. Обратная связь осуществляется делителем R10, R11.

Чтобы защитить элементы схемы от обратного напряжения с линий программирования в случае использования USB-программатора в режиме внутрисхемного программирования ICSP (In-Circuit Serial Programming) применён диод VD2. VD2 – это диод Шоттки. Его стоит подобрать с падением напряжения на P-N переходе не более 0,45 вольт. Также диод VD2 защищает элементы от обратного напряжения, когда программатор применяется в режиме USB-UART преобразования и логического анализатора.

При использовании программатора исключительно для программирования микроконтроллеров в панели (без применения ICSP), то можно исключить диод VD2 полностью (так сделано у меня) и установить вместо него перемычку.

Компактность устройству придаёт универсальная ZIF-панель (Zero Insertion Force – с нулевым усилием установки).

Благодаря ей можно "зашить" МК практически в любом корпусе DIP.

На схеме "Панель установки микроконтроллера (МК)" указано, как необходимо устанавливать микроконтроллеры с разными корпусами в панель. При установке МК следует обращать внимание на то, чтобы микроконтроллер в панели позиционируется так, чтобы ключ на микросхеме был со стороны фиксирующего рычага ZIF-панели.

Вот так нужно устанавливать 18-ти выводные микроконтроллеры (PIC16F84A, PIC16F628A и др.).

А вот так 8-ми выводные микроконтроллеры (PIC12F675, PIC12F629 и др.).

Если есть нужда прошить микроконтроллер в корпусе для поверхностного монтажа (SOIC), то можно воспользоваться переходником или просто подпаять к микроконтроллеру 5 выводов, которые обычно требуются для программирования (Vpp, Clock, Data, Vcc, GND).

Готовый рисунок печатной платы со всеми изменениями вы найдёте по ссылке в конце статьи. Открыв файл в программе Sprint Layout 5.0 можно с помощью режима "Печать" не только распечатать слой с рисунком печатных проводников, но и просмотреть позиционирование элементов на печатной плате. Обратите внимание на изолированную перемычку, которая связывает 6 вывод DD1 и 21 вывод ZIF-панели. Печатать рисунок платы необходимо в зеркальном отображении.

Изготовить печатную плату можно методом ЛУТ, а также маркером для печатных плат, с помощью цапонлака (так делал я) или "карандашным" методом.

Вот рисунок позиционирования элементов на печатной плате (кликабельно).

При монтаже первым делом необходимо запаять перемычки из медного лужёного провода, затем установить низкопрофильные элементы (резисторы, конденсаторы, кварц, штыревой разъём ISCP), затем транзисторы и запрограммированный МК. Последним шагом будет установка ZIF-панели, USB-розетки и запайка провода в изоляции (перемычки).

"Прошивка" микроконтроллера PIC18F2550.

Файл "прошивки" - PK2V023200.hex необходимо записать в память МК PIC18F2550I-SP при помощи любого программатора, который поддерживает PIC микроконтроллеры (например, Extra-PIC). Я воспользовался JDM Programmator’ом JONIC PROG и программой WinPic800.

Ссылка на файл PK2V023200.hex, запакованный в архив rar, дана в конце статьи.

Залить "прошивку" в МК PIC18F2550 можно и с помощью всё того же фирменного программатора PICkit2 или его новой версии PICkit3. Естественно, сделать это можно и самодельным PICkit-2 Lite, если кто-либо из друзей успел собрать его раньше вас:).

Также стоит знать, что "прошивка" микроконтроллера PIC18F2550-I/SP (файл

PK2V023200.hex) записывается при установке программы PICkit 2 Programmer в папку вместе с файлами самой программы. Примерный путь расположения файла PK2V023200.hex  - «C:\Program Files (x86)\Microchip\PICkit 2 v2\PK2V023200.hex». У тех, у кого на ПК установлена 32-битная версия Windows, путь расположения будет другим: «C:\Program Files\Microchip\PICkit 2 v2\PK2V023200.hex».

Ну, а если разрешить проблему "курицы и яйца" не удалось предложенными способами, то можно купить уже готовый программатор PICkit3 на сайте AliExpress. Там он стоит гораздо дешевле. О том, как покупать детали и электронные наборы на AliExpress я писал тут.

Обновление "прошивки" программатора.

Прогресс не стоит на месте и время от времени компания Microchip выпускает обновления для своего ПО, в том числе и для программатора PICkit2, PICkit3. Естественно, и мы можем обновить управляющую программу своего самодельного PICkit-2 Lite. Для этого понадобится программа PICkit2 Programmer. Что это такое и как пользоваться - чуть позднее. А пока пару слов о том, что нужно сделать, чтобы обновить "прошивку".

Для обновления ПО программатора необходимо замкнуть перемычку XT1 на программаторе, когда он отключен от компьютера. Затем подключить программатор к ПК и запустить PICkit2 Programmer. При замкнутой XT1 активируется режим

bootloader для загрузки новой версии прошивки. Затем в PICkit2 Programmer через меню "Tools" - "Download PICkit 2 Operation System" открываем заранее подготовленный hex-файл обновлённой прошивки. Далее произойдёт процесс обновления ПО программатора.

После обновления нужно отключить программатор от ПК и снять перемычку XT1. В обычном режиме перемычка разомкнута. Узнать версию ПО программатора можно через меню "Help" - "About" в программе PICkit2 Programmer.

Это всё по техническим моментам. А теперь о софте.

Работа с программатором. Программа PICkit2 Programmer.

Для работы с USB-программатором нам потребуется установить на компьютер программу PICkit2 Programmer. Это специальная программа обладает простым интерфейсом, легко устанавливается и не требует особой настройки. Стоит отметить, что работать с программатором можно и с помощью среды разработки MPLAB IDE, но для того, чтобы прошить/стереть/считать МК достаточно простой программы – PICkit2 Programmer. Рекомендую.

После установки программы PICkit2 Programmer подключаем к компьютеру собранный USB-программатор. При этом засветится зелёный светодиод ("питание"), а операционная система опознает устройство как "PICkit2 Microcontroller Programmer" и установит драйвера.

Запускаем программу PICkit2 Programmer. В окне программы должна отобразиться надпись.

Если программатор не подключен, то в окне программы отобразится страшная надпись и краткие инструкции "Что делать?" на английском.

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

Поздравляю! Первый шаг сделан. А о том, как пользоваться программой PICkit2 Programmer, я рассказал в отдельной статье. Следующий шаг.

Необходимые файлы:

Главная &raquo Микроконтроллеры &raquo Текущая страница

Также Вам будет интересно узнать:

 

Программатор для PIC или про то как мне захотелось самодельных электронных часов

Старым стал наверное, стал испытывать проблемы, при попытке разглядеть, сколько там времени на дисплее ресивера за тюлевой занавеской.
Хотелось что либо сколхозить.
А так как на столе, уже около года, валялись пара сегментных дисплейчика, была выбрана схема на PIC (простейшая, с возможностью регулировки хода)
А для программирования PIC требовался как раз программатор
Чтоб узнать что из этого получилось, добро пожаловать под кат

В выбранной мной схеме часы собирались на основе PIC16F628A
В списке поддерживаемых программатором микроконтроллеров — был указан и мой
Это и повлияло на выбор

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

10 Серия:
PIC10F200 * PIC10F202 * PIC10F204 * PIC10F206 *
PIC10F220 * PIC10F222 *
12C серии:
PIC12C508 PIC12C508A PIC12C509 PIC12C509A
PIC12C671 PIC12C672 PIC12CE518 PIC12CE519
PIC12CE673 PIC12CE674
12F серии:
PIC12F509 PIC12F629 PIC12F635
PIC12F675 PIC12F683
16C серии:
PIC16C505 PIC16C554 PIC16C558 PIC16C61
PIC16C62 PIC16C62A PIC16C62B PIC16C63
PIC16C63A PIC 16C64 PIC16C64A PIC16C65
PIC16C65A PIC16C65B PIC16C66 PIC16C66A
PIC16C67 PIC16C620 PIC16C620A PIC16C621
PIC16C621A PIC16C622 PIC16C622A PIC16C71
PIC16C71A PIC16C72 PIC16C72A PIC16C73
PIC16C73A PIC16C73B PIC16C74 PIC16C74A
PIC16C74B PIC16C76 PIC16C77 PIC16C710
PIC16C711 PIC16C712 PIC16C716 PIC16C745
PIC16C765 PIC16C773 PIC16C774 PIC16C83
PIC16C84
16F серии:
PIC16F505 PIC16F506 PIC16F54 PIC16F57 *
PIC16F59 * PIC16F627 PIC16LF627A PIC16F627A
PIC16F628 PIC16LF628A PIC16F628A PIC16F630
PIC16F631 PIC16F631-1 PIC16F636 PIC16F636-1
PIC16F639 * PIC16F639-1 * PIC16F648A PIC16F676
PIC16F677 PIC16F677-1 PIC16F684 PIC16F685 *
PIC16F685-1 * PIC16F687 * PIC16F687 *-1 PIC16F688
PIC16F689 * PIC16F689-1 * PIC16F690 * PIC16F690-1 *

PIC16F72 PIC16F73 PIC16F74
PIC16F76 PIC16F77 PIC16F737 PIC16F747
PIC16F767 PIC16F777 PIC16F83 PIC16F84
PIC16F84A PIC16F87 PIC16F88 PIC16F818
PIC16F819 PIC16F870 PIC16F871 PIC16F872
PIC16F873 PIC16F873A PIC16LF873A PIC16F874
PIC16F874A PIC16F876 PIC16F876A PIC16F877
PIC16F877A
18 Серия:
PIC18F242 PIC18F248 PIC18F252 PIC18F258 PIC18F442 PIC18F448
PIC18F452 PIC18F458 PIC18F1220 PIC18F1320 PIC18F2220 PIC18F2320
PIC18F2321 PIC18F4210 PIC18F2331 PIC18F2450 PIC18F2455 PIC18F2480
PIC18F2510 PIC18F2515 PIC18F2520 PIC18F2550 PIC18F2580
PIC18F2585 PIC18F2610 PIC18F2620 PIC18F2680 PIC18F4220 PIC18F4320
PIC18F6525 PIC18F6621 PIC18F8525 PIC18F8621 PIC18F2331 PIC18F2431
PIC18F4331 PIC18F4431 PIC18F2455 PIC18F2550 PIC18F4455 PIC18F4580 PIC18F2580 PIC18F2420 PIC18F2520 PIC18F2620 PIC18F6520 PIC18F6620 PIC18F6720 PIC18F6585 PIC18F6680 PIC18F8585 PIC18F8680


Заказ был сделан 19.08.2016, а уже 15.09.2016 был у меня
Фотографии упаковки не сохранилось, но комплектация соответствовала фото продавца, всё упаковано в отдельные пакетики, пакетики в общем большем пакете, а тот в свою очередь в почтовый жёлтый пакет с пупыркой

Внешний вид платы программатора — спаяно аккуратно, но плата не отмыта от слова СОВСЕМ

Но, плата оказалась вполне рабочей
Для работы с ним потребуется программа и драйвера, скачать их можно например тут
Программа интуитивно понятная, выбираем микроконтроллер, указываем путь к файлу прошивки, прошиваем
Как установить микроконтроллер в разъёме программатора — программа подскажет
Мой необходимо было установить первой ногой во второй контакт
Обычно я жму считать чип, чтоб убедиться, что программа видит микроконтроллер, потом заливаю прошивку

В общем-то программатор вполне работоспособный и прошить мой PIC мне удалось
Фузы я не выставлял — заводские, по умолчанию, — вполне прокатили

Короче, плата программатора грязная, элементы впаяны нормально, комплектация точно как указана продавцом и представлена на его странице на картинках, упаковано нормально, доставлено относительно оперативно
Минус за грязь
Скорее всего рекомендую к покупке, чем нет

Теперь о том для чего я всё это затеял

Самодельные часы

Проект взят отсюда

Схема:

Там-же описание, прошивка, рисунок платы

Попытка найти подходящий корпус привела к товарищу, у которого завалялся корпус, в виде домика
Под него была нарисована односторонняя плата

И получились часики:




В качестве питания — зарядка от мобилки
Часы показывают попеременно время и температуру, уличный датчик — не задействовал
Так-же были изготовлены ещё одни маленькие под самодельный корпус:

плата

Конструкция — простейшая, минимум деталей, запускаются без каких либо танцев с бубном
Но, если честно, мне они не понравились, т.к. с этой прошивкой они работают только если не вносить коррекции времени
Как только вносишь коррекцию — часы виснут, и помогает только передёргивание питания
По этому захотелось чего ни будь большего
Так что ПРОДОЛЖЕНИЕ СЛЕДУЕТ…

Arduino программатор PIC-ов. | AlexGyver Community

Составители официальной документации узнав про программирование PIC-ов с помощью какой то ардуины, поперхнулись бы от такого факта и стали бы отрицать возможность этого.

Вот тут Вы сильно ошибаетесь

Жаль не грузится файлик, размер большой.
In-Circuit Serial Programming Guide DS30277
DS41227
DS41226
DS30228 и т.д.

В этих документах досконально описаны режимы программирования, алгоритмы и даже схемки есть простенькие.

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

К сожалению все режимы программирования задокументированы.
А кто на чём собирать будет, его право.
MicroCHIP не заставляет пользоваться их программатором.

Хотя в свободном доступе есть схемы PicKIT2 и PicKIT3. И прошивки на них в свободном доступе.
А они позволяют осуществлять внутрисхемную отладку.
Так что ардуину можно использовать один раз для программирования PicKIT.

Они его придумали?
По этимологии что оно значит? Как-то задавался таким вопросом, но инфы не нашёл.

Кто его знает они или нет. Но это слово встречается только в их документации.
В документации на другие микроконтроллеры используется , основном, понятие - конфигурационные биты.

И поскольку программатор из ардуины отсутствует в официально возможных к применению программаторов PIC-ов, я буду называть конфигурационные биты PIC-ов фьюзами.

Да называйте как хотите. Просто знайте, когда будете разговаривать с человеком, который проработал всю жизнь с PIC микроконтроллерами и ничего не знает об Atmel, Вас никогда не поймёт, если вы будете дуть ему в уши про "фьюзы"и "Скетчи" (Скетч) — короткая одноактная пьеса комедийного содержания с небольшим числом действующих лиц (как правило двумя, реже — тремя). Это выше понимания как прошивка может называться "Одноактной пьесой"

Самодельный программатор для 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] (скачиваний: 1731)
При желании его можно изменить под свой тип PIC-контроллера. Для тех, кто решил оставить плату без изменений, выкладываю вид со стороны деталей для облегчения монтажа (рисунок №4).

Рисунок №4 - плата с монтажной стороны

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



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

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

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

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

Вот есть микроконтроллер, есть написанная программа. Что ещё нужно? Программатор! Ведь без помощи аппаратуры, которая сможет записать последовательностью сигналов процесс, который хочет реализовать человек, сложно будет что-то сделать. А как здорово сделать программатор своими руками!

Также здесь вы найдете описание программаторов и из другого семейства - АВР, но исключительно в сравнительных целях. Приступим к статье, где рассказывается, как сделать программатор-flash своими руками.

Для чего необходим программатор

Так как статья пишется в том числе и для читателей, не слишком осведомленных в этом вопросе, то необходимо взять во внимание и такой пункт. Программатор - это специальное устройство, которое посредством получаемых от компьютера сигналов программирует микроконтроллер, который будет управлять схемой. Качественное устройство является очень важным, ведь в таком случае можно будет быть уверенным в том, что МК не выйдет из строя, или, что важнее, из строя не выйдет компьютер. Есть небольшое уточнение: программатор для PIC своими руками делают только те, у кого есть микроконтроллеры этого семейства. Другие из-за другой архитектуры могут не работать. Но можно попробовать своими силами усовершенствовать представленные схемы и собрать программатор AVR своими руками.

Платные против самодельных

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

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

Драйвера

Первоначально следует подобрать программное обеспечение. В зависимости от схемы программатор может быть заточен или под один микроконтроллер, или под большое их количество. Тот, что будет далее рассматриваться, рассчитан примерно на 98 программаторов от 12-го до 18-го семейств. Для тех, кому понравится вариант сборки, следует уточнить, что в качестве драйверного программного обеспечения использовалась программа IC-PROG. Можете попробовать работать и с другой, но уже на свой страх и риск. Это информация для тех, кто хочет создать программатор для AVR своими руками. Далее будет указано, для каких семейств микроконтроллеров РІС он рассчитан. Если есть желание сделать программатор AVR своими руками или какой-то другой тип МК, то вы всегда можете попытаться.

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

Вот тут уже можно попробовать сделать программатор для PIC своими руками. В качестве гнезда необходимо использовать разъем DB9. Можно сделать и USB-программатор своими руками, но для него понадобятся дополнительные элементы схемы, которые усложнят и без того довольно сложную плату. Также внимательно рассмотрите рисунок с различными прямоугольниками (чтобы знать, какие части за что отвечают). Выводы должны подключатся именно туда, куда нужно, иначе микроконтроллер превратится в небольшой кусочек пластика и железа, который можно поставить на стеночку как напоминание о былых ошибках. Процесс сборки и использования программатора таков:

  1. Собрать сам программатор так, как написано на схемах. Просмотреть на наличие некачественной пайки, а также потенциальных мест замыкания. Программатор рассчитан на работу с напряжением 15-18В, больше категорически не рекомендуется.
  2. Подготовьте среду управления прошивкой (выше было упоминание одной программы, с которой программатор точно работает).

Процесс прошивки микроконтроллера

Процесс прошивки микроконтроллера данными можно считать продолжением предыдущего списка:

  1. Произвести необходимые для работы программы настройки.
  2. Установить микроконтроллер в программатор так, как отмечено на схеме. Лучше лишний раз убедиться, что всё так, как должно быть, чем ехать за новым МК.
  3. Подключить питание.
  4. Запустить выбранное программное обеспечения (для этого программатора ещё раз посоветуем IC-Prog).
  5. В выпадающем меню вверху справа выбрать, какой именно микроконтроллер следует прошить.
  6. Подготовленный файл выбрать для программирования. Для этого перейдите по пути "Файл" - "Открыть файл". Смотрите, не перепутайте с «Открыть файл данных», это совсем другое, прошить микроконтроллер с помощью второй кнопки не получится.
  7. Нажать на кнопку «Начать программировать микросхему». Примерное время, через которое она будет запрограммирована - до 2 минут. Прерывать процесс программирования нельзя, это чревато выведением из строя микроконтроллера.
  8. И в качестве небольшого контроля нажмите на кнопку «Сравнить микросхему с буфером».

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

Какие микроконтроллеры поддерживаются и могут быть прошиты программным обеспечением

Как уже выше упоминалось, этот программатор может работать как минимум с 98 моделями. Как можно заметить по схематическим рисункам и платам, он рассчитан на те МК, что имеют 8, 14, 18, 28 и 40 выводов. Этого должно хватить для самых различных экспериментов и построения самых разных механизмов, которые только можно сделать в пределах скромного бюджета среднестатистического гражданина. Можно выразить уверенность, что сделанный программатор своими руками сможет удовлетворить самых требовательных радиолюбителей - при условии, что он будет сделан качественно.

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

Схема позволяет программировать микроконтроллеры и память EEPROM I2C.

Список поддерживаемых микроконтроллеров, при условии совместного использования с утилитой IC-PROG v1.05D:

Микроконтроллеры фирмы Microchip: PIC12C508, PIC12C508A, PIC12C509, PIC12C509A, PIC12CE518, PIC12CE519, PIC12C671, PIC12C672, PIC12CE673, PIC12CE674, PIC12F629, PIC12F675, PIC16C433, PIC16C61, PIC16C62A, PIC16C62B, PIC16C63, PIC16C63A, PIC16C64A, PIC16C65A, PIC16C65B, PIC16C66, PIC16C67, PIC16C71, PIC16C72, PIC16C72A, PIC16C73A, PIC16C73B, PIC16C74A, PIC16C74B, PIC16C76, PIC16C77, PIC16F72, PIC16F73, PIC16F74, PIC16F76, PIC16F77, PIC16C84, PIC16F83, PIC16F84, PIC16F84A, PIC16F88, PIC16C505*, PIC16C620, PIC16C620A, PIC16C621, PIC16C621A, PIC16C622, PIC16C622A, PIC16CE623, PIC16CE624, PIC16CE625, PIC16F627, PIC16F628, PIC16F628A, PIC16F630*, PIC16F648A, PIC16F676*, PIC16C710, PIC16C711, PIC16C712, PIC16C715, PIC16C716, PIC16C717, PIC16C745, PIC16C765, PIC16C770*, PIC16C771*, PIC16C773, PIC16C774, PIC16C781*, PIC16C782*, PIC16F818, PIC16F819, PIC16F870, PIC16F871, PIC16F872, PIC16F873, PIC16F873A, PIC16F874, PIC16F874A, PIC16F876, PIC16F876A, PIC16F877, PIC16F877A, PIC16C923*, PIC16C924*, PIC18F242, PIC18F248, PIC18F252, PIC18F258, PIC18F442, PIC18F448, PIC18F452, PIC18F458, PIC18F1220, PIC18F1320, PIC18F2320, PIC18F4320, PIC18F4539, PIC18F6620*, PIC18F6720*, PIC18F8620*, PIC18F8720*

Примечание: микроконтроллеры, которые отмечены звездочкой (*) необходимо подключить к программатору через ICSP разъем.

Последовательная память EEPROM I2C (IIC): X24C01, 24C01A, 24C02, 24C04, 24C08, 24C16, 24C32, 24C64, AT24C128, M24C128, AT24C256, M24C256, AT24C512.


Установите микросхему в панельку, строго соблюдая положение ключа. Подключите шнур, включите питание. Запустите программу IC-PROG. В выпадающем списке выберите ваш микроконтроллер PIC.

Если у вас нет прошивки - сделайте ее: для этого откройте стандартную программу «Блокнот» или любой другой редактор; вставьте в документ текст прошивки; сохраните под любым именем с расширение *.txt или *.hex.

Затем в утилите в IC-PROG Файл >> Открыть файл >> найти наш файл с прошивкой. Окно «Программного кода» должно заполнится разными кодами.

В окне IC-PROG нажимаем «Программировать микросхему» при этом загорается красный светодиод на схеме устройства. Программирование длится около 30 секунд. Для проверки выбираем - Сравнить микросхему с буфером.

Альтернативный вариант схемы программатора EXTRA-PIC из с готовой печатной платой в Sprint Layout вы можете открыть по зеленой ссылке выше.

Микроконтроллеры PIC заслужили славу благодаря своей неприхотливости и качеству работы, а также универсальности в использовании. Но что может дать микроконтроллер без возможности записывать новые программы на него? Без программатора это не больше чем кусочек удивительного по форме исполнения железа. Сам программатор PIC может быть двух типов: или самодельный, или заводской.

Различие заводского и самодельного программаторов

В первую очередь отличаются они надежностью и функциональностью, которую предоставляют владельцам микроконтроллеров. Так, если делается самодельный, то он, как правило, рассчитывается только на одну модель PIC-микроконтроллера, тогда как программатор от Microchip предоставляет возможность работы с различными типами, модификациями и моделями микроконтроллеров.

Заводской программатор от Microchip

Самый известный и популярный - простой программатор PIC, который использует множество людей и известный для многих под названием PICkit 2. Его популярность объясняется явными и неявными достоинствами. Явные достоинства, которые имеет этот USB программатор для PIC, можно перечислять долго, среди них: относительно небольшая стоимость, простота эксплуатации и универсальность относительно всего семейства микроконтроллеров, начиная от 6-выводных и заканчивая 20-выводными.

Использование программатора от Microchip

По его использованию можно найти много обучающих уроков, которые помогут разобраться с всевозможными аспектами использования. Если рассматривать не только программатор PIC, купленный «с рук», а приобретенный у официального представителя, то можно ещё подметить качество поддержки, предоставляемое вместе с ним. Так, в дополнение идут обучающие материалы по использованию, лицензионные среды разработки, а также демонстрационная плата, которая предназначена для работы с маловыводными микроконтроллерами. Кроме всего этого, присутствуют утилиты, которые сделают работу с механизмом более приятной, помогут отслеживать процесс программирования и отладки работы микроконтроллера. Также поставляется утилита для стимулирования работы МК.

Другие программаторы

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

Программаторы, собранные вручную

А теперь, пожалуй, самое интересное - программаторы PIC-контроллеров, которые собираются вручную. Этим вариантом пользуются те, у кого нет денег или просто нет желания их тратить. В случае покупки у официального представителя можно рассчитывать на то, что если устройство окажется некачественным, то его можно вернуть и получить новое взамен. А при покупке «с рук» или с помощью досок объявлений в случае некачественной пайки или механических повреждений рассчитывать на возмещение расходов и получение качественного программатора не приходится. А теперь перейдём к собранной вручную электронике.

Программатор PIC может быть рассчитан на определённые модели или быть универсальным (для всех или почти всех моделей). Собираются они на микросхемах, которые смогут преобразовать сигналы с порта RS-232 в сигнал, который позволит программировать МК. Нужно помнить, что, когда собираешь данную кем-то конструкцию, программатор PIC, схема и результат должны подходить один к одному. Даже небольшие отклонения нежелательны. Это замечание относится к новичкам в электронике, люди с опытом и практикой могут улучшить практически любую схему, если есть куда улучшать.

Отдельно стоит молвить слово и про программный комплекс, которым обеспечивают USB-программатор для PIC, своими рукамисобранный. Дело в том, что собрать сам программатор по одной из множества схем, представленных в мировой сети, - мало. Необходимо ещё и программное обеспечение, которое позволит компьютеру с его помощью прошить микроконтроллер. В качестве такового довольно часто используются Icprog, WinPic800 и много других программ. Если сам автор схемы программатора не указал ПО, с которым его творение сможет выполнять свою работу, то придется методом перебора узнавать самому. Это же относится и к тем, кто собирает свои собственные схемы. Можно и самому написать программу для МК, но это уже настоящий высший пилотаж.

Универсальные программаторы, которые подойдут не только к РІС

Если человек увлекается программированием микроконтроллеров, то вряд ли он постоянно будет пользоваться только одним типом. Для тех, кто не желает покупать отдельно программаторы для различных типов микроконтроллеров, от различных производителей, были разработаны универсальные устройства, которые смогут запрограммировать МК нескольких компаний. Так как компаний, выпускающих их, довольно много, то стоит избрать пару и рассказать про программаторы для них. Выбор пал на гигантов рынка микроконтроллеров: PIC и AVR.

Универсальный программатор PIC и AVR - это аппаратура, особенность которой заключается в её универсальности и возможности изменять работу благодаря программе, не внося изменений в аппаратную составляющую. Благодаря этому свойству такие приборы легко работают с МК, которые были выпущены в продажу уже после выхода программатора. Учитывая, что значительным образом архитектура в ближайшее время меняться не будет, они будут пригодны к использованию ещё длительное время. К дополнительным приятным свойствам заводских программаторов стоит отнести:

  1. Значительные аппаратные ограничения по количеству программируемых микросхем, что позволит программировать не одну, а сразу несколько единиц электроники.
  2. Возможность программирования микроконтроллеров и схем, в основе которых лежат различные технологии (NVRAM, NAND Flash и другие).
  3. Относительно небольшое время программирования. В зависимости от модели программатора и сложности программируемого кода может понадобиться от 20 до 400 секунд.

Особенности практического использования

Отдельно стоит затронуть тему практического использования. Как правило, программаторы подключаются к портам USB, но есть и такие вариации, что работают с помощью тех же проводов, что и винчестер. И для их использования придется снимать крышку компьютера, перебирать провода, да и сам процесс подключения не очень-то и удобный. Но второй тип является более универсальным и мощным, благодаря ему скорость прошивки больше, нежели при подключении через USB. Использование второго варианта не всегда представляется таким удобным и комфортным решением, как с USB, ведь до его использования необходимо проделать ряд операций: достать корпус, открыть его, найти необходимый провод. Про возможные проблемы от перегревания или скачков напряжения при работе с заводскими моделями можно не волноваться, так как у них, как правило, есть специальная защита.

Работа с микроконтроллерами

Что же необходимо для работы всех программаторов с микроконтроллерами? Дело в том, что, хотя сами программаторы и являются самостоятельными схемами, они передают сигналы компьютера в определённой последовательности. И задача относительно того, как компьютеру объяснить, что именно необходимо послать, решается программным обеспечением для программатора.

В свободном доступе находится довольно много различных программ, которые нацелены на работу с программаторами, как самодельными, так и заводскими. Но если он изготавливается малоизвестным предприятием, был сделан по схеме другого любителя электроники или самим человеком, читающим эти строки, то программного обеспечения можно и не найти. В таком случае можно использовать перебор всех доступных утилит для программирования, и если ни одна не подошла (при уверенности, что программатор качественно работает), то необходимо или взять/сделать другой программатор PIC, или написать собственную программу, что является весьма высоким пилотажем.

Возможные проблемы

Увы, даже самая идеальная техника не лишена возможных проблем, которые нет-нет, да и возникнут. Для улучшенного понимания необходимо составить список. Часть из этих проблем можно исправить вручную при детальном осмотре программатора, часть - только проверить при наличии необходимой проверочной аппаратуры. В таком случае, если программатор PIC-микроконтроллеров заводской, то вряд ли починить представляется возможным. Хотя можно попробовать найти возможные причины сбоев:

  1. Некачественная пайка элементов программатора.
  2. Отсутствие драйверов для работы с устройством.
  3. Повреждения внутри программатора или проводов внутри компьютера/USB.

Эксперименты с микроконтроллерами

Итак, всё есть. Как же начать работу с техникой, как начать прошивать микроконтроллер программатором?

  1. Подключить внешнее питание, присоединить всю аппаратуру.
  2. Первоначально необходима среда, с помощью которой всё будет делаться.
  3. Создать необходимый проект, выбрать конфигурацию микроконтроллера.
  4. Подготовить файл, в котором находится весь необходимый код.
  5. Подключиться к программатору.
  6. Когда всё готово, можно уже прошивать микроконтроллер.

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

Хочется отдельно написать обращение к тем, кто только начинает пользоваться программаторами. Помните, что, какими бы элементарными ни казались некоторые шаги, всегда необходимо их придерживаться, чтобы техника нормально и адекватно могла работать и выполнять поставленные вами задачи. Успехов в электронике!

USB программатор PIC контроллеров - 3.8 out of 5 based on 11 votes

Фотогорафии программатора предоставленны Ансаганом Хасеновым

В данной статье рассматриваются практические аспекты сборки несложного USB программатора PIC микроконтроллеров, который имеет оригинальное название GTP-USB (Grabador TodoPic-USB). Существует старшая модель этого программатора GTP-USB plus который поддерживает и AVR микроконтроллеры, но предлагается за деньги. Однозначных сведений по схемам и прошивкам к GTP-USB plus обнаружить не удалось. Если у вас есть информация по GTP-USB plus, прошу связаться со мной.

Итак, GTP-USB. Данный программатор собран на микроконтроллере PIC18F2550. GTP-USB нельзя рекомендовать начинающим, т.к. для сборки требуется прошить PIC18F2550 и для этого требуется программатор. Замкнутый круг, но не настолько замкнутый, чтобы это стало препятствием для сборки.

Из оригинальной схемы GTP-USB исключены элементы индикации для упрощения рисунка печатной платы. Основной индикатор - это монитор вашего компьютера, на котором из программы WinPic800 версий 3.55G или 3.55B вы можете наблюдать за процессом программирования.

Облегченная схема GTP-USB.

Сигнальные линии Vpp1 и Vpp2 определены под микроконтроллеры в корпусах с различным количеством выводов. Линия Vpp/ICSP определена для внутрисхемного программирования. Остальные линии типовые.

Программатор собран на односторонней печатной плате .

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

После сборки производим первое включение. По факту первого подключения GTP-USB к ПК появляется сообщение

Затем следует традиционный запрос на установку драйвера. Драйвер расположен в управляющей программе WinPic800 по примерному пути \WinPic800 3.55G\GTP-USB\Driver GTP-USB\.


Соглашаемся с предупреждениями и продолжаем установку.

Обращаю внимание. Данная схема программатора и прошивка к нему проверены на практике и работают с управляющей программой WinPic800 версий 3.55G и 3.55B. Более старшие версии, например, 3.63C не работают с этим программатором. Производим настройку управляющей программы: в меню Settings - Hardware (Установки - Оборудование) выбираем GTP-USB-#0 или GTP-USB-#F1 и нажимаем Apply (Применить).

Нажимаем на панели кнопку и производим тест оборудования. В результате успешного тестирования появляется сообщение (см. ниже), которое не может нас не радовать.

Данный программатор отлично работал со следующими контроллерами (из того что было в наличии): PIC12F675, PIC16F84A, PIC16F628A, PIC16F874A, PIC16F876A, PIC18F252. Тест контроллеров, запись и чтение данных - выполнены успешно. Скорость работы впечатляет. Чтение 1-2 сек. Запись 3-5 сек. Глюков не замечено. Часть зашитых МК протестировано в железе - работает.


Однажды я решил собрать несложный 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 преобразователя.

Так и сделал. Взял микросхему Ch440G (в которой есть все 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, результат тот же - всё шьёт, но очень медленно.

Выводы: программатор достаточно простой, в нём нет дорогостоящих деталей (Ch440 - 0.3-0.5$ , к1533ла3 можно вообще найти среди радиохлама), работает на любом компьютере, ноутбуке (и даже можно использовать планшеты на windows 8/10). Минусы: он очень медленный. Также он требует внешнее питание для сигнала VPP. В итоге, как мне показалось, для нечастой прошивки пиков - это несложный для повторения и недорогой вариант для тех, у кого нет под рукой древнего компьютера с нужными портами.

Вот фото готового девайса:

Как поётся в песне "я его слепила из того, что было". Набор деталей самый разнообразный: и smd, и DIP.

Для тех, кто рискнёт повторить схему, в качестве usb-uart конвертера подойдёт почти любой (ft232, pl2303, cp2101 и др), вместо к1533ла3 подойдёт к555, думаю даже к155 серия или зарубежный аналог 74als00, возможно даже будет работать с логическими НЕ элементами типа к1533лн1. Прилагаю свою печатную плату, но разводка там под те элементы, что были в наличии, каждый может перерисовать под себя.

Список радиоэлементов
Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
IC1 Микросхема Ch440G 1 В блокнот
IC2 Микросхема К1533ЛА3 1 В блокнот
VR1 Линейный регулятор

LM7812

1 В блокнот
VR2 Линейный регулятор

LM7805

1 В блокнот
VT1 Биполярный транзистор

КТ502Е

1 В блокнот
VT2 Биполярный транзистор

КТ3102Е

1 В блокнот
VD1-VD3 Выпрямительный диод

1N4148

2 В блокнот
C1, C2, C5-C7 Конденсатор 100 нФ 5 В блокнот
C3, C4 Конденсатор 22 пФ 2 В блокнот
HL1-HL4 Светодиод Любой 4 В блокнот
R1, R3, R4 Резистор

1 кОм

3

Программатор pic k150 USB

(1 оценка, рейтинг 5.00 из 5)

Купить программатор K150 c USB входом для программирования и отладки приложений для PIC микроконтроллеров.

Характеристики:

  • модель K150;
  • микроконтроллер PIC16F628A;
  • рабочее напряжение 5 Вольт DC , от USB порта;
  • 40 контактный ZIF разъем;
  • поддержка Windows 98, 2000, NT, XP и Windows 7 ;
  • ICSP интерфейс – встроенный разъем;
  • светодиодный индикатор питания и программирования ;
  • защита USB порта компьютера;
  • кварцовый резонатор на 6 МГц;
  • длинна ICSP шлейфа 20 см;
  • длина кабеля USB тип А – USB тип В 1 м;
  • размеры (Д х Ш х В): 85 х 48 х 15 мм;
  • вес комплекта 110 г.

Программное обеспечение скачать

Драйвер USB-COM Prolific скачать

Комплектация программатора К150:

  • USB программатор K150 ICSP для PIC-контроллеров;
  • кабель USB тип А – USB тип В;
  • ICSP шлейф;
  • комплект из 4 латунных стоек и 4 шурупов.

Программатор поддерживает PIC микроконтроллеры, которые имеют до 40 контактов:

  • 10 Series: PIC10F200, PIC10F202, PIC10F204, PIC10F206, PIC10F220, PIC10F222;
  • 12C Series: PIC12C508, PIC12C508A, PIC12C509, PIC12C509A, PIC12C671, PIC12C672, PIC12CE518, PIC12CE519, PIC12CE673, PIC12CE674;
  • 12F Series: PIC12F508, PIC12F509, PIC12F629, PIC12F635, PIC12F675, PIC12F683;
  • 16C Series: PIC16C505, PIC16C554, PIC16C558, PIC16C61, PIC16C62, PIC16C62A, PIC16C62B, PIC16C63, PIC16C63A, PIC16C64, PIC16C64A, PIC16C65, PIC16C65A, PIC16C65B, PIC16C66, PIC16C66A, PIC16C67, PIC16C620, PIC16C620A, PIC16C621, PIC16C621A, PIC16C622, PIC16C622A, PIC16C71, PIC16C71A, PIC16C72, PIC16C72A, PIC16C73, PIC16C73A, PIC16C73B, PIC16C74, PIC16C74A, PIC16C74B, PIC16C76, PIC16C77, PIC16C710, PIC16C711, PIC16C712, PIC16C716, PIC16C745, PIC16C765, PIC16C773, PIC16C774, PIC16C83, PIC16C84;
  • 16F Series: PIC16F505, PIC16F506, PIC16F54, PIC16F57, PIC16F59, PIC16F627, PIC16LF627A, PIC16F627A, PIC16F628, PIC16LF628A, PIC16F628A, PIC16F630, PIC16F631, PIC16F631-1, PIC16F636, PIC16F636-1, PIC16F639, PIC16F639-1, PIC16F648A, PIC16F676, PIC16F677, PIC16F677-1, PIC16F684, PIC16F685, PIC16F685-1, PIC16F687, PIC16F687-1, PIC16F688, PIC16F689, PIC16F689-1, PIC16F690,  PIC16F690-1, PIC16F716, PIC16F72, PIC16F73, PIC16F74, PIC16F76, PIC16F77, PIC16F737, PIC16F747,  PIC16F767, PIC16F777, PIC16F83, PIC16F84, PIC16F84A, PIC16F87, PIC16F88, PIC16F818, PIC16F819, PIC16F870, PIC16F871, PIC16F872, PIC16F873, PIC16F873A, PIC16LF873A, PIC16F874, PIC16F874A, PIC16F876, PIC16F876A, PIC16F877, PIC16F877A;
  • 18 Series: PIC18F242, PIC18F248, PIC18F252, PIC18F258, PIC18F442, PIC18F448, PIC18F452, PIC18F458, PIC18F1220, PIC18F1320, PIC18F2220, PIC18F2320, PIC18F2321, PIC18F4210, PIC18F2331, PIC18F2450, PIC18F2455, PIC18F2480, PIC18F2510, PIC18F2515, PIC18F2520, PIC18F2525, PIC18F2550, PIC18F2580, PIC18F2585, PIC18F2610, PIC18F2620, PIC18F2680, PIC18F4220, PIC18F4320, PIC18F6525, PIC18F6621, PIC18F8525, PIC18F8621, PIC18F2331, PIC18F2431, PIC18F4331, PIC18F4431, PIC18F2455, PIC18F2550, PIC18F4455, PIC18F4550, PIC18F4580, PIC18F2580, PIC18F2420, PIC18F2520, PIC18F2620, PIC18F6520, PIC18F6620, PIC18F6720, PIC18F6585, PIC18F6680, PIC18F8585, PIC18F8680.

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

cxema.org - Программатор PIC микроконтроллеров

На днях возникла необходимость запрограммировать PIC микроконтроллер. В интернете большое обилие схем программаторов, есть простые и навороченные универсальные. Собирать простейший для прошивки одного конкретного микроконтроллера не захотел, так как в планах прошивать разные. Собирать универсальные, с множеством панелек под разные пики тоже не захотел. Есть простые в сборке, компактные и универсальные программаторы, но они в себе содержат управляющий микроконтроллер, который тоже требует программирования. Поискав в интернете на зарубежных сайтах я нашёл то, что хотел собрать. Это простой программатор, но в тоже время довольно универсальный, поддерживающий практически весь ряд PIC контроллеров. Нашёл его у японцев на сайте http://feng3.cool.ne.jp. Multi PIC Programmer 5 Ver.2.

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

Он способен запрограммировать от 8 до 40 контактных микроконтроллеров.  Программатор имеет режим программирования пониженным напряжением, что полезно для программирования некоторых микроконтроллеров, а так же их разлочки после неудачного программирования.

Поддерживаемые и проверенные микроконтроллеры:

  • PIC12C508,PIC12C509
  • PIC12C508A,PIC12C509A
  • PIC12CE518,PIC12CE519
  • PIC12C671,PIC12C672,PIC12CE673,PIC12CE674
  • PIC12F508,PIC12F509 
  • PIC12F629,PIC12F635,PIC12F675,PIC12F683
  • PIC16C505
  • PIC16C61,PIC16C62A,16C62B(3),PIC16C63,PIC16C63A
  • PIC16C64A,PIC16C65A,PIC16C65B,PIC16C66,PIC16C67
  • PIC16C620,PIC16C620A,PIC16C621,PIC16C621A,PIC16C622,PIC16C622A
  • PIC16CE623,PIC16CE624,PIC16C625
  • PIC16F627,PIC16F628
  • PIC16F627A(2),PIC16F628A,PIC16F648A
  • PIC16F630,PIC16F636,PIC16F676,PIC16F684,PIC16F688
  • PIC16C710,PIC16C711,PIC16C715
  • PIC16C712,PIC16C716
  • PICPIC16C71,PIC16C72,PIC16C72A,PIC16C73A,PIC16C73B,PIC16C74A,PIC16C74B,PIC16C76,PIC16C77
  • PIC16F72,PIC16F73,PIC16F74,PIC16F76,PIC16F77
  • PIC16C745,PIC16C765
  • PIC16C717,PIC16C770,PIC16C771
  • PIC16C773,PIC16C774
  • PIC16C781,PIC16C782
  • PIC16C923,PIC16C924
  • PIC16F818,PIC16F819
  • PIC16F83
  • PIC16C84
  • PIC16F84
  • PIC16F84A
  • PIC16F87,PIC16F88
  • PIC16F870,PIC16F871,PIC16F872,PIC16F873,PIC16F874,PIC16F876,PIC16F877
  • PIC16F873A,PIC16F874A,PIC16F876A,PIC16F877A
  • PIC18F1320,PIC18F2320,PIC18F4320
  • PIC18F242,PIC18F252,PIC18F442,PIC18F452
  • PIC18F248,PIC18F258,PIC18F448,PIC18F458
  • PIC18F4539

Для программирования я использую программу IC- Prog, настройки программатора выставляю как JDM programmer.

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

В  архиве вложена плата в формате lay и дополнительные материалы автора программатора. 

Какой программист Pic вам нужен?

Микроконтроллеры

Microchip PIC бывают самых разных типов - от очень старого семейства PIC16C до новейших устройств PIC16F и PIC18F, а также нескольких других менее распространенных типов. За исключением некоторых очень старых микросхем, все они программируются по последовательной схеме, что означает, что они могут быть запрограммированы в схеме с помощью программатора PIC ICSP.

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

Хорошо, вам нужен программатор PIC ICSP, а не программатор сокетов, какой из них выбрать? Очевидным первым выбором является программатор Microchip PICKit3.

PICKit3 Информация

Это имеет эти преимущества

  • Эмулятор а так же программатор
  • Работает из программного обеспечения MPLAB
  • Также имеет собственное программное обеспечение для программирования
  • Низкая стоимость
  • Может питание целевой цепи (до 30 мА)
  • Интерфейс USB
  • Бесплатные обновления прошивки от MPLAB
  • 6-контактный разъем DIL ISP

Для разработки сложно превзойти PICKit3, поскольку он действует как ICE для отладки кода, а также как программист.Другие инструменты разработки Microchip, такие как ICE2, имеют разъем RJ11 (телефонный разъем), а не простой 6-контактный разъем ICSP. Это создает проблемы с подключением, когда вы запускаете продукт в производство, поскольку RJ11 - это большой и относительно дорогой разъем. У них больше функций отладки, но они не подходят для мелкомасштабного программирования, в отличие от PICKit3. Kanda поставляет PICKit3 со всеми нашими продуктами для обучения микроконтроллеров PIC.

Когда вы перейдете к производству, вам, вероятно, понадобится что-то более надежное. Дополнительные преимущества будут иметь более простой пользовательский интерфейс и возможность подавать больше энергии на цель.Мы поставляем программаторы Asix PIC обычно для производства, поскольку они имеют множество удобных для производства функций, таких как кнопка Go, серийная нумерация и интерфейс DLL.

Недорогой программатор PRESTO PIC Programmer работает медленнее, чем более дорогая версия FORTE, и может подавать только напряжение программирования 12 В. Более новым PIC16F1xxx и некоторым PIC18Fxxx требуется только 9 В VPP, поэтому потребуется схема для ограничения напряжения VPP, если она запрограммирована с помощью PRESTO.

Оба поддерживают все микроконтроллеры PIC, включая PIC24, PIC32 и dsPIC.Они также поддерживают микроконтроллеры AVR, флэш-память Atmel, последовательные EEPROM, микроконтроллеры TI MSP430 и CCxxxx, CPLD и многое другое. Как единый программист для всех ваших производственных нужд, они терпят поражение. Программатор FORTE обычно вдвое быстрее, чем PRESTO .

А как насчет обновлений на местах? Что бы вы ни делали, имеет смысл добавить в вашу схему интерфейс ICSP. Это только разъем 6 x 1 с несколькими резисторами - см. Схему PIC ICSP. Это дает вам гибкость при изменении прошивки в существующих продуктах после их отгрузки, и вы никогда не знаете, когда это может быть необходимо.

Конечно, вы можете использовать программатор PICKit3 или PRESTO, но для этого требуются ноутбуки и определенные навыки для использования программного обеспечения. Лучшее решение - программатор PIC, разработанный специально для обновлений в полевых условиях, и портативные программаторы Kanda PIC отвечают всем требованиям.

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

Ссылки программатора PIC

Руководство программиста PIC

Портативные программаторы PIC

Какой микроконтроллер PIC выбрать?

PIC против AVR

Формат файла PIC Hex

Дешевый программатор PIC, должен быть совместим с Linux

Дешевый программатор PIC, должен быть совместим с Linux
Сеть обмена стеком

Сеть Stack Exchange состоит из 178 сообществ вопросов и ответов, включая Stack Overflow, крупнейшее и пользующееся наибольшим доверием онлайн-сообщество, где разработчики могут учиться, делиться своими знаниями и строить свою карьеру.

Посетить Stack Exchange
  1. 0
  2. +0
  3. Авторизоваться Зарегистрироваться

Electrical Engineering Stack Exchange - это сайт вопросов и ответов для профессионалов в области электроники и электротехники, студентов и энтузиастов.Регистрация займет всего минуту.

Зарегистрируйтесь, чтобы присоединиться к этому сообществу

Кто угодно может задать вопрос

Кто угодно может ответить

Лучшие ответы голосуются и поднимаются наверх

Спросил

Просмотрено 2k раз

\ $ \ begingroup \ $

Мне комфортно работать над проектами на базе Arduino, но я хочу начать экспериментировать с программированием PIC.

Как мне создать собственный программатор для картинок? Я подумал, что должен быть способ сэкономить деньги по сравнению с чем-то вроде того, что я нашел в Интернете.

Кортук

13.1k88 золотых знаков5858 серебряных знаков8585 бронзовых знаков

Создан 10 июн.

\ $ \ endgroup \ $ 1 \ $ \ begingroup \ $

По сравнению с AVR, PIC имеют множество небольших вариаций в алгоритмах программирования и интерфейсах, которые требуют тщательного изучения каждого документа «интерфейс программирования».Был там, сделал это (до предела). Если вы не любите острые ощущения, я бы не рекомендовал это. Купите себе комплект или готовый программатор. Я продаю один, Олин продает несколько, и есть PICkit2 и PICkit3, а также различные клоны этих двух. Сделайте ваш выбор). Я бы порекомендовал тип, по крайней мере, способный к внутрисхемному программированию. Если вы не продаете запрограммированные PIC, программирование ex-схемы практически бесполезно.

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

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