Андроид. Windows. Антивирусы. Гаджеты. Железо. Игры. Интернет. Операционные системы. Программы.

Универсальный usb программатор мк своими руками. Программаторы микроконтроллеров AVR. Собрать COM программатор не составит труда

Я немного увлекся гальванопластикой (про это еще расскажу), и для нее мне понадобился новый блок питания. Требования к нему примерно такие – 10А выходного тока при максимальном напряжении порядка 5В. Конечно-же, взгляд сразу упал на кучу ненужных компьютерных блоков питания.

Конечно, идея переделать компьютерный блок питания в лабораторный не нова. В интернетах я нашел несколько конструкций, но решил, что еще одна – не помешает. В процессе переделки, я сделал просто дофига ошибок, поэтому, если решитесь сделать и себе такой блок питания, учитывайте их, и у вас получится лучше!

Внимание! Несмотря на то, что складывается впечатление, что этот проект — для новичков, ничего подобного – проект довольно сложный! Имейте ввиду.

Конструкция

Мощность того блока питания, который я вытащил из-под кровати – 250Вт. Если я сделаю БП 5В/10А, то пропадает драгоценная моща! Не дело! Подымем напряжение до 25В, может сгодится, к примеру, для зарядки аккумуляторов – там нужно напряжение порядка 15В.

Для дальнейших действий нужно сначала найти схему на исходный блок. В принципе, все схемы БП известны и гуглятся. Что именно нужно гуглить – написано на плате.

Мне мою схему подкинул друг. Вот она. (Откроется в новом окне)

Да-да, нам придется лазить во всех этих кишках. В этом нам поможет даташит на TL494

Итак, первое, что нам нужно сделать – проверить, какое максимальное напряжение может выдать блок питания по шинам +12 и +5 вольт. Для этого удаляем предусмотрительно помещенную производителем перемычку обратной связи.

Резисторы R49-R51 подтянут плюсовой вход компаратора к земле. И, вуаля, у нас на выходе – максимальное напряжение.

Пытаемся стартовать блок питания. Ага, без компьютера не стартует. Дело в том, что его нужно включить, соединив вывод PS_ON с землей. PS_ON обычно подписан на плате, и он нам еще понадобится, поэтому не будем его вырезать. А вот непонятную схему на Q10, Q9 и Q8 отключим – она использует выходные напряжение и, после их вырезания не даст нашему БП запуститься. Мягкий старт у нас будет работать на резисторах R59, R60 и конденсаторе C28.

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

Внимание! Выходные напряжения – больше тех, на которые рассчитаны выходные конденсаторы, и, поэтому, конденсаторы могут взорваться. Я хотел поменять конденсаторы, поэтому мне их было не жалко, а вот глаза не поменяешь. Аккуратно!

Итак, подучилось по +12В – 24В, а по +5В – 9.6В. Похоже, запас по напряжению ровно в 2 раза. Ну и прекрасно! Ограничим выходное напряжение нашего БП на уровне 20В, а выходной ток – на уровне 10А. Таким образом, получаем максимум 200Вт мощи.

С параметрами, вроде бы, определились.

Теперь нужно сделать управляющую электронику. Жестяной корпус БП меня не удовлетворил(и, как оказалось, зря) – он так и норовит поцарапать что-то, да еще и соединен с землей (это помешает мерить ток дешевыми операционниками).

В качестве корпуса, я выбрал Z-2W, конторы Maszczyk

Я измерил излучаемый блоком питания шум – он оказался вполне небольшим, так что, вполне можно использовать пластиковый корпус.

После корпуса я сел за Corel Draw и прикинул, как должна выглядеть передняя панель:

Электроника

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

В качестве основного источника питания для своей электроники я выбрал standby источник. Было замечено, что если его хорошенько нагрузить, то он перестает пищать, поэтому идеальными оказались 7-сегментные индикаторы — и блок питания подгрузят и напряжение с током покажут.

Фальш-панель :

На ней индикаторы, потенциометры, светодиод. Для того, чтобы не тащить кучу проводов к 7-сегментникам, я использовал сдвиговые регистры 74AC164. Почему AC, а не HC ? У HC максимальный суммарный ток всех ножек – 50мА, а у AC – по 25мА на каждую ножку. Ток индикаторов я выбрал 20мА, тоесть 74HC164 точно бы не хватило по току.

Управляющая электроника – тут все слегка посложнее.

