Что такое ардуино своими руками. Arduino USB сделай сам (DIY). Модель на базе FT232RL

С практической точки зрения – проще купить готовую плату и не заморачиваться, но навыки, полученные при изготовлении данной поделки, в дальнейшем могут пригодиться.

Шаг 1: Необходимые радиодетали и инструменты

Процесс изготовления любой самоделки начинается с подготовки материально-технической базы.

Радиодетали:

  • ATmega328;
  • 2 электролитических конденсатора ёмкостью 10 uf (микрофарад);
  • 2 конденсатора в круглом керамическом корпусе ёмкостью 22 pf (пикофарада);
  • регулятор напряжения L7805;
  • кварцевый резонатор 16 MГц;
  • тактовая кнопка;
  • светодиоды;
  • панелька для микросхемы;
  • регулятор напряжения LM1117T-3.3 (по желанию);
  • 2 танталовых конденсатора ёмкостью 10 uf (микрофарад) (по желанию).

Инструменты:

  • Паяльник;
  • Мультиметр.

Шаг 2: Описание

После того, как приобрели все радиодетали, пришло время произвести монтаж, но перед этим нужно сказать пару слов насчёт atmega328. Существуют два типа микросхем: с boot-loader (бутлоударом, он же загрузчик) и без него. Разница в цене микросхем не значительная, но если приобретёте «микруху» с бутлоударом, то сможете проскочить несколько шагов из данной статьи. Если же купите без загрузчика, то необходимо в точности выполнить всё, что описано в последующих шагах.

Загрузчик необходим для загрузки кода с Arduino IDE в микросхему.

Шаг 3: Загружаем «загрузчик»

Для этого шага будет нужна плата Arduino UNO. Следуя схеме, припаяем радиодетали на монтажную плату. На данной этапе, нет необходимости включать в схему регуляторы напряжения, так как Arduino обеспечит необходимое напряжение.

Настроим плату Аrduino UNO, как ISP. Это нужно сделать для того, чтобы плата прошила микроконтроллер ATmega, а не саму себя. Не подключайте ATmega, пока идёт загрузка кода.

  • Подключим Arduino к ПК;
  • Откроем Arduino IDE;
  • Откроем > Примеры > Arduino ISP;
  • Загрузим прошивку.

Шаг 4:

После того, как все элементы схемы соединены воедино, открываем IDE.

  • Выбираем Arduino328 из Tools > Board
  • Выбираем Arduino, как ISP из Tools > Programmer
  • Выбираем Burn Bootloader

После успешной записи, вы получите «Done burning bootloader».

Шаг 5: Добавляем 5В регулятор

После прошивки загрузчика, завершим изготовлении платы. Регулятор напряжения L7805 – это важная деталь схемы. Распиновка следующая (смотрим на лицевую сторону): крайняя левая нога – вход, центральная нога – земля, а крайняя правая нога – выход.

Следуя схеме присоединим регулятор напряжения к arduino.

Шаг 6: 3.3 В регулятор напряжения

Данный шаг выполняется по желанию. Регулятор используется только для питания внешних шилдов/модулей, которым нужно 3.3В.

Шаг 7: Первая прошивка

Как только завершим сбоку, пришло время загрузить первый код. Для прошивки удалим родной микроконтроллер ATmega 328 с платы UNO и заменим его новой микрухой. Как только загрузим код, поменяем микросхемы местами.

На этом всё! Спасибо за внимание!

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

Ну вот и настало время освоить платформу для duino самостоятельно. Для начала разберемся, что нам может потребоваться. Для начал было бы не плохо определиться, на базе чего мы будем делать наш экземпляр отладочной платы. Чтобы упростить изначальную задачу, я предлагаю использовать USB-(UART)TTL адаптер для загрузки скетчей. Это упростит нам жизнь в разы. лично я буду использовать дешевенький адаптер, заказанный в ныне несуществующем интернет-магазине, но все также рабочий.

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

Для ознакомления найдем схемы различных платформ на официальном сайте:

На мой взгляд схемы хорошие, но неплохо было бы посмотреть уже проверенные реализации "самоделок", мне очень понравились 3 варианта:

