Как сделать ардуино своими руками
Перейти к содержимому

Как сделать ардуино своими руками

  • автор:

Как сделать Arduino Uno своими руками

В этой статье мы расскажем, как своими руками собрать Arduino на обычной макетной плате.

Для этого нам понадобится микроконтроллер ATmega328 — такой же, как и в оригинальной Arduino Uno.

Распиновка ATmega328

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

Сборка Arduino на макетной плате

Необходимые компоненты

Для работы с микроконтроллером понадобятся:

Конденсатор 22 пф

Схема сборки

Соберите на макетной плате компоненты по следующей схеме:

Эксперимент «маячок» из Матрёшки

Добавьте к схеме светодиод на 13 пине. Для этого повторите первый эксперимент из набора Матрёшка Z — маячок.

Обратите внимание, 13 пин Arduino — это не 13-я ножка микроконтроллера. Чтобы найти нужный пин, воспользуйтесь распиновкой ATmega328

Схема эксперимента собрана. Осталось прошить нашу Arduino.

Прошивка ATmega328

У микроконтроллера нет собственного USB-порта. К компьютеру его можно подключить одним из двух способов:

Рассмотрим их подробнее.

Прошивка ATmega328 через USB-UART преобразователь

Для сборки программатора нам понадобится:

Собранная в предыдущем эксперименте схема

Соберите следующую схему

Аппаратная часть готова. Теперь скачайте и установите на компьютер интегрированную среду разработки Arduino IDE и прошейте свой контроллер.

Прошивка ATmega328 через Arduino Uno

Для сборки программатора нам понадобится:

Собранная в предыдущем эксперименте схема

Аккуратно извлеките из платы Arduino Uno микросхему ATMega328P. Не беспокойтесь, вы сможете вставить её обратно позднее.

Соберите следующую схему

Аппаратная часть готова. Теперь скачайте и установите на компьютер интегрированную среду разработки Arduino IDE и прошейте свою плату.

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC Attribution-Noncommercial-Share Alike 4.0 International

Производные работы должны содержать ссылку на http://wiki.amperka.ru, как на первоисточник, непосредственно перед содержимым работы.
Вики работает на суперском движке DokuWiki.

diy/arduino.txt · Последние изменения: 2022/06/23 13:34 — mik

Инструменты страницы

  • Показать исходный текст
  • История страницы
  • Ссылки сюда
  • Наверх

Arduino своими руками — Shrimp

На этот раз я поведаю о том, как сделать Ардуино своими руками, да еще и без паяльника. Схема этого простого Ардуино-клона называется Shrimp. Самодельный Shrimp полностью совместим с Arduino IDE, так что можно легко запускать на нем любые скетчи.

Сразу следует отметить, что для создания Shrimp с нуля потребуется рабочая плата Ардуино. Она необходима для установки загрузчика на пустой микроконтроллер. Если под рукой нет Ардуино, то можно приобрести уже прошитый микроконтроллер и сразу прыгнуть к разделу 2.

Для создания Shrimp нам потребуется:

  • микроконтроллер ATMEGA328P-PU;
  • резистор 10 кОм;
  • конденсатор 10-100 мкФ, электролитический;
  • конденсатор 22 пФ, керамический — 2 шт;
  • конденсатор 100 нФ, керамический — 4 шт;
  • кнопка тактовая;
  • кварц 16 МГц;
  • макетная плата;
  • набор перемычек для макетной платы;
  • USB — UART конвертер на основе FT232R, CP2102 или CH340.

1. Копирование загрузчика на чистый микроконтроллер

Обычно, чтобы записать программу в микроконтроллер требуется использовать отдельное устройство — программатор. Ардуино же хороша тем, что программатор ей не нужен. Вместо него, используется особая микропрограмма, называемая загрузчиком (bootloader). Этот загрузчик умеет принимать программы из вне и записывать их во флеш-память микроконтроллера.

Так вот, загрузчик записывается в микроконтроллер на заводе. И чтобы заставить наш Shrimp работать, мы должны повторить эту процедуру. Вот здесь-то нам и потребуется другая плата Ардуино, о которой упоминалось в самом начале. Процедура установки загрузчика состоит из трёх шагов.

Шаг 1. Установка на рабочую плату Ардуино специальной программы — OptiLoader