В процессе составления схемы, я конкретно налажал, за что и поплатился кучей перемычек на плате. Вам-же предоставляется исправленная схема.

Если кратко, то – U1A – диф. усилитель тока. При максимальном тока, на выходе получается 2.56В, что совпадает с опорным у АЦП контроллера.

U1B – собственно токовый компаратор – если ток превышает порог, заданный резисторами, tl494 “затыкается”

U2A – индикатор того, что БП работает в режиме ограничения тока.

U2B – компаратор напряжения.

U3A, U3B – повторители с переменников. Дело в том, что переменники относительно высокоомные, да еще и сопротивление их меняется. Это значительно усложнит компенсацию обратной связи. А вот если их привести к одному сопротивлению, то все становится значительно проще.

С контроллером все понятно – это банальная атмега8, да еще и в дипе, которая лежала в загашнике. Прошивка относительно простая, и сделана между паяниями левой лапой. Но, нем не менее, рабочая.

Контроллер работает на 8МГц от RC генератора (нужно поставить соответствующие фюзы)

По хорошему, измерение тока нужно перенести на “высокую сторону”, тогда можно будет мереть напряжение непосредственно на нагрузке. В этой схеме при больших токах в измеренном напряжении будет ошибка до 200мВ. Я слажал и каюсь. Надеюсь, вы не повторите моих ошибок.

Переделка выходной части

Выбрасываем все лишнее. Схема получается такой (кликабельно):

Синфазный дроссель я немного переделал – соединил последовательно обмотку которая для 12В и две обмотки для 5в, в итоге получилось около 100мкГн, что дофига. Еще я заменил конденсатор тремя включенными параллельно 1000мкФ/25В

После модификации, выход выглядит так:

Настройка

Запускаем. Офигиваем от количества шума!

300мВ! Пачки, похоже на возбуждение обратной связи. Тормозим ОС до предела, пачки не исчезают. Значит, дело не в ОС

Долго тыкавшись, я нашел, что причина такого шума – провод! О_о Простой двужильный двухметровый провод! Если подключить осциллограф до него, или включить конденсатор прямо на щуп осциллографа, пульсации уменьшаются до 20мВ! Это явление я толком не могу объяснить. Может, кто-то из вас, поделится? Теперь, понятно что делать – в питающейся схеме должен быть конденсатор, и конденсатор нужно повесить непосредственно на клеммы БП.

Кстати, насчет Y – конденсаторов. Китайцы сэкономили на них и не поставили. Итак, выходное напряжение без Y-конденсаторов

А теперь – с Y конденсатором:

Лучше? Несомненно! Более того, после установки Y – конденсаторов сразу-же перестал глючить измеритель тока!

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

Обратная связь.

Про нее я написал , читайте

Охлаждение

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

В сборке стоят обычные диоды, я думал заменить их диодами Шоттки. Но обратное напряжение на этих диодах оказалось порядка 100 вольт, а как известно, высоковольтные диоды шоттки не намного лучше обычных диодов.

Поэтому, пришлось прикрутить кучу дополнительных радиаторов (сколько влезло) и организовать активное охлаждение.

Откуда брать питание для вентилятора? Вот и я долго думал, но таки придумал. tl494 питается от источника напряжением 25В. Берем его (с перемычки J3 на схеме) и понижаем стабилизатором 7812.

Для продуваемости пришлось вырезать крышку под 120мм вентилятор, и прицепить соответствующую решетку, а сам вентилятор поставить на 80мм. Единственное место, где это можно было сделать – это верхняя крышка, а поэтому конструкция получилась очень плохая – с верху может упасть какая-то металлическая хрень и замкнуть внутренние цепи блока питания. Ставлю себе 2 балла. Не стоило уходить от корпуса блока питания! Не повторяйте моих ошибок!

Вентилятор никак не крепится. Его просто прижимает верхняя крышка. Так вот хорошо с размерами я попал.

Результаты

Итог. Итак, этот блок питания работает уже неделю, и можно сказать, что он довольно надежен. К моему удивлению, он очень слабо излучает, и это хорошо!

Я попытался описать подводные камни, на которые сам нарвался. Надеюсь, вы не повторите их! Удачи!

