Перейти к содержанию

USB программатор PIC из Arduino


Рекомендуемые сообщения

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

Ссылка на статью: //cxem.net/mc/mc506.php

Автор статьи: //cxem.net/profile/15223/

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Всем привет. На данный момент немного расширился список поддерживаемых моделей микроконтроллеров (см. фото). Некоторые поддерживаются с небольшими оговорками: pic16f84 записывается корректно, с чтением есть небольшие проблемы; pic18fXXk80 записывается корректно, читается очень медленно; модели с калибровочными байтами, расположенными в конце code сегмента всегда выдают 2 ошибки при верификации (по понятным причинам). В остальном без особенностей. 

Также в список поддерживаемых устройств добавлены не все однотипно программируемые устройства. Они могут быть добавлены путём корректировки xml файла, который идёт вместе с программой.

Постараюсь и дальше добавлять поддержку новых моделей pic. Не откажусь от помощи в тестировании. 

Последнюю прошивку и ПО прикрепляю.

pic_prog.png

PIC_PROG.hex Pic_Prog.rar

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

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

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

В 09.01.2023 в 17:18, AndrejChoo сказал:

Всем привет. На данный момент немного расширился список поддерживаемых моделей микроконтроллеров (см. фото). Некоторые поддерживаются с небольшими оговорками: pic16f84 записывается корректно, с чтением есть небольшие проблемы; pic18fXXk80 записывается корректно, читается очень медленно; модели с калибровочными байтами, расположенными в конце code сегмента всегда выдают 2 ошибки при верификации (по понятным причинам). В остальном без особенностей. 

Также в список поддерживаемых устройств добавлены не все однотипно программируемые устройства. Они могут быть добавлены путём корректировки xml файла, который идёт вместе с программой.

Постараюсь и дальше добавлять поддержку новых моделей pic. Не откажусь от помощи в тестировании. 

Последнюю прошивку и ПО прикрепляю.

pic_prog.png

PIC_PROG.hex 33 кБ · 3 загрузки Pic_Prog.rar 14 кБ · 8 загрузок

Сорян, не тот hex выложил.

PIC_PROG.hex

Ссылка на комментарий
Поделиться на другие сайты

Выкладываю схему первой версии с преобразователем напряжения. Питание только по USB. не нужен дополнительный блок питания. 

При разводке платы необходимо располагать преобразователь как можно дальше от платы ардуино, и не экономить на фильтрующих конденсаторах. Иначе из-за помех по питанию будет сбоить UART, т.е. будут идти битые пакеты.

Schematic_PIC_PROG2_2023-01-13.png

Ссылка на комментарий
Поделиться на другие сайты

21 минуту назад, Alex30 сказал:

Здравствуйте. Очень заинтересовал Ваш проект. Возможно ли скомпилировать нех для Atmega 16. Заранее спасибо.

Да могу перекомпилировать. Только напишите к каким пинам у Вас подключены PGM, PGC, PGD, VDD и VPP. Правда, количество flash памяти у atmega16 уже почти в обрез. На данный момент прошивка уже занимает 12 кБ.  

А какие у Вас есть модели PIC, Вы бы могли мне помочь в тестировании новых моделей.

Изменено пользователем AndrejChoo
Ссылка на комментарий
Поделиться на другие сайты

Выкладываю доработку схемы для программирования пиков с питанием 3,3 вольта (pic1xLFxxxx, pic18fxxqxx). Для этого необходимо добавить LDO на 3,3 вольта (например, ams1117-3.3) и джампер или переключатель на одну группу контактов. Переключатель переключает питание атмеги и питание ключа "VDD" между 5 и 3,3 вольтами.

Schematic_PIC_PROG 3_2023-01-19.png

Ссылка на комментарий
Поделиться на другие сайты

Сделал ваш программатор на ARDUINO с Atmega168 порт опознаёт и открывает , чип можно выбрать

а далее все. На Chek  ответа нет. Остается надпись СОМ порт отрыт. ОС Виндес 10 х 64.

Ссылка на комментарий
Поделиться на другие сайты

9 часов назад, Гость Владимир сказал:

Сделал ваш программатор на ARDUINO с Atmega168 порт опознаёт и открывает , чип можно выбрать

а далее все. На Chek  ответа нет. Остается надпись СОМ порт отрыт. ОС Виндес 10 х 64.

Эта проблема может быть из-за паразитной ёмкости платы Ардуино. Если Вы делали на штыревых разъёмах, то попробуйте убрать неиспользуемые контакты разъёмов со стороны платы шилда и добавьте электролит по питанию. У меня была подобная проблема в версии программатора с преобразователем напряжения, а также я видел описание такой же проблемы в подобных устройствах. На плате Ардуино с type-c в упор не работало, а на плате с usb-mini работает без проблем. 

Ещё вариант. Какую прошивку вы использовали? Скомпилировать под 168ю или просто залили от 328й? Прошивка от 328й атмеги на 168й работать будет вряд ли.

Изменено пользователем AndrejChoo
Ссылка на комментарий
Поделиться на другие сайты

10 часов назад, Гость Владимир сказал:

Сделал ваш программатор на ARDUINO с Atmega168 порт опознаёт и открывает , чип можно выбрать

а далее все. На Chek  ответа нет. Остается надпись СОМ порт отрыт. ОС Виндес 10 х 64.

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

M168_PIC_PROG.hex

Ссылка на комментарий
Поделиться на другие сайты

 Какую прошивку вы использовали? 

Об этом я не подумал . Тупо взял hex фаел от 9 января и залил.