Соорудим минимальную обвязку нашему устройству.На первом этапе деталей необходимо минимум:

Собственно сам МК atmega328P (в моем случае, хотя может использоваться и 168 и 8)

Кварц 16 MHz

Конденсатор 22pF x 2шт.

Резистор 10k

Кнопка сброса (любая, кстати не обязательный элемент)

Вот в принципе и все, что минимально необходимо для работы микроконтроллера. Я предлагаю все наши работы иллюстрировать и проектировать в очень не плохой программке Fritzing:

Ну вот, давайте разберемся, зачем нужны данные элементы. Кнопка позволяет перезапустить микроконтроллер, резистор R1 является подтягивающим резистором для кнопки. Кварц, C1 и C2 являются внешним тактовым генератором для контроллера.


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

Ну вот и готова наша минимальная Duino. Для того, чтобы удобнее было использовать данный отладочный инструмент, я предлагаю наклеивать на корпус подсказку с распиновкой "атмеги". Мой вариант реализован в Corel Draw:

Для начала соберем схему нашей Duino на беспаечной макетной плате, вот что получилось у меня:

Для загрузки скетчей мы будем использовать USB - TTL адаптер, на фото мой уже изрядно потрепавшийся адаптер на базе микросхемы CP2102:

Но перед загрузкой скетчей необходимо залить бутлоадер в МК, иначе, он "не поймет", что мы от него хотим. Есть масса способов, но мы будем использовать простейший. При помощи замечательного программатора USBasp:

Для начала подключим нашу Duino к программатору, это очень просто, достаточно соединить контакты программатора с Duino:

GND - масса (22 нога)

MOSI - MOSI (d11)

5V - питание "+" (7 нога)

Затем Arduino IDE -> Сервис -> "Записать загрузчик":

В процессе записи загрузчика придется подождать около 2 минут. После этого нам могут выпасть разнообразные "warning", типа "can not set SCK period" - не пугаемся и идем дальше.

Ну чтож, вот мы и готовы записать тестовый скетч "Blink" в наш новоиспеченный Duino, но есть один момент, и на нем я хотел бы остановиться. Как мы уже говорили для записи скетчей используется последовательный порт, но в "обычной" жизни МК это цифровые порты 0 и 1. Все очень просто, мы уже залили бутлоадер, он инициализирует запись новой прошивки при включении в течении нескольких секунд, после этого Duino начинает выполнять программу, которая записана у нее в памяти.

Чтобы перевести Duino в режим "приема", необходимо перезагрузить МК, для этого мы сделали специальную кнопку, но нажать ее нужно строго в определенный момент, это совсем не подходит для нас. К счастью на переходниках есть специальный вывод "RST", который достаточно подключить к 1 ноге МК, чтобы автоматически перезагружать Duino перед загрузкой скетча. Подключение очень простое, (переходник - Duino):

GND - масса (22 нога)

RXD - подключить к TXD (3 нога)

TXD - подключить к КXD (2 нога)

5V - питание "+" (7 нога)

Как Вы заметили контакты приема/передачи подключаются перекрестно. И все бы хорошо, но есть одно "но": существует огромное множество переходников, а для автоматической перезагрузки МК необходимо внедрить конденсатор на 100pF в разрыв цепи RST - перезагрузка (1 нога). В некоторых адаптерах он есть, а в некоторых - увы нет. Тут нужно только проверять, в моем экземпляре встроенного конденсатора не оказалось. В итоге схема немного "усложнилась":

Ну что же, теперь можно загрузить скетч в памяти Duino и попробовать провести несколько экспериментов =) (на фото добавлены светодиоды - индикаторы загрузки скетча):

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

Как устроен контроллер Arduino?

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

Сборка Arduino UNO

При необходимости можно сделать контроллер Arduino UNO своими руками. С этой целью применяются два трансивера и одна обкладка. Конденсаторы разрешается использовать с проводимость от 50 мк. Рабочая частота у элементов находится на уровне 300 Гц. Для установки транзистора применяется регулятор. Фильтры можно припаивать в начале цепи. Довольно часто они устанавливаются переходного типа. В данном случае трансиверы разрешается использовать расширительного типа.

