Последние комментарии
Ролик 20 апреля 2024 в 20:18
У меня бомбит
Marhmelo 22 ноября 2023 в 17:50
У меня бомбит
Пётр 29 июля 2023 в 12:58
Вот как то так
Vladimir 28 марта 2023 в 18:22
Работы над мотором

Программатор для PIC-контроллеров

Автор
Опубликовано: 4031 день назад (10 июля 2013)
Редактировалось: 20 раз — последний 8 октября 2015
Описываемый программатор очень пригодился при программировании контроллеров 12F683 для зажигания. Первоначальная схема мной взята отсюда, но т.к. у меня уже был стабилизированный блок питания 12 вольт от зарядного устройства, а также отсутствовала необходимая для исходной схемы микросхема стабилизатора с управлением 78R12C, то я немного переделал исходную схему.

Схема моего программатора:

""

(На схеме нарисован полевой транзистор IRF4905 и с ним будет прекрасно работать, но я у себя поставил 2SJ598 из-за его меньших размеров)

Соответственно, нарисовал свою печатную плату:

""


По просьбам трудящихся убрал "лишнее" с платы и добавил этот сокращенный вариант в файл:

""

Скачать файл с этими печатными платами.

Из схемы тоже убрал лишние панельки.

""

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

А так выглядит уже готовый программатор:

""

Кабель распаян чисто как удлинитель и в качестве провода использован двух-метровый 10-ти жильный шлейф, из которых 9 идут на контакты, а десятая жилка соединяет корпуса разъемов. Автор программатора заострял внимание, что надо корпуса соединить между собой и подключить этот же контакт на общий провод схемы.

А вот мини-версия программатора:

""


Схема с блоком питания(добавлен стабилизатор L7812):

""

Стабилизатор на плате разместился без переразводки. Просто разрезал дорожку 12 вольт, которая идет к стоку полевика и выводы удачно припаялись к дорожкам. Также спаял вместе корпуса VR1 и добавленного VR3.

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

Кинулся, а дома ни каких подходящих блоков питания на 12 вольт не нашлось, но зато в наличии куча зарядок от всяких девайсов. Разобрал несколько зарядок и самой подходящей показалась от Нокии AC-8E. Схемы в интернет не нашлось, но особо это не расстроило. Принцип работы у всех почти одинаков, т.е. надо было просто поиграть обратной связью. В данном случае за стабилизацию отвечает стабилитрон на 5,6 вольта. Попробовал просто поменять на 12 вольтовый, получилась фигня. Где-то видимо есть еще контроль от перегрузки и напряжение выше 8-ми вольт не выдается. Ладно, тогда пойдем другим путем - просто домотаем трансформатор.

Плата с выпаянным трансформатором:

""



""



Разобрал трансформатор. Кстати, разбирается он, как и в энергосберегающих лампочках, при помощи нагрева паяльником сердечника. В трансформаторе обнаружились две вторичные обмотки по 6 витков в один слой(первичную не трогал). Провод оказался по меди диаметром 0,5 мм, но покрыт какой-то толстой оболочкой, т.е. толщиной 0,7 мм.

""


Смотал эти витки и намотал в два слоя тоже две обмотки новым проводом 0,5 мм по 13 витков. Собрал, склеил суперклеем. Сначала поставил стабилитрон на 12 вольт, но на выходе оказалось 13,75 вольт, видимо, из-за необходимого напряжения для открытия оптрона+ напряжение стабилитрона. Тогда поменял стабилитрон на 13 вольтовый и на выходе стало почти 15 вольт и при таком раскладе ток до 200 mA держит спокойно. Осталось только для получения 12 вольт прямо на программаторе поставить L7812. Попробовал прошить микросхемы - работает отлично.

Для работы с программатором использую beta версию WinPICPgm Programmer, у которого есть некоторая особенность, что он иногда "не видит" программатор. Чтобы он его "увидел", необходимо зайти в Hardware->Hardware Selection/Configuration и выбрать JDM Programmer и нажать OK. Бывает, что уже стоит JDM Programmer при включении программы, но программатор не определяется. В этом случае опять зайти в меню выбора программатора и выбрать Autodetect Programmer и нажать OK, после чего зайти туда же еще раз и выбрать JDM Programmer. В том же меню надо установить инверсию сигналов Clock, Data in и Data out.

