Как собрать простой USB программатор для PIC микроконтроллеров своими руками. Какие компоненты понадобятся для сборки. Как подключить и настроить программатор. Какие микроконтроллеры поддерживаются.
Необходимые компоненты для сборки программатора PIC
Для сборки простого USB программатора для PIC микроконтроллеров своими руками понадобятся следующие компоненты:
- Микроконтроллер PIC18F2550
- USB-разъем типа B
- Кварцевый резонатор на 20 МГц
- Конденсаторы: 2 x 22 пФ, 1 x 470 нФ, 1 x 100 нФ
- Резисторы: 2 x 470 Ом, 1 x 10 кОм
- Светодиоды: красный и зеленый
- Кнопка
- Макетная плата или печатная плата
Все эти компоненты доступны в большинстве магазинов электроники. Стоимость сборки такого программатора составит около 500-1000 рублей.
Схема подключения компонентов программатора
Схема подключения компонентов программатора PIC выглядит следующим образом:
- USB-разъем подключается к выводам 15 и 16 микроконтроллера PIC18F2550
- Кварцевый резонатор — к выводам 9 и 10
- Конденсаторы 22 пФ — параллельно кварцу
- Конденсатор 470 нФ — между Vdd и GND
- Конденсатор 100 нФ — между VUSB и GND
- Светодиоды через резисторы 470 Ом — к выводам 21 и 22
- Кнопка — к выводу 1
- Резистор 10 кОм — между выводом 1 и Vdd
Подробную схему подключения можно найти в документации на микроконтроллер PIC18F2550.

Пошаговая инструкция по сборке программатора
Процесс сборки простого программатора для PIC микроконтроллеров можно разбить на следующие шаги:
- Подготовить все необходимые компоненты
- Установить микроконтроллер PIC18F2550 на макетную или печатную плату
- Подключить кварцевый резонатор и конденсаторы согласно схеме
- Припаять USB-разъем и соединить его с микроконтроллером
- Подключить светодиоды через резисторы
- Установить кнопку и подтягивающий резистор
- Проверить правильность всех соединений
- Прошить микроконтроллер специальной прошивкой для программатора
После сборки необходимо внимательно проверить все соединения, чтобы избежать замыканий и ошибок.
Прошивка микроконтроллера программатора
Для работы собранного устройства в качестве программатора PIC необходимо прошить микроконтроллер PIC18F2550 специальной прошивкой. Для этого потребуется:
- Скачать прошивку программатора PICkit2 с сайта Microchip
- Подключить собранное устройство к компьютеру по USB
- Запустить программу PICkit2 Programmer
- Выбрать файл прошивки и записать его в микроконтроллер
После успешной прошивки устройство будет готово к работе в качестве программатора PIC микроконтроллеров.

Настройка программного обеспечения для работы с программатором
Для работы с собранным программатором потребуется установить и настроить специальное программное обеспечение:
- Установить драйверы для программатора
- Скачать и установить программу PICkit2 Programmer
- В настройках программы выбрать тип подключения — USB
- Указать модель используемого программатора — PICkit2
- Проверить подключение программатора к компьютеру
После этих настроек программатор будет готов к работе с PIC микроконтроллерами.
Какие микроконтроллеры PIC поддерживаются
Собранный простой программатор позволяет работать с большинством популярных микроконтроллеров PIC, в том числе:
- PIC10F2xx
- PIC12F5xx, PIC12F6xx
- PIC16F5xx, PIC16F6xx, PIC16F7xx, PIC16F8xx
- PIC18F2xxx, PIC18F4xxx
- И многие другие
Полный список поддерживаемых микроконтроллеров можно найти в документации к программе PICkit2 Programmer.
Преимущества самодельного программатора PIC
Сборка программатора для PIC микроконтроллеров своими руками имеет ряд преимуществ:

- Низкая стоимость по сравнению с заводскими аналогами
- Возможность изучить принцип работы программатора
- Приобретение навыков сборки электронных устройств
- Возможность модификации и доработки программатора под свои нужды
- Совместимость с большинством популярных PIC микроконтроллеров
При этом самодельный программатор по функциональности не уступает заводским моделям и позволяет выполнять все базовые операции с микроконтроллерами PIC.
Возможные проблемы при сборке и их решение
При самостоятельной сборке программатора PIC могут возникнуть следующие проблемы:
- Программатор не определяется компьютером — проверьте правильность подключения USB-разъема
- Не загружается прошивка — убедитесь в совместимости прошивки с используемым микроконтроллером
- Не работает программирование микроконтроллеров — проверьте качество пайки и отсутствие замыканий
- Программатор работает нестабильно — попробуйте использовать отдельный USB-хаб с питанием
В большинстве случаев проблемы решаются тщательной проверкой схемы и качества пайки. При необходимости обратитесь за помощью на радиолюбительские форумы.

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 | |
Перемычка | любая типа «джампер» | ||
Для панели установки микроконтроллеров (МК) | |||
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, я рассказал в отдельной статье. Следующий шаг.
Необходимые файлы:
Главная » Микроконтроллеры » Текущая страница
Также Вам будет интересно узнать:
ПРОГРАММАТОР ДЛЯ 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.
Партнер статьи: Electronoff.ua
Форум по программаторам PIC МК
Форум по обсуждению материала ПРОГРАММАТОР ДЛЯ PIC
Самый простой программатор для pic. Самодельный программатор для PIC-контроллеров
Вот есть микроконтроллер, есть написанная программа. Что ещё нужно? Программатор! Ведь без помощи аппаратуры, которая сможет записать последовательностью сигналов процесс, который хочет реализовать человек, сложно будет что-то сделать. А как здорово сделать программатор своими руками!
Также здесь вы найдете описание программаторов и из другого семейства — АВР, но исключительно в сравнительных целях. Приступим к статье, где рассказывается, как сделать программатор-flash своими руками.
Для чего необходим программатор
Так как статья пишется в том числе и для читателей, не слишком осведомленных в этом вопросе, то необходимо взять во внимание и такой пункт. Программатор — это специальное устройство, которое посредством получаемых от компьютера сигналов программирует микроконтроллер, который будет управлять схемой. Качественное устройство является очень важным, ведь в таком случае можно будет быть уверенным в том, что МК не выйдет из строя, или, что важнее, из строя не выйдет компьютер. Есть небольшое уточнение: программатор для PIC своими руками делают только те, у кого есть микроконтроллеры этого семейства. Другие из-за другой архитектуры могут не работать. Но можно попробовать своими силами усовершенствовать представленные схемы и собрать программатор AVR своими руками.
Платные против самодельных
Отдельно нужно рассказать о приобретенных в магазинах и самодельных программаторах. Дело в том, что это устройства не очень-то и простые и требуют уже определённых навыков работы, практики пайки и умения обращаться с железом. При работе с купленным программатором от производителя или его дилера можно быть уверенным в том, что на прибор программа будет записана, и ничего не сгорит. А в случае обнаружения неисправностей в самом начале периода эксплуатации его можно вернуть и получить взамен работоспособное устройство.
А вот с самодельными программаторами всегда немного сложнее. Дело в том, что даже если они и тестировались, то, как правило, в очень узком диапазоне используемой техники, поэтому вероятность того, что что-то пойдёт не так, высока. Но даже если сама схема является полностью работоспособной, нельзя сбрасывать со счётов возможность того, что человек, собиравший схему, ошибётся в чем-то, что-то припаяет не так, и в результате будут иметь место печальные последствия как минимум для программатора. Хотя учитывая то, как любят микроконтроллеры перегорать, повреждения будут не только у него. При пайке своей платы, для того чтобы избежать негативных последствий, перед сборкой механизма следует проверить работоспособность всех элементов, которые будут использованы в плате, с помощью специальных устройств.
Драйвера
Первоначально следует подобрать программное обеспечение. В зависимости от схемы программатор может быть заточен или под один микроконтроллер, или под большое их количество. Тот, что будет далее рассматриваться, рассчитан примерно на 98 программаторов от 12-го до 18-го семейств. Для тех, кому понравится вариант сборки, следует уточнить, что в качестве драйверного программного обеспечения использовалась программа IC-PROG. Можете попробовать работать и с другой, но уже на свой страх и риск. Это информация для тех, кто хочет создать программатор для AVR своими руками. Далее будет указано, для каких семейств микроконтроллеров РІС он рассчитан. Если есть желание сделать программатор AVR своими руками или какой-то другой тип МК, то вы всегда можете попытаться.
Схема программатора
Вот тут уже можно попробовать сделать программатор для PIC своими руками. В качестве гнезда необходимо использовать разъем DB9. Можно сделать и USB-программатор своими руками, но для него понадобятся дополнительные элементы схемы, которые усложнят и без того довольно сложную плату. Также внимательно рассмотрите рисунок с различными прямоугольниками (чтобы знать, какие части за что отвечают). Выводы должны подключатся именно туда, куда нужно, иначе микроконтроллер превратится в небольшой кусочек пластика и железа, который можно поставить на стеночку как напоминание о былых ошибках. Процесс сборки и использования программатора таков:
- Собрать сам программатор так, как написано на схемах. Просмотреть на наличие некачественной пайки, а также потенциальных мест замыкания. Программатор рассчитан на работу с напряжением 15-18В, больше категорически не рекомендуется.
- Подготовьте среду управления прошивкой (выше было упоминание одной программы, с которой программатор точно работает).
Процесс прошивки микроконтроллера
Процесс прошивки микроконтроллера данными можно считать продолжением предыдущего списка:
- Произвести необходимые для работы программы настройки.
- Установить микроконтроллер в программатор так, как отмечено на схеме. Лучше лишний раз убедиться, что всё так, как должно быть, чем ехать за новым МК.
- Подключить питание.
- Запустить выбранное программное обеспечения (для этого программатора ещё раз посоветуем IC-Prog).
- В выпадающем меню вверху справа выбрать, какой именно микроконтроллер следует прошить.
- Подготовленный файл выбрать для программирования. Для этого перейдите по пути «Файл» — «Открыть файл». Смотрите, не перепутайте с «Открыть файл данных», это совсем другое, прошить микроконтроллер с помощью второй кнопки не получится.
- Нажать на кнопку «Начать программировать микросхему». Примерное время, через которое она будет запрограммирована — до 2 минут. Прерывать процесс программирования нельзя, это чревато выведением из строя микроконтроллера.
- И в качестве небольшого контроля нажмите на кнопку «Сравнить микросхему с буфером».
Не очень сложно, но эта последовательность действий позволяет получить качественный программатор, своими руками сделанный, для различных типов микроконтроллеров РІС.
Какие микроконтроллеры поддерживаются и могут быть прошиты программным обеспечением
Как уже выше упоминалось, этот программатор может работать как минимум с 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 — это аппаратура, особенность которой заключается в её универсальности и возможности изменять работу благодаря программе, не внося изменений в аппаратную составляющую. Благодаря этому свойству такие приборы легко работают с МК, которые были выпущены в продажу уже после выхода программатора. Учитывая, что значительным образом архитектура в ближайшее время меняться не будет, они будут пригодны к использованию ещё длительное время. К дополнительным приятным свойствам заводских программаторов стоит отнести:
- Значительные аппаратные ограничения по количеству программируемых микросхем, что позволит программировать не одну, а сразу несколько единиц электроники.
- Возможность программирования микроконтроллеров и схем, в основе которых лежат различные технологии (NVRAM, NAND Flash и другие).
- Относительно небольшое время программирования. В зависимости от модели программатора и сложности программируемого кода может понадобиться от 20 до 400 секунд.
Особенности практического использования
Отдельно стоит затронуть тему практического использования. Как правило, программаторы подключаются к портам USB, но есть и такие вариации, что работают с помощью тех же проводов, что и винчестер. И для их использования придется снимать крышку компьютера, перебирать провода, да и сам процесс подключения не очень-то и удобный. Но второй тип является более универсальным и мощным, благодаря ему скорость прошивки больше, нежели при подключении через USB. Использование второго варианта не всегда представляется таким удобным и комфортным решением, как с USB, ведь до его использования необходимо проделать ряд операций: достать корпус, открыть его, найти необходимый провод. Про возможные проблемы от перегревания или скачков напряжения при работе с заводскими моделями можно не волноваться, так как у них, как правило, есть специальная защита.
Работа с микроконтроллерами
Что же необходимо для работы всех программаторов с микроконтроллерами? Дело в том, что, хотя сами программаторы и являются самостоятельными схемами, они передают сигналы компьютера в определённой последовательности. И задача относительно того, как компьютеру объяснить, что именно необходимо послать, решается программным обеспечением для программатора.
В свободном доступе находится довольно много различных программ, которые нацелены на работу с программаторами, как самодельными, так и заводскими. Но если он изготавливается малоизвестным предприятием, был сделан по схеме другого любителя электроники или самим человеком, читающим эти строки, то программного обеспечения можно и не найти. В таком случае можно использовать перебор всех доступных утилит для программирования, и если ни одна не подошла (при уверенности, что программатор качественно работает), то необходимо или взять/сделать другой программатор PIC, или написать собственную программу, что является весьма высоким пилотажем.
Возможные проблемы
Увы, даже самая идеальная техника не лишена возможных проблем, которые нет-нет, да и возникнут. Для улучшенного понимания необходимо составить список. Часть из этих проблем можно исправить вручную при детальном осмотре программатора, часть — только проверить при наличии необходимой проверочной аппаратуры. В таком случае, если программатор PIC-микроконтроллеров заводской, то вряд ли починить представляется возможным. Хотя можно попробовать найти возможные причины сбоев:
- Некачественная пайка элементов программатора.
- Отсутствие драйверов для работы с устройством.
- Повреждения внутри программатора или проводов внутри компьютера/USB.
Эксперименты с микроконтроллерами
Итак, всё есть. Как же начать работу с техникой, как начать прошивать микроконтроллер программатором?
- Подключить внешнее питание, присоединить всю аппаратуру.
- Первоначально необходима среда, с помощью которой всё будет делаться.
- Создать необходимый проект, выбрать конфигурацию микроконтроллера.
- Подготовить файл, в котором находится весь необходимый код.
- Подключиться к программатору.
- Когда всё готово, можно уже прошивать микроконтроллер.
Выше была написана только общая схема, которая позволяет понять, как происходит процесс. Для отдельных сред разработки она может незначительно отличаться, а более детальную информацию о них можно найти в инструкции.
Хочется отдельно написать обращение к тем, кто только начинает пользоваться программаторами. Помните, что, какими бы элементарными ни казались некоторые шаги, всегда необходимо их придерживаться, чтобы техника нормально и адекватно могла работать и выполнять поставленные вами задачи. Успехов в электронике!
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 |
Пик программатор своими руками usb. Как программировать PIC микроконтроллеры или Простой JDM программатор. Эксперименты с микроконтроллерами
Представляет собой наиболее простую конструкцию для прошивки контроллеров семейства PIC. Неоспоримые преимущества — простота, компактность, питание без внешнего источника данной классической схемы программатора сделали её очень популярной среди радиолюбителей, тем более что схеме уже лет 5, и за это время она зарекомендовала себя как простой и надёжный инструмент работы с микроконтроллерами.
Принципиальная схема программатора для pic контроллеров:
Питание на саму схему не требуется, ведь для этого служит COM порт компьютера, через который и осуществляется управление прошивкой микроконтроллера. Для низковольтного режима программирования вполне достаточно 5в, но могут быть не доступны все опции для изменения (фьюзы). Разъем подключения COM-9 порта смонтировал прямо на печатную плату программатора для PIC — получилось очень удобно.
Можно воткнуть плату без лишних шнуров прямо в порт. опробован на различных компьютерах и при программировании МК серий 12F,16F и 18F, показал высокое качество прошивки. Предложенная схема позволяет программировать микроконтроллеры PIC12F509, PIC16F84A, PIC16F628. Например недавно с помощью предложенного программатора успешно был прошит микроконтроллер для .
Для программирования используется WinPic800 — одна из лучших программ для программирования PIC контроллеров. Программа позволяет выполнять операции для микроконтроллеров семейства PIC: чтения, записи, стирания, проверки FLASH и EEPROM памяти и установку битов конфигураций.
Микроконтроллеры 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 — это аппаратура, особенность которой заключается в её универсальности и возможности изменять работу благодаря программе, не внося изменений в аппаратную составляющую. Благодаря этому свойству такие приборы легко работают с МК, которые были выпущены в продажу уже после выхода программатора. Учитывая, что значительным образом архитектура в ближайшее время меняться не будет, они будут пригодны к использованию ещё длительное время. К дополнительным приятным свойствам заводских программаторов стоит отнести:
- Значительные аппаратные ограничения по количеству программируемых микросхем, что позволит программировать не одну, а сразу несколько единиц электроники.
- Возможность программирования микроконтроллеров и схем, в основе которых лежат различные технологии (NVRAM, NAND Flash и другие).
- Относительно небольшое время программирования. В зависимости от модели программатора и сложности программируемого кода может понадобиться от 20 до 400 секунд.
Особенности практического использования
Отдельно стоит затронуть тему практического использования. Как правило, программаторы подключаются к портам USB, но есть и такие вариации, что работают с помощью тех же проводов, что и винчестер. И для их использования придется снимать крышку компьютера, перебирать провода, да и сам процесс подключения не очень-то и удобный. Но второй тип является более универсальным и мощным, благодаря ему скорость прошивки больше, нежели при подключении через USB. Использование второго варианта не всегда представляется таким удобным и комфортным решением, как с USB, ведь до его использования необходимо проделать ряд операций: достать корпус, открыть его, найти необходимый провод. Про возможные проблемы от перегревания или скачков напряжения при работе с заводскими моделями можно не волноваться, так как у них, как правило, есть специальная защита.
Работа с микроконтроллерами
Что же необходимо для работы всех программаторов с микроконтроллерами? Дело в том, что, хотя сами программаторы и являются самостоятельными схемами, они передают сигналы компьютера в определённой последовательности. И задача относительно того, как компьютеру объяснить, что именно необходимо послать, решается программным обеспечением для программатора.
В свободном доступе находится довольно много различных программ, которые нацелены на работу с программаторами, как самодельными, так и заводскими. Но если он изготавливается малоизвестным предприятием, был сделан по схеме другого любителя электроники или самим человеком, читающим эти строки, то программного обеспечения можно и не найти. В таком случае можно использовать перебор всех доступных утилит для программирования, и если ни одна не подошла (при уверенности, что программатор качественно работает), то необходимо или взять/сделать другой программатор PIC, или написать собственную программу, что является весьма высоким пилотажем.
Возможные проблемы
Увы, даже самая идеальная техника не лишена возможных проблем, которые нет-нет, да и возникнут. Для улучшенного понимания необходимо составить список. Часть из этих проблем можно исправить вручную при детальном осмотре программатора, часть — только проверить при наличии необходимой проверочной аппаратуры. В таком случае, если программатор PIC-микроконтроллеров заводской, то вряд ли починить представляется возможным. Хотя можно попробовать найти возможные причины сбоев:
- Некачественная пайка элементов программатора.
- Отсутствие драйверов для работы с устройством.
- Повреждения внутри программатора или проводов внутри компьютера/USB.
Эксперименты с микроконтроллерами
Итак, всё есть. Как же начать работу с техникой, как начать прошивать микроконтроллер программатором?
- Подключить внешнее питание, присоединить всю аппаратуру.
- Первоначально необходима среда, с помощью которой всё будет делаться.
- Создать необходимый проект, выбрать конфигурацию микроконтроллера.
- Подготовить файл, в котором находится весь необходимый код.
- Подключиться к программатору.
- Когда всё готово, можно уже прошивать микроконтроллер.
Выше была написана только общая схема, которая позволяет понять, как происходит процесс. Для отдельных сред разработки она может незначительно отличаться, а более детальную информацию о них можно найти в инструкции.
Хочется отдельно написать обращение к тем, кто только начинает пользоваться программаторами. Помните, что, какими бы элементарными ни казались некоторые шаги, всегда необходимо их придерживаться, чтобы техника нормально и адекватно могла работать и выполнять поставленные вами задачи. Успехов в электронике!
Довольно большую популярность в интернете набирают схемы с использованием микроконтроллеров. Микроконтроллер – это такая специальная микросхема, которая, по сути своей, является маленьким компьютером, со своими портами ввода-вывода, памятью. Благодаря микроконтроллером можно создавать весьма функциональные схемы с минимумом пассивных компонентов, например, электронные часы, плееры, различные светодиодные эффекты, устройства автоматизации.
Для того, чтобы микросхема начала исполнять какие-либо функции, нужно её прошить, т.е. загрузить в её память код прошивки. Сделать это можно с помощью специального устройства, называемого программатором. Программатор связывает компьютер, на котором находится файл прошивки с прошиваемым микроконтроллером. Стоит упомянуть, что существуют микроконтроллеры семейства AVR, например такие, как Atmega8, Attiny13, и серии pic, например PIC12F675, PIC16F676. Pic-серия принадлежит компании Microchip, а AVR компании Atmel, поэтому способы прошивки pic и AVR отличаются. В этой статье рассмотрим процесс создания программатора Extra-pic, с помощью которого можно прошить микроконтроллер серии pic.
К достоинствам именно этого программатора можно отнести простоту его схемы, надёжность работы, универсальность, ведь поддерживает он все распространённые микроконтроллеры. На компьютере поддерживается также самыми распространёнными программами для прошивки, такими как Ic-prog, WinPic800, PonyProg, PICPgm.
Схема программатора
Она содержит в себе две микросхемы, импортную MAX232 и отечественную КР1533ЛА3, которую можно заменить на КР155ЛА3. Два транзистора, КТ502, который можно заменить на КТ345, КТ3107 или любой другой маломощный PNP транзистор. КТ3102 также можно менять, например, на BC457, КТ315. Зелёный светодиод служит индикатором наличия питания, красный загорается во время процесса прошивки микроконтроллера. Диод 1N4007 служит для защиты схемы от подачи напряжения неправильной полярности.
Материалы
Список необходимых для сборки программатора деталей:
- Стабилизатор 78L05 – 2 шт.
- Стабилизатор 78L12 – 1 шт.
- Светодиод на 3 в. зелёный – 1 шт.
- Светодиод на 3 в. красный – 1 шт.
- Диод 1N4007 – 1 шт.
- Диод 1N4148 – 2 шт.
- Резистор 0,125 Вт 4,7 кОм – 2 шт.
- Резистор 0,125 Вт 1 кОм – 6 шт.
- Конденсатор 10 мкФ 16В – 4 шт.
- Конденсатор 220 мкФ 25В – 1 шт.
- Конденсатор 100 нФ – 3 шт.
- Транзистор КТ3102 – 1 шт.
- Транзистор КТ502 – 1 шт.
- Микросхема MAX232 – 1 шт.
- Микросхема КР1533ЛА3 – 1 шт.
- Разъём питания – 1 шт
- Разъём COM порта «мама» — 1 шт.
- Панелька DIP40 – 1 шт.
- Панелька DIP8 – 2 шт.
- Панелька DIP14 – 1 шт.
- Панелька DIP16 – 1 шт.
- Панелька DIP18 – 1 шт.
- Панелька DIP28 – 1 шт.
Изготовление печатной платы
Программатор собирается на печатной плате размерами 100х70 мм. Печатная плата выполняется методом ЛУТ, файл к статье прилагается. Отзеркаливать изображение перед печатью не нужно.Скачать плату:
(cкачиваний: 639)
Сборка программатора
Первым делом на печатную плату впаиваются перемычки, затем резисторы, диоды. В последнюю очередь нужно впаять панельки и разъёмы питания и СОМ порта.Т.к. на печатное плате много панелек под прошиваемые микроконтроллеры, а используются у них не все выводы, можно пойти на такую хитрость и вынуть неиспользуемые контакты из панелек. При этом меньше времени уйдёт на пайку и вставить микросхему в такую панельку будет уже куда проще.
Разъём СОМ порта (он называется DB-9) имеет два штырька, которые должны «втыкаться» в плату. Чтобы не сверлить под них лишние отверстия на плате, можно открутить два винтика под бокам разъёма, при этом штырьки отпадут, как и металлическая окантовка разъёма.
После впайки всех деталей плату нужно отмыть от флюса, прозвонить соседние контакты, нет ли замыканий. Убедиться в том, что в панельках нет микросхем (вынуть нужно в том числе и МАХ232, и КР1533ЛА3), подключить питание. Проверить, присутствует ли напряжение 5 вольт на выходах стабилизаторов. Если всё хорошо, можно устанавливать микросхемы МАХ232 и КР1533ЛА3, программатор готов к работе. Напряжение питания схемы 15-24 вольта.
Плата программатора содержит 4 панельки для микроконтроллеров и одну для прошивки микросхем памяти. Перед установкой на плату прошиваемого микроконтроллера нужно посмотреть, совпадает ли его распиновка с распиновкой на плате программатора. Программатор можно подключать к СОМ-порту компьютера напрямую, либо же через удлинительный кабель. Успешной сборки!
Однажды я решил собрать несложный 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 |
1. ПРОГРАММАТОР ДЛЯ PIC-КОНТРОЛЛЕРОВ
Я надеюсь, что моя статья поможет некоторым радиолюбителям перешагнуть порог от цифровой техники к микроконтроллерам. В Интернете и радиолюбительских журналах много программаторов: от самых простых до очень накрученных. Мой не очень сложный, но надежный.
Первый вариант программатора предназначен для программирования 18-ти и 28-ми «пиновых» PIC контроллеров. В основу программатора положена схема из журнала Радио № 10 за 2007 год. Но подбор конденсатора С7, эксперименты с разными вариантами ICprog, PonyProg, WinPic и скоростями чтения-записи не дали желаемого результата: успешное программирование получалось через раз. И это продолжалось до тех пор, пока не сделал питание +5В программируемой микросхемы отдельно, а не после 12-ти вольтного стабилизатора. Получилась такая схема.
Опасаясь сбоев, печатку рисовал так, чтобы плата вставлялась непосредственно в Com-порт, что не очень просто из-за всевозможных «шнурков» и малого расстояния до корпуса. Получилась печатка неправильной формы, но вставляется в СОМ-порт нормально и программирует без ошибок.
Со временем сделал шнур-удлинитель длинной около 1 метра. Теперь программатор лежит рядом с монитором и подключен к COM порту. Работает нормально: многократно программировались микроконтроллеры PIC16F84A, PIC16F628A, PIC16F873A.
Обратите внимание: микросхема Мах и светодиоды установлены со стороны печатных проводников. Панельки — ZIF-28, одна из них служит для 18-ти выводных PIC. На панельках нанесены метки первых ножек и числа «18» и «28». В корпусе вилки-адаптера установлен трансформатор 220 на 15 вольт, 4 ватта. Включать в розетку нужно после установки микроконтроллера в панельку. Транзисторы n-p-n маломощные высокочастотные (300Мгц) в корпусе to-92.
Разъём XP временно не устанавливал, а потом оказалось, что он особо и не нужен. Пришлось как-то программировать впаянный МК, так я провода прямо в ZIF вставил и зафиксировал. Перепрограммирование прошло успешно.
Я работаю c программами ICprog и WinPic-800.
В программе IC-prog 1.05D следующие настройки программатора:
- Программатор – JDM Programmer
- Порт –Com1
- Прямой доступ к портам.
- Инверсия: ввода, вывода и тактирования (поставить галочки).
В WinPic-800 –v.3.64f всё идентично, только нужно еще поставить “птицу” в использовании MCLR.
В интернете можно свободно и бесплатно скачать эти программы. Но для облегчения жизни, я попробую приложить все необходимое. Просто вспомнил: сколько всяких “ненужностей” я сам накачал с интернета, и сколько времени на разборки всего этого потратил.
- Печатная плата программатора
- Программа WinPic-800 ( )
- Программа IC-Prog ()
- Статья по IC-Prog.
2. ПРОГРАММАТОР-2 ДЛЯ PIC-КОНТРОЛЛЕРОВ
Со временем появилась необходимость в программировании 14-ти и 40-ка «пиновых» пиков. Решил сделать программатор для всего среднего семейства PIC-ов. Схема та же, только добавились две панельки. Всё это разместилось в корпусе от бывшего мультиметра.
В печатную плату 13 февраля 2014 года внесено исправление: от 5-го контакта разъёма RS232 дорожка идет к минусу питания (а на прежней — к 6-ой ножке микросхемы МАХ). Новая печатка в «programer2-2».
Можно сэкономить одну КРЕН-ку. Т.е. подключать от одного 5-ти вольтного стабилизатора всю схему. VR3 и С9 не устанавливать, а поставить перемычку (на схеме указана пунктиром). Но я пока КРЕНку не выпаивал. Многократно программировал PIC16F676, 628А, 84А и 873А. Но еще не пробовал 877.
Некоторые конденсаторы установлены со стороны печатных проводников. КРЕНки располагаются в горизонтальном положении. Чтобы не прокладывать проводники, я установил С7 – 2шт и R12 – 3шт.
Очень важно: корпус разъёма RS232 должен быть соединен с минусом питания.
Блок питания (15 В) и программы используются те же, что и в первом варианте.
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот | |
---|---|---|---|---|---|---|---|
Схема 1 | |||||||
DD1 | ИС RS-232 интерфейса | MAX232E | 1 | MAX232CPE | В блокнот | ||
VT1-VT4 | Биполярный транзистор | 2N3904 | 4 | TO-92 | В блокнот | ||
VDS1 | Диодный мост | DB157 | 1 | В блокнот | |||
VD1 | Выпрямительный диод | 1N4148 | 1 | В блокнот | |||
VR1, VR3 | Линейный регулятор | L7805AB | 1 | В блокнот | |||
VR2 | Линейный регулятор | KA78R12C | 1 | В блокнот | |||
С1 | 470 мкФ 35В | 1 | В блокнот | ||||
С2, С3, С5, С6 | Электролитический конденсатор | 10 мкФ 50В | 4 | В блокнот | |||
С4, С8 | Электролитический конденсатор | 470 мкФ 16В | 2 | В блокнот | |||
С7 | Электролитический конденсатор | 1 мкФ 25В | 1 | В блокнот | |||
С11 | Конденсатор | 0.1 мФ | 1 | В блокнот | |||
R1, R7 | Резистор | 10 кОм | 2 | В блокнот | |||
R2 | Резистор | 470 Ом | 1 | В блокнот | |||
R3, R5, R11 | Резистор | 4.7 кОм | 3 | В блокнот | |||
R4, R10 | Резистор | 2 кОм | 2 | В блокнот | |||
R6, R8, R9 | Резистор | 1 кОм | 3 | В блокнот | |||
R12 | Резистор | 240 Ом | 1 | В блокнот | |||
HL1 | Светодиод | 1 | Красный | В блокнот | |||
HL2 | Светодиод | 1 | Зеленый | В блокнот | |||
Схема 2 | |||||||
DD1 | ИС RS-232 интерфейса | MAX232E | 1 | MAX232CPE | В блокнот | ||
VT1-VT4 | Биполярный транзистор | 2N3904 | 4 | TO-92 | В блокнот | ||
VDS1 | Диодный мост | DB157 | 1 | В блокнот | |||
VD1 | Выпрямительный диод | 1N4148 | 1 | В блокнот | |||
VR1, VR3 | Линейный регулятор | L7805AB | 2 | В блокнот | |||
VR2 | Линейный регулятор | KA78R12C | 1 | В блокнот | |||
C1, C2, C4, C5 | Конденсатор | 10мкФ 50В | 4 | В блокнот | |||
C3 | Электролитический конденсатор | 470мкФ 35В | 1 | В блокнот | |||
C6, C9 | Электролитический конденсатор | 470мкФ 16В | 2 | В блокнот | |||
C7.1-C7.3 | Конденсатор | 0.1 мкФ | 3 |
Самодельный программатор для PIC-контроллеров. Самодельный программатор для PIC-контроллеров Программатор для pic12f629 от usb своими руками
Многие радиолюбители начинающие по началу своего дела боятся начинать работу с микроконтроллером.Связано это со многим,и основной часто страх как правильно программировать и чем программировать.В данной статье приведена схема простого программатора для микроконтроллера PIC .Смотрим,собираем,спрашиваем на официальном форуме и оставляем отзывы если у вас получилосьНачинать свою работу я советовал бы сначала с общих сведений о микроконтроллерах.
Программатор ExtraCheap
В интернете много различных схем программаторов .Но большинство из них очень сложные,и редко когда можно увидеть фотографии,что бы подтверждало его работоспособность.
Но нужный программатор многим запросам был найден.
Для передачи данных используется COM порт. Схема питается от 5 вольт которые можно взять от портов USB или PS/2.
Еще одна фотография этого устройства:
Для работы с программатором рекомендуется использовать программу IC-Prog
Настройка IC-Prog
Качаем с офф сайта последнюю версию программы IC-Prog Software, NT/2000 driver, Helpfile in Russian language и распаковываем их в одну и туже директорию.
Теперь необходимо установить драйвер программатора, для чего запускаем icprog.exe (если появятся сообщения об ошибках, то просто игнорируем их) и выбираем пункт «Options» в меню «Settings». Открываем вкладку «Programming» и устанавливаем галочку напротив пункта «Verify during programming». Далее в разделе «Misc» нужно активировать опцию «Enable NT/2000/XP Driver», сохранить настройки нажав на кнопку «ОК» и перезапустить программу.
Сменить язык интерфейса можно в разделе «Language». Для того, чтобы указать программе тип нашего программатора, нажимаем F3, в открывшемся окне выбираем «JDM Programmer» и указываем COM порт, к которому подключено устройство.
На этом предварительную настройку программы можно считать законченной.
Прошивка МК
IC-Prog позволяет работать с большим количеством МК, но нам нужен только PIC12F629 — выбираем его в выпадающем списке, расположенным в правом верхнем углу программы.
Для чтения прошивки из МК выполняем команду «Читать микросхему» (значок с зеленой стрелочкой или F8).
По окончанию процесса чтения, в окне программного кода отобразится прошивка МК в шестнадцатеричном виде. Следует обратить внимание на последнюю ячейку памяти по адресу 03F8 — там хранится значение константы OSCCAL , которое устанавливает производитель при калибровке чипа. У каждого МК оно свое, так что неплохо было бы его куда нибудь переписать (я, к примеру, царапаю его иголкой на обратной стороне PIC»а) для облегчения процесса восстановления (хотя это не обязательно), если во время прошивки эта константа была случайно перезаписана.
Для того, чтобы «залить» прошивку из *.hex файла в МК, ее необходимо открыть в программе («Файл»->«Открыть Файл…» или Ctrl+O) и выполнить команду «Программировать микросхему» (значок с желтой молнией или F5). Отвечаем «Yes» на первый вопрос.
А вот на следующий вопрос необходимо ответить «Нет», иначе перезапишется константа OSCCAL, о которой говорилось ранее.
После этого начнется процесс прошивки. По окончанию программа выведет информационное сообщение о его результатах.
На этом хотелось бы подвести топик к концу. Надеюсь данная информация поможет новичкам разобраться в основах программирования 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 можно по этой ссылке:
(скачиваний: 680)
При желании его можно изменить под свой тип PIC-контроллера. Для тех, кто решил оставить плату без изменений, выкладываю вид со стороны деталей для облегчения монтажа (рисунок №4).
Рисунок №4 — плата с монтажной стороны
Ещё немного колдовства с паяльником и мы имеем готовое устройство, способное прошить PIC-контроллер через COM-порт вашего компьютера. Ещё тёпленький и не отмытый от флюса результат моих стараний показан на фото №5.
Фото №5 — программатор в сборе
С этого момента, первый этап на пути к прошивке PIC-контроллера , подошёл к концу. Второй этап будет включать в себя подключение программатора к компьютеру и работу с программой IC-Prog .
К сожалению, не все современные компьютеры и ноутбуки способны работать с данным программатором ввиду банального отсутствия на них COM-портов , а те что установлены на ноутбуках не выдают необходимые для программирования 12В . Так что я решил обратится к своему первому ПК , который давным-давно пылился и ждал своего звёздного часа (и таки дождался).
Итак включаем компьютер и первым делом устанавливаем программу IC-Prog . Скачать её можно с сайта автора или по этой ссылке:
(скачиваний: 778)
Подключаем программатор к COM-порту и запускаем только что установленное приложение. Для корректной работы необходимо выполнить ряд манипуляций. Изначально необходимо выбрать тот тип контроллера, который собираемся шить. У меня это PIC12F675 . На скриншоте №6 поле для выбора контроллера выделено красным цветом.
Скриншот №6 — выбор типа микроконтроллера
Скриншот №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-файла ).
Когда я начал заниматься PIC-контроллерами, то, естественно, первым делом встал вопрос о выборе программатора. Поскольку фирменные программаторы дело не дешевое, да и вообще покупать программатор мне показалось не спортивным, было принято решение собрать его самостоятельно. Облазив просторы Интернета я скачал схему и собрал JDM-программатор. Он работал очень плохо: то заливал какую-то фигню, то не заливал первые несколько байт, то вообще ничего не заливал.
Существенным недостатком JDM-программатора является то, что он не может контролировать линию Vdd и, как следствие, — не может реализовать правильный алгоритм подачи напряжений при программировании. Если контроллер сконфигурирован таким образом: «Internal Oscillator», «MCLR Off», то при неправильной последовательности подачи напряжений он сначала запускается и начинает выполнять ранее зашитую в нем программу, а потом переходит в режим программирования (при этом указатель может указывать куда угодно, а не на начало памяти программ). В связи с этим: то, куда будет залита ваша программа, да и будет ли залита вообще — большой вопрос!
Намучившись с JDM-программатором, на одном из буржуйских сайтов я нашел схему программатора, в котором были исправлены эти недостатки. Этим программатором я пользуюсь по сей день и предлагаю его схему вашему вниманию:
На диодах D1…D4 и стабилитроне D6 выполнен простейший преобразователь уровней RS232->TTL. Когда на линиях DATA, CLOCK напряжение меньше 0В, то они через диоды D1, D2 подтягиваются к земле, а когда напряжение на этих линиях больше 5В, то они через диоды D3, D4 подтягиваются к питанию +5В, которое задается стабилитроном D6.
Питается этот девайс прямо от COM-порта. Стабилитроны и диоды в этой схеме вполне можно заменить отечественными: Д814Д, КС147А и т.д.
Каким образом реализуется правильный алгоритм подачи напряжений и откуда вообще берутся 13 Вольт напряжения программирования? Всё как всегда очень просто.
При инициализации порта на выходе TxD висит -10В. При этом конденсатор С1 заряжается через стабилитрон D7 (который в данном случае оказывается включён в прямом
направлении и работает в качестве диода). Т.е. напряжение на плюсовой ноге С1 относительно GND равно нулю, но относительно TxD=+10В (или сколько там у вас напряжение на выходе COM-порта).
Теперь представим, что происходит при изменении напряжения на выходе TxD с -10В до +10В. Одновременно с ростом напряжения на выводе TxD, начнёт расти и напряжение на плюсовой ноге конденсатора С1. Заряд не может слиться на землю через D7, т.к. теперь D7 включен обратно, единственный путь — утечка через PIC, но ток там мизерный. Итак, напряжение на плюсовой ноге С1 (а, следовательно и на выводе MCLR) начинает расти. В момент, когда на TxD ноль относительно земли, на конденсаторе С1 (на его плюсовой ноге, а следовательно и на MCLR) относительно земли как раз +10В. Когда на TxD +3В, — на С1 уже 3+10=13В. Вот и всё, напряжение Vpp уже подано, а на линии VDD ещё только +3В.
При дальнейшем росте напряжения на TxD, — напряжение на С1 не растёт, так как начинает работать стабилитрон D7. При росте напряжения на TxD выше +5В начинает работать стабилитрон D6.
Чтобы ограничить ток разряда конденсатора C1 через стабилитрон D7, в схему включен резистор R6, соответственно, напряжение на C1 не точно равно напряжению стабилизации, а несколько выше: U C1 =Uст+I РАЗР *R6. Для подстройки напряжения программирования служит сопротивление R3. Можно поставить переменное 10КОм или подобрать постоянное, так, чтобы напряжение программирования было примерно 13 В (в устройстве, представленном на рисунке ниже, R3=1,2 кОм).
Я успешно программирую этим программатором контроллеры PIC12F629 и PIC16F628A , однако автор утверждал, что этим программатором (в представленном мной варианте) можно программировать PIC12F508 , PIC12F509 , PIC12F629 , PIC12F635 , PIC12F675 , PIC12F683 , PIC16F627A , PIC16F628A , PIC16F648A . Кроме этих, на сайте автора feng3.cool.ne.jp есть модификации программатора для других PIC-контроллеров.
Готовые девайсы :
Вариант программатора от Mixer .
Программатор для всех pic микроконтроллеров. Простейший программатор JDM для PIC на пассивных компонентах. Изготовление печатной платы
Микроконтроллеры 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 — это аппаратура, особенность которой заключается в её универсальности и возможности изменять работу благодаря программе, не внося изменений в аппаратную составляющую. Благодаря этому свойству такие приборы легко работают с МК, которые были выпущены в продажу уже после выхода программатора. Учитывая, что значительным образом архитектура в ближайшее время меняться не будет, они будут пригодны к использованию ещё длительное время. К дополнительным приятным свойствам заводских программаторов стоит отнести:
- Значительные аппаратные ограничения по количеству программируемых микросхем, что позволит программировать не одну, а сразу несколько единиц электроники.
- Возможность программирования микроконтроллеров и схем, в основе которых лежат различные технологии (NVRAM, NAND Flash и другие).
- Относительно небольшое время программирования. В зависимости от модели программатора и сложности программируемого кода может понадобиться от 20 до 400 секунд.
Особенности практического использования
Отдельно стоит затронуть тему практического использования. Как правило, программаторы подключаются к портам USB, но есть и такие вариации, что работают с помощью тех же проводов, что и винчестер. И для их использования придется снимать крышку компьютера, перебирать провода, да и сам процесс подключения не очень-то и удобный. Но второй тип является более универсальным и мощным, благодаря ему скорость прошивки больше, нежели при подключении через USB. Использование второго варианта не всегда представляется таким удобным и комфортным решением, как с USB, ведь до его использования необходимо проделать ряд операций: достать корпус, открыть его, найти необходимый провод. Про возможные проблемы от перегревания или скачков напряжения при работе с заводскими моделями можно не волноваться, так как у них, как правило, есть специальная защита.
Работа с микроконтроллерами
Что же необходимо для работы всех программаторов с микроконтроллерами? Дело в том, что, хотя сами программаторы и являются самостоятельными схемами, они передают сигналы компьютера в определённой последовательности. И задача относительно того, как компьютеру объяснить, что именно необходимо послать, решается программным обеспечением для программатора.
В свободном доступе находится довольно много различных программ, которые нацелены на работу с программаторами, как самодельными, так и заводскими. Но если он изготавливается малоизвестным предприятием, был сделан по схеме другого любителя электроники или самим человеком, читающим эти строки, то программного обеспечения можно и не найти. В таком случае можно использовать перебор всех доступных утилит для программирования, и если ни одна не подошла (при уверенности, что программатор качественно работает), то необходимо или взять/сделать другой программатор PIC, или написать собственную программу, что является весьма высоким пилотажем.
Возможные проблемы
Увы, даже самая идеальная техника не лишена возможных проблем, которые нет-нет, да и возникнут. Для улучшенного понимания необходимо составить список. Часть из этих проблем можно исправить вручную при детальном осмотре программатора, часть — только проверить при наличии необходимой проверочной аппаратуры. В таком случае, если программатор PIC-микроконтроллеров заводской, то вряд ли починить представляется возможным. Хотя можно попробовать найти возможные причины сбоев:
- Некачественная пайка элементов программатора.
- Отсутствие драйверов для работы с устройством.
- Повреждения внутри программатора или проводов внутри компьютера/USB.
Эксперименты с микроконтроллерами
Итак, всё есть. Как же начать работу с техникой, как начать прошивать микроконтроллер программатором?
- Подключить внешнее питание, присоединить всю аппаратуру.
- Первоначально необходима среда, с помощью которой всё будет делаться.
- Создать необходимый проект, выбрать конфигурацию микроконтроллера.
- Подготовить файл, в котором находится весь необходимый код.
- Подключиться к программатору.
- Когда всё готово, можно уже прошивать микроконтроллер.
Выше была написана только общая схема, которая позволяет понять, как происходит процесс. Для отдельных сред разработки она может незначительно отличаться, а более детальную информацию о них можно найти в инструкции.
Хочется отдельно написать обращение к тем, кто только начинает пользоваться программаторами. Помните, что, какими бы элементарными ни казались некоторые шаги, всегда необходимо их придерживаться, чтобы техника нормально и адекватно могла работать и выполнять поставленные вами задачи. Успехов в электронике!
Answer
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry»s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five http://jquery2dotnet.com/ centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Программатор PIC контроллеров своими руками
Данное устройство — так называемый JDM программатор, представляет собой наиболее простую конструкцию для прошивки контроллеров семейства PIC. Неоспоримые преимущества — простота, компактность, питание без внешнего источника данной классической схемы программатора сделали её очень популярной среди радиолюбителей, тем более что схеме уже лет 5, и за это время она зарекомендовала себя как простой и надёжный инструмент работы с микроконтроллерами.
Принципиальная схема программатора для pic контроллеров:
Питание на саму схему не требуется, ведь для этого служит COM порт компьютера, через который и осуществляется управление прошивкой микроконтроллера. Для низковольтного режима программирования вполне достаточно 5в, но могут быть не доступны все опции для изменения (фьюзы). Разъем подключения COM-9 порта смонтировал прямо на печатную плату программатора для PIC — получилось очень удобно.
Можно воткнуть плату без лишних шнуров прямо в порт. Программатор опробован на различных компьютерах и при программировании МК серий 12F,16F и 18F, показал высокое качество прошивки. Предложенная схема позволяет программировать микроконтроллеры PIC12F509, PIC16F84A, PIC16F628.
Для программирования используется WinPic800 — одна из лучших программ для программирования PIC контроллеров. Программа позволяет выполнять операции для микроконтроллеров семейства PIC: чтения, записи, стирания, проверки FLASH и EEPROM памяти и установку битов конфигураций.
Различные типы микроконтроллеров PIC12C508, PIC12C509, PIC16C84 и микросхем памяти с интерфейсом I2C программируют, вставляя в разъём как показано на рисунке выше.
Какие первые шаги должен сделать радиолюбитель, решивший собрать схему на микроконтроллере? Естественно, необходима управляющая программа — «прошивка», а также программатор.
И если с первым пунктом нет проблем — готовую «прошивку» обычно выкладывают авторы схем, то вот с программатором дела обстоят сложнее.
Цена готовых 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 Ом | |
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 .
Залить «прошивку» в МК 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, я рассказал в отдельной статье. Следующий шаг .
Необходимые файлы:
Довольно большую популярность в интернете набирают схемы с использованием микроконтроллеров. Микроконтроллер – это такая специальная микросхема, которая, по сути своей, является маленьким компьютером, со своими портами ввода-вывода, памятью. Благодаря микроконтроллером можно создавать весьма функциональные схемы с минимумом пассивных компонентов, например, электронные часы, плееры, различные светодиодные эффекты, устройства автоматизации.
Для того, чтобы микросхема начала исполнять какие-либо функции, нужно её прошить, т.е. загрузить в её память код прошивки. Сделать это можно с помощью специального устройства, называемого программатором. Программатор связывает компьютер, на котором находится файл прошивки с прошиваемым микроконтроллером. Стоит упомянуть, что существуют микроконтроллеры семейства AVR, например такие, как Atmega8, Attiny13, и серии pic, например PIC12F675, PIC16F676. Pic-серия принадлежит компании Microchip, а AVR компании Atmel, поэтому способы прошивки pic и AVR отличаются. В этой статье рассмотрим процесс создания программатора Extra-pic, с помощью которого можно прошить микроконтроллер серии pic.
К достоинствам именно этого программатора можно отнести простоту его схемы, надёжность работы, универсальность, ведь поддерживает он все распространённые микроконтроллеры. На компьютере поддерживается также самыми распространёнными программами для прошивки, такими как Ic-prog, WinPic800, PonyProg, PICPgm.
Схема программатора
Она содержит в себе две микросхемы, импортную MAX232 и отечественную КР1533ЛА3, которую можно заменить на КР155ЛА3. Два транзистора, КТ502, который можно заменить на КТ345, КТ3107 или любой другой маломощный PNP транзистор. КТ3102 также можно менять, например, на BC457, КТ315. Зелёный светодиод служит индикатором наличия питания, красный загорается во время процесса прошивки микроконтроллера. Диод 1N4007 служит для защиты схемы от подачи напряжения неправильной полярности.
Материалы
Список необходимых для сборки программатора деталей:
- Стабилизатор 78L05 – 2 шт.
- Стабилизатор 78L12 – 1 шт.
- Светодиод на 3 в. зелёный – 1 шт.
- Светодиод на 3 в. красный – 1 шт.
- Диод 1N4007 – 1 шт.
- Диод 1N4148 – 2 шт.
- Резистор 0,125 Вт 4,7 кОм – 2 шт.
- Резистор 0,125 Вт 1 кОм – 6 шт.
- Конденсатор 10 мкФ 16В – 4 шт.
- Конденсатор 220 мкФ 25В – 1 шт.
- Конденсатор 100 нФ – 3 шт.
- Транзистор КТ3102 – 1 шт.
- Транзистор КТ502 – 1 шт.
- Микросхема MAX232 – 1 шт.
- Микросхема КР1533ЛА3 – 1 шт.
- Разъём питания – 1 шт
- Разъём COM порта «мама» — 1 шт.
- Панелька DIP40 – 1 шт.
- Панелька DIP8 – 2 шт.
- Панелька DIP14 – 1 шт.
- Панелька DIP16 – 1 шт.
- Панелька DIP18 – 1 шт.
- Панелька DIP28 – 1 шт.
Изготовление печатной платы
Программатор собирается на печатной плате размерами 100х70 мм. Печатная плата выполняется методом ЛУТ, файл к статье прилагается. Отзеркаливать изображение перед печатью не нужно.Скачать плату:
(cкачиваний: 639)
Сборка программатора
Первым делом на печатную плату впаиваются перемычки, затем резисторы, диоды. В последнюю очередь нужно впаять панельки и разъёмы питания и СОМ порта.Т.к. на печатное плате много панелек под прошиваемые микроконтроллеры, а используются у них не все выводы, можно пойти на такую хитрость и вынуть неиспользуемые контакты из панелек. При этом меньше времени уйдёт на пайку и вставить микросхему в такую панельку будет уже куда проще.
Разъём СОМ порта (он называется DB-9) имеет два штырька, которые должны «втыкаться» в плату. Чтобы не сверлить под них лишние отверстия на плате, можно открутить два винтика под бокам разъёма, при этом штырьки отпадут, как и металлическая окантовка разъёма.
После впайки всех деталей плату нужно отмыть от флюса, прозвонить соседние контакты, нет ли замыканий. Убедиться в том, что в панельках нет микросхем (вынуть нужно в том числе и МАХ232, и КР1533ЛА3), подключить питание. Проверить, присутствует ли напряжение 5 вольт на выходах стабилизаторов. Если всё хорошо, можно устанавливать микросхемы МАХ232 и КР1533ЛА3, программатор готов к работе. Напряжение питания схемы 15-24 вольта.
Плата программатора содержит 4 панельки для микроконтроллеров и одну для прошивки микросхем памяти. Перед установкой на плату прошиваемого микроконтроллера нужно посмотреть, совпадает ли его распиновка с распиновкой на плате программатора. Программатор можно подключать к СОМ-порту компьютера напрямую, либо же через удлинительный кабель. Успешной сборки!
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 сек. Глюков не замечено. Часть зашитых МК протестировано в железе — работает.
Бесплатные программаторы, которые можно найти в интернете безнадежно отстают от разработчиков чипов и не предлагают способов быстрой модернизации для программирования новых микроконтроллеров. В данном случае была сделана попытка разработать программную оболочку в рамках которой легко было бы наращивать возможности по программированию различных чипов хотя бы для предопределенных семейств. Программатор характеризуется тем, что:
Рис.1. Окно програмной оболочки Программирование PIC-овРис.1. Схема программатора PIC-ов Особой оригинальностью не отличается поскольку в основном повторяет схему из известного программатора PonyProg. Следует уделять внимание уровню сигнала на выводе CLOCK чипа, он не должен быть меньше 4 В при высоком уровне, что может случиться при неправильном подборе стабилитрона Программирование AVR-овРис.2. Схема программирования AVR-ов Здесь показан способ как организовать программирование AT90S8535 прямо на плате с помощью RS232 и небольшого аппаратного дополнения. Микросхема DD1 служит для изоляции сигналов программирования от чипа в режиме работы. Разводка микросхемы показана в колодке c расположением контактов типа PGA44. Испытания показали, что большинство микросхем AT90S8535 и AT90S8515 можно программировать при частоте кварца 11,0592 МГц. Структура конфигурационных файлов Конфигурационные файлы имеют расширение chp и должны находиться в директории программы. Программа при запуске производит поиск в своей директории всех конфигурационных файлов и их объединение во внутреннем буфере. Идея таких файлов взята из программатора ComPic и немного изменена. Каждому чипу соответствует своя секция. Возможность наследования свойств не предусмотренна, так как это ухудшает прозрачность описания. Пример структуры конфигурационного файла для PIC16F84
|
Zero External Parts — НЕМНОГО ТАЙНЫ
Пару месяцев назад меня спросили, могу ли я подготовить своего рода семинар по одной из моих любимых тем: программирование ASM для микроконтроллеров PIC, что я, конечно, сразу же принял. Теперь я хотел включить в этот семинар пару практических лабораторных занятий, и из-за этого мне нужен был способ для всех присутствующих на самом деле работать с настоящими PIC, что, надеюсь, не связано с покупкой оборудования для PIC-программирования оптом. для того, что, вероятно, будет разовым мероприятием.
Квест
Существуют простые схемы программирования своими руками, и на самом деле моим первым программистом для PIC был самодельный «усовершенствованный» NOPPP (программатор PIC без деталей) ; Полнофункциональное устройство, для которого требуется всего пара компонентов (не совсем «без деталей», но довольно близко к этому). Проблема в том, что он использовал параллельный порт ПК (R.I.P) и требовал внешнего источника питания. И это касается практически любой «классической» схемы программирования DIY PIC; все они либо требуют дополнительного оборудования, либо больше не могут использоваться на существующих компьютерах.
Основным препятствием здесь является то, что устройства PIC обычно программируются с использованием HVP (программирование высокого напряжения), что предполагает использование напряжения, намного превышающего их обычный рабочий уровень. Это одна из причин, по которым им требуется дополнительное оборудование. В старых разработках это более высокое напряжение обычно получалось от внешнего источника питания или с помощью специальных хаков, которые работали только с портами, которые больше не доступны на ПК (* кашляет * RS232 * кашляет *). В современных конструкциях используются схемы повышения напряжения или по-прежнему используется внешнее питание.
Но я знаю, что некоторые PIC поддерживают LVP (программирование низкого напряжения), что означает, что они могут быть запрограммированы с использованием только ~ 5 В; значительно упрощая необходимое оборудование. Имея это в виду, я подумал, что должно быть легко сделать дешевый и «не состоящий из деталей» (в том смысле, что не требуется никаких внешних компонентов или сборки) программатор PIC LVP , используя что-то вроде Arduino .
Использование Arduino также имеет много преимуществ; Совместимые с платы (особенно варианты «nano» и «Pro mini») не только широко доступны, но также довольно дешевы и более чем способны обрабатывать все квитирование и логику 5 В, необходимую для программирования PIC, без каких-либо дополнительных компонентов. .Они также довольно популярны, так что есть вероятность, что у любого человека, заинтересованного в этом проекте, он уже есть. Они также подключаются к компьютеру через USB (ну, «коммуникационный» порт, управляемый микросхемой USB-Serial, но все еще в счет), поэтому он должен работать для всех, у кого есть компьютер, произведенный после 1996 года.
Что еще более важно, несколько Arduinos все еще будут мне полезны после окончания семинара, и получить дюжину из них не будет проблемой.
Отлично, правда?
Что ж, дело в том, что… если вы начнете искать «программиста Arduino PIC» в Интернете, вас встретит ряд заброшенных проектов, решений, созданных для семейства устройств PIC, которые НЕ совместимы с тем, которое я хочу использовать, альтернативы, требующие ненужных дополнительных схем (например, специальный щиток Arduino или внешние адаптеры питания … потому что HVP … да), или проекты, которые немного связаны с платформами, настолько дорогими, что даже не имеет смысла рассматривать их в качестве альтернативы для что мне нужно (да, я говорю о ТО одном проекте, который использует RaspberryPi).
Поскольку ни одно из существующих решений не сработало для того, что я хотел, я решил развернуть собственное, сосредоточившись (по крайней мере, на начальном этапе) на PIC, который я хотел использовать для семинара; Простой, но универсальный PIC 16F628A .
Кроме того, я подумал, что это интересная задача, над которой мне хотелось бы работать. В прошлом я делал много инструментов для микроконтроллеров, но это было мое первое погружение в аппаратно-зависимую сторону процедуры программирования.
Результат
Перенесемся вперед через пару выходных, несколько месяцев работая над этим (извините, помешали другие проекты), мне удалось сделать прошивку для плат Arduino, которая может программировать несколько LVP-совместимых PIC, используя только Плата Arduino и утилита CLI (интерфейс командной строки), которая взаимодействует с ней.Интерфейс командной строки был написан на Java для обеспечения переносимости, поэтому он должен работать в Windows, Linux, OSX и т. Д.
Программирование PIC 16F628A только с помощью Arduino nano и ПК.В настоящее время он может программировать следующие устройства:
Я думаю, позже можно будет добавить больше устройств PIC, но я думаю, что это будет непростая задача; разные семейства микроконтроллеров поддерживают разные команды и алгоритмы программирования, и я реализовал только те, которые поддерживаются указанными выше микроконтроллерами.
Вы можете найти как прошивку, так и интерфейс командной строки в моем репозитории GitHub.
Использование
Всю информацию для запуска этого проекта можно найти в репозитории GitHub. И вы всегда можете запустить утилиту командной строки без аргументов, чтобы получить список доступных параметров, но чтобы дополнительно проиллюстрировать, насколько действительно «без внешних частей» этот программатор, вот как вы должны подключить Arduino Uno с ZEPPP к 16F628A:
16F628A, подключенный к Arduino с помощью ZEPPP. Я бы сказал, что это один из «самых простых» программаторов для PIC.
Клон PicKit2, разработанный и изготовленный в домашних условиях
PicKit2 — это программатор, разработанный Microchip для программирования своих микроконтроллеров pic.PicKit2 поддерживает множество серий микроконтроллеров с 8-битными изображениями. PicKit2 поддерживает почти все микроконтроллеры серий Pic-10/12/16/18/24 и dspic-30/33 flash. Pickit 2 — это программатор ICSP (внутрисхемный последовательный программатор). В интерфейсе icsp микроконтроллер можно программировать во время его работы в схеме. Программист icsp использует 5 контактов для программирования целевого микроконтроллера. Pickit 2 использует встроенный микроконтроллер pic18f2550, который программирует целевой микроконтроллер. Pic18f2550 взаимодействует с компьютерным программным обеспечением через интерфейс USB и взаимодействует с целевым микроконтроллером через интерфейс icsp.Благодаря микрочипу была выпущена программа pic18f2550. Теперь можно перевернуть схему Pickit 2, и можно сделать программатор Pickit 2 дома как самодельный проект. Для программированияPickit 2 требуются следующие выводы микроконтроллера pic.
- PGC (тактовый вход микроконтроллера)
- PGD (ввод данных в микроконтроллер)
- Vpp (напряжение в режиме программирования)
- Vdd (на вывод питания подается 5 В)
- Gnd (заземление)
Чтобы запрограммировать микроконтроллер pic, нужно определить верхние 5 контактов на его микроконтроллере pic, а затем выполнить соединение с заголовком pickit 2 icsp.См. Таблицу микроконтроллера pic, чтобы определить эти контакты, а затем подключить сигналы от PicKit2 к этим контактам. Обычно все микроконтроллеры pic имеют контакты icsp, расположенные на номерах контактов, указанных ниже.
Источник из Википедии
Я разработал копию клона программиста PicKit 2 дома как самодельный проект. Все компоненты, необходимые для сборки набора, можно легко найти в магазине электроники. Купил все комплектующие в интернет-магазине электроники. Схема, по которой я построил комплект, получена из
http: // tiktakx.wordpress.com/2011/04/14/yet-another-simplified-pickit2-clone/
Я внес некоторые изменения в схему.
- Катушка индуктивности, которую я использовал в своем Pickit2, составляет 680 мкГн. Кнопка
- с контактом № 26 включена для перезагрузки загрузчика в случае его повреждения.
Если вы используете схему, представленную на tiktakx.wordpress.com, вы не сможете загрузить загрузчик, если он поврежден. Затем вам нужно вручную удалить контроллер Pic18F2550-ICSP из комплекта и перепрограммировать его с другого Pickit2.Принципиальная схема клона приведена ниже.
Схема PicKit2
Мой последний комплект ниже. Я сделал Pickit2 и программу-исполнитель на одной плате. Я программирую микроконтроллер Pic на одной стороне, затем снимаю контроллер, кладу его на другую сторону разъема zif, включаю питание, и моя программа начинает выполняться.Примечание. Мой PicKit2 выбирается моим ПК в первый раз, когда я впервые подключил его к ПК. Это означает, что в схеме и компонентах нет проблем. Я не получал никаких сообщений об ошибках в аппаратном или программном обеспечении PicKit2.Значит, мне повезло: D
PicKit2 Clone, сделанный дома
Я разделил свою доску на две части.- Исполнитель программы
- Схема PicKit2
Я сделал печатную плату для исполнительного устройства схем и PicKit2. Затем я распечатал их на листе печатной платы один за другим вручную. Сначала распечатал схему на листе наклеек с помощью лазерного принтера, затем наклеил схему на лист печатной платы с помощью утюга.
Я спроектировал печатную плату как исполнительного устройства программ, так и схемы PicKit2, используя онлайн-редактор плат EasyEda.Easyeda — это онлайн-программа для редактирования печатных плат, которая проста в использовании и проектировании печатных плат с помощью easy eda. В Easyeda доступно множество посадочных мест для компонентов, определяемых по отдельности, вы также можете импортировать и использовать посадочные места многих других программ-редакторов плат в easy eda.
Загрузите файлы печатной платы программатора pickit 2 по ссылкам ниже
Плата исполнителя программ | Печатная плата PicKit2 |
Как только мое оборудование будет завершено, пришло время загрузить загрузчик в микроконтроллер pic18f2550.Я запрограммировал PIC18F2550-ICSP с помощью другого программатора pic. Вам необходимо изначально запрограммировать контроллер PIC18F2550-ICSP. Файл программирования доступен ниже, а также на веб-сайте Microchip.
Файл программирования PicKit2 pic18f2550 — Загрузчик
Этот файл необходимо загрузить в 18F2550 / ICSP. Когда вы подключаете Pickit2 к компьютеру, этот файл сообщает компьютеру, что это USB-устройство. Как только ваш компьютер выберет Pickit2, пора загрузить в него загрузчик.Об этом сообщает мигающий светодиод на комплекте. Если красный светодиод мигает, это означает, что ваш pickit2 хочет, чтобы загрузчик был загружен в него. Вы можете загрузить загрузчик из программного обеспечения PicKit2 или из среды разработки MP-Lab. Загрузил из MP-Lab IDE.
Просто подключите PicKit2 к компьютеру. Откройте MPLAB-IDE. Перейдите в Programmer> Select Programmer> PicKit2. Как только вы выберете PicKit2, в окне MPLAB появится статус, который говорит: Pickit2 Found , и вы увидите, что MPLAB загружает загрузчик в PicKit2.
pickit2bootloader.hex | |
Размер файла: | 11 кб |
Тип файла: | шестигранник |
Загрузить файл
MPLAB IDE Загрузка загрузчика PicKit2 в комплекте.
Теперь PicKit2 готов, и пора его протестировать. Я протестировал его, и на первом тесте он дает мне 100% результат. Подключите программатор Pickit 2 к компьютеру и посмотрите, какое программное обеспечение показывает состояние оборудования.
PicKit2 обнаружил и подключил сообщение на программаторе PICKit2
Пора импортировать шестнадцатеричный файл и запрограммировать целевой микроконтроллер. Я собираюсь запрограммировать микроконтроллер pic16f877 на 8-битной микросхеме с программатором pickit 2
Hex-файл успешно загружен Hex-файл успешно загружен в программатор pickit2 | Программа успешно завершена Сообщение об успешном выполнении программы Pickit2 отображается на программаторе PicKi2 |
Пожалуйста, поделитесь с нами своими отзывами о проекте.Если возникнут какие-либо вопросы, напишите их ниже в разделе комментариев.
БлогПурана: [DIY] + [PIC Programmer] + [IC-Prog]
ВведениеНа рынке есть много типов программаторов PIC, большинство из них используют параллельный порт, последовательный порт (COM-порт) или USB, но они очень дороги, и любитель вроде меня не может купить такой дорогой программатор, поэтому я решил сделать дешевый программатор ПОС. Как любитель электроники, я верю в DIY (сделай сам), поэтому я рад сообщить вам, что мой программатор можно легко собрать.Программатор, который я построил, не требует внешнего источника питания, он получает все необходимые сигналы и питание от последовательного порта RS232, а поскольку деталей всего несколько, он очень дешев и прост в изготовлении. Этот программатор PIC называется «программистом JDM» и основан на ICSP (внутрисхемное последовательное программирование). Это название происходит от имени J ens D yekjar M adsen, который разработал это первым. Его домашняя страница здесь.
Advantage
- Этот простой программатор PIC позволит вам безболезненно переносить шестнадцатеричные программы на большинство микроконтроллеров Microchip PIC без ущерба для бюджета и времени.
- Этот программатор PIC очень дешев, так как используется всего несколько общих частей.
- Это внутрисхемный последовательный программатор, поэтому его можно использовать для удобного программирования микроконтроллеров PIC, не удаляя их из целевой схемы.
- Его можно построить за очень короткое время.
- Этот программатор PIC совместим с популярным программным обеспечением IC-Prog, которое показывает строку состояния процесса программирования.
Перед сборкой этого «программатора PIC» я рекомендую проверить, достаточно ли выходного напряжения на последовательном порту вашего персонального компьютера.Если TXD, DTR и RTS не имеют более + 7,5 В (или -7,5 В), этот программатор не будет работать должным образом, особенно с новейшими портативными компьютерами, в которых используются маломощные интерфейсные ИС RS232. См. Следующее изображение, чтобы найти контакты TXD, DTR и RTS.
На стороне PIC есть две возможности для программирования микроконтроллера PIC, разъем и внутрисхемный. Программатор сокетов обеспечивает способ подключения к программисту только голого PIC, а внутрисхемные программисты, однако, подключаются к PIC, когда он подключен к целевой цепи.Таким образом, ICSP позволяет программировать PIC в цепи, избегая необходимости постоянно вводить и выводить его из программатора и последующего изгиба контактов.
Режим программирования ICSP
В режиме программирования ICSP PIC программируются с помощью 5 сигналов. Данные передаются по двухпроводной синхронной последовательной схеме, при этом часы всегда контролируются программистом. Сигналы ICSP:
GND : | Отрицательное напряжение на входе PIC и опорное напряжение нулевого напряжения для остальных сигналов.Напряжения других сигналов неявно указаны относительно GND. |
Vdd : | Это положительная мощность на входе PIC. Некоторые программисты требуют, чтобы это обеспечивалось схемой (схема должна быть хотя бы частично включена), некоторые программисты ожидают, что эта линия будет управляться самостоятельно и потребовать, чтобы схема была отключена, в то время как другие могут быть настроены в любом случае (например, Microchip ICD2) . Программисты Embed Inc ожидают, что сами будут управлять линией Vdd, и потребуют, чтобы целевая цепь была отключена во время программирования. |
Vpp : | Режим программирования напряжения. Он должен быть подключен к выводу MCLR или выводу Vpp дополнительного порта ICSP, доступного на некоторых PIC с большим количеством контактов. Чтобы перевести PIC в режим программирования, эта строка должна находиться в заданном диапазоне, который варьируется от PIC до PIC. Для 5-вольтовых PIC это всегда немного выше Vdd и может достигать 13,5 В. PIC только с напряжением 3,3 В, такие как серии 18FJ, 24H и 33F, используют специальную подпись для входа в режим программирования, а Vpp — это цифровой сигнал, который находится либо на земле, либо на Vdd.Нет ни одного напряжения Vpp, которое находится в допустимом диапазоне Vpp для всех PIC. Фактически, минимально необходимый уровень Vpp для некоторых PIC может повредить другие PIC. |
PGC : | Линия синхронизации последовательного интерфейса данных. Эта линия переключается с GND на Vdd и всегда управляется программистом. Данные передаются на заднем фронте. |
PGD : | Последовательная линия данных. Последовательный интерфейс является двунаправленным, поэтому эта линия может управляться либо программистом, либо PIC в зависимости от текущей операции.В любом случае эта линия переключается с GND на Vdd. Бит передается на заднем фронте PGC. |
Здесь вы можете найти схему, компоновку платы и компоновку компонентов моего «программатора JDM», основанного на ICSP.
Схема
Схема расположения платы
Схема компонентов
Загрузить
Вы можете найти файлы схем eagle и платы на следующем изображении (см. Еще один мой интересный пост, чтобы увидеть скрытые файлы).
2 скрытых файла |
Проверьте еще один мой пост в продолжение этого поста.
Микроконтроллер
— Как создать собственный программатор PIC?
Да, то, что сказал Воутер. При разработке программатора PIC необходимо учитывать три части: аппаратное обеспечение, прошивку и программное обеспечение. В каждом из них есть несколько вариантов, и сложность может варьироваться между ними различными способами, особенно между прошивкой и программным обеспечением.
Для простого аппаратного обеспечения, которое адресовано только подмножеству PIC, см. Мой программатор LProg. Это было оптимизировано для низкой стоимости при стандартном использовании общего интерфейса ПК. Он работает только с теми PIC, которым не требуется высокое напряжение на MCLR для входа в режим программирования, и все его сигналы имеют фиксированные значения 0–3,3 В. Эти два ограничения позволили упростить аппаратное обеспечение и, следовательно, снизить стоимость. Схема доступна внизу этой страницы.
На другом конце находятся программаторы USBProg и USBProg2.Опять же, схемы доступны внизу этих страниц. Они имеют полностью регулируемое Vpp до 15 В и цифровые сигналы до 6 В. Они также имеют большую защиту. Например, цифровые выходы могут быть замкнуты на любое напряжение 0-6 В на неопределенное время без ущерба для программатора. Конечно, вся эта сложность связана с более высокими затратами на детали и производство.
Выбор программного обеспечения и микропрограмм в основном зависит от сложности микропрограмм и их скорости. Теоретически вы можете создать программиста, у которого есть возможности только для программного обеспечения хоста, чтобы устанавливать линии на определенные уровни.Протокол программирования PIC является синхронным, поэтому все тактирование может выполняться программно. Это упростило бы написание прошивки, но результатом было бы очень медленное программирование. Реализация деталей всех различных алгоритмов программирования, о которых Microchip мечтала на протяжении многих лет, потребовала бы больше программной памяти, чем доступно в большинстве разумных управляющих PIC. Инженеры отдела запутывания программирования Microchip были очень заняты. Как сказал Воутер, могут быть различия в алгоритмах программирования между PIC, которые в остальном кажутся очень похожими.Вы должны внимательно прочитать спецификацию программирования для каждого PIC, который вы собираетесь поддерживать. Нет ни одного алгоритма программирования, даже близко.
Протокол хоста для моих программистов связан со всеми упомянутыми выше страницами. Этот протокол был разработан не только для решения непосредственной задачи, которая была у меня под рукой, но и для того, чтобы дать программистам некоторую свободу действий. В результате я усложнил программное обеспечение хоста, чтобы можно было беспрепятственно поддерживать множество программистов с различными собственными возможностями.Эта же хост-программа управляет LProg, USBProg и некоторыми более старыми программаторами, которые мы тем временем сняли с производства. Он делает это не путем проверки того, с какой моделью он обращается, а путем запроса ее возможностей в общем порядке, как это определено протоколом.
Сделать собственный программатор PIC как одноразовый для конкретного PIC не так уж и сложно. Попытаться создать PIC-программатора общего назначения труднее, возможно, намного труднее, чем думает большинство людей. Если вы в конечном итоге создадите свой собственный, я предлагаю вам поддержать мой протокол хоста.Если вы внимательно посмотрите на протокол, вы увидите, что большая его часть является необязательной. Если ваш программист использует мой протокол хоста, то у вас есть мой существующий код хоста, доступный для тестирования и, возможно, даже для регулярной работы. Большая часть моего исходного кода доступна по адресу http://www.embedinc.com/picprg/sw.htm.
ПрограмматорUSB PIC — Electronics-Lab.com
Эта страница предназначена для всех, кто хочет запрограммировать устройство PIC (Microchip) через порт USB. Поискав в Интернете готовых проектов, я нашел хороший под названием Open Programmer, в котором есть несколько схем, плат и открытый исходный код.Исходная ссылка: http://openprog.altervista.org/OP_ita.html
.Что меня беспокоило, так это необходимость установить на материнскую плату определенную плату сокетов в зависимости от модели программируемого PIC. Более того, предложенный макет не соответствовал моим личным представлениям о «компактности». Итак, я предлагаю здесь небольшую версию этой схемы, использующую один интеллектуальный встроенный разъем ZIF. Эта версия жертвует многими моделями микроконтроллеров без PIC. Я буду благодарен всем, кто предлагает реализацию более широкого диапазона, подходящую для программирования Atmel и других устройств.В любом случае, если ваша цель — программировать устройства PIC, вы попали на хороший сайт.
Коробочка, разъем USB, розетка ЗИФ, два светодиода. Это все в моем компактном предложении.
Описание
Подробности доступны по оригинальному проекту, упомянутому выше. Далее я показал свою компактную версию со схемой, компоновкой печатной платы и инструкциями по сборке и установке ее в очень обычную небольшую пластиковую коробку. Внизу страницы я предлагаю копию программы для загрузки на PIC18F2550, который используется для управления функциями программирования, а также копию программы на ПК.Программу до Win-8 протестировал без проблем. Учтите, что на исходном сайте доступна более новая версия как прошивки, так и программного обеспечения.
Схема
Сборка
Сначала соберите основной модуль, используя низкопрофильные компоненты, находящиеся на высоте менее 10 мм от поверхности печатной платы, так как вторая плата будет установлена поверх этой платы. Установите 4 колонны высотой десять миллиметров, чтобы обеспечить окончательную сборку второй платы. Для фиксации колонн используйте детали с низким профилем, в противном случае может потребоваться снятие металла вручную, чтобы уменьшить нагрузку на медную сторону.
ZIF — довольно тонкий компонент перед окончательной пайкой. Обращайте внимание на то, чтобы не использовать силу, которая может привести к повреждению или деформации. Лучше сделать отверстия 1,2 мм для облегчения вставки гнезда ZIF в печатную плату. Во время пайки перескакивайте каждый раз на несколько выводов, следуя спиральной линии, принимая последовательность, которая позволяет нагреть вывод, пока вы паяете следующий.
Когда две схемы будут готовы, соедините их с помощью полосковых линий и блокируйте сборку с помощью столбцов.Используйте винты с потайной головкой в отверстиях с потайной головкой, чтобы винты не выходили слишком высоко по отношению к верхней поверхности второй печатной платы. Должны появиться только розетка и два светодиода.
Пластиковая коробка очень распространена. Вы должны сделать отверстия, чтобы позволить выступающим частям выходить из его поверхности: гнездо, два светодиода (или один двухцветный светодиод), разъем USB на короткой стороне. Это женщина типа А
Коробка
После нескольких попыток и исправлений вы получите окончательный результат.На крышке есть граница, которая должна быть изменена для размещения схем, но ваша логика будет управлять вами. Первая печатная плата должна быть закреплена на коробке с помощью прилагаемых винтов.
Здесь и далее окончательный результат:
Программное обеспечение
Как было сказано ранее, исходный сайт предлагает как прошивку, так и программное обеспечение для ПК. В любом случае, чтобы начать использовать этот программатор, я предлагаю вам использовать версии, которые я использовал во время редактирования проекта, которые будут доступны для скачивания в дальнейшем.После некоторых тестов вы можете попробовать новые обновленные версии, доступные на исходном сайте. Конечно, если у вас еще нет программиста, ваш друг должен сначала запрограммировать программиста для вас. После этого первого шага вы станете автоматом!
Скачать программное обеспечение для ПК можно по ссылке ниже — OpenProg.rar
Скачать файл PIC .hex можно по ссылке ниже — OProg.hex
Использование
Подключите программатор к ПК с помощью кабеля USB типа «папа-папа». Устройство рассматривается как универсальное.Зеленый светодиод сначала быстро мигает, указывая на то, что соединение установлено. Затем медленно, показывая, что этап подключения завершен. Программное обеспечение для ПК позволяет боту записывать и читать EEPROM любой PIC, установленной на ZIF socked. Функции тестирования позволяют измерять высокое напряжение Vpp, генерируемое повышающим преобразователем, присутствующим в главной цепи. Это напряжение в любом случае уже проверено самой прошивкой.
Программируемый PIC должен быть размещен в гнезде ZIF, как показано на следующем рисунке.Версия этого изображения в высоком разрешении доступна ЗДЕСЬ для печати и прикрепления к задней части самого программатора.
Ross Bencina »DIY MIDI-контроллеры с использованием микроконтроллеров PIC и базовых штампов
Введение
Комбинируя микроконтроллер PIC или Basic Stamp II с несколькими пассивными компонентами, нетрудно создать свой собственный блок регуляторов, блок триггеров или другое устройство ввода MIDI. Для подключения к некоторым датчикам может потребоваться знание электроники.И Stamp, и PIC обеспечивают экономичную (менее 100 долларов США) точку входа в мир альтернативных MIDI-контроллеров.
Эта страница была создана, чтобы предоставить отправную точку для людей, заинтересованных в создании собственных устройств управления MIDI с использованием микроконтроллеров Microchip PIC или Parallax Basic Stamps. Если у вас есть какие-либо комментарии или предложения, пожалуйста, напишите мне.
Базовые марки и фото
Basic Stamp состоит из крошечной печатной платы, на которой припаян PIC CPU, тактовый кристалл и немного памяти EEPROM для хранения программ.Он обеспечивает 16 контактов двунаправленных данных (цифровой ввод / вывод), которые могут быть подключены к потенциометрам, простой выходной цепи MIDI, аналого-цифровым преобразователям и т. Д. Как следует из названия, Basic Stamp выполняет код, написанный на BASIC, который загружается на штамп с использованием последовательного интерфейса. Parallax, Inc. производит ряд различных моделей Basic Stamp, Basic Stamp II и IIsx обычно считаются достаточно быстрыми для приложений передачи MIDI, но ни одна из них не поддерживает ввод MIDI удовлетворительно.
Microchip Technology Inc. производит широкий спектр микроконтроллеров PIC. Для небольших проектов часто выбирают PIC16F84, поскольку он дешев и использует перепрограммируемую флеш-память для хранения программ. Микросхема PIC16F84 содержит 1к слов программной флэш-памяти, 68 байтов ОЗУ и 64 байта EEPROM для постоянного хранения данных. PIC16F84 имеет 13 двунаправленных выводов данных, которые можно использовать аналогично таковым на Basic Stamp. Микросхемы PIC программируются на языке ассемблера, который затем сохраняется в микросхеме с помощью специального программатора.Для пользователей ПК программатор на основе параллельного порта для PIC16F84 может быть построен примерно за 30 долларов. И Microchip, и Parallax распространяют бесплатное программное обеспечение ассемблера PIC для ПК.
По общему мнению, Basic Stamp II — лучшая отправная точка для людей с небольшим опытом программирования или электроники или без него, так как использование PIC напрямую требует от вас изучения языка ассемблера PIC, что может быть утомительным, если вы не в этом роде. вещи. Если вы программист или собираетесь использовать более одного устройства, PIC16F84 — хороший выбор, так как он дешев и часто может работать быстрее, чем Basic Stamp.Вы можете собрать программатор, несколько микросхем PIC и схему блока питания дешевле, чем Basic Stamp II.
См. Статью Питера Х. Андерсона Работа с марками и PIC для подробного обсуждения относительных достоинств PIC и базовых марок.
Взаимодействие с MIDI
Как для чипов Basic Stamp II, так и для PIC среднего класса, MIDI (т. Е. Последовательный) вывод реализуется программно путем управления состоянием вывода данных. На Basic Stamp это достигается с помощью команды SEROUT, на PIC вам нужно свернуть свою собственную процедуру вывода MIDI — это может быть сложно, поскольку последовательная синхронизация определяется количеством выполненных инструкций и тактовой частотой PIC, однако в сети есть множество примеров, с которых можно начать.
Ни PIC среднего диапазона (например, PIC16F84), ни Basic Stamp (любая модель) не подходят для одновременного приема и передачи MIDI, поскольку они не поддерживают буферизованную последовательную связь. На Basic Stamp II любой MIDI, поступающий во время обработки Stamp, будет утерян. На PIC код должен быть тщательно разработан, чтобы чередовать последовательные чтения и другую обработку на уровне битов суб-MIDI, чтобы избежать потери данных.
MIDI-ввод без вывода возможен на PIC, но не описан здесь — см. Раздел ссылок для некоторых примеров.Реализация одновременного ввода и вывода MIDI или мягкого перехода / слияния невозможна с использованием Basic Stamp II. Его сложно реализовать на PIC16F84, и он оставляет мало места для выполнения другой обработки. Предлагаемое решение — использовать два PIC — один для ввода и один для вывода, или использовать более дорогой PIC, такой как PIC16C7x, который имеет встроенный UART.
MIDI-выход
Подключение PIC или Basic Stamp для вывода MIDI не может быть проще:
- Подключите контакт 4 разъема MIDI к желаемому выходному контакту PIC или Basic Stamp через резистор 220 Ом.
- Подключите контакт 5 MIDI-разъема к + 5V через резистор 220 Ом
- Подключите контакт 2 разъема MIDI к земле
Важное примечание! Несколько человек написали мне, что контакты 4 и 5 на схеме подключения MIDI-выхода поменяны местами.Я не проверил, правда это или нет. Возможно, вам придется поэкспериментировать, поменяв местами соединения, если это не сработает.
См. Программу «MIDI Sender» Дэвида Б. Томаса (ассемблер параллакса) или мою программу midisend (сборка микрочипов) для примера отправки MIDI с использованием микросхемы PIC. Для Basic Stamp II см. Программу Джеффа Манна MIDI out для BASIC Stamp II.
Если вам нужна информация о MIDI, посетите Центр «промывания мозгов» MIDI Technical Fanatic. Схема электрических характеристик MIDI вместе с другой полезной информацией доступна на веб-сайте ассоциации производителей MIDI.
Сопряжение с переменным сопротивлением
Хотя в этом разделе обсуждаются потенциометры (используемые с регуляторами, фейдерами и джойстиками), эта информация также может быть применена к другим устройствам с переменным сопротивлением, таким как светозависимые резисторы (LDR) или резисторы, чувствительные к силе (FSR).
Двойной ввод / вывод выводов данных PIC и Basic Stamp позволяет построить простую схему, которая может измерять значение потенциометра. Для выполнения этого измерения обычно используются две разные схемы: первая использовалась в сочетании с командой POT Basic Stamp I и полезна для PIC, поскольку исходный код для ее управления находится в свободном доступе (это версия, описанная ниже).Basic Stamp II заменил команду POT на команду RCTIME, которая требует другой схемы — см. Подробности в руководстве по Stamp II или на странице с ручкой Basic Stamp DIY Джона Раденберга для рабочего примера.
Метод POT
Измерение выполняется путем сначала зарядки конденсатора (установление высокого уровня на выводе данных), затем установка вывода на ввод и медленная его разрядка (переключением вывода между вводом и выводом). Время, необходимое для того, чтобы контакт перешел в низкий уровень, соответствует времени, необходимому для разряда конденсатора, что связано с сопротивлением потенциометра.
Команда Basic Stamp I POT выполняет описанный выше процесс и возвращает масштабированное выходное значение. См. Ассемблерную версию команды POT Скота Эдвардса Parallax в The PIC Source Book для примера использования вышеуказанной схемы с микросхемой PIC.
На 10 МГц PIC16F84 вышеуказанная схема заряжается за 6 мсек, а при максимальном сопротивлении требуется 138 отсчетов (0,5 мс) для разрушения. Преимущество PIC перед Basic Stamp при использовании нескольких горшков состоит в том, что все RC-цепи могут заряжаться одновременно, обеспечивая значительное увеличение скорости по сравнению с последовательной зарядкой и разрядкой каждой цепи.
Интерфейс для пьезоэлектрических преобразователей
В февральском выпуске (том 27, № 3) журнала Electronics Today International за 1998 год, статья Тома Скарфа под названием MIDI Drum Pads описывает конструкцию пьезоэлектрического триггера с 8 входами для MIDI-устройства на основе микроконтроллера PIC16C84. Устройство генерирует MIDI-сообщения при нажатии на триггеры, однако информация о скорости не измеряется. Статья Тома, включая исходный код и схемы, доступна в Интернете.
Схема выше иллюстрирует интерфейс между пьезопреобразователем и выводом данных PIC.Когда датчик (или поверхность, к которой он прикреплен) ударяют, генерируется напряжение, которое может быть обнаружено на выводе данных. Подходящее программное обеспечение будет сканировать контакты данных и передавать MIDI-сообщение при обнаружении высокого (1) логического состояния.
УPAiA есть несколько более сложных схем для взаимодействия с датчиками перкуссии.
Дальнейшие направления
Интернет содержит множество примеров взаимодействия PIC, базовых штампов и других микроконтроллеров с переключателями, аналого-цифровыми преобразователями и другими устройствами, которые могут быть с пользой использованы для создания интересных MIDI-контроллеров.Страница Дэна О’Салливана по физическим вычислениям — отличный источник информации о посредничестве между физическим и цифровым мирами.
Комбинируя аналого-цифровой преобразователь и микросхему мультиплексора, можно легко создать MIDI-контроллер с увеличенным разрешением, более быстрым временем обновления и большим количеством потенциометров, датчиков или других устройств ввода. Для тех, кто любит приключения, Microchip производит более сложные PIC, поддерживающие более высокие тактовые частоты, встроенные аналого-цифровые преобразователи, таймеры и последовательные интерфейсы.
PIC и MIDI-ссылки Basic Stamp
Некоторые из приведенных ниже ссылок больше недействительны — если вам известно о новом местоположении любой из этих страниц, сообщите мне, чтобы я мог обновить ссылки. Если вы хотите получить доступ к содержимому неработающей ссылки, попробуйте обратную машину — просто введите URL-адрес документа, которого там не было, и обратная машина загрузит архивную версию.
MIDI-выход
MIDI вход
Другое
Общие ссылки на PIC
Производитель микросхем PIC Microchip Technology Inc.поддерживает большой веб-сайт, на котором представлена техническая информация, заметки по применению и бесплатное программное обеспечение для разработки на ПК. Parallax, Inc., производитель Basic Stamps, предоставляет списки рассылки для разработчиков PIC и Stamp, а также имеет бесплатное программное обеспечение для разработки, доступное в Интернете.
Питер Х. Андерсон преподает программирование PIC и Basic Stamp, его веб-сайт Embedded Processor Control — это кладезь проектов, наборов и другой полезной информации. Если вы смотрите только на один другой сайт, сделайте это.
Dontronics продает различные продукты, связанные с PIC, включая платформу разработки SimmStick.Дон поддерживает большой набор ссылок и ресурсов PIC, а также размещает онлайн-версию Scot Edwards ’ The PIC Source Book , которая содержит версии набора инструкций Basic Stamp на языке ассемблера — очень полезно!
Базирующаяся в Соединенном Королевстве компания Russell Warburton’s Warburton Technology специализируется на распространении Parallax Basic Stamp и других продуктов и средств разработки на основе микроконтроллеров.
Многие компании производят программаторы PIC, большинство из которых предназначены для работы с более дорогими микросхемами PIC.В Интернете можно найти множество советов по программированию PIC своими руками, особенно для более дешевых PIC, таких как PIC16F84. Я использую программатор на основе чрезвычайно доступного программатора No Parts PIC от Майкла Ковингтона, который можно приобрести в виде комплекта в Oatly Electronics.
Если вы решили принять участие в разработке PIC, рассмотрите PICList, список рассылки с большим объемом трафика, который обеспечивает благоприятную среду для обсуждения разработки программного и аппаратного обеспечения PIC.
В Интернете так много общей информации об использовании PIC и базовых штампов, что следующей остановкой должна стать поисковая система — я использую Google.
Комментарии читателей
Хосе Соуто написал, чтобы сообщить мне, что:
Существует ряд бесплатных компиляторов C для PIC, и я очень доволен CC5xFree с www.bknd.com. Благодаря полной интеграции этого компилятора с MPLAB от Microchip, людям, желающим использовать PIC, не нужно полагаться на ассемблер для написания кода для MIDI.
В прошлом году я написал небольшой C-фрагмент для чтения MIDI с помощью PIC12C508, используя битовый C-код, написанный с помощью CC5xFree. Это из моего опыта написания полноценного MIDI-ресивера для клиента.Я разместил это в PicList
Питер М. Олсен написал мне о Picaxe, который можно программировать на BASIC:
Вы смотрели Picaxe? (www.picaxe.co.uk). Я использую их около 6 месяцев, и, насколько мне известно, они оставляют базовый штамп навсегда! Это в основном PIC Microchip с загрузчиком начальной загрузки. Я бы хотел, чтобы кто-то работал с MIDI.
Благодарности
Благодарность:
Джону Раденбергу, известному на странице с ручками Basic Stamp DIY, который познакомил меня со многими идеями на этой странице.
Джим Соснин, чья работа с PIC и MIDI вселила в меня уверенность в попытке построить свои собственные схемы.
Джеффа Манна за многочисленные предложения и исправления.
Окончательное руководство по созданию реальных встраиваемых приложений в программировании на C и C ++: Гарсия-Руис, Мигель Анхель, Мансилла, Педро Сезар Сантана: 9781800564138: Amazon.com: Книги
Практическое руководство по созданию PIC и Приложения для плат микроконтроллера STM32 с программированием на C и C ++
Основные характеристики
- Узнайте, как применять платы микроконтроллеров в реальной жизни для создания интересных проектов Интернета вещей
- Создание инновационных решений, которые помогут улучшить жизнь людей, пострадавших от пандемии COVID-19
- Проектирование, создание, программирование и тестирование проектов на основе микроконтроллеров с помощью языков программирования C и C ++.
Описание книги
Мы живем в мире, окруженном электронными устройствами, и микроконтроллеры являются мозгом этих устройств.Программирование микроконтроллеров — важный навык в эпоху Интернета вещей (IoT), и эта книга поможет вам освоить его, работая над проектами по проектированию и разработке встроенных приложений с платами микроконтроллеров.
DIY Проекты микроконтроллеров для любителей наполнены конструкциями языков программирования C и C ++ для микроконтроллеров. Вы узнаете, как использовать платы Blue Pill (содержащие микроконтроллер STM32) и Curiosity Nano (содержащие микроконтроллер PIC) для выполнения ваших проектов, поскольку PIC — это плата для начинающих, а STM-32 — ARM Cortex. -на основе доски.Позже вы изучите основы цифровой электроники и программирования плат микроконтроллеров. В книге используются такие примеры, как измерение влажности и температуры в окружающей среде, чтобы помочь вам получить практический опыт работы с проектами. Вы будете опираться на свои знания при создании проектов Интернета вещей, применяя более сложные датчики. Наконец, вы узнаете, как спланировать проект на основе микроконтроллера и устранить его.
К концу этой книги у вас будет прочный фундамент в области электроники и практического программирования микроконтроллеров PIC и STM32 и взаимодействия с ними, что добавит ценные навыки в ваш профессиональный портфель.
Что вы узнаете
- Разберитесь с основами цифровой и аналоговой электроники
- Спроектируйте, создайте, запрограммируйте и протестируйте систему на основе микроконтроллера
- Поймите важность и применение микроконтроллеров STM32 и PIC
- Откройте для себя как подключить датчики к платам микроконтроллера
- Узнайте, как получить данные с датчиков с помощью кодирования
- Используйте платы микроконтроллеров в реальной жизни и практических проектах
Для кого предназначена эта книга
Эта книга по микроконтроллерам STM32 PIC предназначена для студентов, любителей, и инженеры, которые хотят исследовать мир встраиваемых систем и программирования микроконтроллеров.Эта книга будет полезна как новичкам, так и более опытным пользователям цифровой электроники и микроконтроллеров. Базовые знания цифровых схем и программирования на C и C ++ будут полезны, но не обязательны.
Содержание
- Введение в микроконтроллеры и платы микроконтроллеров.