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

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

4 Сентябрь 2012 Рубрика: Уроки Arduino

Официальную версию Arduino можно купить примерно за 27 евро. Есть отечественные аналоги (например Freeduino) и китайские копии которые стоят немного дешевле. Но зачем покупать?

Ведь можно сделать Arduino своими руками.Плата подключается к компьютеру и прошивается через USB благодаря микросхеме FT232RL на борту. С помощью джампера можно выбрать от какого источника будет питаться Arduino: USB порт компьютера (позиция «int») или от разъема блока питания (позиция «ext»).  Так же присутствует джампер разрешения автоматической перезагрузки (auto reset enable).Достоинством данной платы является то что она односторонняя и легко изготавливается в домашних условиях.Данный проект разработан в P-CAD.

Вот скриншот электрической схемы (нажмите на изображение для увеличения):А вот вид печатной платы самодельной Arduino:Ну и расположение компонентов на схеме:Советую электролитические конденсаторы уложить на бок (имеются ввиду C7 и C8).После того как сделаете данную плату, не забудьте прошить контроллер Atmega8 (прошивка как и файлы печатной платы можно скачать по ссылке в конце статьи). ВНИМАНИЕ: обязательно выставьте корректные фьюзы!

BODLEVEL   1 BODEN      1 SUT1       0 SUT0       1 CKSEL3     1 CKSEL2     1 CKSEL1     1 CKSEL0     1 RSTDISBL   1 WDTON      1 SPIEN      0 CKOPT      0 EESAVE     1 BOOTSZ1    0 BOOTSZ0    1 BOOTRST    0

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

После того как вы прошили свою самодельную плату Arduino нужно установить драйвер FTDI (скачать можно на официальном сайте)Теперь запускаем Arduino IDE и начинаем творить. Только не забудьте предварительно выбрать используемую плату:  Сервис -> Платы -> Arduino NG or older w/ATmega8.Вот и все.

Итак, для того чтобы сделать Arduino своими руками вам нужно скачать этот архив. Там вы найдете файлы P-CAD  с печатной платой и схемой, прошивку для ATMega8, список деталей для покупки с примерной стоимостью, а также даташит на AVR контроллер ATMega8. Ну и напоследок хочу сказать что плата совместима абсолютно со всеми Arduino шилдами.Автор данной разработки: ssg1712

Печатная плата Arduino, разведенная в Sprint-Layout 5.0

Вы можете скачать печатную плату USB Arduino разработанную в Sprint-Layout 5. Данная программа более популярна среди радиолюбителей, нежели P-CAD. За разведенную плату огромное спасибо Дмитрию Ефремову. Печатная плата проверена, ошибок нет.

Фото готового устройства

Машинка на Arduino своими руками

Не давно я писал о машинке на основе Arduino. Сейчас снова хочу предоставить вам интересный вариант «Управляем Arduino-машинкой при помощи G-сенсора на Android смартфоне»В данной статье я вам расскажу, как при помощи данного сервиса RemoteXY очень легко настроить дистанционное управление платформой или машинкой.

Робомашинкой мы будем управлять при помощи элемента управления «Джойстик», который умеет работать от G-сенсора вашего смартфона. В конце статьи вы найдете видео и можете посмотреть, что же у нас получилось.Мы собрали очень простую двухколесную тележку, что бы продемонстрировать вам, как построить систему дистанционного управления. В тележке использованы следующие компоненты (мы не претендуем на качество изготовления, тележка собрана для демонстрации возможностей ресурса RemoteXY):

Все детали можно заказать на китайском сайте за копейки. Правда придется ждать немного. но лучше сэкономить чем переплатитьЭлектрическая часть и схема подключения всех модулей машинки представлена на следующем рисунке.Машинка на Arduino. Схема подключения

Программа управления

Войдите в редактор на этом ресурсе и сконструируйте следующий интерфейс управления:Установите по центру экрана «Джойстик». В свойствах джойстика выберите установку дополнительного элемента управления «Включить G сенсор».

Выберите положение переключателя G-сенсора «Низ-лево». Так же в настройках можете изменить цвет на красный. В дальнейшем джойстиком мы будем управлять движением машинки.Установите «Переключатель». Разместите его левее джойстика.

Можете так же изменить его цвет. Переключателем мы будем управлять светодиодом на плате Arduino на пине 13.Если вы все правильно сделали, у вас должен получиться примерно такой интерфейс управления:В настройках проекта выберите целевую платформу, для которой мы получаем исходный код «Arduino (SoftwareSerial)».