Рассказать в:
Регулируемый блок питания с компьютерного блока питания АТХ (АТХ- это с дежуркой) Имеется масса информации в интернете о переделке блока питания (БП) от компьютера тип АТ и АТХ. Но я решил выделить наиболее важную информацию и составить совою статью из всего, что нашел в интернете специально для сайта cxema.my1.ru В первую очередь смотрим на качество собранного БП «Китайцами)))». Нормальный БП должен выглядеть примерно так На что стоит обратить внимание, это на высоковольтную часть БП. Там должны стоять сглаживающие конденсаторы и дросселя (Они сглаживают импульсный выброс в сеть), так же на диодный мостик он должен быть не менее 2А и конденсаторы после моста (Я обычно ставлю по 680 мкФ/200В или 330 мкФ/200В исходя из востребованной мощности), если вы хотите получить с БП 300 Вт (30В/10А) то нужно ставить не меньше 600 мкФ. Естественно нужно обратить внимание на силовые ключи Q1-2 и демпферную цепь С8R4. Q1-2 обычно ставим MJE13007- MJE13009 (Есть статьи и о переделке схемы под полевые транзисторы). Демпферная цепь С8R4, я заметил, что при регулировке БП R4 этой цепи сильно греется, решилось подбором С8. Далее переделку БП нужно продолжать с внимательного изучения схемы самого БП (хотя схемы почти одинаковы, но все же стоит) от этого зависит вся последующая работа. Необходимо обратить особое внимание на несколько вещей в изучении схемы: система защиты (4-й вывод ШИМ-контроллера), Система Power Good (ее можно просто убрать), усилитель ошибок по току (15,16,3 выводы ШИМ), усилитель ошибок по напряжению (1,2,3 выводы ШИМ) и также выходная цепь БП (Тут нужно будет переделывать все). Рассмотрим по порядку каждый пункт. Системы защиты (4-й вывод) Схема взята из статьи Голубева drive2.ru
Это типичная схема (Хотя бывают и другие), что тут происходит. При увеличении нагрузки на инверторе свыше допустимой, увеличивается ширина импульсов на среднем выводе развязывающего трансформатора T2. Диод D1 детектирует их, и на конденсаторе C1 увеличивается отрицательное напряжение. Достигнув определённого уровня (примерно -11 В), оно открывает транзистор Q2 через резистор R3. Напряжение +5 В через открытый транзистор поступит на вывод 4 контроллера, и остановит работу его генератора импульсов. Из схемы выпаиваются все диоды и резисторы, подходящие от вторичных выпрямителей к базе Q1, и устанавливается стабилитрон D3 на напряжение 22 В (Или большего напряжения), например, КС522А, и резистор R8. В случае аварийного увеличения напряжения на выходе блока питания выше 22 В, стабилитрон пробьётся и откроет транзистор Q1. Тот в свою очередь откроет транзистор Q2, через который на вывод 4 контроллера поступит напряжение +5 В, и остановит работу его генератора импульсов. Если вам не нужна защита, то можно просто все выпаять и замкнуть вывод 4 на корпус через резистор (схема будет ниже). Система Power Good - я обычно ее просто выпаиваю. Усилитель ошибок по току (15,16,3 выводы ШИМ) - это и есть регулировка выходного тока. Но не значит что на этом можно не переживать о защите от КЗ. Усилитель ошибок по напряжению (1,2,3 выводы ШИМ) - Это регулировка выходного напряжения. Об этих двух вещах и пойдет дальше речь т.к. одно из самых главных вещей в этом деле. И так регулировка напряжения. (Тут же схема защиты)
Эта схема составлена без регулировки тока. 14-й вывод ШИМ - это опорное напряжение. А выводы 2,1 это входа ОУ по напряжению. Вся регулировка осуществляется с помощью делителей напряжения. На вывод 2 мы подаём образцовое напряжение с 14-го вывода через делитель R5R6 по 3,3 кОм. Данный делитель рассчитан на напряжение 2,4В. Далее выходное напряжение со вторичной цепи нам нужно подать на первый вывод ШИМ и также через делитель, но уже через переменный. Переменный резистор R1 и постоянный R3. На моем БП вышла регулировка от 2-24 Вольт. Напряжение на выходе зависит еще и от силового трансформатора и выходной цепи, но об этом позже. Вернемся к нашей Шимке, настройка регулировки напряжения на этом не заканчивается. Нам нужно еще обратить внимание на 3 вывод ШИМ, это выход ОУ и ему нужно сделать ООС на 2 ногу для плавной регулировки и убрать шум, треск и прочий не приятный звук трансформатора. У меня она собрана на C4R3 и C1. Хотя за частую хватает и C4R3, но из-за множества разнообразия «китайских делателей», нужно иногда добавлять кондерчик обычно на 1мкф хватает, но иногда доходит и до 5мкф. Цепи C4R3 и C1 нужно подбирать так чтобы не было шума в тр-ре, но если все же он остается, то нужно обратить внимание на дроссель вторичной цепи, бывает нарушение сердечника, но об этом мы еще поговорим. Да о защите, я ее тут убрал и поставил резистор на 2 кОм R4. Теперь о регулировке тока В принципе регулировка тока, это тоже регулировка напряжения. С помощью делителя, но только тут уже изменяется опорное напряжение и идет слежение падения напряжения на амперметре (или шунте). В принципе нечего нового нет относительно регулировки напряжения нет, только С1 нужен обязательно и возможно последовательно ему нужно будет добавить резистор, но это уже зависит от ШИМ и Тр-ра. Общая схема регулировки работоспособна на 100% проверенная практике, если у вас схема не работает стабильно или не совсем правильно значит нужно: 1. Подобрать номиналы под Вашу ШИМ и тр-р, 2. Искать ошибки в сборке и дорабатывать. Опять же повторяюсь на практике показало, что китайские ШИМ и БП в целом реагируют на изменения в схемах по-разному. Все нужно настраивать методом подбора и расчётов. В БП АТХ питание ШИМ и разделительного трансформатора осуществляется с Дежурного питания оно может достегать 25 В и подается в цепь 12 вывода ШИМ. Многие считают что диод во вторичной цепи Силового ТР-РА идущий на 12 вывод нужно убирать. Я считаю, что лучше оставить эту цепь, это дает дополнительную уверенность сохранения силовых ключей при выходе их строя дежурного питания. Теперь о вторичной цепи Наилучшая схема переделки мне показалась С. Голубева (Driver2.ru)
Хотя вентилятор на пяти вольтовую обмотку не повесить, потому что там также будет изменяться напряжение, да и еще не нет обратной связи с ШИМ и поэтому да при нагрузке с током в 0,15А напряжение будет падать ощутимо. Теперь о самой схеме выходного напряжения. Менять распиновку тр-ра и ставить диодный мост нет смысла. Т.к. напряжение увеличиться, а мощность падает. Поэтому я предпочитаю такую схему, да и потом переделок меньше. Выпрямительные диоды D3 должны быть на ток не менее 10 А и обратное напряжение не менее 200 Вольт. Это могут быть STPR1020CT,F12C20.ER1602CT. Диод D4, это и есть (как я называю) вспомогательная цепь питания ШИМ и Защиты Vcc и Vdd. Индуктивность L1 кольцевой при желании можно оставить старый (Если конечно он работает нормально), но я перематываю тем же проводом + провод с пяти вольтовой цепи. Индуктивность L2 обычно оставляю без измерения. Конденсаторы C5C6 не стоит ставить номиналом более 2200 мкф нет смысла. Я обычно ставлю по 1000мкф и хватает вполне. Неполярные С4С7 можно при желании поднять до 1 мкф, но я также не увидел большой разницы. А вот резистор R5 не стоит ставить менее 300 Ом будет просто греться при напряжении более 10 В, но и не более 500 Ом. Этот резистор дает так сказать балансировку БП. Вот собственно и все самое главное в переделке БП. Акцентирую опять же внимание на том, что не все БП легко и просто поддаются переделке и настройке. Поэтому нужно внимательно изучать схему и информацию по переделке. Отдельно в архиве собраны схемы по переделке БП. Раздел:

