Ардуина-самопал

Первое с чего я хотел начать в области своего нового хобби — сделать клон Arduino.

Именно клон, а не оригинал. Причина банальна — оригинал стоит от 900 рублей, а клон может быть гораздо дешевле. Кроме того, хотелось сделать всё самому, тем самым получив опыт создания плат в домашних условиях.Для начала я хотел попробовать собрать аналог ардуины на макетке — чтобы просто посмотреть что это такое. На сборку схемы ушло не очень много времени, но в конце концов я понял свою большую ошибку в подготовке к своему хобби — я купил не тот микроконтроллер =). На тот момент я ещё не разбирался в версиях мк от AVR и взял в интернет-магазине первую попавшуюся модель. Мне казалось что ардуину можно было построить на любой ATMega.

Arduino на макетке

Короче я купил ATMega32 а нужно было ATMega328 или ATMega168. Я тупо посчитал 8-ку в хвосте модели как обозначение параметра или просто модификации ATMega32.

Проблема была в том, что прошиваемые мной бутлоадеры ардуины не работали в этом МК. Со временем я разобрался в структуре бутлоадера. Плюс, оказалось, что в интернете многие тоже пытались заставить ардуину работать на 32-й меге. В принципе им это удалось. Мне это тоже удалось в конце-концов.

Разница между ATMega32 и, например, ATMega328 помимо размеров памяти и т.п. — это отсутствие ног с внешним прерыванием. А это означает, что в ардуине не будет работать софтовый последовательный порт (ну, не велика потеря), воспроизведение звуков и, собственно, не реализовать реакцию на внешние прерывания.

Чтобы совместить 32-ю мегу с ардуиной потребовалось модифицировать бутлоадер. А именно — правильно указать где какой порт на каком пине, где какой таймер, некоторые части кода пришлось закомментировать. Для старых версий среды кто-то даже выкладывал архивчик со всеми изменёнными файликами.

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

В очередной раз заказал детальки из инета. На этот раз мк правильный — ATmega168A-AU в корпусе TQFP-32. Заодно заказал ещё немного ATtiny — так как собирался сделать ещё один проект.

Все эти магические действия проводились в 2011-2012 годах когда было свободное время.

В конце 2012 я начал подбирать схему для своей самодельной ардуинки. Первоначально хотел её в микро размере сделать — то есть на основе схем Arduino Nano или Arduino Micro. Но всё-таки решил что с такой мелочью я пока не справлюсь. Пробовал разные варианты, но в конце остановился на схеме клона ардуины — Angelino.

Для меня она отвечала всем необходимым мне требованиям:

  • отсутствие компонентов для поверхностного монтажа. У меня пока вся рассыпуха в выводном исполнении, для поверхностного монтажа нужно было бы кучу всего покупать
  • отсутствие FT232 на борту. Стоит эта штуковина не мало, а используется не так уж и часто. Тем более что у меня уже был переходник на основе FT232.

Но было и пару проблем. Во-первых, использовалось DIP исполнение для мк, а у меня уже был куплен мк в исполнении TQPF32. Во-вторых, плата была двухсторонней — хотелось избавиться от лишних элементов типа регулятора питания, разъёма питания и т.п., потому как я собирался питать плату либо от переходника (т.е. питание по USB), либо сразу стабилизированное питание подавать.

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

Оставалось только вставить туда мк в другом исполнении корпуса, но задачка тоже не простой оказалась — для DIP корпуса основные дорожки были разведены на нижней стороне платы и TQFP корпус снизу припаять не получалось — все дорожки пересекались и пришлось бы их все по верхней стороне вести. На верхнюю сторону тоже не хотел ставить потому как не хотел менять существующую разводку. Решил остановиться на варианте с платой переходником. Сперва на такой плате я предполагал разместить и мк и  кварц и конденсаторы, но после разводки понял что всё плохо и забросил этот вариант.

Разводка моей ардуинки - версия 1Собравшись с силами я решил взять оригинальную разводку и с минимальными изменениями приноровить её для другого мк. Ну ещё правда регулятор в другом корпусе поставил и кнопку сброса. С набегу сделать не удалось — не возможно разместить TQFP32 на плате так, чтобы она была компактной и шириной в, уже находящийся на схеме, DIP корпус. Пришлось увеличивать ширину и DIP разъёма и переходника пока всё не влезит.

Вторая версия ардуинки с переходником

Переходник на ардуинкуКак я уже упоминал, мне хотелось на этом проекте познакомится с фоторезистом и изготовлением двусторонних плат. Купить фоторезист в магазине оказалось не проблемой, УФ лампу приобрёл там же. Для проявки нашёл в хозяйственном магазине кальцинированную соду. Через некоторое время собрал установку для засветки фоторезиста.

Установка для засветки фоторезистаУльтрафиолетовая лампаСобрал из того что под руку попалось — на куске профиля для ГКЛ закрепил патрон, профиль прикрутил к фанерке, к фанерке прикрутил ножки — чтобы устойчивей была. Чтобы в глаза не светило и хоть как-то направить УФ свет вниз из картона склеил плафон. Внутри обклеил его пищевой фольгой  для придания отражающей способности. Получилось страшно, но работоспособно. Надо будет переделать.

Первые пробы фоторезиста прошли нормально, но выяснилось что дорожки на переходнике слишком близкие и, расплывшись, наехали друг на друга. Поэтому пришлось увеличить ширину платы переходника и ширину DIP разъёма на плате (ну кстати, я потом ещё раз увеличил ширину — чтобы не мучится при пайке). Плата переходника была не большая, потому всё прошло достаточно хорошо.

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

ШаблоныДолго пытался подобрать правильное время засветки фоторезиста на своей установке. Так же долго подбирал методику накатки фоторезиста на плату. В результате на опыты истратил 1 лист фоторезиста и 1 лист двустороннего текстолита.

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

Пайка платы прошла тяжело — паять переходные отверстия на двусторонней плате без металлизации отверстий — это жесть. Через пару дней я всё таки запаял все компоненты, кроме, собственно, мк. Для платы переходника я припаял на место DIP32 разъёма медные проводки, которые вторым концом припаял на переходник.

Пайка адруинкиСложнее дело обстояло с припайкой мк. Его я перепаивал 3 раза, но он выдержал, а я поотрывал несколько дорожек с платы переходника. В первый раз я его криво припаял, пришлось жестоко  отпаивать его одним только паяльником (сплав вуда не достать у нас, сплав розе только дорогой есть, а ничего типа паяльного фена у меня нет). Второй раз оказалось что я неправильно его развернул и подавал питание обратной полярности, но успел это понять и мк не сгорел. Третий раз перепаивал потому как …. я его не правильно развернул. На самом деле в первый раз всё правильно было припаяно, нужно было просто переходник развернуть.

А потом оказалось что две ноги припаяны к одной дорожке и мне пришлось одну откусить (это была ADC6 или ADC7, в общем та, которая в ардуине не используется). Несколько площадок в процессе перепаек было оторвано, но это были площадки питания, поэтому пришлось питание подавать по проводкам, припаянным непосредственно к ножкам мк, попутно оторвав одну из ножек GND. В конце концов я всё допаял и оно заработало. Всё победа!

Ардуинка с USB-переходником Припаянный переходник

Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s