Нажимаем кнопку «Получить код» и загружаем исходный код на свой компьютер.Откроем загруженный скетч в IDE Arduino. Скетч прекрасно компилируется без ошибок. Однако, в нем конечно же нет кода для управления нашей машинкой.

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

Мы видим переменные и, отражающие координаты x и y нашего джойстика, а так же переменную , отражающую переключатель. /* структура определяет все переменные вашего интерфейса управления */ typedef struct {/* input variable */ signed char joystick_1_x; /* =-100..100 координата x положения джойстика */ signed char joystick_1_y; /* =-100..100 координата y положения джойстика */ unsigned char switch_1; /* =1 если переключатель включен и =0 если отключен *//* other variable */ unsigned char connect_flag;  /* =1 if wire connected, else =0 */Далее приводится основной код программы, в который уже встроено управление моторами нашей машинки. Вы можете просто скопировать данный код в свой скетч, или же выборочно добавить необходимые куски кода в загруженный пример.

Бюджетный USB Arduino своими руками

Posted on

Очень давно хотел собрать свою плату Arduino, смотрел на схемы, но так и не решался. Причин было несколько:

Затем однажды я наткнулся на статью на Хабре где использовали конвертер на AVR вместо FT232R (схемы там нет), а так же на Zelectro аналогичную реализацию, но на микроконтроллере  Atmega8. Последняя была сделана на базе японского проекта.  Именно все это и вдохновило меня сделать собственную реализацию Arduino.И так если зайти на сайт AVR-CDC и посмотреть последние изменения (в архиве с прошивкой , на сайте нет информации) то там реализованы линии Rx Tx, а так же DTR, CTS, RTS не только на относительно дорогой ATMega8, но и на дешевой AtTiny2313.

Работают последние линии только на кварце в 16 или 20 мгц. Именно на основе данного чипа я решил собрать USB - UART преобразователь.

Часть Arduino взята с официального сайта практически без изменений.Печатную плату можно -  скачать тут.Плата питается как от USB так и от внешнего питания. На плате установлен стандартный для программатора AVR910 разьем для  прошивки основного чипа. В моем случае это AtMega8, но можно использовать и AtMega168.Для работы программатора AVR910 в фале конфигурации программатора ..\Arduino\arduino-1.0.6\hardware\arduino\programmers.txt необходимо добавить следующие строки:

avr910.name=avr910 avr910.protocol=avr910 avr910.communication=serial avr910.speed=115200

Выше указанный файл редактируется нормально только редактором Notepad++. В обычном Notepad он выглядит нечитабельно.Ниже привожу фото этого Arduino в сборке от  Павла!

Самодельное USB Arduino с программаторомСамодельный USB Arduino обратная сторона платы

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

Ардуино · своими · руками · прошивка · USBasp Ну вот и настало время освоить платформу для duino самостоятельно. Для начала разберемся, что нам может потребоваться. Для начал было бы не плохо определиться, на базе чего мы будем делать наш экземпляр отладочной платы.

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

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

Для ознакомления найдем схемы различных платформ на официальном сайте: http://arduino.ru/Schematic/Arduino-Pro-schematic.pdf (микросхема имеет иную распиновку) Соорудим минимальную обвязку нашему устройству.На первом этапе деталей необходимо минимум: - собственно сам МК atmega328P (в моем случае, хотя может использоваться и 168 и 8) - кнопка сброса (любая, кстати не обязательный элемент) Вот в принципе и все, что минимально необходимо для работы микроконтроллера. Я предлагаю все наши работы иллюстрировать и проектировать в очень не плохой программке Fritzing: Ну вот, давайте разберемся, зачем нужны данные элементы.

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

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

Распиновка Atmega 328p.cdr.zipСкачать

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

При помощи замечательного программатора USBasp: Для начала подключим нашу Duino к программатору, это очень просто, достаточно соединить контакты программатора с Duino: Далее, открываем Arduino IDE -> Сервис -> Программатор выбираем: "USBasp". Затем Arduino IDE -> Сервис -> "Записать загрузчик": В процессе записи загрузчика придется подождать около 2 минут.

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

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

К счастью на переходниках есть специальный вывод "RST", который достаточно подключить к 1 ноге МК, чтобы автоматически перезагружать Duino перед загрузкой скетча. Подключение очень простое, (переходник - Duino): RXD - подключить к TXD (3 нога) TXD - подключить к КXD (2 нога) 5V - питание "+" (7 нога) RST - перезагрузка (1 нога) Как Вы заметили контакты приема/передачи подключаются перекрестно.

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

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

Тут нужно только проверять, в моем экземпляре встроенного конденсатора не оказалось. В итоге схема немного "усложнилась": Ну что же, теперь можно загрузить скетч в памяти Duino и попробовать провести несколько экспериментов =) (на фото добавлены светодиоды - индикаторы загрузки скетча): А зачем было так разжевывать все эти и так понятные вещи, почему нельзя было сразу нарисовать схему рабочей Duino и не мучить читателей "многобукав"? А затем, что иначе никто даже не задумался бы зачем та или иная деталь в Duino, а когда работаешь с отладочным инструментом - необходимо знать все его тонкости и особенности. В дополнение выкладываю все "сырцы" проектов во Fritzing:

MyDuino.rarDIY или Сделай Сам

Давно еще в голову закралась мысль сделать Arduino еще более модульным устройством, а именно сделать съемным переходник USB-UART. Плюсов у такого решения много.

Плата становится меньше, себестоимость сильно снижается и такую плату уже не жалко оставить в готовом устройстве на крайний случай.Интересным и уже реализованным решением в таком направлении на мой взгляд является плата Arduino PRO, распиновка штырей-коннекторов которой в последствии стала стандартом для многих USB to UART переходников. За основу и был принят этот стандарт.

Встречайте Arduino PRO zelectro editionПлата прошла модернизацию. Смотрие Z-DIYino PROРассказывать особо нечего, скажу лишь пару слов о функционале. На входе имеем уже стандартную для нашего блога КРЕНку (стабилизатор на 5 вольт).

Для сглаживания входного и выходного напряжения установлены пары конденсаторов (керамика 0.1мкФ и электролит 100мкФ). Контроллер работает от внешнего кварца кварц 16 мГц.

Также установлена кнопка сброса, и 2 светодиода, один на питание, второй традиционно на 13й пин.Для загрузки скетчей (для согласования уровней между переходником и контроллером) в линии TX и RX поставлены резисторы номиналом 1 кОм. Коннектор DTR соединен с выводом RESET контроллера через конденсатор 0.1 мкФ, для автоматической перезагрузки при заливке скетчей.

Данную функцию можно отключить сняв джампер (ENABLE). Добавлен вывод VTG INPUT, о предназначение которого можно прочитать в предыдущих статьях. На плату добавлен вывод VTG INPUT, о котором можно прочесть в предыдущих статьях.

К минусам относится отсутствие стабилизатора на 3.3 вольта, а также разъема ICSP.ICSP разъем представлен контактами MISO, MOSI, SCK, RESET, GND и VTG. Все данные контакты дублируются на гребенках. Для заливки бутлоадера коннектимся к следующим выводам:

Arduino своими руками с USB портом

Хочу представить вам свой проект-вариант широко известного контроллера Arduino. Начну с короткой предыстории. Электроникой и радиотехникой я занимаюсь больше 10 лет.

А вот интерес к микроконтроллерам появился не так давно. Изучал язык С, программировал микроконтроллеры от фирмы Atmel, успех был переменчивым. И как-то, изучая просторы интернета на тему программирования микроконтроллеров, попал на сайт www.arduino.ru.

Их контроллеры мне понравились, захотелось такой себе. Поскольку паяльник «в руках держать умею», покупать контроллер отказался и начал искать в интернете информацию по самостоятельному его изготовлению, но ничего подходящего не нашел. Вариант платы, которую собирают на страницах http://robocraft.ru/blog/arduino/19.html сайта, мне не подходит, да и не сильно нравится.

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

Хотелось с USB разъемом.Скачал файлы схем оригинальных версий контроллера Arduino, даташит на микросхему FT232R, распечатал статью "Ардуино хоум мэйд" (ссылка выше) и думал как это все соединить, чтобы получилось то, что я хотел найти. И получилась вот такая схема:Используемые в схеме детали: Резисторы я использовал SMD типоразмером 0805: - R1, R2, R4, R7 – от 300 Ом до 1 кОм (какие найдете); - R3 – 10 кОм;Конденсаторы: - С2, С3, С5, С13, С8, С10, С11 – SMD (0805) номиналом 0,1 мкф; - электролиты С1, С4, С9, С12 – я использовал по 22 мкф*50 В, мне они подошли по высоте.

Номинал не особо важен, не ниже 10 мкф на напряжение не ниже 10 В, кроме С9, его напряжение должно быть больше не 20 % напряжения питания внешнего источника; - С6, С7 – керамика по 22 пф.Светодиоды любые (форма, габариты, цвет) на ток 15-20 мА. Диод D5 – 1N4007 тоже в SMD корпусе.