Какие первые шаги должен сделать радиолюбитель, решивший собрать схему на микроконтроллере? Естественно, необходима управляющая программа - "прошивка", а также программатор.

И если с первым пунктом нет проблем - готовую "прошивку" обычно выкладывают авторы схем, то вот с программатором дела обстоят сложнее.

Цена готовых USB-программаторов довольно высока и лучшим решением будет собрать его самостоятельно. Вот схема предлагаемого устройства (картинки кликабельны).

Основная часть.

Панель установки МК.

Исходная схема взята с сайта LabKit.ru с разрешения автора, за что ему большое спасибо. Это так называемый клон фирменного программатора PICkit2. Так как вариант устройства является "облегчённой" копией фирменного PICkit2, то автор назвал свою разработку PICkit-2 Lite , что подчёркивает простоту сборки такого устройства для начинающих радиолюбителей.

Что может программатор? С помощью программатора можно будет прошить большинство легкодоступных и популярных МК серии PIC (PIC16F84A, PIC16F628A, PIC12F629, PIC12F675, PIC16F877A и др.), а также микросхемы памяти EEPROM серии 24LC. Кроме этого программатор может работать в режиме USB-UART преобразователя, имеет часть функций логического анализатора. Особо важная функция, которой обладает программатор - это расчёт калибровочной константы встроенного RC-генератора некоторых МК (например, таких как PIC12F629 и PIC12F675).

