8-900-374-94-44
[email protected]
Slide Image
Меню

Jdm avr pic programmer: AVR and PIC JDM-367 COM Programmer — Программаторы микроконтроллеров — Схемы устройств на микроконтроллерах

MICRO.DAX.RU

Программатор  JDM Clone надежность программатора простыми средствами.

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

Однако этот простой адаптер я думаю еще рано выбрасывать. Некоторые модификации позволяют обеспечить достаточно высокую надежность  данного программатора.
Вот классическая схема JDM:


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

Это значит, что такой программатор должен, как правило, содержать контроллер который обеспечивает правильную рабату протокола обмена и выдерживает временные интервалы. Если вы можете позволить себе такие средства программирования, то лучше купите такой адаптер — сэкономите  нервы и контроллеры J, для тех же, кто решил усовершенствовать старый JDM программатор, рекомендую читать эту  статью дальше.
                 А что наш JDM адаптер? Тут можно сказать, что он поддерживает параметры программирования, рекомендованные производителями едва-едва. Получается, что на одних машинах он работает, на других нет. Вот откуда разговоры, что адаптер хорошо работает на старых машинах. Второй подводный камень для классического адаптера питание на плате программатора, и что чаще всего приводит к неработоспособности это недостаточное питание для линии сброса Vpp. Для многих популярных семейств PIC номинальное питание цепи сброса, по рекомендации производителя 13,3В. Что бы там ни говорили о COM портах, использование линий для непосредственного питания программатора и линии сброса я думаю не оправдывает себя слишком большой разброс параметров для разных ПК (хотя по стандарту вроде можно взять 12В, на практике это не всегда так …), ограниченный ток порта — 20 миллиампер, о ноутбуках я не говорю вообще (точно работать не будет).
         Вот модификация программатора, которая позволяет в некоторой степени решить проблему перезаписи ранее прошитых контроллеров (при проблемах с запрограммированными битами INTOSC и MCLR_OFF, помогает PIC12F675, 12F629) предложенная Kelly.


                 Для низковольтного режима программирования  LVP достаточно 5в, однако не всегда возможно им воспользоваться могут быть не доступны все опции для изменения (фьюзы), возникают  часто проблемы с перепрограммированием  ранее записанных контроллеров, обычно просто не получается достучаться до микросхем со снятой опции программирование в режиме LVP .


Исходя из вышесказанного будем использовать для питания USB +5В а для VPP DC-DC преобразователь на микросхеме  mc34063. Это и будет преобразователь +5В.- +13,3В. Остальная часть схемы не должна вызывать вопросов. Пару слов о конструктивном исполнении Я сделал так смонтировал на плате USB-B порт и при необходимости подключаюсь к нему проводом от принтера, это позволило избавиться от постоянно путающегося шнура. Кроме того, разъем COM-9 порта смонтировал прямо на торец платы, разместив текстолит между двумя рядами контактов и припаяв контакты прямо к дорожкам, получилось очень удобно. Теперь можно воткнуть плату без шнура в порт.
Программатор опробован на различных ПК, при программировании контроллеров серий 12F,16F и 18F, показал высокую стабильность. Удалось перезаписать чипы ранее залоченные при LVP программировании.

Вот моя модификация  JDM. Для увелечения шелкните мышкой по кактинке.


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



 
Настраиваем наш адаптер — устанавливаем тип платы «JDM программатор» и ставим галочки как показано на рисунке.

<> После того как интерфейсная часть настроена, необходимо выполнить тест аппаратной части программатора. Для этого необходимо на инструментальной панели нажать кнопку «Device», затем в меню нажать кнопку «Hardware Test», в появившемся окне будет содержаться результат о проведении теста.

       После успешного завершения теста аппаратной части программатора, можно приступать к выполнению операций программирования.

PIC: Простые и простейшие программаторы

Здравствуйте, ниже рассмотрим простые и простейшие программаторы, которые легко можно спаять.

Программатор для PIC12F629
Программатор для PIC16f630
Программатор для AVR AtTiny13 / 25
Программатор для микроконтроллера PIC16F84

Сложные:
Программатор для ATMEGA8 и ATtiny2313.
Про программирование AVR написал отдельную статью – прочитать можно здесь.

Для PIC есть среда разработки IDE MPLAB X – её можно установить или воспользоваться онлайн сервисом по следующей ссылке:

“https://www.mplab-xpresside.microchip.com/”

