Главная » Arduino
Призовой фонд
на май 2017 г.
1. Тестер компонентов MG328
Паяльник
2. Осциллограф DSO138
Паяльник
3. Регулируемый паяльник 60 Вт
Паяльник
4. 100 руб.
От пользователей

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

Хочу представить вам свой проект-вариант широко известного контроллера Arduino.
Начну с короткой предыстории. Электроникой и радиотехникой я занимаюсь больше 10 лет. А вот интерес к микроконтроллерам появился не так давно. Изучал язык С, программировал микроконтроллеры от фирмы Atmel, успех был переменчивым. И как-то, изучая просторы интернета на тему программирования микроконтроллеров, попал на сайт www.arduino.ru. Их контроллеры мне понравились, захотелось такой себе. Поскольку паяльник «в руках держать умею», покупать контроллер отказался и начал искать в интернете информацию по самостоятельному его изготовлению, но ничего подходящего не нашел. Вариант платы, которую собирают на страницах http://robocraft.ru/blog/arduino/19.html сайта, мне не подходит, да и не сильно нравится. Хотелось с USB разъемом.

Скачал файлы схем оригинальных версий контроллера Arduino, даташит на микросхему FT232R, распечатал статью "Ардуино хоум мэйд" (ссылка выше) и думал как это все соединить, чтобы получилось то, что я хотел найти. И получилась вот такая схема:

Схема Arduino с USB

Используемые в схеме детали:
Резисторы я использовал SMD типоразмером 0805:
- R1, R2, R4, R7 – от 300 Ом до 1 кОм (какие найдете);
- R3 – 10 кОм;
- R5, R6 – 1 кОм.

Конденсаторы:
- С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 защищает микроконтроллер от переполюсовки питания.

Печатная плата Arduino

Фото готового контроллера:

Плата Arduino

Плата Arduino

Расположение некоторых деталей на фото платы не совпадает с файлом ПП, по причине совершенствования на момент создания статьи. Файл ПП в программе 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

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

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
DD1 ИС USB интерфейса
1 Поиск в FivelВ блокнот
DD2 МК AVR 8-бит
ATmega168
1 Поиск в FivelВ блокнот
DA1 Линейный регулятор
L7805AB
1 ТО220Поиск в FivelВ блокнот
D1-D4 Светодиод4 Любые на ток 15-20 мАПоиск в FivelВ блокнот
D5 Выпрямительный диод
1N4007
1 SMDПоиск в FivelВ блокнот
Q1 Кварцевый резонатор16 МГц1 Поиск в FivelВ блокнот
С1, С4, С9, С12 Электролитический конденсатор22мкФ 50В4 Поиск в FivelВ блокнот
С2, С3, С5, С8, С10, С11, С13 Конденсатор0.1 мкФ7 SMD (0805)Поиск в FivelВ блокнот
С6, С7 Конденсатор22 пФ2 КерамическийПоиск в FivelВ блокнот
R1, R2, R4, R7 РезисторОт 300 Ом до 1 кОм4 SMD (0805)Поиск в FivelВ блокнот
R3 Резистор
10 кОм
1 SMD (0805)Поиск в FivelВ блокнот
R5, R6 Резистор
1 кОм
2 SMD (0805)Поиск в FivelВ блокнот
F1 Предохранитель1 Поиск в FivelВ блокнот
USB USB разъем1 Поиск в FivelВ блокнот
SB1 Кнопка1 Поиск в FivelВ блокнот
Добавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

Теги:

Ананьев В. Опубликована: 2012 г. 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (24) | Я собрал (0) | Подписаться

