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

Arduino программатор PIC-ов.
Иногда встречаются очень интересные проекты выполненные на микросхемах PIC. Это микроконтроллеры с RISC архитектурой,
производимые фирмой Microchip Technology. Программаторы для PIC сложные и дорогие. Чтобы сделать программатор для PIC, нужен программатор для PIC, замкнутый круг для самодельщина. Но у нас есть Arduina! Сделаем из ардуины очень дешевый, очень простой, но работающий как очень дорогие HVSP программаторы микроконтроллеров от Microchip Technology.

HVSP - это High Voltage Serial Programming, высоковольтное последовательное программирование. Высоковольтное программирование позволяет сделать рабочим окирпиченный PIC контроллер из за неправильно выставленных фьюзов или заблокированных ног используемых при низковольтном программировании. В общем без разницы в каком состоянии Вам пришлют хитрые китайцы микроконтроллер, главное, чтобы он был аппаратно живой. А разлочить можно и ардуиной. Запрограммировать можно и ардуиной.

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


Сборка на макетной плате.

maket.jpg

Настройка Step-UP DC-DC
13V.jpg


Пример работы программатора сделанного из ардуино нано в макете с парой дополнительных деталей которые можно выдрать из старой техники. Единственное для удобства я использовал повышающий преобразователь для получения 13V нужных для высоковольтного программирования. Удобство заключается в том, что просто вставляете программатор в USB и работаете не заморачиваясь на необходимости подачи внешнего питания. Иначе просто можно подать это напряжение от внешнего блока питания и схема станет еще проще.

pic16f628a.jpg
programmator-avr-svoimi-rukami.jpg
 

Вложения

Изменено:

Комментарии

Stamp

★✩✩✩✩✩✩
12 Янв 2021
61
33
Если запрограммировать нужно 1-2 кристалла, нужно найти людей, которые занимаются электроникой автомобилей. У них есть программаторы, которыми можно прошить.
Если это не единичный случай, лучше купить в Китае PicKit и не мучаться.
 

enter

✩✩✩✩✩✩✩
26 Ноя 2021
3
1
Дак нет же тут по комментам вижу что многие люди капитально начали делать без всяких бредбордов, прямо на текстолит. Кто-то даже лутом воспользовался. И главное почти никто не смотрит список поддерживаемых чипов а их не так уж много.

Если у кого-то завалялся pic и не хочется тратится можно попробовать JDM, нужен лишь старый комп с рабочим COM портом (не usb-com адаптер).

Вот одна из самых простых схем

По сути 78L05 тут обеспечивает 5в на pic, есть также другие схемы со стабилитроном или внешним питанием.
Но JDM также как и вариант с arduino поддерживает далеко не все чипы.

K150 самый дешёвый pic программатор в продаже, раньше был дешевле, сейчас как и все взлетело, теперь стоит примерно 550 р., можно как вариант дождаться какой-то распродажи и купить еще дешевле.

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

Минимальная цена неоригинального pIckit, который вероятно не заработает в MPLAB - 950р., мало кто купит это для дома , скорее именно для работы.
 
Изменено:

Аллайя

✩✩✩✩✩✩✩
20 Июл 2021
11
1
@Stamp, а если это несколько случаев под разные контроллеры, да еще потом на дуине надо что-то сотворить?
Вернее нет, не так выразился, правильнее будет вот так: лежит у меня дуина под разные единичные случаи. И тут раз в год, а то и все десять мне понадобилось прошить МК. И чё, теперь из-за этого PicKit заказывать, который придет можт через месяц, а можт и через все два?
 

Stamp

★✩✩✩✩✩✩
12 Янв 2021
61
33
@Аллайя, А может завести друзей, которые раз в год прошьют чип?
а если это несколько случаев под разные контроллеры, да еще потом на дуине надо что-то сотворить?
Без проблем.
Я могу шить PIC, 8051, Cadence, Cypress, MCS96, MicroCHIP, Altera, Xilinx, STM32.
При этом я не занимаюсь этим профессионально.
Если хотите заниматься эпизодически на разных чипах. Ваши усилия бесполезны. Нужно выбрать какое то одно, два направления. А распыляться по разным контроллерам, бессмысленное занятие.
И повторюсь ещё раз, заведите людей среди тех, кто занимается чиптюнингом автомобилей. У них эти программаторы есть !!!
Если занимаетесь постоянно, не найдёте этой суммы?
 