ЗЫ. Вопрос о переделке зарядок на другие напряжения встречается в интернет очень часто, но решений как правило предлагают очень мало, т.к. без схемы в основном разводят руками. Так что вот одно из решений без схемы. :)
Комментарии (10)
мастер катюпка # 18 июля 2013 в 22:49
я для avr делал
Squish # 28 июля 2013 в 23:17
Спасибо за программатор. Работает нормально. Но, с проверкой на работоспособность 12f683, из трёх один только нормальный с тестом этой программой.
Интересно, у вас тоже какое несоответствие было? Там какие то времена 51мкс, а если больше?
omich # 29 июля 2013 в 00:00
В теме про зажигание я говорил, что один ПИК не захотел ни в какую работать, хоть и прошивается и верифицируется нормально. Остальные, сколько не прошивал и заново перепрошивал, пашут отлично как в корпусе DIP8, так и SOIC8. Почему не пашет тот один, я не разбирался, т.к. знаком с ПИКами очень поверхностно и, фактически, просто применил разработку nyemi для работы в зажигании Дэшки.
Работоспособность ПИКа можно проверить очень просто даже не собирая схему. Тут я без схемы зажигания проверял работоспособность ПИКа в корпусе SOIC8, чтобы впаять заведомо рабочий.
Было бы интересно, если кто-нибудь знающий пролил свет на причину отказа работать некоторых ПИКов. Те же, которые работают, то работают отлично и стартуют очень уверенно даже при очень плавном появлении питания. Где-то там же в теме я еще испытывал ПИКи на минимальное напряжение питания. Тот же, который не захотел работать, не работает хоть при резком появлении питания, хоть при плавном, т.е. может у него что-то с внутренним генератором не в порядке и очень может быть, что для каких-нибудь других применений он заработает с внешним кварцем, но это только мои догадки.
Squish # 29 октября 2013 в 21:59
Наверно никто непробовал поменять характеристику. Итак пробовал запустить программатор с уже прошитом ПИКе, и, никак. Ножка 7(датта) с низким уровнем и всё. Дальше некуда. Без ПИКа всё нормально.
Пробовали перешить этот ПИК? Вприципе всё получается правильно. Низкий уровень на 7 ножке должен на ПИКе, как запрограммирован.
Какой программатор у Nyemi, наверно другой.
omich # 29 октября 2013 в 23:17
Что-то я не понял о чем речь. Пробовал ли я перепрошить ПИК, который тупит? Да пробовал, он перепрошивается и верифицируется нормально, но в схеме упорно не желает работать. Такой странный ПИК пока из всех только один встретился. Остальные все программируются без проблем и прекрасно работают в зажигании. Программирую именно этим программатором полной версии, а какой использует nyemi, я не знаю. Я знаю, что augism использовал программатор USB PIC K150 и у него ПИКи прошились и тоже работают в зажигании без проблем.

Для программирования я использую PICPgm(ссылка есть выше) и в ней выставлены вот такие настройки:

""
leshij # 13 июня 2014 в 12:33
Пару лет назад заказал с Алиэкспресса 10 штук PIC12F675. Вместо них пришли МК с маркировкой PIC12F683, объёмы памяти соответствовали 683, но аппаратный ШИМ не работал. Т.е. нечто среднее между 675 и 683.

Шил модифицированным НТВ программатором (JDM Тимофея Носова, к которому добавил внешнее питание), теперь шью LPT программатором.
Squish # 30 ноября 2013 в 00:45
Получилось запустить программатор, стабилизатор VR2 подключил к выходу ключа VT4. С7 меньше надо. Работает хорошо теперь. Как надо. Теперь доволен.
Перешил Пики нормально.
omich # 30 ноября 2013 в 09:11
Очень странная переделка. На выходе ключа идут импульсы во время программирования или чтения, а в другое время там просто нет напряжения. Понятно тогда почему C7 меньше надо - иначе не будет напряжения на программируемой микросхеме при первом импульсе. Неправильно это.
Squish # 9 декабря 2013 в 21:20
""

http://forum.radiospec.ru/index.php?showtopic=869&mode=threaded&pid=5873
Есть схемы где так. Пик ставим в гнездо, обезточенном (программатор включён). Когда даём команду, сперва подаётся питание (оно меньше), после наряжение программирования достигает 13вольт.
Схема без инверсии (схема изменена), все галочки инверсии сброшены. Наверно будет работать и с пиком прямо в схеме, невыпаивая.
omich # 13 июня 2014 в 11:27
Получил сегодня из Китая программатор "USB PIC K150 Programmer". Дров в комплекте не было, но они легко нашлись в интернете. Попробовал программировать 12F683 - программатор справился без проблем. ПО родное для программатора. Единственное, что сбило сначала с толку, так это окошко с красным крестом при включении ПО, но оказалось это не ошибка, а так они напоминают проверить настройки программатора.
Как недостаток ПО(которое, кстати, не обновлялось с 2007 года), можно отметить, что назначить COM-порт можно только от 1 до 9, а у меня сначала программатор встал на COM12 и пришлось разруливать всякие блютусы и УПСы, чтобы освободить порт с меньшим номером, чтобы назначить в программе. В остальном все отлично.
Так что, кому лень собирать свой программатор, да к тому же COM порт нынче есть далеко не везде, то рекомендую этот простенький и дешевый USB программатор.