0
Игорь #
Я в своей "деревне" смог найти только FT232BM, она в другом корпусе. В рунете прочитал, что она старее чем RL и требует большей обвязки. Вы не сталкивались с этой микросхемой? Насколько сильно изменится схема?
Ответить
0
Павел #
Игорь на каждую микру есть свой даташит. Всегда начинайте с него. Вот конкретно ваш случай: http://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT232BM.pdf страница 14
Ответить
0
Саша #
Не могу найти кварц на 16 МГц, есть 15.8 и 16.4. Будет ли схема работать?
Ответить
0
Валерий #
Работать будет, вот как - это вопрос. Если будете требовать от контроллера точности в работе, то ожидания не оправдаются
Ответить
0
Сергей #
Собрал данную плату, только вот вместо меги 168 есть атмега8, правда пришлось доработать печатку добавить Х3 четыре контакта для FT232. Подключил к компу, комп увидел сразу, нашел и установил дрова, чему я был удивлен, т.к. с первого раза заработало. Попытался загрузить boot loader светодиод горел во время загрузки, в конце написано ок (это из разряда - делаю то не зная что). Ну а сам вопрос такой: можно ли в данной версии использовать 8мегу? Или же надо 168 и выше
Ответить
0
валерий #
Можно ставить мегу 88 и мегу 328 без проблем.
Ответить
0
kamaz6141 #
F1 - это предохранитель? Какие параметры? И тоже интересует можно ли использовать мегу8? Т.к. завалялось...
Ответить
0
morokoriss #
F1 - предохранитель, ну какие параметры, ну обычно 500 мА, самое большое для USB я встречал 1 ампер. Ставьте 1,6 и не парьтесь. Только на 5 вольт его еще поискать нужно, в смд много где встречаются. Мега 8 конечно будет работать, только у неё памяти меньше и загрузчик соответственно другой будет.
Ответить
0
morokoriss #
А прошить это дело лучше 5 проводками. Ибо это нужно сделать всего один раз, а то незнающие из-за этого будут париться ещё и по поводу Prottoss AVR910. А страшные рассказы про якобы сгоревшие LPT порты не более чем миф. Сколько не пытался, так и не смог его угробить, главное сначала коммутировать LPT, а только потом подавать питание и всё будет ровно. Отключать в обратной последовательности.
Ответить
0
серёга #
atmega328 тоже пойдёт?
Ответить
0
aspire89 #
Собрал схему, контроллер поставил уже с прошитым загрузчиком из рабочей ардуины, в IDE выбрал соответствующую плату и порт.
При загрузке любого кода получаю ошибку:
Using Port : \\.\COM15
Using Programmer : arduino
Overriding Baud Rate : 57600
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: Recv:
avrdude: stk500_getsync(): not in sync: resp=0x00

avrdude done. Thank you.
Пробовал закоротить rx-tx, то все что отправляю приходит обратно. В чем может быть проблема?
Ответить
0
alexandr #
Я такую проблему победил установкой старой версии драйверов для FT232RL из дистрибутива Arduino 1.0.4. Последняя версия с сайта FTDI ни как не хотела работать. При закорачивании Tx и Rx ответ то не приходил, то другие символы
Ответить
0
Николай #
После прошивки FT232RL программами FT_PROG, Terminal - перестал опознаваться Windows. Собрано только подключение к USB. Это восстановить возможно?
Ответить
0
Алексей #
А можете сказать какой предохранитель использовался? И что подразумевается под словом гребёнки и панелька?
Ответить
0
kaznachej #
В этом варианте (начальном) стоит обычный выводной плавкий предохранитель на 0,5 А. Впоследствии был впаян самовосстанавливающийся предоханитель того же номинала.
Ответить
0
Алексей #
Вот FT232R - стоит около 500 руб, а ATmega168 - 300 руб, + все пассивные компоненты, в итоге получится дороже чем готовая Ардуина. Но ради того, чтобы поиграть - можно попробовать.
Ответить
0
валерий #
Это где вы такие цены взяли? В чип нн, мега168-120р. фт232-140р. И это ещё не самые низкие цены.
Ответить
0
Алексей #
Это на дальнем востоке! Можете подсказать, пожалуйста, можно ли вместо smd кондёров использовать керамические? Такой же ёмкости
Ответить
0
first-leon #
Arduino nano можно купить за 140 рублей например на AliExpress
А в ручном режиме имеет смысл собрать переходник с Arduino Nano на Arduino Uno.
С правилами публикации комментариев ознакомлен, но будет очень обидно, если человек в попытках сэкономить, потратить время на самостоятельную сборку, а потом выяснится, что он переплатил, причем многократно.
Да и время затраченное на сборку и отладку может быть потрачено на проектирование и сборку конечного продукта. Не ради ардуино люди собирают ардуино, а ради конечного проекта, где ардуино всего лишь очередной компонент.
Ответить
0
cariad #
А какие были внесены изменения в ПП? Спаял по приложенной ПП. В итоге загрузчик через программатор прошился (D3 моргает). А при загрузке любого скетча ошибка avrdude: stk500_getsync(): not in sync: resp=0x00
При закорачивании TX-RX с МК ответа нет, без МК все норм возвращается.
Ответить
0
Максим #
Ку, не подскажете, что за компонент находится под гребенкой Х1 (выделен оранжевым прямоугольником, без маркировки) на схеме печатной платы?
У меня уже даже мысль появилась, может быть, это еще одно возможное место установки конденсатора С8?
Ответить
0
Lictor #
Я связался с автором статьи, если кому интересно, то неизвестная деталь кондер на 0.1 мкФ. Схему собрал, все отлично работает.
Ответить
0
Игорь #
R1, R2, R4, R7 – от 300 Ом до 1 кОм (какие найдете);
Все таки по теории лучше ставить меньше 300 Ом...
Ответить
0
Дмитрий #
Почему это? Вам нужно чтобы светодиоды жгли глаза?
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическое сопротивление?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Модуль измерения тока на ACS712 (30А)
Модуль измерения тока на ACS712 (30А)
Набор начинающего радиолюбителя USB-реле (2 канала)
вверх