В настоящее время микроконтроллеры AVR фирмы ATMEL получили весьма широкое распространение. Это обусловлено небольшой стоимостью, развитой периферией, доступностью и удобством средств разработки. Несомненным достоинством процессоров этой серии является возможность внутрисхемного программирования с использованием интерфейса SPI. Для начала работы с этими микроконтроллерами необходимо обзавестись какими либо средствами осуществляющими внутрисхемное программирование. Существует достаточно большое количество различных конструкций программаторов, но на первоначальном этапе вполне подойдет адаптерSTK200/300. В данной статье я попытаюсь подробно описать процесс сборки этого адаптера. Причем настоятельно рекомендую повторить конструкцию именно так, как описано, а не на куске макетной платы. Рекомендация вытекает из шести летнего использования адаптера собранного на чем попало. Адаптер получил свое название от комплектующихся им отладочных плат фирмы ATMEL для быстрого начала работы с микроконтроллерами AT90S8515 и ATmega103 соответственно. На самом деле приведенная схема соответствует одновременно обоим адаптерам, в ней присутствуют перемычки для определения наличия как адаптера STK200 (выводы 2-12 разъема X1), так и STK300 (выводы 3-11).


programmator-stk200-300-for AVR-1

Рисунок 1. Электрическая принципиальная схема адаптера STK200/300

Для изготовления адаптера нам потребуется разъем DB25М (LPT-папа) с пластиковым корпусом, десятижильный плоский кабель длиной около 2 метров, разъем IDC-10, стеклотекстолит, детали по схеме и немного терпения.

programmator-stk200-300-for AVR-2Рисунок 2. Основные комплектующие (разъем IDC-10 обжат на кабеле)

Все детали монтируются на односторонней печатной плате. Разводка платы осуществлена не на 100%, поэтому часть проводников выполнена навесным монтажом. Такое решение было принято в связи с тем, что изготовление двухсторонней платы более трудоемко и в данной ситуации не имеет особого смысла. Плата изготавливается по всем известной лазерно-утюжной технологии.

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

 

programmator-stk200-300-for AVR-3Рисунок 3. Приспособление для переноса рисунка печатной платы — зажим.

Заготовка печатной платы вместе с распечатанным чертежом проводников зажимается между двумя металлическими пластинами через дополнительные прокладки из мягкого термостойкого материала ( я использую ткань сложенную в несколько слоев). На получившийся пакет ставим утюг и включаем в сеть. Ждем минут пять и снимаем утюг. После чего даем пакету остыть. Вынимаем заготовку платы с уже “мертво” прилипшей распечаткой чертежа и опускаем в теплую воду для дальнейшего удаления бумаги. Удалив бумагу и протравив фольгу у вас должно получиться нечто подобное тому, что показано на рисунке.

programmator-stk200-300-for AVR-4

Рисунок 4. Плата после травления

Далее необходимо удалить тонер. Я обычно для этого использую ацетон. Берем ватный тампон, смачиваем ацетоном и стираем тонер. Результат показан на рисунке. В принципе можно остановиться на этом, но мы будем лудить.

programmator-stk200-300-for AVR-5

Рисунок 5. Тонер смыт

Для лужения используется следующий метод. Берем небольшую кастрюльку, наливаем немного воды, растворяем в воде лимонную кислоту ( сильно много сыпать не надо, так что бы была кислой) и кипятим. Когда вода закипит опускаем печатную плату, если лимонной кислоты было достаточно, то медь немного изменит цвет. Бросаем кусочек сплава Розе и ждем пока он расплавиться, после чего держа пинцетом ватный тампон равномерно наносим сплав по поверхности платы. Эта операция естественно проводится в кипящей воде. Должно получиться как на рисунке.

programmator-stk200-300-for AVR-6

Рисунок 6. После лужения сплавом Розе

Далее вооружившись ножницами по металлу обрезаем лишнее по контуру и дорабатываем напильником.programmator-stk200-300-for AVR-7

Рисунок 7. Печатная плата готова

Все, можно брать в руки паяльник и распаивать детали в соответствии с монтажной схемой.programmator-stk200-300-for AVR-8

Рисунок 8. После распайки пассивных компонентов (светодиоды и микросхема не установлены)

Далее припаиваются светодиоды и дорабатывается верхняя крышка разъема. Суть доработки заключается в сверлении двух отверстий под светодиоды. Как должно получиться можно посмотреть на рисунке.

programmator-stk200-300-for AVR-9

Рисунок 9. Доработка верхней крышки разъема

Поле этого можно припаивать микросхему 74HC244. С помощью многожильного или одножильного монтажного провода не большого сечения ( я использовал провод во фторопластовой изоляции — МГТФ) припаиваем перемычки в соответствии с принципиальной схемой. Не забываем припаять перемычку с любого контакта из диапазона 18-25 на корпус разъема и с корпуса на общий проводник печатной платы, но уже со стороны монтажа. Для пояснения и наглядности привожу рисунок того, что должно получиться.

programmator-stk200-300-for AVR-10

Рисунок 10. Монтаж печатной платы завершен

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

programmator-stk200-300-for AVR-11

Рисунок 11. Распайка сигнальных цепей шлейфа

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

programmator-stk200-300-for AVR-12

Рисунок 12. Распайка общего провода шлейфа

Установив собранную плату в верхнюю часть корпуса разъема проверяем не забыли ли припаять перемычку с контакта разъема на его корпус (о том как это сделать говорилось выше).

programmator-stk200-300-for AVR-13

Рисунок 13. Распайка перемычки общего провода

Окончательно собираем корпус разъема. Распечатываем этикетку, обклеиваем ее с лицевой стороны скотчем и закрепляем на корпусе в предусмотренном для этого углублении на нем.

programmator-stk200-300-for AVR-14

Рисунок 14. Собираем корпус и клеем этикетку

Ну вот и все. Адаптер для внутрисхемного программирования готов! Что получилось у меня показано на рисунке. У вас должно получиться то же самое, если вы следовали моим указания.

programmator-stk200-300-for AVR-15

Рисунок 15. Адаптер готов

Можно проводить испытания. Подключаем к макетной плате с установленным микроконтроллером, запускаем программу для внутрисхемной прошивки с поддержкой STK200/300 ( например CodeVisionAVR Programmer) и наслаждаемся.

programmator-stk200-300-for AVR-16

Рисунок 16. Проверяем работу

В заключение хотелось сказать пару слов о длине кабеля. В большинстве источников говорится что длина кабеля не должна превышать нескольких десятков сантиметров для обеспечения надежной работы адаптера. Однако практика использования адаптера с двух метровым кабелем, изготовленного по выше описанной технологии, не выявила никаких проблем. Кабель такой длины позволяет удобно располагать программируемое устройство на рабочем столе и отказаться от использования удлинителя параллельного порта компьютера. В последствии приходилось общаться с людьми утверждавшими что успешно использовали подобную конструкцию с кабелем длиной около десяти метров для внутрисхемного программирования по интерфейсу SPI. Надеюсь, что мои рекомендации окажутся полезными для тех кто решится начать свою работу с микроконтроллерами AVR со сборки адаптера STK200/300.

Архив файлов к статье