Отладочная плата для ардуино своими руками

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

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

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

Распиновка ATmega328

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

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

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

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

Схема сборки

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

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

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

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

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

Прошивка ATmega328

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

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

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

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

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

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

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

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

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

Источник

Отладочная плата для устройств на МК Atmega8/48/88/168/328

Многие устройства в моих статьях строятся на основе отладочных плат. Сегодня поговорим об отладочной плате для микроконтроллеров Atmega8/48/88/168/328. Все они в DIP корпусе имеют 28 выводов и одинаковое их расположение, поэтому без проблем можно одну отладочную плату использовать для любого из вышеперечисленных микроконтроллеров. Возможности этой отладочной платы позволяют также установить, например, bootloader для arduino и использовать эту плату как arduino.


Общий вид готовой отладочной платы

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

Данная отладочная плата состоит из следующего набора элементов. Место для микроконтроллера в отладочной плате использовано с применением разъема для корпуса DIP-28. Применение такого разъема, в народе именуемого «кроватка» позволит в случае чего быстро заменить микроконтроллер на плате. Удобно, если по неопытности случайно залочить микроконтроллер, удобно его извлечь и «вылечить» при помощи другой схемы или просто быстро сменить тип используемого микроконтроллера.

Также для быстрой смены кварцевого резонатора использован разъем. Так как эта отладочная плата, могут возникать ситуации, когда необходимо перезапускать микроконтроллер. Для этой цели на плате предусмотрена кнопка S1 — при замыкании на землю вывода PC6, происходит рестарт или reset используемого микроконтроллера. Резистор R6 подтягивает плюс питания к этому выводу для предотвращения самопроизвольного перезапуска. Данная макетная плата имеет простое исполнение, поэтому добавил два модуля для светодиодов (по три светодиода в каждом модуле). Токоограничительные резисторы для светодиодов подобраны таким образом, что для каждого модуля можно использовать RGB светодиоды — удовлетворено условие баланса белого. Падение напряжения на красных светодиодах чуть меньше, чем у зеленых и синих, поэтому резисторы R1 и R5 имеют сопротивление 180 Ом. Кроме того, резисторы в анодах светодиодов ограничивают ток на уровне примерно 18 — 20 мА для максимальной яркости. каждый светодиод соединяется с портом микроконтроллера через перемычки (джемперы) 1 — 6. Также, благодаря штырьковым соединениям, при помощи проводка о двух концов с соответствующими разъемами типа «мама» можно соединять светодиоды с любыми другими выводами микроконтроллера. Таким образом, макетка позволит отлаживать многие простые задачи без особых телодвижений, соответствуя своей простоте относительно всеобъемлющих отладочных плат, содержащих все нужные и не нужные модули для отладки любых задач. Следуя данной концепции, на плате возможно два варианта питания — 5 вольт от USB порта через программатор и 3,3 вольта через три выпрямительных диода (P-N переход диода способствует падению напряжения примерно на 0,5 — 0,6 вольт в зависимости от применяемого типа, диоды Шоттки имеют несколько меньшее падение на переходе — порядка 0,2 вольта, их лучше не использовать). Данные режимы питания выбираются путем установки перемычек (джемперов) 7 или 10. При желании можно немного изменить печатную плату и поставить стабилизатор напряжения на 3,3 вольта, например микросхему AMS1117. Резистор R10 ограничивает ток питания отладочной платы. Его можно или убрать, или заменить на меньший или больший номинал в пределах необходимого, или просто заменить резистором номинала 0 Ом. Резистор R9 был установлен в основном с целью только подключения LCD дисплея для регулировки контраста экранчика. Однако, этот функционал не ограничивается только LCD — дисплеем, резистор можно использовать в любых других необходимых целях. И, наконец, АЦП микроконтроллера. Как правило он питается от основного напряжения через дроссель для большей стабильности напряжения и более правильных показаний. Также АЦП имеет канал опорного напряжения. Оно организовано микросхемой управляемого стабилитрона TL431 — он стабилизирует напряжение до 2,5 вольт в соответствии с подключением выводов как на схеме, и оно подается на вывод AREF. Но не всегда нужно именно 2,5 вольта опорного напряжения. Поэтому на плате организованы перемычки 8 и 9 для возможности подключения 5 вольт на вывод опорного напряжения, то есть взять его от вывода AVCC — питания АЦП.

Читайте также:  Прицепы для кемпинга своими руками

Для подключения светодиодов на печатной плате предусмотрены контакты типа цанга вдоль края платы.

Все выводы микроконтроллера дублируются штырьками. Тут все понятно — для возможности подключения к выводам используемого микроконтроллера на отладочной плате каких-то своих модулей, схем или устройств. Штырьковые контакты питания +5 вольт и 0 вольт имеются по 5 штук на плате. Специально для программирования на печатной плате предусмотрен стандартный 10 пиновый разъем для программаторов AVR, например USBasp или AVRdoper или других.

Более подробно расположение штырьков (в том числе и для перемычек) относительно микроконтроллера можно посмотреть на печатной плате (ссылка будет ниже).

А вот так выглядит отладочная плата со стороны пайки:

Надеюсь аккуратность порадует Ваш профессиональный глаз.

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

Для этого в компиляторе необходимо определить частоту работы микроконтроллера, далее присоединить к проекту основные библиотеки компилятора для работы с выбранным микроконтроллером. Следующим шагом является обозначение куда будет подсоединяться светодиод. Далее у нас главная программа main, без нее никак нельзя, в начале главной программы инициализируется порт для работы со светодиодом. Внутри главной программы прописан бесконечный цикл while, то есть он никогда не закончится и будет крутиться по кругу от начала и до конца. А внутри этого цикла сама суть прошивки — светодиод зажигается, ждем 1 секунда, светодиод тухнет, ждем 1 секунду и так по кругу. Вот собственно и вся простая программа для тестирования.

Читайте также:  Одежда для собак маленьких пород своими руками

Вот что необходимо для прошивки микроконтроллера atmega8 — fuse биты:

К статье прилагается печатная плата, нарисованная в Sprint Layout, также простая прошивка для микроконтроллера ATmega8, моргающая светодиодом для оценки работоспособности платы и просто для того чтобы данная схема не была просто железякой. Также для данной прошивки прилагается файл Proteus и исходник программного кода в AVRstudio 4. Небольшое видео для демонстрации. Ну, а при желании Вы всегда можете загрузить самостоятельно в микроконтроллер bootloader для arduino и использовать эту плату как arduino Uno или Nano. Сам я особо не любитель arduino, поэтому не делал на это большого акцента.

Источник

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

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

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

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

Читайте также:  Мнущиеся игрушки своими руками

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

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

Источник

Оцените статью
Своими руками