Необходимые изменения.

В схеме есть некоторые изменения, которые необходимы для того, чтобы с помощью программатора PICkit-2 Lite была возможность записывать/стирать/считывать данные у микросхем памяти EEPROM серии 24Cxx.

Из изменений, которые были внесены в схему. Добавлено соединение от 6 вывода DD1 (RA4) до 21 вывода ZIF-панели. Вывод AUX используется исключительно для работы с микросхемами EEPROM-памяти 24LС (24C04, 24WC08 и аналоги). По нему передаются данные, поэтому на схеме панели программирования он помечен словом "Data". При программировании микроконтроллеров вывод AUX обычно не используется, хотя он и нужен при программировании МК в режиме LVP.

Также добавлен "подтягивающий" резистор на 2 кОм, который включается между выводом SDA и Vcc микросхем памяти.

Все эти доработки я уже делал на печатной плате, после сборки PICkit-2 Lite по исходной схеме автора.

Микросхемы памяти 24Cxx (24C08 и др.) широко используются в бытовой радиоаппаратуре, и их иногда приходится прошивать, например, при ремонте кинескопных телевизоров. В них память 24Cxx применяется для хранения настроек.

В ЖК-телевизорах применяется уже другой тип памяти (Flash-память). О том, как прошить память ЖК-телевизора я уже рассказывал . Кому интересно, загляните.

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

Ядром устройства является микроконтроллер PIC18F2550-I/SP .

Это единственная микросхема в устройстве. МК PIC18F2550 необходимо "прошить". Эта простая операция у многих вызывает ступор, так как возникает так называемая проблема "курицы и яйца". Как её решил я, расскажу чуть позднее.

Список деталей для сборки программатора. В мобильной версии потяните таблицу влево (свайп влево-вправо), чтобы увидеть все её столбцы.

Название Обозначение Номинал/Параметры Марка или тип элемента
Для основной части программатора
Микроконтроллер DD1 8-ми битный микроконтроллер PIC18F2550-I/SP
Биполярные транзисторы VT1, VT2, VT3 КТ3102
VT4 КТ361
Диод VD1 КД522, 1N4148
Диод Шоттки VD2 1N5817
Светодиоды HL1, HL2 любой на 3 вольта, красного и зелёного цвета свечения
Резисторы R1, R2 300 Ом
R3 22 кОм
R4 1 кОм
R5, R6, R12 10 кОм
R7, R8, R14 100 Ом
R9, R10, R15, R16 4,7 кОм
R11 2,7 кОм
R13 100 кОм
Конденсаторы C2 0,1 мк К10-17 (керамические), импортные аналоги
C3 0,47 мк
Электролитические конденсаторы C1 100 мкф * 6,3 в К50-6, импортные аналоги
C4 47 мкф * 16 в
Катушка индуктивности (дроссель) L1 680 мкГн унифицированный типа EC24, CECL или самодельный
Кварцевый резонатор ZQ1 20 МГц
USB-розетка XS1 типа USB-BF
Перемычка XT1 любая типа "джампер"
Для панели установки микроконтроллеров (МК)
ZIF-панель XS1 любая 40-ка контактная ZIF-панель
Резисторы R1 2 кОм МЛТ, МОН (мощностью от 0,125 Вт и выше), импортные аналоги
R2, R3, R4, R5, R6 10 кОм

Теперь немного о деталях и их назначении.

Зелёный светодиод HL1 светится, когда на программатор подано питание, а красный светодиод HL2 излучает в момент передачи данных между компьютером и программатором.

Для придания устройству универсальности и надёжности используется USB-розетка XS1 типа "B" (квадратная). В компьютере же используется USB-розетка типа "А". Поэтому перепутать гнёзда соединительного кабеля невозможно. Также такое решение способствует надёжности устройства. Если кабель придёт в негодность, то его легко заменить новым не прибегая к пайке и монтажным работам.