Сборка Arduino UNO R3

Собрать Arduino UNO R3 своими руками довольно просто. С этой целью потребуется заготовить трансивер переходного типа, который работает от переходника. Стабилизатор разрешается использовать с проводимостью от 40 мк. Рабочая частота у контроллера будет составлять около 400 Гц. Специалисты советуют не использовать проводниковые транзисторы, поскольку они не способны работать при волновых помехах. Многие модели делаются с саморегулируемыми трансиверами. Коннекторы у них подключаются с проводимостью от 340 мк. у контроллеров данной серии равняется не менее 200 В.

Сборка модификации Arduino Mega

Сделать Arduino Mega своими руками можно только на базе коллекторного трансивера. Контакторы довольно часто устанавливаются с переходниками, а чувствительность у них равняется не менее 2 мВ. Некоторые специалисты рекомендуют использовать инвертирующие фильтры, однако надо помнить, что они не могут работать при пониженной частоте. Транзисторы используются только проводникового типа. Блок выпрямителя устанавливается в последнюю очередь. При возникновении проблем с проводимостью эксперты рекомендуют проверить номинальное напряжение устройства и поставить емкостные конденсаторы.

Как собрать Arduino Shield?

Собрать контроллер Arduino Shield своими руками довольно просто. С этой целью трансивер можно заготавливать на два переходника. Транзистор разрешается использовать с подкладкой и проводимостью на уровне 40 мк. Рабочая частота у контроллера данной серии равняется не менее 500 Гц. Эксплуатируется элемент при напряжении от 200 В. Регулятор для модификации потребуется на триоде. Преобразователь нужно устанавливать для того, чтобы не перегорел трансивер. Фильтры часто используются переменного типа.

Сборка Arduino Nano

Контроллер Arduino Nano своими руками делается с двумя трансиверами. Для сборки используется стабилизатор полюсного типа. Всего потребуется два конденсатора малой емкости. Транзистор устанавливается с фильтром. Триод в данном случае обязан работать при частоте не менее 400 Гц. Номинальное напряжение контроллеров данной серии составляет 200 В. Если говорить про другие показатели, то стоит отметить, что чувствительность составляет не менее 3 мВ. Реле для сборки потребуется с сеточным фильтром.

Сборка транзисторов SMD

Чтобы сделать с транзистором SMD (Arduino), потребуется только один трансивер. Для поддержания стабильной частоты устанавливаются два конденсатора. Емкость у них обязана составлять не менее 5 пФ. Для установки тиристора применяется обычный проводной переходник. Стабилизаторы в начале цепи устанавливаются на диодной основе. Проводимость у элементов должна составлять не менее 55 мк. Также следует обращать внимание на изоляцию конденсаторов. Для уменьшения количества сбоев в работе системы рекомендуется применять только преобразовательные компараторы с низкой чувствительностью. Также стоит отметить, что существуют волновые аналоги. Показатель чувствительности у них равняется 200 мВ. Регуляторы подходят только дуплексного типа.

Модель на базе DA1

Транзисторы данной серии обладают отличной проводимостью и способны работать с выходными преобразователями разной частоты. Сделать модификацию своими руками пользователь способен на базе проводникового трансивера. Контакты его подключаются напрямую через конденсаторный блок. Также стоит отметить, что регулятор устанавливается за трансивером.

При сборке контроллера рекомендуется применять емкостные триоды с низкими тепловыми потерями. У них высокая чувствительность, а проводимость находится на уровне 55 мк. Если использовать простой стабилизатор переходного типа, то фильтр применяется с обкладкой. Специалисты говорят о том, что тетроды разрешается устанавливать с компаратором. Однако стоит учитывать все риски сбоев в работе конденсаторного блока.

Сборка на транзисторе DD1

Транзисторы DD1 обеспечивают высокую скорость отклика при незначительных тепловых потерях. Чтобы собрать контроллер Arduino своими руками, рекомендуется заготовить трансивер. Целесообразнее применять линейный аналог, у которого высокая проводимость. Также надо отметить, что рынок переполнен однополюсными модификациями, и показатель чувствительности у них находится на уровне 60 мВ. Для качественного контроллера этого явно недостаточно.

