Главная » Микроконтроллеры
Призовой фонд
на январь 2017 г.
1. 5000 руб.
Академия Благородных Металлов
2. 1000 руб.
Radio-Sale
3. Регулируемый паяльник 60 Вт
Паяльник
4. 600 руб.
От пользователей
5. Тестер компонентов LCR-T4
Паяльник

Похожие статьи:


Простой USB программатор PIC

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

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

Программатор EXTRA-PIC

Я подумал, если использовать usb адаптер, то будет очень глупо делать два раза преобразование уровней usb в usart TTL, TTL в RS232, RS232 обратно в TTL, если можно просто взять TTL сигналы порта RS232 из микросхемы usb-usart преобразователя.

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

Выводы: программатор достаточно простой, в нём нет дорогостоящих деталей (CH340 - 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 МикросхемаCH340G1 Поиск в FivelВ блокнот
IC2 МикросхемаК1533ЛА31 Поиск в FivelВ блокнот
VR1 Линейный регулятор
LM7812
1 Поиск в FivelВ блокнот
VR2 Линейный регулятор
LM7805
1 Поиск в FivelВ блокнот
VT1 Биполярный транзистор
КТ502Е
1 Поиск в FivelВ блокнот
VT2 Биполярный транзистор
КТ3102Е
1 Поиск в FivelВ блокнот
VD1-VD3 Выпрямительный диод
1N4148
2 Поиск в FivelВ блокнот
C1, C2, C5-C7 Конденсатор100 нФ5 Поиск в FivelВ блокнот
C3, C4 Конденсатор22 пФ2 Поиск в FivelВ блокнот
HL1-HL4 СветодиодЛюбой4 Поиск в FivelВ блокнот
R1, R3, R4 Резистор
1 кОм
3 Поиск в FivelВ блокнот
R2, R5, R6 Резистор
4.7 кОм
3 Поиск в FivelВ блокнот
R7, R8 Резистор
300 Ом
2 Поиск в FivelВ блокнот
ZQ1 Кварц12 МГц1 Поиск в FivelВ блокнот
Добавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

Теги:

Опубликована: 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (8) | Я собрал (0) | Подписаться

0
Публикатор #
На форуме автоматически создана тема для обсуждения статьи.
Ответить
0
TM #
Боюсь огорчить автора, но это далеко не простой программатор так как вы уже использовали лишние детали. Зачем вам 7805, если вы питаетесь от USB? Инвертировать сигнал тоже необязательно, это можно сделать программно. И напоследок, этот программатор не будет шить микроконтроллеры с определённой комбинацией вывода MCLR, так что вы сможете запрограммировать только чистый контроллер.
Ответить
0

[Автор]
AndrejChoo #
Дополнительный 7805 использован потому что в оригинальном экстрапике питание 5 вольт так же сделано отдельно для прошиваемой мс и логики (см схему, там 2 7805). Про инверсию mclr я писал выше, мне так удобнее, чтобы не настраивать в каждой программе галочки. И напоследок, я перепрошивал запрограммированных pic16f628a, выпаянный из старой схемы (причём несколько раз перепрошивал) и всё было успешно.
Ответить
0

[Автор]
AndrejChoo #
Специально заморочился для скептиков и сделал адаптер для имеющихся у меня pic16f84a и pic16f73 в SO корпусах. Оба МК б/у и шились неоднократно. Так вот прошивка прошла с первого раза на ура.
Прикрепленный файл: IMG_20161218_102230.jpg
Прикрепленный файл: IMG_20161218_101233.jpg
Прикрепленный файл: IMG_20161218_102204.jpg
Ответить
0
Олег #
Возьмите прошивку для например 12F629 с использованием вывода MCLR в качестве порта и попробуйте потом её стереть/перезаписать.
Ответить
0

[Автор]
AndrejChoo #
Не понимаю смысл задачи. У меня нет пика 12f629. А если взять прошивку от него изалить в другой пик, то прошивка будет неудачной из-за неподходящих битов конфигурации. Читайте внимательно статью. Это программатор jdm со всеми его достоинствами и недостатками. Его алгоритмы работы ничем не отличаются от extrapic, кроме скорости работы.
Ответить
0
krian #
Здравствуйте, вы могли бы дать ссылку где схема есть крупнее, т.к. здесь плохо видно? Или отправить в личку. На печатной плате для CH340G для smd разведено? Им можно прошить pic16f648A? Спасибо.
Отредактирован 08.01.2017 17:35
Ответить
0

[Автор]
AndrejChoo #
Ch340 в smd (в других корпусах не бывает). На счёт pic16f648a 100% не скажу, у меня такого нет, чтобы попробовать, но думаю, что он отличается от 628-но только объёмом памяти, поэтому проблем не должно быть. Схему крупнее сейчас добавлю в следующем сообщении.
Хотя, если в статье нажать на картинку, она увеличится.
Отредактирован 08.01.2017 21:25
Прикрепленный файл: extrapic.JPG
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется сила тока?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Pickit 2 - USB-программатор PIC-микроконтроллеров
Pickit 2 - USB-программатор PIC-микроконтроллеров
Автомобильный GPS-трекер с GSM/GPRS и дистанционным управлением Бокс для хранения компонентов
вверх