В качестве дросселя L1 на 680 мкГн лучше применить готовый (например, типов EC24 или CECL). Но если готовое изделие найти не удастся, то дроссель можно изготовить самостоятельно. Для этого нужно намотать 250 - 300 витков провода ПЭЛ-0,1 на сердечник из феррита от дросселя типа CW68. Стоит учесть, что благодаря наличию ШИМ с обратной связью, заботиться о точности номинала индуктивности не стоит.

Напряжение для высоковольтного программирования (Vpp) от +8,5 до 14 вольт создаётся ключевым стабилизатором. В него входят элементы VT1, VD1, L1, C4, R4, R10, R11. С 12 вывода PIC18F2550 на базу VT1 поступают импульсы ШИМ. Обратная связь осуществляется делителем R10, R11.

Чтобы защитить элементы схемы от обратного напряжения с линий программирования в случае использования USB-программатора в режиме внутрисхемного программирования ICSP (In-Circuit Serial Programming) применён диод VD2. VD2 - это диод Шоттки . Его стоит подобрать с падением напряжения на P-N переходе не более 0,45 вольт. Также диод VD2 защищает элементы от обратного напряжения, когда программатор применяется в режиме USB-UART преобразования и логического анализатора.

При использовании программатора исключительно для программирования микроконтроллеров в панели (без применения ICSP), то можно исключить диод VD2 полностью (так сделано у меня) и установить вместо него перемычку.

Компактность устройству придаёт универсальная ZIF-панель (Zero Insertion Force - с нулевым усилием установки).

Благодаря ей можно "зашить" МК практически в любом корпусе DIP.

На схеме "Панель установки микроконтроллера (МК)" указано, как необходимо устанавливать микроконтроллеры с разными корпусами в панель. При установке МК следует обращать внимание на то, чтобы микроконтроллер в панели позиционируется так, чтобы ключ на микросхеме был со стороны фиксирующего рычага ZIF-панели.

Вот так нужно устанавливать 18-ти выводные микроконтроллеры (PIC16F84A, PIC16F628A и др.).

А вот так 8-ми выводные микроконтроллеры (PIC12F675, PIC12F629 и др.).

Если есть нужда прошить микроконтроллер в корпусе для поверхностного монтажа (SOIC), то можно воспользоваться переходником или просто подпаять к микроконтроллеру 5 выводов, которые обычно требуются для программирования (Vpp, Clock, Data, Vcc, GND).

Готовый рисунок печатной платы со всеми изменениями вы найдёте по ссылке в конце статьи. Открыв файл в программе Sprint Layout 5.0 можно с помощью режима "Печать" не только распечатать слой с рисунком печатных проводников, но и просмотреть позиционирование элементов на печатной плате. Обратите внимание на изолированную перемычку, которая связывает 6 вывод DD1 и 21 вывод ZIF-панели. Печатать рисунок платы необходимо в зеркальном отображении .

Изготовить печатную плату можно методом ЛУТ, а также маркером для печатных плат , с помощью цапонлака (так делал я) или "карандашным" методом .

Вот рисунок позиционирования элементов на печатной плате (кликабельно).

При монтаже первым делом необходимо запаять перемычки из медного лужёного провода, затем установить низкопрофильные элементы (резисторы, конденсаторы, кварц, штыревой разъём ISCP), затем транзисторы и запрограммированный МК. Последним шагом будет установка ZIF-панели, USB-розетки и запайка провода в изоляции (перемычки).

"Прошивка" микроконтроллера PIC18F2550.

Файл "прошивки" - PK2V023200.hex необходимо записать в память МК PIC18F2550I-SP при помощи любого программатора, который поддерживает PIC микроконтроллеры (например, Extra-PIC). Я воспользовался JDM Programmator’ом JONIC PROG и программой WinPic800 .

Залить "прошивку" в МК PIC18F2550 можно и с помощью всё того же фирменного программатора PICkit2 или его новой версии PICkit3. Естественно, сделать это можно и самодельным PICkit-2 Lite, если кто-либо из друзей успел собрать его раньше вас:).

Также стоит знать, что "прошивка" микроконтроллера PIC18F2550-I/SP (файл PK2V023200.hex ) записывается при установке программы PICkit 2 Programmer в папку вместе с файлами самой программы. Примерный путь расположения файла PK2V023200.hex - «C:\Program Files (x86)\Microchip\PICkit 2 v2\PK2V023200.hex» . У тех, у кого на ПК установлена 32-битная версия Windows, путь расположения будет другим: «C:\Program Files\Microchip\PICkit 2 v2\PK2V023200.hex» .