Открытая программа OptiLoader позволяет прошить загрузчик optiboot в микроконтроллер нашего Shrimp. На момент написания статьи OptiLoader поддерживал микроконтроллеры: ATmega8, ATmega168, ATmega168P, ATmega168PB, ATmega328, ATmega328P, ATmega328PB. Качаем архив по одной из ссылок:

  • из официального репозитория: https://github.com/WestfW/OptiLoader
  • с нашего сайта: http://git.robotclass.ru/download/Arduino/optiLoader.zip

Распаковываем архив и открываем скетч в Arduino IDE. Загружаем скетч в рабочую плату Ардуино. Отключаем Ардуино от питания USB.

Примечание. Если скачать программу с github, то нужно будет переименовать папку «optiLoader-master» в просто «optiLoader»

Шаг 2. Подключение чистого микроконтроллера

Соединяем рабочую плату Ардуино с чистым микроконтроллером по приведенной схеме. Здесь все очень просто. Внимательно смотрим на картинку, вставляем проводки, семь раз проверяем.

Принципиальная схема

Ардуино своими руками

Внешний вид макета

Ардуино своими руками

Шаг 3. Прошивка загрузчика (bootloader)

Теперь подключим Ардуино к питанию через USB. Сразу после включения, программа начнет копирование загрузчика на чистый микроконтроллер. При это будут активно мигать светодиоды RX и TX. Как только светодиоды перестанут мигать — копирование окончено.

Если что-то пошло не так и светодиоды не мигают, можно открыть COM-монитор. OptiLoader отображает весь процесс копирования загрузчика. В случае успеха, отчет о процедуре будет выглядеть следующим образом.

Ардуино своими руками. optiLoader

2. Загрузка программ на Shrimp

Итак, теперь у нас есть самодельный Arduino с прошитым загрузчиком. Чтобы залить на него какой-нибудь скетч, нам потребуется частично разобрать предыдущую схему, и дополнить её новыми элементами.В частности, добавляется кнопка сброса, и защитные цепи питания.

Ардуино своими руками. Загрузка скетча

После того как схема собрана, подключаем её к компьютеру через USB — UART модуль. Выбираем в Arduino IDE тип платы «Arduino Uno» и правильный COM-порт, а затем загружаем программу мигания светодиодом. Готово!

Примечание. Если у вас не получается загрузить программу, попробуйте поменять местами провода RX и TX на USB-UART мосту.

Полезные ссылки

Если используется UCB-UART мост на основе CP2102 — устанавливаем драйвера с официального сайта silabs:
http://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx

Изменено: 27 Фев, 2017 01:16

Arduino своими руками — Shrimp : Один комментарий

RoboDOG говорит 23.01.2019 в 17:45 :

Не думал, что получится собрать с первого раза.
Смутил диод на картинке, параллельно подтягивающему сопротивлению на кнопку, и не мешало бы добавить схему, которая пересобирается после прошивки (нарисовано не очень хорошо, плохо понятно, куда что идёт).
На завершающей картинке светодиод на ногу D9 подключен, это может ввести в замешательство начинающих. Я сам с этим ещё только пару недель занимаюсь, и меня это сбило с толка.
Наборчик хороший, без лишнего обвеса.

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Минимальная Arduino своими руками

Arduino — это хорошо, когда хочется быстро реализовать идею, не заморачиваясь мелочами. Но когда идея проверена, лишняя функциональность начинает просто мешать.
Собирая робота на гусеничном шасси, я столкнулся с тем, что бутерброд из Arduino + MotorShield + Sensor Shield плюс ко всему аккумулятор и прочие компоненты обросли проводами и стали с трудом помещаться на не самом крошечном шасси. Городить еще кучу шилдов, чтобы избавиться от лишних проводов не хотелось.
Появилась идея избавиться от всего, что в Arduino не требуется в готовом девайсе. Попутно хотелось снизить стоимость робота.
Многих интересующихся электроникой отпугивает еще и стоимость Arduino в магазинах. С ebay и китайских магазинов посылка идет долго, изобретательский пыл успевает остыть, поэтому приобретение откладывается «на потом», «когда сын подрастет». Поэтому я решил собрать Arduino-совместимую плату из деталей, которые всегда можно купить в городе.
В итоге я получил Arduino-совместимую плату, стоимостью в 210 рублей на макетной плате и в ~270 рублей в готовом для наращивания функционала виде.
Minimalist Arduino
«Minimalist Arduino»
С нуля до полной готовности собирается с дешевым 40Вт паяльником за 1 выходной без каких-то особых навыков.