Как пользоваться онлай сервисом писал здесь: “https://gameforstreet.ru/prostye-i-prostejshie-programmatory-chast-2/”

Программатор для PIC12F629

Начинаем собирать следующую схему:Схема не сложная, за час соберёте. Несколько советов:

Для справки: аналоги транзистора 2n7000 – bs170, КП501, BSS138. При пайке транзисторов можно прогреть паяльник и непосредственно перед самой пайкой выключить его и припаять транзистор.

• длинная нога у светодиода это +.
• разводку ног транзистора можно найти в Интернете.

• провода к COM разъему припаивайте по цифрам. 1 это 1, 8 это 8. На картинке нарисован «папа», т.е. изображение зеркальное.

• + 5 вольт снимайте с USB порта. У USB разъема питание идет по крайним контактам. Где что ищите в Интернете. При подпайке не перепутайте местами провода, а то сожжете и всю свою схему, и COM порт.

• Перед подключением ещё раз всё тщательно проверьте.

Надеюсь всё у вас получилось и вы подсоединили программатор к компьютеру. У вас зажегся светодиод, ничего не задымилось, и компьютер не отключился. Если так, то всё вы собрали правильно и теперь надо запрограммировать микроконтроллер.

ПРОГРАММИРОВАНИЕ МИКРОКОНТРОЛЛЕРА.

И так, вы спаяли программатор, и полны решимости, закончить начатое дело. Следующий шаг программирование микроконтроллера. Для программирования микроконтроллера вам необходимы:
• программа, с помощью которой вы будете заливать код прошивки в микроконтроллер.
• сама прошивка.

Скачать программу IC-Prog Software вместе с драйвером для windows XP можно с моего сайта – здесь. Просто распаковываем и запускаем прогу .

Или с официального сайта: сначала заходим на этот сайт http://www. ic-prog.com/ и из раздела DOWNLOAD скачиваем: IC-Prog Software 1.05E Multi-Lingual и не забываем скачать IC-Prog NT/2000 driver, который обеспечивает правильную работу программы под Win XP. Скачали, создаём на вашем жестком диске папку IC-Prog и распаковываем в неё оба архива. Запускаем IC-Prog.

При первом запуске, появится сообщение об ошибке, игнорируем его и переходим к конфигурации программы.

Выберите “Settings” >> “Options” >> вкладку “Language” >> установите язык “Russian” и нажмите “Ok”.

Согласитесь с утверждением “You need to restart IC-Prog now” (нажмите “Ok”).

Оболочка программатора перезапустится.
Заходим в “Settings” (Настройки) -> “Options” (Опции), далее делаем активной закладку “Общие” (“Misc”). В активном окне, выставляем галочки опциям “Enable NT/2000/XP Driver” и “Enable VCC control for JDM”.

Жмём ОК и программа должна перезапуститься. Если она не перезапустилась, выходите из программы и запускаете её заново. При повторном запуске сообщение об ошибке должно исчезнуть. Далее переходим к установкам самого программатора. Тип программатора выбираете как JDM

Programmer, интерфейсом указываете Windows API, ну и не забудьте правильно указать номер COM порта, к которому вы подключили спаянный программатор.

Всё, все подготовительные процедуры закончены, и можно переходить непосредственно к программированию. Вставляйте в панельку вашу микросхему(PIC 12F629), в верхнем правом углу, в ниспадающем меню выбирайте тип программируемого микроконтроллера ” PIC 12F629″ и нажимайте на кнопку “Прочитать схему” “Read All”(кнопка с изображением микросхемы и большой зелёной стрелки). Если вы спаяли схему с двумя светодиодами (один горит при включении питания, второй срабатывает при чтении/записи в микроконтроллер), то один из светодиодов должен заморгать, что говорит о правильности работы всей вашей схемы. По завершении считывания данных, вы увидите на экране код состоящий из сплошных “3FFF”. Перематываем на последнюю строчку и записываем (или запоминаем) последние четыре знака. Они должны отличаться от “3FFF” и в разных контроллерах это значение будет разным. Если же последние четыре знакоместа не отличны от “3FFF”, то значит у вас проблемы с программатором или даже с PIC-ом.

Если с этим всё в порядке, то продолжим процедуру. Заходим в “File” -> “Open” и загружаем нужную вам прошивку (файл должен быть с расширением HEX). Далее жмём кнопку “Program All”(находится рядом с кнопкой “Read All” и выглядит как микросхема с жёлтой молнией).