Регулятор стандартно устанавливается дуплексного типа. Триод для модели подбирается на диодной основе. Непосредственно компаратор устанавливается в начале цепи. Он обязан работать при сопротивлении не ниже 50 Ом. Номинальное напряжение при этом обязано составлять около 230 В.

Модель на базе DD2

Транзисторы DD2 эксплуатируются при проводимости 300 мк. У них высокая чувствительность, однако они способны работать лишь при высокой частоте. С этой целью на контроллер устанавливается расширительный трансивер. Далее чтобы сделать Arduino своими руками, берется проводниковый коммутатор. Выходные контакты элемента соединяются с реле. Сопротивление у коммутатора обязано составлять не менее 55 Ом.

Дополнительно стоит проверить сопротивление на конденсаторном блоке. Если данный параметр превышает 30 Ом, то фильтр используется с триодом. Тиристор устанавливается с одним стабилизатором. В некоторых случаях за транзисторами припаиваются выпрямители. Данные элементы не только поддерживают стабильность частоты, но и частично решают проблему с проводимостью.

Сборка на транзисторе L7805

Собрать контроллер Arduino своими руками (на базе транзистора L7805) довольно просто. Трансивер для модели потребуется с сеточным фильтром. Проводимость элемента должна составлять не менее 40 мк. Дополнительно стоит отметить, что конденсаторы разрешается использовать двоичного типа. Специалисты говорят о том, что номинальное напряжение не должно составлять выше 200 В. При этом чувствительность зависит от многих факторов. Компаратор чаще всего на контроллер устанавливается с линейным переходником. На выходе припаивается триод на диодной основе. Для стабилизации процесса преобразования применяется однопереходный фильтр.

Модель на базе FT232RL

Чтобы правильно сделать контроллер Arduino своими руками, рекомендуется подобрать высоковольтный трансивер. Проводимость элемента обязана составлять не менее 400 мк при чувствительности 50 мВ. Контакторы в данном случае устанавливаются на выходе цепи. Реле разрешается использовать низкой проводимости, но важно обратить внимание на показатель предельного напряжения, который не должен превышать 210 В. Триод можно устанавливать только за обкладкой.

Также стоит отметить, что для контроллера потребуется один преобразователь. Конденсаторная коробка используется с двумя фильтрами низкой проводимости. Уровень выходного сопротивления элемента зависит от типа компаратора. В основном он используется на дипольном переходнике. Однако есть импульсные аналоги.

Сборка контроллера с транзистором 166НТ1

Транзисторы указанной серии обладают проводимостью в 400 мк, и у них хорошая чувствительность. Чтобы сделать котроллер своими руками, рекомендуется применять дипольный трансивер. Однако фильтры для него подходят только с обмоткой. Специалисты говорят о том, что контактор следует устанавливать с переходником. В данном случае хорошо подойдет линейный компонент, а номинальное напряжение в цепи обязано составлять не менее 200 В. Таким образом, рабочая частота у контроллера не будет опускаться ниже 35 Гц.

Arduino – это потрясающая электронная платформа для создания радиолюбительских проектов. Она проста в использовании и намного дешевле профессиональных отладочных плат.



Но Arduino можно сделать еще дешевле, не приобретая заводскую плату, а сделав ее самостоятельно. И в этом материале будет рассказано, как сделать Arduino своими руками, используя компоненты из местного радиомагазина.


Шаг 1: компоненты



Для Arduino нам понадобятся:


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

Шаг 2: организация цепи питания


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



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


Для большего удобства использования линии питания «перекинем» ее на левую сторону платы:



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



Шаг 3: выводы Arduino


Теперь нам нужно взять микроконтроллер. В данном случае используется ATmega 168 компании Atmel, но можно взять и ATmega 328. ATmega 328 работает на той же скорости и имеет тоже назначение выводов, но у нее в два раза больше флеш-памяти и памяти EEPROM.


Назначение выводов для Arduino можно наблюдать на следующем рисунке:



Шаг 4: подключаем компоненты


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



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


