Припаиваем микропроцессор STM32 на свою плату.
главная страница статьи файлы о сайте ссылки

Припаиваем микропроцессор STM32 на свою плату.

Георгий Мошкин
tmtlib@narod.ru

В интернете много статей по поводу изготовления собственных печатных плат на основе технологии ЛУТ (Лазерно Утюговая Технология) и травлению в растворе хлорного железа. А с появлением микропроцессоров ARM от различных производителей особенно заманчивым стало изучение микропроцессора STM32. И со временем все эти технологии, как и полагается, из разряда сложных и непостижимых переходят в простые и обыденные вещи. О подробностях технологии ЛУТ вы можете погуглить, а я расскажу о сложностях, с которыми я столкнулся.

Схемотехника и разводка платы.
Два дня пришлось угрохать на изучение программы CadSoft Eagle (бесплатную версию можно скачать по адресу
http://www.cadsoftusa.com/downloads/freeware/) и поиску схем, с которых можно было бы "слизать" обвязку микросхемы STM32F103RB. Оказалось, что микросхеме для работы вообще практически ничего не нужно, кроме питания 3.3 вольта. Для уменьшения помех в питании ставится парочка конденсаторов.

pcb1.jpg

Вам также советую освоить какой-нибудь подобный пакет типа CadSoft Eagle, в котором сначала вы делаете принципиальную схему, а потом по ней разводите саму плату. Это намного удобнее, чем просто рисовать дорожки. Плюс прокачиваете ваши скиллы. На микросхему справа не обращайте внимание - привык работать с COM-портом, поэтому поставил развязку на оптопаре чтоб в процессор не пролезло 12 вольт. Здесь JP1 - место для припаивания отладочного разъёма SWD. Разъём JP2 - для трёх проводков RX,TX,GND на COM-port. JP3 - к источнику питания 5 вольт, JP4 - питание процессора 3.3 вольта. Слева - место под кварц, без которого тоже всё работает (у STM32 есть внутренний генератор).

Печать платы на лазерном принтере и проявка в хлорном железе.
Да, вот такой невероятный способ. Сначала дорожки печатаются из на вощёную или фото-бумагу лазерным принтером, а затем утюгом этот черно-белый ресунок "переводится" на медную поверхность текстолита. Утюг, разогретый примерно до 170-200 градусов начинает плавить краску на бумаге (тонер) и он хорошо налипает на медь. Я забил на утюг, так как площадки посадочного места под LQFP64 постоянно расплывались. Советую и вам сразу раздобыть ламинатор с регулятором до 180 градусов. Если вы всё же будете работать с утюгом, то я подумывал о том, чтобы подправить библиотеку Eagle и сделать площадки посадочного места потоньше. После эксопрта слоёв с дорожками в картинку, мы инвертируем цвета и зеркально отображаем рисунок:

stm-v0.1.png

Здесь особо следует остановиться на печати картинки. Я делал экспорт в PNG с разрешением в 600dpi. Для меня оказалось полной неожиданностью, что не у всех принтеров можно принудительно выставить DPI в доступных опциях, и в итоге система сама подбирает "оптимальный" DPI и печатает с гигантским масштабом. Я долго искал в настройках как же это сделать, пока не получил подсказку (http://www.gamedev.ru/flame/forum/?id=159950) от OiStalker на форуме gamedev.ru. Итак, смотрите: экспортировав картинку в PNG с разрешением в 600 dpi мы зеркально отображаем её по оси X и инвертируем, а затем добиваем её поля пустым белым цветом до размеров кратных 600 пикселам. Картинка выше получилась размером 1800 x 600. Затем открываем её в IrfanView, нажимаем Print -> Print size -> Custom size ширина будет Width=1800/600 = т.е. 3, а высота Height=600/600=1. Так мне удалось получить наиболее качественный результат печати. После распечатывания на блестящей стороне бумаги мы прикладываем рисунок к тестолиту и тщательно закрепляем, загнув свободные края бумаги по краям  текстолита. Далее идёт ЛУТ (вазюканье утюгом). Я же вам советую обзавестись ламинатором. Вот пример, я выставил ламинатор на 180 градусов, это моя первая попытка и весьма удачная:

004.jpg

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

hz.jpg

Как видно, тут есть и перетрав и недотрав.Хуже, чем с ламинатором. Отсавшийся тонер лазерного принтера счищается жидкостью для снятия лака с ногтей:

hz2.jpg

Это был перевод утюгом, а теперь сравните ещё раз с если делать с ламинатором:

004.jpg

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

Пайка элементов.
Сразу скажу, припаял что было. Номиналы конденсаторов от балды. Кварца нет. И ничего не заработало! А всё дело в том, что микросхему припаял не теми ногами, нужно было повернуть по часовой стрелке на 90 градусов. Первую ногу удобно искать так: если вы читаете надписи на микросхеме, то первая нога слева внизу. На фото неправильно впаянный вариант:

pcb2.jpg

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

Заливка программы в плату.
Для заливки в плату программы используется SWD отладчик. Я тут немного схалявил и использовал STLink, который входит в состав отладочной платы STM32 Discovery:

pcb3.jpg

Всё отлично работает. Я даже был несколько удивлён, так как всё заработало с первого раза, если не считать неправильно впаянный микроконтроллер. Для программирования хорошо подходят CoIDE (www.coocox.org) и Atollic TrueSTUDIO (http://www.atollic.com/index.php/truestudio, пробная версия). Atollic по примеру IAR и KEIL в новых пробных версиях вставил ограничение на размеры исходного кода, так что в последствии и его я видимо снесу, как это было с IAR и KEIL. Вам также не советую подсаживаться на Atollic, IAR или KEIL, если вы в далнейшем не планируете покупать полную версию.