Если не трудно скомпилировать под Atmega 168  сделайте.

Заранее спасибо.

Ссылка на комментарий
Поделиться на другие сайты

21 минуту назад, Гость Владимир сказал:

 Какую прошивку вы использовали? 

Об этом я не подумал . Тупо взял hex фаел от 9 января и залил.

Если не трудно скомпилировать под Atmega 168  сделайте.

Заранее спасибо.

Уже. Сообщением выше.

Ссылка на комментарий
Поделиться на другие сайты

Забыл уточнить: Ардуино должен быть обязательно с кварцем на 16 MHz, если стоит кварц на 8 MHz, работать также не будет.

Отпишитесь о результатах с хексом под 168-ю.

Изменено пользователем AndrejChoo
Ссылка на комментарий
Поделиться на другие сайты

Отпишитесь о результатах с хексом под 168-ю.

И эта прошивка не захотела  работать .Лишние штыри не отпаивал , не знаю частоту кварца

он миниатюрный и не имеет маркировки. ARDUINO nano с китая. Я взял  ARDUINO uno c

ATmega328 и HEX от 9 января все работает. Автору БОЛЬШОЕ спасибо за не дорогой

программатор работающий USB. Да 12v от DC/DC повышающего.

Ссылка на комментарий
Поделиться на другие сайты

Всем привет. Сегодня получил pic16f1513 для тестов. Его поддержка была успешно добавлена без изменения прошивки программатора + добавлены его одногрупники (1512/1516/1517/1518/1519/1527). Для добавления поддержки достаточно заменить файл "pic.xml" в папке с программой. Последняя версия софта в начале форума.

pic.rar

Если есть те, кто собрал программатор и у Вас есть модели PIC, которых нет в списке поддерживаемых и есть желание, помогите с тестированием. Даже моделей pic, которые есть в списке. Необходимо определить правильные ID. 

Ссылка на комментарий
Поделиться на другие сайты

11 часов назад, AndrejChoo сказал:

Необходимо определить правильные ID.

Чего их "определять", если они производителем указываются?

PIC16(L)F151X/152X Memory Programming Specification” (DS41442):

301887572_.png.ea1a9542e2fe9372059f1a268fb0e8b2.png

А важные для применения Chip Rev. (чтобы отсечь ревизии с неустраивающими вас ошибками) можно найти в Errata на конкретный контроллер:

1641593747_.png.54a77fb9280e090055a410df247a3ff4.png

Ссылка на комментарий
Поделиться на другие сайты

6 часов назад, Lexter сказал:

Чего их "определять", если они производителем указываются?

PIC16(L)F151X/152X Memory Programming Specification” (DS41442):

301887572_.png.ea1a9542e2fe9372059f1a268fb0e8b2.png

А важные для применения Chip Rev. (чтобы отсечь ревизии с неустраивающими вас ошибками) можно найти в Errata на конкретный контроллер:

Спасибо, именно этими документами Я и пользуюсь. Но почему-то всё равно не совпадает старший полубайт младшего байта, причём кардинально, а не только одним битом, что было бы логично, так как rev занимает 5 младших бит.

Ссылка на комментарий
Поделиться на другие сайты

3 часа назад, AndrejChoo сказал:

не совпадает старший полубайт младшего байта, причём кардинально, а не только одним битом

Проверьте, из каких битов вы собираете ID и Rev. Откуда может взяться "не только одним битом", если в старшей тетраде Rev всего один бит??!

303314264_.png.f6dc03a2a1b65b30624ae92e11fc491d.png

Чтобы представить пятибитный Rev байтом, надо же установить старшие 3 бита этого байта равными нулю.

Как эти три бита могут потом меняться??!

Ссылка на комментарий
Поделиться на другие сайты

3 минуты назад, Lexter сказал:

Проверьте, из каких битов вы собираете ID и Rev. Откуда может взяться "не только одним битом", если в старшей тетраде Rev всего один бит??!

 

DEV и REV собирать не нужно. Они читаются целым 14 битным словом. Младшие пять бит этого слова для большинства pic16 это REV, остальное DEV. Возможно, мои pic-и с AliExpress дают некорректные ID. А в моём софте я просто откидываю младший полубайт при сравнении прочитанного id, чтобы не учитывать rev. Хотя по хорошему, нужно откидывать пять младших бит. Вообще, это всё не принципиально, программатор и так будет работать, просто будет выдавать предупреждение о некорректном id. Но хочется, чтобы было всё по Фен-шую.

Ссылка на комментарий
Поделиться на другие сайты

2 минуты назад, AndrejChoo сказал:

А в моём софте я просто откидываю младший полубайт

Напишите (или нарисуйте), что именно вы делаете с прочитанным по адресу 8006h двухбайтным (16 бит) словом.

Ссылка на комментарий
Поделиться на другие сайты

Начнём с того, что слово не 16, а 14 бит. Я его читаю, обнуляю самый младший полубайт и сравниваю с эталонным (без учёта самого младшего полубайта). Биты 14-8 у меня соответствуют даташитовским. 

Изменено пользователем AndrejChoo
Ссылка на комментарий
Поделиться на другие сайты

Очередные обновления. На этот раз исправил ошибку с вылетом программы при закрытии COM порта. Прошивка программатора пока прежняя.

В ближайшей перспективе будут добавлены pic16f690, pic16f18346, pic18f46Q10 и их товарищи. А также pic16f18444. Последний наиболее интересен, так как программируется однотипно с pic18f4XQ84 и им подобными. Пока жду их из Поднебесной.

PIC_PROG.rar

Изменено пользователем AndrejChoo
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...