Ну, а если разрешить проблему "курицы и яйца" не удалось предложенными способами, то можно купить уже готовый программатор PICkit3 на сайте AliExpress. Там он стоит гораздо дешевле. О том, как покупать детали и электронные наборы на AliExpress я писал .

Обновление "прошивки" программатора.

Прогресс не стоит на месте и время от времени компания Microchip выпускает обновления для своего ПО, в том числе и для программатора PICkit2, PICkit3. Естественно, и мы можем обновить управляющую программу своего самодельного PICkit-2 Lite. Для этого понадобится программа PICkit2 Programmer. Что это такое и как пользоваться - чуть позднее. А пока пару слов о том, что нужно сделать, чтобы обновить "прошивку".

Для обновления ПО программатора необходимо замкнуть перемычку XT1 на программаторе, когда он отключен от компьютера. Затем подключить программатор к ПК и запустить PICkit2 Programmer. При замкнутой XT1 активируется режим bootloader для загрузки новой версии прошивки. Затем в PICkit2 Programmer через меню "Tools" - "Download PICkit 2 Operation System" открываем заранее подготовленный hex-файл обновлённой прошивки. Далее произойдёт процесс обновления ПО программатора.

После обновления нужно отключить программатор от ПК и снять перемычку XT1. В обычном режиме перемычка разомкнута . Узнать версию ПО программатора можно через меню "Help" - "About" в программе PICkit2 Programmer.

Это всё по техническим моментам. А теперь о софте.

Работа с программатором. Программа PICkit2 Programmer.

Для работы с USB-программатором нам потребуется установить на компьютер программу PICkit2 Programmer. Это специальная программа обладает простым интерфейсом, легко устанавливается и не требует особой настройки. Стоит отметить, что работать с программатором можно и с помощью среды разработки MPLAB IDE, но для того, чтобы прошить/стереть/считать МК достаточно простой программы - PICkit2 Programmer. Рекомендую.

После установки программы PICkit2 Programmer подключаем к компьютеру собранный USB-программатор. При этом засветится зелёный светодиод ("питание"), а операционная система опознает устройство как "PICkit2 Microcontroller Programmer" и установит драйвера.

Запускаем программу PICkit2 Programmer. В окне программы должна отобразиться надпись.

Если программатор не подключен, то в окне программы отобразится страшная надпись и краткие инструкции "Что делать?" на английском.

Если же программатор подключить к компьютеру с установленным МК, то программа при запуске определить его и сообщит нам об этом в окне PICkit2 Programmer.

Поздравляю! Первый шаг сделан. А о том, как пользоваться программой PICkit2 Programmer, я рассказал в отдельной статье. Следующий шаг .

Необходимые файлы:

    Руководство пользователя PICkit2 (рус.) берём или .

Программатор – это аппаратно-программное устройство, которое служит для считывания или записи информации в запоминающее устройство (внутреннюю микроконтроллеров). В случае если радиолюбителю нужно один раз запрограммировать микроконтроллерное устройство, можно воспользоваться обычным программатором, который подключается к COM- или LPT- порту. Например, самым простым программатором AVR является кабель из 6 и 4 резисторов (программатор PonyProg).

С помощью обычного программатора можно загружать программы в формате hex во многие микроконтроллеры AVR, не тратя лишнего времени и средств. Кроме того, программатор можно использовать как внутрисхемный, благодаря чему можно программировать микроконтроллер AVR не извлекая его из устройства.

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

USB-программатор предназначен для программирования микропроцессорных устройств определенной компании (зависит от марки программатора) в собранном виде. С помощью него заметно упрощается процесс настройки ПО.

Как подключить USB-программатор?

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

Затем нужно установить драйвера, чтобы ОС могла корректно работать с данным устройством. После этого можно будет подключать микропроцессорное устройство к ISP интерфейсу. При программировании будет светиться второй светодиод.

Как правило, программатор имеет два интерфейса – один для подключения микроконтроллера, второй для подключения к компьютеру. Для того чтобы подключить микроконтроллер, можно воспользоваться режимом последовательного программирования ISP. А к компьютеру данное устройство подключается через стандартный USB-разъем.

Для управления программатором нужно устанавливать специальные программы. Лучше всего пользоваться оконными приложениями. Например, для работы с устройством можно использовать программы ExtremeBurner, Khazama, avrguge и другие.

