Наш магазин на eBay Наш магазин на AliExpress Наш канал в telegram

Программатор PIC-контроллеров "PROGOPIC"

Посидел, подумал, посмотрел какой радиохлам есть в наличии и решил разработать и собрать собственный вариант программатора PIC-контроллеров. Получилось довольно неплохо и абсолютно бесплатно (всё необходимое было выпаяно со старой материнской платы). Получившийся программатор позволяет успешно программировать контроллеры PIC12, PIC16 через последовательный порт компьютера. Для работы ему требуется внешнее питание +12..+14 В. Схему и описание смотрите ниже.

Наличие внешнего питания обеспечивает этому программатору следующие преимущества:

1) возможность очень точно задавать требуемое напряжение программирования (важно для некоторых моделей PIC);

2) программатор не перегружает COM-порт и может работать даже с теми портами, напряжение на которых сильно занижено вследствие некоторой прожаренности или которые изначально не соответствуют спецификации RS-232 (на большинстве ноутбуков и вообще на многих современных компьютерах напряжение на COM-порту менее 10 Вольт).

3) программатор может работать с PCI-ными платами расширения COM-портов и с преобразователями интерфейсов USB to COM (у многих из них вообще со стороны COM-порта TTL уровни).

Схема:

Схема программатора "PROGOPIC"

Детали и описание работы:

R1, R2, R3=1,5 кОм, D1 — светодиод для индикации питания.
C1, C2 — обвязка стабилизатора, 0,1 и 47 мкФ соответственно.

Основной частью программатора является микросхема GD75232, выпаянная из старой материнской платы. Она занимается развязкой линий порта и преобразованием уровней RS-232 <-> TTL. Остановимся на этой микрухе по-подробнее. Микруха имеет 5 приемников (преобразуют уровни RS232 в TTL) и 3 драйвера (преобразуют TTL в RS232). Для работы ей требуется аж 3 напряжения: +12В, +5В и -12В. Однако, вся фишка заключается в том, что схемы драйверов и схемы приёмников у этой микрухи абсолютно никак между собой не связаны. Поэтому смело можно заземлить те ноги, которые отвечают за драйверы (+12В, -12В, входы и выходы драйверов) и использовать только приёмники. Для работы схемы приёмников нам достаточно однополярного питания +5В. Можно использовать любой клон этой микросхемы (всё, что с маркировкой 75232). Вероятнее всего, можно также использовать микросхемы 75185. Схемы их внутреннего устройства я не нашёл, но, судя по описанию, они с 75232 братья близнецы.

Правильный алгоритм подачи напряжений обеспечивается микросхемой стандартной логики 74HCT00 (2И-НЕ), которых также полно на старых материнках. Один вентиль используется для формирования напряжения питания. У других вентилей одна нога соединена с выходом, на котором формируется напряжение питания, а на вторую ногу подаётся сигнал Clock или Data. Таким образом вентили начинают пропускать сигналы Clock и Data только после того, как появится питание +5В. Вместо 74HCT00 можно взять 74ACT00.

Напряжение +12,5 В подаётся на программируемую микросхему постоянно с момента включения программатора. Для питания GD75232 и 74HCT00 используется линейный стабилизатор LS7805. Схема нарисована для стабилизатора в 8-ми ногом корпусе SOIC, но можно взять и обычный 3-х ногий стабилизатор.

Для питания этого программатора от батареек был разработан преобразователь напряжения 4..10В/14В, 100 мА.

Я успешно программирую этим программатором контроллеры PIC12F629, PIC16F628A. В принципе, этот программатор (в представленном варианте) должен программировать любые контроллеры, для которых подходит алгоритм перевода в режим программирования «Vpp-first» (только надо обратить внимание, где расположены используемые для программирования ноги). Справочные данные о том, какие контроллеры какой алгоритм поддерживают, можно найти здесь.

Плата состоит из двух модулей: на одном реализована схема программатора, а на другом разведены дороги под разные контроллеры.

Скачать печатную плату (DipTrace2.0)

Готовый девайс:

Программатор "Progopic" (фото)

Программы для прошивки контроллеров, можно скачать в разделе "Полезные программы для ПК". При прошивке выбрать тип программатора JDM.

Поскольку один из моих товарищей сказал, что программатор обязательно должен как-нибудь называться, то (по его же предложению) программатор был назван "PROGOPIC".

Можно ли этот программатор улучшить? Да конечно можно, но поскольку пока я не работал с контроллерами, которые бы не получилось им запрограммировать, то зачем это нужно. Как только придётся столкнуться с другими контроллерами, появится "PROGOPIC II", а пока я и этим доволен.

Как сделать свой вариант JDM-программатора для PIC-контроллеров

Слегка модернизированный вариант PROGOPIC (схема чуть посложнее, зато, благодаря встроенному импульсному преобразователю, имеет довольно широкий диапазон напряжения питания + есть возможность программировать микросхемы памяти)

Если лень или некогда собирать — Вы можете заказать недорогой универсальный программатор (PIC, AVR, EEPROM) прямо у нас на сайте

Комментарии 2

Добавить комментарий