Программа поинтересуется у вас, действительно ли вы хотите запрограммировать устройство? Смело отвечайте “YES”.

Далее произойдёт считывание данных с вашего PIC-а, и программа снова задаст вопрос:
хотите ли вы использовать данные из файла с прошивкой? ВНИМАНИЕ!!! Тут надо ответить “NO”, ибо, дав положительный ответ(“YES”), вы перезапишите те самые последние четыре знакоместа(OSCCAL) и выведите микроконтроллер из строя. (Конечно это не большая беда, и всё можно вернуть обратно, ведь вы записали эти важные четыре символа. ) Но вы же ответили “NO”, и программа начала записывать в ваш PIC прошивку. По завершении записи обязательно идёт проверка, и если по её завершении, никаких сообщений об ошибках не последовало, то можете поздравить себя. Вы всё сделали как надо и запрограммировали микроконтроллер. Теперь нужно запаять его в правильное место и наслаждаться проделанной работой.

Вот что получилось у меня, использовал вместо резисторов – подстроечные резисторы (потенциометры) 103,473,2к2:

Выше мы научились создавать и прошивать микроконтроллер, а где раздобыть Hex файл и, что простенького можно сделать – читайте ниже:

Микросхемы PIC12F675 и PIC12F629 очень похожи, поэтому прошивки для них одинаковые.

Hex-файл и схема мигающий светодиод на PIC12F629:

Скачать hex файл можно – здесь.

Или здесь:

http://arduinokit.ru/wp-content/uploads/2014/03/PIC12F675_Blinking_LED.zip

Hex файл и схема Светофор на PIC12F629:

Скачать pdf файл со схемой сборки светофора и принципом работы можно – здесь.

Скачать hex файл можно – здесь.

Программатор для микроконтроллера PIC16F320:

Вынес отдельной статьей – прочитать можно здесь.

Программирование контроллеров и программатор для AVR AtTiny13 / 25

Ниже рассмотренно программирование AVR AtTiny13.
Для начала вам понадобится программа.
Можно использовать. Устанавливаем PonyProg скачать её можно с моего сайта – здесь.
Теперь понадобится программатор
Я использовал так называемые “Пять проводов”.

Макет выглядит так.

Как работать с ПО

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

Калибровка выполняется автоматически и там показывать нечего.

Чтобы произвести калибровку, заходим в пункт Setup и подпунк Colibrovca.

Далее заходим в пункт Setup и подпункт I/O port setup и выставляем тип адаптера и др параметры.

Далее открываем HEX файл.
Для этого выбираем пункт File, подпункт Open program (Flash) content file.

Скачать hex файл мигающий светодиод можно – здесь.

Схема соединения следующая:

Фьюзы менять не обязательно и ненужно.
Порт светодиода: PB2
Резистор: 220 Ом

Ещё одна схема с AVR AtTiny13.

Скачать hex файл дверной звонок можно – здесь.

Жмем кнопку Write Program Memory (пятая слева кнопка)
И радуемся, что микросхема удачно зашилась.

Программатор для микроконтроллера PIC16F84:

Для прошивки микроконтроллера PIC16F84 можно собрать простейший JDM программатор.

БОЛЕЕ СЛОЖНЫЕ:

Программатор для ATMEGA8 и ATtiny2313.

Для самых ходовых у радиолюбителей микроконтроллеров семейства AVR есть простой для сборки программатор.

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

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

Ps: Скачать звук.

Программатор PIC на базе JDM2

Четверг, 20 октября 2022 г. / Ибрар Айюб

Программатор PIC на базе JDM2

Схема и компоновка обновленного программатора JDM2 PIC. Включает фильтр часов и данных, делитель напряжения Vpp для современных микроконтроллеров PIC (например, USB PIC 18F2455/4455).

