Программатор STK200/300 для микроконтроллеров AVRPrint This Post

Автор Code007
Опубликовано 27 Авг 2009 
Рубрики: Готовые устройства
Метки: ,

DI HALT:
Признаюсь, что я этот программатор никогда не собирал, т.к. у меня с первого раза заработала и никогда не подводила схема Громова. Однако, судя по многочисленным комментариям, эта схема работает далеко не у всех и тут не все гладко. Даже если есть COM порт, то не факт что он захочет правильно работать в таком режиме. Многое зависит и от операционки, и от тактовой частоты проца. В общем, грабель там закопано много. Но есть еще варианты относительно простой прошивки микроконтроллеров AVR — это программатор на LPT, аналог STK500/300. В своей простейшей модификации «пять проводков” не требует вообще ничего, даже резисторов. Соединяешь все напрямую и шьешь. Правда пожечь LPT порт тут проще простого. C токоограничитльными резисторами все безопасней, однако и это не спасает. Помогает установка буфферной микросхемы 74HC244.
И получаем STK200! Достоинства этой схемы в том, что это классика жанра. Ее поддерживают по моему вообще все прошивающие программы и оболочки. В том числе и разные среды разработки вроде CVAVR. Надежная и простая, как кувалда, схема. Недостаток один — нужен LPT порт, который ныне редкость.
Но что мешает под свои радиоопыты завести древнюю машинку уровня PIII-500 которую можно собрать из хлама за пиво? И работать будет все отлично и пожечь не жалко. Ну, а вдоволь наигравшись с STK и поняв премудрости процесса прошивки в деталях, можно собрать и USB программатор. А тут Михаил (Code007) написал отличную статью по сборке этого девайса. Грех не выложить.

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

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


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

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

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

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

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

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

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

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

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

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

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

Далее вооружившись ножницами по металлу обрезаем лишнее по контуру и дорабатываем напильником.

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

Подробности технологии лазерно утюжного метода (ЛУТ) можно найти в разделе «Радиолюбительские технологии” в статьях:
Создание печатной платы методом лазерного утюга
и
Изготовление печатной платы от и до. Видео урок.

Все, можно брать в руки паяльник и распаивать детали в соответствии с монтажной схемой.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Файлы к статье:

Кунавин Михаил
г. Волгоград

2 комментария