Лазерного принтера у меня нет, печатные платы самостоятельно никогда не разводил, поэтому решено было использовать не ЛУТ, а макетную плату с односторонней металлизацией (максимально дешевая, всегда есть в продаже).
Сначала я хотел купить Atmega328P в DIP корпусе, чтобы воспользоваться статьей Arduino on a Breadboard и собрать Arduino на беспаечной макетке.
image
Но оказалось, что в DIP28 ее в Москве крайне трудно найти, да к тому же в этом корпусе она существенно дороже. Зато в наличии навалом Atmega168 в любом корпусе. Но цена DIP28 и TQFP-32 отличается тоже довольно существенно. Для робота на гусеничном шасси и домашней автоматизации возможностей Atmega168 более чем достаточно, поэтому поборов страх, я решил сэкономить и использовать 168ю в TQFP-32 корпусе (шаг ножек — 0.8мм)
image
Все компоненты кроме эпоксидной макетки я купил в Москве, в одном магазине (макетки продаются в любом радиомагазине или на рынке, просто у меня уже было 5 штук, купленных ранее на ebay).
Итак, для начала нужно припаять микроконтроллер размером 9х9 мм на DIP переходник, чтобы более комфортно с ней было работать.
mkpochtoi не работал, поэтому купить готовую макетную плату не получилось, купил макетку MP-QFP, от которой ножовкой по металлу отпилил кусок под TQFP-32.
image
Просмотрев видеоурок по пайке от DIHALT я водрузил микруху на макетку с помощью обычного 40Вт паяльника, потратив на это чуть больше 5 минут (опыта пайки таких мелких компонентов и вообще SMD компонентов у меня не было). В качестве флюса использовал несколько капель глицерина (попросил у девушки, она занимается мыловарением). Отмыл горячей водой и высушил феном.
Atmega 168PA-AU
«Atmega 168PA-AU»
40-ногую линейку PBS-40 кусачками настрогал на кусочки по 4 ножки и впаял с обратной стороны. Я взял гнезда, а не штырьки, чтобы микроконтроллерную плату можно было подключать к макетке проводками без пайки.
Дальше все как в статье — собрал на макетной плате схему, использовав datasheet от семейства Atmega 48/88/168 (номера ножек на DIP28 и TQFP-32 различаются).
Поскольку процессор я взял чистый, то предстояло прошить его бутлоадером от Arduino. Тут меня поджидала засада:
Arduino IDE знает только Atmega168 и ничего не знает об Atmega168P (точнее Atmega168PA-AU) — более свежей версии микросхемы. Прошивать она его отказалась. А еще раньше я выяснил, что Freeduino Nano v5.0 почему-то не хочет работать ISP программатором. Пришлось разобрать робота и достать Freeduino 2009. с помощью скетча ArduinoISP и примера на Freeduino.ru удалось заставить avrdude игнорировать различие в сигнатуре (ключ -F) и прошить бутлоадер, фьюзы и лок.
У меня сработал такой вариант:
::Прошиваем bootloader (порт COM9 нужно поменять на Ваш)
avrdude -F -C avrdude.conf -p m168p -c avrisp -P COM9 -b 19200 -e -U flash:w:optiboot_diecimila.hex
::Прошиваем fuse и lock биты
avrdude -F -C avrdude.conf -p m168p -c avrisp -P COM9 -b 19200 -Uefuse:w:0x00:m -Uhfuse:w:0xdd:m -Ulfuse:w:0xff:m -Ulock:w:0x0F:m

На официальном сайте есть описание подключения для прошивки:
image
Как вариант, можно обновить файл avrdude.conf, прописав правильную сигнатуру, но нужды в этом особой нет.
Все, Arduino на макетке готова. Можно подключать любой USB — serial TTL (или RS-232-TTL) адаптер и зашивать скетч из Arduino IDE, выбрав Board->Arduino Diecimila, Duemilanove or Nano w/Atmega168.
Breadboard Arduino
«Breadboard Arduino»
Убедившись в работоспособности, я занялся переносом на макетную плату.
Сложнее всего оказалось оптимально разместить элементы. Для этого наиболее простым бесплатным инструментом оказался Fritzing. Правда нагромождение картинок и проводов выглядит страшно, но позволяет при сборке не запутаться в проводах:
Minimalist Arduino
«Minimalist Arduino»
Я старался уменьшить количество отдельных проводов, припаивая где возможно выводы воткнутого компонента к нужному контакту просто сгибая его ножки и обрезая излишек.
Добавив примерно 65 р на запчасти я получил вот такой результат:
Minimalist Arduino
«Minimalist Arduino»
Для удобства я добавил шину питания и землю (2 гребенки справа внизу), кнопку питания, гнездо RX, TX, DTR для загрузки скетчей и ICSP разъем для прошивки микроконтроллера программатором прямо на плате.
Minimalist Arduino в сборе
«Minimalist Arduino в сборе»
Воткнув микроконтроллерную плату с Atmega328P-AU, можно прогапгрейдить девайсик для задач, где 16 кб под скетч не хватает. Оставшееся на макетке место я собираюсь использовать под сенсоры, драйвер мотора и прочие нужные вещи.
Вот список компонентов и цен:

Наименование Цена Кол-во Стоимость
Mакетная плата MP-QFP 64 1 64
Glass-Epoxy Board Prototyping PCB 9×15 FR4 43 1 43
PBS-4 4 8 32
PBS-6 4 2 8
PLS-40 4 1 4
ATMega168PA-AU 62 1 62
LM7805 1A 5V Positive Voltage Regulator 15 1 15
16.000MHz Clock Crystal 10 1 10
22pF Capacitor 1 2 2
10uF Capacitor 5 2 10
100nF Capacitor 1 1 1
10kOhm Resistor 1 1 1
150 Ohm Resistor 1 2 2
DTS-61 кнопка 2 1 2
PS-22E85L 7 1 7
WF-02 вилка на плату 1 1 1
Red 3mm LED 2 1 2
Green 3mm LED 2 1 2
Итого 268р.

Сантиметров 20 монтажного провода, припой и флюс я не посчитал 🙂
Получилось даже чуть-чуть дешевле чем Arduino Pro Mini ($9.5), при этом удобнее в использовании и не нужно ждать 3 недели, пока приедет из китая ).
Но самое приятное — это может собрать каждый и все компоненты есть в продаже и легко доступны. Ждать и искать ничего не нужно. Увидели на хабре интересный проект на ардуино? Соберите его!

Если нет знакомых с ардуино или прогрмматором, то бутлоадер за 50 рублей вам может прошить продавец, а переходник USB — Serial TTL покупать не обязательно, если у компа есть COM порт.

Loading Sketch

Я собрал вот такой переходник из MAX232CPE, разъема DB9F и 4 конденсаторов по рублю штука:

«Loading Sketch»

Arduino своими руками

Плата Ардуино используется в первую очередь для обучения начинающих радиолюбителей основам программирования микроконтроллеров и созданию микроконтроллерных устройств своими руками без серьезной теоретической подготовки. Среда разработки Arduino позволяет , скомпилировать и загрузить в память платы готовый код, причем его загрузка очень проста. Arduino – это потрясающая электронная платформа для создания различных радиолюбительских проектов и решений. Она максимально проста в эксплуатации и намного дешевле практически аналогичных профессиональных отладочных плат. Но Ардуино можно спаять самим еще дешевле. И в этом материале мы постараемся показать, как сделать плпту Ардуино своими руками, используя радиоэлементы из местного радио рынка.

Для этого самодельного проекта Ардуино нам понадобится:

Конечно же микроконтроллер AVR ATmega 168
Макетная плата для прототипирования (на 440 или 840 контактов) или другой наиболее удобный вам вариант
Конвертор интерфейсов COM-USB на напряжение 3.3 В
Стабилизатор напряжения на микросхеме 7805, или ее аналог
Провода для монтажа сечением 22 AWG
Два сопротивления по 220 Ом
Два индикаторных светодиода для платы Ардуино своими руками
резистор 10 КОм
Два конденсатора емкостью 10 мкФ и 22 пФ
Осциллятор 16 МГц
Штыревой разъем
Кнопка

Arduino своими руками, питание схемы

В первую очередь подводим питающее напряжение к микроконтроллеру. Для этого нам понадобится микросборка регулятора напряжения 7805 на 5 В. На рисунке ниже показана схема соединения на макетной плате Ардуино.