До посещения таких сайтов, как www.hackaday.com и www.makezine.com/blog, я работал только с линейкой микроконтроллеров Amtel/AVR. Увидев все крутые проекты, которые люди делали с PIC от Microchip, я ДОЛЖЕН был иметь программатор для PIC. Около года назад я сделал свой первый программатор PIC на основе дизайна uJDM (http://www.jdm.homepage.dk/newpic3.htm). Этот программатор использует 6 общих компонентов. Хотя по ссылке написано только «16F84(a)», я без проблем использовал его для более современных (и более дешевых) процессоров 16F628(a). Этот программатор служил мне очень хорошо, но он ограничен (менее) 18-контактными PIC с программным напряжением Vpp 13 вольт.

Это руководство описывает мой новый дизайн, который программирует 8/14/18/28/40-контактные PIC. Схема основана на программаторе JDM2 (http://jdm.homepage.dk/newpic.htm) с двумя улучшениями: фильтрация тактовой частоты и линии данных и выбор напряжения программирования.

ZIP-архив содержит все файлы проекта. Схема и макет uJDM также включены.

Усовершенствования конструкции

Часы и фильтр данных:

Новые PIC программируются так быстро, что линии часов и данных могут испытывать перекрестные помехи. По словам автора программного обеспечения для программирования WinPic (http://www.qsl.net/dl4yhf/winpic/):

«На форуме Microchip была заметка (от Olin Lathrop) о программировании dsPIC30F201, предлагающая поставить 22..47 pF на линии PGD и PGC на землю рядом с целевым чипом. Кроме того, подключите резистор на 100 Ом последовательно с линией PGD между целевым чипом и крышкой. Резистор и колпачок на линии PGD фильтруют фильтр нижних частот сигнала PGD, когда он управляется целевым чипом. Это снижает высокие частоты, которые могут попасть в линию PGC. Колпачок на линии PGC делает ее менее восприимчивой к сопутствующим шумам. Позже мы узнали, что это важное замечание относится и к семейству PIC18Fxxxx. Пользователь PIC-программатора Velleman сообщил об успешном использовании PIC18F4520 после добавления 2 конденсаторов по 33 пФ и последовательного резистора на 100 Ом». (ССЫЛКА: http://www.qsl.net/dl4yhf/winpic/#pgd_pgc_filtering)

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


«Это означает, что эта проблема не может быть решена на конце кабеля программатора. Никакие умные схемы у программиста не могут решить эту проблему. Это должно быть обработано на целевой цепи. (ССЫЛКА: см. перекрестные помехи PGD-PGC на http://www.embedinc.com/picprg/icsp.htm)

Я подчеркиваю это, чтобы было ясно, что вы НЕ МОЖЕТЕ подключить заголовок ICSP к этой плате без проблем. Я включил фильтры в свой новый программатор, потому что трассировки данных/часов длинные. Конденсаторы расположены в цепи так, что их можно исключить без ослабления дорожки. Резистор можно заменить перемычкой.

 

Подробнее: Программист PIC на базе JDM2

Категории: Программатор микроконтроллеров Проекты, Проекты
Метки: jdm2, фото

Макет PIC Programmer (JDM) — Justin’s Stuff

Содержание

  1. 1 Введение
  2. 2 9009 3 Изображение
0051 Запчасти
  • 4 Примечания
  • 5 Применение
    1. 5. 1 Установить picprog
    2. 5.2 Чтение PIC
    3. 5.3 Запись PIC
  • 6 Поиск и устранение неисправностей

  • Введение


    Программатор My Breadboard JDM был разработан для работы с picprog на платформах UNIX. Скорее всего работает с IC-прогой на винде тоже, но я не пробовал. picprog умеет программировать большое количество различных PIC — в том числе новых, таких как высоко желательно PIC18F2550/4550 запчасти.

    Я только разработал макетная плата, а не схема, на которой она основана, разработанная Йенсом Мэдсен. См. страницу picprog для принципиальной схемы (примечание: разные распиновки предназначены для сокета DB25) и ссылки на оригинальный дизайн JDM.

    Аналогично любой программатор JDM, вам нужен приличный последовательный порт. Большинство ноутбуков и USB ключи не имеют правильного напряжения. Я измерил последовательные порты (напряжение между GND/TX) на двух настольных ПК с разницей в возрасте ~5 лет, с помощью мультиметра — оба измерили -11В. Оба с этим нормально работают программист.

    Схема несложная, требуется только около 5 минут, чтобы собраться вместе, как только вы припаяете розетку. Если у вас уже есть макетная плата и запасной кабель CAT5, детали требуемые очень дешевы (~ 4 фунта стерлингов от Maplins, намного меньше от Farnell/RS). Я уверен, что вы могли бы использовать гораздо меньший/более дешевый кусок макета, но я использовал то, что у меня было в избытке.

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


    Изображение

    Большая (~1 Мб) версия с комментариями находится здесь:



    Детали


    Все детали произведены компанией Maplins в Великобритании. Каталожные номера (взято из моего чека) следующие:

    • 1 x FZ51F – 18-контактный разъем IC с поворотной ножкой
    • 1 x QQ14 – NPN-транзистор общего назначения (BC547C)
    • 3 x QL80 – диод (IN4148)
    • 1 x QH017 стабилитрон (5.1VZXX)
    • 1 x Qh27 — 13 В стабилитрон (BZX79C 13 В)
    • 1 x Vh47 — 100 мкФ 25 В Электролитический конденсатор
    • 1 x BX03D — 100 нФ/0,1 мкФ 2 Керамический конденсатор 90 900 049 2 x M10K — Резистор 10 кОм
    • 1 x M1K5 — резистор 1,5 кОм
    • 1 x RK61 — D-Range, 9-контактная розетка
    • 1 x FP27 — D-колпак, 9-контактная

    макет также от Maplins, но вы найдете его дешевле в другом месте. Подойдет электролитический конденсатор на 16 В, но у них его нет. те что в наличии. Maplins не продают PIC16F628a — они только кажутся сток устаревший PIC16F628. Я предполагаю, что они не меняют многих единицы измерения.

    С любыми компонентами, купленными в их бюро запчастей, всегда дважды проверяйте номера деталей на предметах, которые вам дают. Они не всегда есть правильные детали в правильных ящиках и персонал часто не может определить разницу (например, между 13-вольтовым стабилитроном и и стабилитрон на 20 В). Мне потребовалось 3 поездки, чтобы получить нужные мне запчасти. — К счастью, я могу дойти до местного магазина.


    Примечания


    Провода, которые я использовал везде, одножильный (не многожильный) Ethernet-кабель CAT5. я припаял самку Разъем DE9 на короткую длину CAT5 (~ 30 см) случайным образом, как следующим образом:

    1. (CD) — Синий/Белый
    2. (RX) — Синий
    3. (TX) — Оранжевый
    4. (DTR) — Оранжевый/Белый
    5. (GND) — Зеленый/Белый
    6. (DSR) — Коричневый
    7. (RTS) — Коричневый/белый
    8. (CTS) — Зеленый
    9. (RI) — Не подключен

    Для провода перемычки, старайтесь использовать как можно более короткую длину провода, т.к. сопротивление разъемов уже довольно высокое. я снял проволочные перемычки, чтобы открыть ~ 6 мм провода на каждом конце.


    Использование

    Установка picprog

    Для Debian/Ubuntu вам необходимо установить picprog

    $ sudo apt-get install picprog

    Теперь протестируйте его.

    Чтение PIC

    Подключить PIC к разъему IC, подключите разъем IC к макетной плате (контакт 1 в ряду 11, контакт 9в строке 19 на моей макетной плате). Дважды проверьте, что PIC это правильный путь! Подключите разъем DE9 к первому последовательному порту. и проверьте схему, прочитав PIC.

    $ picprog -o output.hex -p /dev/ttyS0 

    Версия Picprog 1.8.3, Copyright © 2006 Jaakko Hyvätti  

    Picprog поставляется без АБСОЛЮТНО НИКАКИХ ГАРАНТИЙ; для подробностей введите `picprog —warranty’. Это бесплатное программное обеспечение, и вы можете распространять его при определенных условиях;

    введите `picprog —copying’ для подробностей.

    /dev/ttyS0: id 0x07c0: обнаружена версия pic16f628 0x00
    Устройство pic16f628, память программ: 2048, память данных: 128.

    Возможно у вас есть совершенно новый незапрограммированный PIC. picprog по крайней мере скажет вам каков тип чипа (т.е. pic16f628), затем дамп содержимого очистить флэш-память в output.hex.

    Запись PIC

    $ picprog -i input.hex -p /dev/ttyS0 —burn

    Версия Picprog 1.8.3, Copyright © 2006 Jaakko Hyvätti  

    Picprog поставляется с АБСОЛЮТНО НИКАКИХ ГАРАНТИЙ; для подробностей введите `picprog —warranty’. Это бесплатное программное обеспечение, и вы можете распространять его при определенных условиях;

    введите `picprog —copying’ для подробностей.

    /dev/ttyS0: id 0x07c0: обнаружена версия pic16f628 0x00
    Устройство pic16f628, память программ: 2048, память данных: 128.
    Запись памяти программы, 198 ячеек,
    запись памяти данных, 0 ячеек,
    запись идентификационных слов, 0 ячеек,
    запись предохранителей, 0 ячеек,
    выполнено.


    Поиск и устранение неисправностей

    Если не работает с первого раза