Ну вот и пришло время нам соорудить USB программатор. Я долго не мог определиться какой бы программатор нам собрать. Выбирал по критериям простоты конструкции и удобства работы с ними, но ничего не нравилось. Выбрать программатор помог случай. Вернее я его не выбирал вообще – я его случайно собрал сам того не подозревая!

А дело было так. Некоторое количество постов назад мы собрали преобразователь USB to UART на ATtiny2313 (а в мы даже улучшили печатную плату). Еще при выборе схемы преобразователя я планировал на его базе (при помощи заливки различных прошивок) получать устройства различного назначения. Тогда я не подозревал, что данный преобразователь можно использовать шире, чем я планировал. Увидев схему USB программатора — USBtiny на ATtiny2313 я понял, что я уже имею готовый программатор!

Посмотрев на схему, сделанного ранее, преобразователя USB to UART (домашняя страничка)


и схему USB программатора USBTiny (домашняя страница)

можно увидеть, что это одна и та-же схема . Различия незначительны – отсутствуют сигнальные светодиоды и несколько резисторов. Для того, чтобы преобразователь стал USB программатором нужно просто прошить микроконтроллер новой прошивкой и сделать кабель для подключения.

Теперь все по порядку.
1 Для начала нужно собрать преобразователь (это если Вы его еще не собрали).
Вот рисунок печатной платы преобразователя:
Если интересно — вот .
В собранном виде преобразователь выглядит так:

2 Немного модифицируем плату
Для того, чтобы обеспечить все необходимые сигналы для программирования впаиваем защитные резисторы номиналом по 100 Ом в линии ножек 12, 16, 17, 18, 19 (номинал не критичен — можно варьировать).


3 Теперь нужно прошить микроконтроллер.
Линии для программатора выведены на общий разъем платы (кроме сброса — стоит отдельно).

Наверно не нужно говорить о том, что для прошивки микроконтроллера Вам понадобится программатор. На скорую руку можно собрать и прошить при помощи .


Схема шлейфа проста.

Из особенностей — я вынес индикаторный светодиод и балластный резистор для него за плату на разъем — это для того, чтобы плату без перепайки можно было использовать для других устройств (ну и так прикольней — светодиод мигает прямо в разъеме:)). Кроме того, линия Vcc отделена от общего разъема — это на случай если программируемое устройство запитывается не от USB, а от своего источника (что, в принципе, желательно). Сигнальные линии (SCK, MISO, MOSI) желательно экранировать (например чередованием сигнальных и земляных линий в шлейфе). Длину шлейфа не стоит делать большой — до 50 см, не больше. Если нужно программировать удаленное устройство всегда можно применить USB удлинитель — так надежней. Вот мой готовый шнурок:



5 Сам программатор готов, теперь нужно установить драйвер для того, чтобы Винда смогла с ним работать (для Mac OS X & Linux, вродь-как, драйвера вообще не нужно). Тут все просто:

5.1 Скачиваем драйвер, разархивируем его.
Страничка с драйверами


5.2 Вставляем наш программатор в USB порт.




5.3 В трее появится сообщение о том, что найдено новое устройство.



5.4 Запустится мастер нового оборудования.



5.5 Указываем в окошке «место поиска» папку с драйвером.



5.6 Пройдет процесс установки драйвера. Появится окошко сообщающее о том, что драйвер установлен. Чтобы проверить, что мы там наустанавливали— заходим в «Мой компьютер/Свойства/Оборудование/Диспетчер устройств» и находим там наш программатор

Винда увидела новое устройство и готова с ним работать.

USBtiny программатор поддерживается AVRDude , а это значит, что многие среды программирования будут с ним работать без проблем. Еще одним достоинством работы с AVRDude является то, что для работы с AVRDude существует множество оболочек GUI из которых можно выбрать подходящую именно для Вас (но об этом в следующей статье).

Я с USBTiny до этого не работал, но отзывы о нем в сети положительные (отличается надежностью и быстротой программирования) — мои тестовый прошивки это подтвердили. ATtiny2313 прошивается за 10 секунд (это вместе с проверкой). Микроконтроллер определяется и программируется надежно — не было ни одной ошибки во время моих тестов. Приятный в использовании программатор!


Файлы к статье:
- Рисунок печатной платы UART-USB на ATtiny2313
- Прошивка USBtiny программатора для ATtiny2313
- Фьюз-биты ATtiny2313 для USBtiny
- Схема кабеля для USBtiny программатора

Похожие публикации