Теперь перейдем к противоположной стороне (выводы 1-14):



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


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


Шаг 5: Программирование



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

Платформа Arduino стала нынче практически мейнстримом.
В этой статье напишу о том, как собрать минимальную платформу на контроллере Amega 328P-PU, чтобы ее можно было программировать на платформе Arduino IDE.

Буковка «P» в названии микросхемы означает низкое энергопотребление, а PU-корпус DIP28, который удобно паять обычным паяльником.



Контроллеры пришли, как их теперь готовить?

Yеобходимо установить загрузчик в наши контроллеры. Для этого используем плату Arduino Uno и купленный заранее очень дешевый программатор USBasp . Чтобы не мудрить с проводками, лучше сразу взять еще и такой переходник на 6-ти пиновый разъем ICSP .

Описываем параметры микроконтроллера в файле c:\Program Files (x86)\Arduino\hardware\arduino\boards.txt

Для себя я сделал две конфигурации — внутренний кварц 8МГц с загрузчиком optiboot и отключенной проверкой на напряжение питания (чтобы можно было запитать микросхему вольт так от трех)

atmega328_8_33.name=Atmega328 (3.3V, 8 MHz internal)

atmega328_8_33.upload.protocol=arduino
atmega328_8_33.upload.maximum_size=30720
#atmega328_8_33.upload.speed=19200
atmega328_8_33.upload.speed=57600

atmega328_8_33.bootloader.low_fuses=0xC2
atmega328_8_33.bootloader.low_fuses=0xE2
atmega328_8_33.bootloader.high_fuses=0xDE
atmega328_8_33.bootloader.extended_fuses=0x07
atmega328_8_33.bootloader.path=optiboot
atmega328_8_33.bootloader.file=optiboot_atmega328.hex
atmega328_8_33.bootloader.unlock_bits=0x3F
atmega328_8_33.bootloader.lock_bits=0x0F

atmega328_8_33.build.mcu=atmega328p
atmega328_8_33.build.f_cpu=8000000L
atmega328_8_33.build.core=arduino
atmega328_8_33.build.variant=standard

и точная такая же с внешним кварцевым резонатором на 16МГц.

atmega328_16.name=Atmega328_16 (3.3V, 16 MHz external)

atmega328_16.upload.protocol=arduino
atmega328_16.upload.maximum_size=32256
atmega328_16.upload.speed=115200
atmega328_16.bootloader.low_fuses=0xff
atmega328_16.bootloader.high_fuses=0xde
atmega328_16.bootloader.extended_fuses=0x07
atmega328_16.bootloader.path=optiboot
atmega328_16.bootloader.file=optiboot_atmega328.hex
atmega328_16.bootloader.unlock_bits=0x3F
atmega328_16.bootloader.lock_bits=0x0F
atmega328_16.build.mcu=atmega328p
atmega328_16.build.f_cpu=16000000L
atmega328_16.build.core=arduino
atmega328_16.build.variant=standard

Аккуратно вынимаем из панельки Arduino контроллер и ставим туда наш.

Запускам стандартную ArduinoIDE, выбираем в меню «Сервис->Программатор->USBasp», плату Atmega328 (3.3V, 8 MHz internal) или Atmega328_16 (3.3V, 16 MHz external) и нажимаем «Записать загрузчик». После окончания процесса загрузки мы получаем контроллер, в который можно уже в дальнейшем заливать программы через стандартный USB Ардуины.

В принципе, если вам не требуется низковольтное питание, можно не править фал board.txt, а пошить контроллер как Arduino Uno.

Дальнейшая работа с контроллером такая — либо шить его вставляя на плату Arduino Uno через стандартный USB порт этой платы. Прошив контроллер на работу с внутренним кварцем, можно сразу использовать его практически без всякой обвязки. Например, мигать светодиодом на 13-м порту, как на этой картинке.

Если же нужно постоянно использовать контроллер в своей плате, не переставляя его — то нужно собрать такую схему

Контроллер с внешним кварцем работает быстрее и гораздо стабильнее.

Где это уже работает?
Контроллер управления вентилятором в ванной комнате

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то