Изменено:

creating21

✩✩✩✩✩✩✩
21 Дек 2021
2
1
Спасибо всем,понял что эт "шляпа")))Изначально просто был "гениальный" план:прошить два пика,а потом ардуинку в красивую свистоперделку на светодиодах превратить...)))
 
  • Лойс +1
Реакции: Аллайя

Eig

✩✩✩✩✩✩✩
3 Май 2021
38
2

@creating21,
вы сбросили константу OSCCAL, использовав оригинальный софт (а я предупреждал об этом, нужно было читать тему). Моя версия софта не исправляет эту константу, но и не сбрасывает ее. Для исправления нужен PicKit 2/3.
 

artem4840

✩✩✩✩✩✩✩
14 Янв 2022
2
0
Тоже хотел свой контроллер pic12f683 прошить, но его не поддерживает данная программа.
Решил подправить скетч, читаю даташит к своему МК, но не пойму какое значение ставить вместо вашего: 0x1380, (откуда взято это значение?). ВОТ из этой строчки: {s_pic16f917, 0x1380, 8192, 0x2000, 0x2100, 9, 256, 0, 0, FLASH4, EEPROM},
 

Аллайя

✩✩✩✩✩✩✩
20 Июл 2021
11
1
@artem4840, {s_pic12f683, 0x0460, 2048, 0x2000, 0x2100, 9, 256, 0, 0, FLASH4, EEPROM, MCLR_first}
Последний параметр - это режим входа в программирование HPP - сначала активация возможности внешнего сброса МК.
 
Изменено:

Аллайя

✩✩✩✩✩✩✩
20 Июл 2021
11
1
Появились дополнения к посту:
 

artem4840

✩✩✩✩✩✩✩
14 Янв 2022
2
0
@Аллайя, Спасибо. Контроллер pic12f683 распознался и прошился с первого раза, УРА. Затирать МК не стал, по соображению безопасности константы. Контроллер новый (перед прошивкой показывал FFF-ки) и только единственный, специально заказывал с Китая для самоделки. В схему пока не впаивал, заработает самоделка, отпишусь.
Большое спасибо, за готовую строчку: {s_pic12f683, 0x0460, 2048, 0x2000, 0x2100, 9, 256, 0, 0, FLASH4, EEPROM, MCLR_first} , но все таки хотелось бы знать, как ее получить, на будущее, вдруг возникнет нужда прошить pic контроллер, который данный программатор не поддерживает.
 

Аллайя

✩✩✩✩✩✩✩
20 Июл 2021
11
1
@artem4840, в моем первом посте про программатор PICKIT на Ардуино есть вложенный скетч, там все данные и комментарии какие Picи поддерживает.
Еще отдельно есть программатор ардуино для PIC18F2550 и PIC18F4550...
 
  • Лойс +1
Реакции: b522nd

b522nd

✩✩✩✩✩✩✩
18 Янв 2022
1
0
@Аллайя,
Приветствую Вас Аллайя!
очень нужно прошить одну PIC18F4550 поделитесь пожалуйста опытом!
 

Аллайя

✩✩✩✩✩✩✩
20 Июл 2021
11
1
@b522nd, там надо вместо резисторов на 200 Ом поставить резисторы на 220 Ом и по-минимуму подправить скетч. И еще - сами проги консольные...
 

Вложения

Эдуард Анисимов

★★★★★★✩
23 Сен 2019
2,413
976
58
Марий-Эл
@Stamp, Лучшей IDE я в жизни не видел.
Только проблема. Компиляторы С и С++ платные. Но мы же в России живём и знаем как пользоваться бесплатно.
 

ТехнарьКто

★★★★★✩✩
13 Янв 2020
270
438
@ТехнарьКто Здравствуйте, извините, а как создается программа и переводится в 16-тиричку?
Как тут бурно дискуссии идут :ROFLMAO:

Для создания программы открываете текстовый файл и пишете на любом языке программирования. Хоть блокнот windows. Затем написанные команды пропускаете через программу компилятор, которая переводит текст программы в машинные коды. Полученный файл записываете в память устройства. Все очень просто ;)

Для получения минимального размера, лучше всего использовать язык программирования называемый ассемблер. Следующим по объему получаемого файла в машинных кодах идет язык программирования "С". Для упрощения написания текста с программой сделаны всякие интегрированные среды разработки (Integrated development environment IDE). Интегрированы (входят в состав) чего либо. Обычно это дополнительные программы для проверки на ошибки написания операторов и компиляторы запускаемые из единого графического интерфейса. IDE еще называют как связанные инструменты разработки, такие как текстовый редактор, компилятор и тому подобное запускаемое из одного графического интерфейса. А например использование блокнота windows и отдельной программы компилятора является не связанными инструментами и поэтому не будет называться IDE. По большому счету, результат будет тот же самый. Естественно для разных языков программирования нужен свой переводчик в машинные коды, свой компилятор понимающий как из выбранного Вами языка программирования сделать машинные коды. При написании программы надо учитывать возможности процессора. Даже если Вы обманите компилятор, то полученная в машинных кодах программа на 20 килобайт все равно не влезет во флэш память какой ни будь ATtiny13. Другими словами, при написании программы надо учитывать как ограничения языка программирования так и ограничения процессора или микроконтроллера в зависимости для чего написана программа. Интегрированная среда разработки со встроенным компилятором и возможностью писать программы на языке Си "С" и сразу из этого получать файл с машинными кодами с возможностью записи в "Arduino UNO" и тому подобными, называется Arduino_IDE. В простейшем случае для начинающих, устанавливаете Arduino IDE в котором пишете программу для ардуины и этим же Arduino_IDE делаете 16-тиричку которая в виде файла будет в каталоге TEMP пока не закроете программу Arduino_IDE.

PS Извините, что получилось так длинно.
 
  • Лойс +1
Реакции: Stamp и Lumenjer

johni5

✩✩✩✩✩✩✩
13 Май 2021
13
2
Как думаете, на LGT8F328P без переделок скетча программатор заработает?
 

johni5

✩✩✩✩✩✩✩
13 Май 2021
13
2
Нашел время и собрал на макетке сей программатор на LGT8F328P (чисто из любопытства). Питание для 12F629 подал не напрямую, а с управляющего цифрового пина (номера говорить смысла нет так как я их все переопределил). Итог: определился и заработал с первого раза, увидел PIC, честно его распознал, операции чтения, стирания, записи прошли без проблем. В добавок сделал повышайку (схема в этой теме была) и зацепил на 9 пин, хотя номиналы были немного другими, но 12В удалось получить. Работоспособность не пропала, а вот от повышающего внешнего DC-DC удалось избавится. Так что смело используйте LGT8F328P, ценник на него у китайцев пока в пределах разумного.
 
  • Лойс +1
Реакции: Аллайя

Аллайя

✩✩✩✩✩✩✩
20 Июл 2021
11
1
В добавок сделал повышайку (схема в этой теме была) и зацепил на 9 пин, хотя номиналы были немного другими, но 12В удалось получить. Работоспособность не пропала, а вот от повышающего внешнего DC-DC удалось избавится. Так что смело используйте LGT8F328P, ценник на него у китайцев пока в пределах разумного.
PWM-повышайку не из моего поста схемку часом брали?
Если так, то на здоровье пользуйтесь, а то цены на корпусные DC-DC-ы уж сильно кусачие...:)
 

apecks

✩✩✩✩✩✩✩
10 Июн 2022
5
2
Всем здрасьте! Прошил свой новый 16F628A данным устройством. Всё удачно. Перед записью выполнил Erase.
Пытаюсь записать другую прошивку - выдаёт ошибку WRITE ERROR TO DEVICE - ERASE FIRST. В чём может быть проблема? Сейчас в конфигурации 3FFF. Первый раз был другой адрес (точно не помню какой).