Кварц – 16 МГц. - DA1 – L7805 в корпусе ТО220; - DD1 – FT232RL (хорошая микра, но в большем корпусе не выпускают); - DD2 – сам наш микроконтроллер, я использовал ATmega168, можно ATmega8, думаю, что и ATmega328 тоже подойдет, главное загрузить соответствующий загрузчик (bootloader).По итоговой стоимости точно сказать не могу (SMD компоненты не покупались, нашлись в коробочках электронщика-радиолюбителя). А затраты были следующие (г.

Ростов-на-Дону): FT232RL – 200 р., ATmega168 – 220 р., L7805 – 15 р., разъемы, предохранитель, гребенки, панелька, кнопка – около 100 р. При подключении собранного устройства к компьютеру определится новое устройство, нужно установить драйвер, указав путь к директории «FTDI USB Drivers» (в скаченной программе Arduino IDE).С печатной платой (ПП) были некоторые проблемы, но мне помогла картинка ПП в статье. Все распиновки и расстояния разъемов совпадают с оригинальной платой ардуино, можно будет подсоединять различные arduino-совместимые платы расширения.Назначение этого контроллера может быть самое различное – от "учебника" по программированию до создания серьезных охранных систем.

Информации по его применению в интернете очень много. Работает контроллер просто. На компьютер устанавливается программа Arduino IDE, скаченная бесплатно с официального сайта www.arduino.cc.

В ней Вы пишите свою программу (скетч) для исполнения контроллером. Потом, нажимая кнопку в среде Arduino IDE "загрузить", компьютер компилирует Вашу программу в язык понятный микроконтроллеру и через виртуальный com порт, созданный микросхемой FT232R, передает ее микроконтроллеру.

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

Плата контроллера может питаться как от usb, так и от внешнего источника питания (8-25 В) для чего установлен микросхемный стабилизатор L7805. Присутствует на плате предохранитель 500 мА по +5 В от usb, чтобы не повредить usb порт при неполадках в плате контроллера.

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

Диод D5 защищает микроконтроллер от переполюсовки питания.Расположение некоторых деталей на фото платы не совпадает с файлом ПП, по причине совершенствования на момент создания статьи. Файл ПП в программе Sprint-Layout 5.0 прилагается.Правильно собранный и прошитый контроллер начинает работать сразу.

Отмечу – что после первой (и возможно последующей) загрузки бутлоадера, начинает моргать с небольшой частотой светодиод D3.Прошить бутлоадер готового устройства несложно. Самая сложность заключается в наличие программатора.

Поскольку я имел опыт программировать микроконтроллеры, то у меня уже был собран программатор Prottoss AVR910. Лошадка рабочая, автору 5 из 5! Далее подключаем программатор к плате ардуино, открываем программу для программирования микроконтроллеров AVR (я использовал CodeVisionAVR), открываем окно прошивки микроконтроллера, нажимаем load flash, находим наш (для ATmega168) файл прошивки в скаченном дистрибутиве «…arduino-1.0.1\hardware\arduino\bootloaders\atmega\ ATmegaBOOT_168_diecimila.hex.

Далее необходимо выставить lock и fuse биты так, как показано на рисунке:Узнать фьюз- и лок-биты для своего микроконтроллера можно посмотреть в файле: «…arduino-1.0.1\hardware\arduino\boards.txt», использовав калькулятор фьюзов для AVR (можно легко найти в интернете). Если же у Вас нет программатора, но есть программатор у друга, соседа.., то есть другой, более быстрый и полезный способ прошить загрузчик.

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

При подключении этого программатора к компьютеру с установленными драйверами и подключенным программируемым МК, Вы, выбрав в программе Arduino IDE порт, на котором «сидит» программатор и свою прошиваемую плату и подключенный программатор, просто нажимаете на кнопку во вкладке сервис «прошить загрузчик» и радуетесь.Если же у Вас присутствует проблема "яйца и курицы", то я посоветую собрать вот этот программатор (сам его не собирал, но думаю вешь хорошая). Или погуглить интернет на тему AVRISP-mkII.

Еще вложу архив с информацией по этому программатору с файлами и описанием.Про альтернативный метод прошивки бутлоадера можно почитать здесь. Теперь (с устанвленными драйверами на компьютере, открываете программу Arduino IDE, во вкладке «Сервис» наводим курсор на вкладку «плата» и выбираем свое устройство (в моем варианте это – Arduino Diecimila or Duemilanove w/ ATmega168).

Далее, там же, выбираем порт к которому подключен контроллер (можно посмотреть в диспетчере устройств компьютера). Реализуем свои мысли в скетче и радуемся работе контроллера!Все возникшие вопросы присылайте в личку. Плату контроллера разработал и успешно использует ростовский радиолюбитель Ананьев Валерий. Логин на сайте: kaznachej

Список радиоэлементов

Рекомендуем почитать