В роли источника питания будем использовать батарейку типа Крона на +9 В. Питание заводим на черный (-) и красный (+) квадраты. Затем устанавливаем конденсатор емкостью 10 мкФ, т.к это электролит, то нужно обязательно соблюдать полярность. Как правило на всех электролитах, вывод анода (плюс) длиннее вывода катода (минус). Также большинство емкостец маркируются полоской со стороны минуса. Дальше следуют два провода, которые «перебрасывают» питающее напряжение на другую часть макетку. Затем ставим стабилизатор напряжения. Здесь также важно соблюдать полярностью. Если смотреть на регулятор спереди, то левый контакт будет входом (Uвхода), средний землей (GND), а правый выходом (Uвыхода). К выходу также, подключаем второй электролит номиналом 10 мкФ. Для большего удобства сборки питающие линии перенесем на левую сторону макета.

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

Выводы Arduino

Теперь берем микроконтроллер. В данном примере Ардуино своими руками я взял МК ATmega 168, но лучше взять ATmega 328, он работает на той же скорости и имеет тоже назначение выводов, но у нее в два раза больше флеш и EEPROM памяти. Назначение выводов для Ардуино приведено на следующем рисунке:

Arduino подключаем остальные необходимые компоненты

Для наглядности, Подключение радио компонентов приведем сначала относительно одной стороны микроконтроллера, затем с его другой стороны. Схема со стороны выводов 15-28:

Заведите землю на 22 пин микроконтроллера. Затем питание на 21 контакт (аналоговое опорное напряжение для АЦП) и 20 вывод (питание АЦП). На заводском варианте схемы Arduino вывод для светодиода обозначается как Pin 13, но по отношению к микроконтроллеру он будет 19-ым. Поэтому на 19-й пин заводим плюс светодиода, а его катод через сопротивление номиналом 220 Ом подключаем на общий. При программировании самодельного Ардуино не забывайте о том, что для зажигания светодиода необходимо посылать команду на 13-й контакт МК (Pin 13).

Теперь можно переходить к противоположной стороне макетной платы Ардуино:

К первому выводу подключаем кнопку. Она необходима для ручного сброса микроконтроллера. Прежде чем записать новый скетч (программный код) в Arduino, нужно будет нажать на кнопку Reset. От соединения кнопки с первым выводом необходимо подсоединить резистор 10 сопротивлением КОм на питание. А другой контакт кнопки подключаем на общий провод. Восьмой пин 8 (GND) также кидаем на общий (земля), а седьмой контакт подключаем к питанию к питанию Ucc. Осциллятор 16 МГц подсоединен к контактам 9 и 10. От него также отведены конденсаторы 22 пФ на общий провод.

С левой стороны макета Ардуино имеется небольшой разъем для программирования. Функционал выводов, начиная с крайнего левого такой: GND, NC, 5V, TX, RX, NC. NC последнии два никуда не подсоединены. Вывод RX подключаем ко второму выводу МК, а TX к третьему. Теперь можно программировать эту самодельную плату Ардуино.

Программирование Arduino своими руками

Теперь нам понадобится плата переходника USB COM, можно использовать как готовый, так и самодельный вариант. После подключения данного устройства к выводам TX и RX, а также питанию +5В нужно запустить бесплатную среду разработки Arduino IDE и выбрать пример (раздел Example sketch files) Blink из подраздела Digital. Далее необходимо указать активный COM-порт, например, COM1. Далее в зависимости от используемого в схеме микроконтроллера выбираем плату (раздел Tools/Board): Arduino Decimila, Duemilanove or Nano

w/ATmega128 или Arduino Duemilanove w/ATmega328.

Нажимаем на иконку загрузить и одновременно с этим нажимаем кнопку reset. После этого в микроконтроллер на макетной плате Ардуино должна записываться программа. Если вы все сделали правильно, то светодиод на макете будет мигать с периодом 1 секунда.

После того как, микроконтроллер запрограммирован, USB-переходник можно отсоединить и подключить внешнее питание на Ардуино +9В от батарейки кроны.

Печатный вариант платы Arduino своими руками

Если вы хотите сделать более приличный вариант платы Arduino своими руками, то можете вытравить сами печатку. Файлы для этого можно скачать здесь.

Готовая плата Ардуино устройство и пример работы

У платы Arduino имеется 28 выводов для связи с внешними цифровыми устройствами, датчиками, лампочками и светодиодами, моторами, магнитными запирающими устройствами и множетсвом других электронных устройств. Начать работать с этой платформой очень просто. Надо только купить ее, хотя я бы предпочел сделать своими руками. Можно купить дешевую китайскую копию, или оригинал на мировой барахолке АлиЭкспресс. В рамках этой статьи разберем из каких блоков и компонентов состоит, наиболее популярная плата Arduino UNO и с чем ее едят.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *