- Как сделать контроллер Arduino своими руками
- Распиновка ATmega328
- Сборка Arduino на макетной плате
- Необходимые компоненты
- Схема сборки
- Эксперимент «маячок» из Матрёшки
- Прошивка ATmega328
- Прошивка ATmega328 через USB-UART преобразователь
- Прошивка ATmega328 через Arduino Uno
- Arduino своими руками с USB портом
- Arduino с USB-портом своими руками
- Системный интегратор
- Самодельный Arduino, UNO совместимый, на макетке и с USB-DATA кабелем
- Принципиальная схема самодельного Arduino, UNO совместимого, на микроконтроллере ATmega328P-PU:
- Подбор USB-DATA кабеля вместо USB-UART модуля для самодельного Arduino.
Как сделать контроллер 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 и прошейте свою плату.
Источник
Arduino своими руками с USB портом
Хочу представить вам свой проект-вариант широко известного контроллера Arduino. Начну с короткой предыстории. Электроникой и радиотехникой я занимаюсь больше 10 лет. А вот интерес к микроконтроллерам появился не так давно. Изучал язык С, программировал микроконтроллеры от фирмы Atmel, успех был переменчивым. И как-то, изучая просторы интернета на тему программирования микроконтроллеров, попал на сайт об arduino. Их контроллеры мне понравились, захотелось такой себе. Поскольку паяльник «в руках держать умею», покупать контроллер отказался и начал искать в интернете информацию по самостоятельному его изготовлению, но ничего подходящего не нашел. Хотелось с 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.1hardwarearduinobootloadersatmega ATmegaBOOT_168_diecimila.hex. Далее необходимо выставить lock и fuse биты так, как показано на рисунке:
Узнать фьюз- и лок-биты для своего микроконтроллера можно посмотреть в файле: «…arduino-1.0.1hardwarearduinoboards.txt», использовав калькулятор фьюзов для AVR (можно легко найти в интернете).
Если же у Вас нет программатора, но есть программатор у друга, соседа. то есть другой, более быстрый и полезный способ прошить загрузчик. Для этого нужно собрать программатор по этой схеме. Схема рабочая и проверенная мной. Простота этого метода заключается в том, что не нужно искать прошивку микроконтроллера, выставлять фьюз и лок-биты. При подключении этого программатора к компьютеру с установленными драйверами и подключенным программируемым МК, Вы, выбрав в программе Arduino IDE порт, на котором «сидит» программатор и свою прошиваемую плату и подключенный программатор, просто нажимаете на кнопку во вкладке сервис «прошить загрузчик» и радуетесь.
Теперь (с устанвленными драйверами на компьютере, открываете программу Arduino IDE, во вкладке «Сервис» наводим курсор на вкладку «плата» и выбираем свое устройство (в моем варианте это – Arduino Diecimila or Duemilanove w/ ATmega168). Далее, там же, выбираем порт к которому подключен контроллер (можно посмотреть в диспетчере устройств компьютера). Реализуем свои мысли в скетче и радуемся работе контроллера!
Прикрепленные файлы: diy_arduino.rar (2357 Кб)
Автор: Ананьев Валерий
Источник: www.cxem.net
C этой схемой также часто просматривают: |
Сетевой блок питания трансивера — своими руками!
ТЕЛЕПЕРЕДАТЧИК СВОИМИ СИЛАМИ
ЛЮСТРА ЧИЖЕВСКОГО — СВОИМИ РУКАМИ
СЕРЕБРЯНАЯ ВОДА — СВОИМИ РУКАМИ
Импульсный транcформатор для стробоскопа своими руками.
Экономичный электронный тюнер с высокой чувствительностью на микросхеме TA8122
Приемник диапазона 160 метров на микросхемах SA612A
FM-передатчик на микросхеме MAX2606
Зарядное устройство на базе регулятора мощности PR1500i
Источник
Arduino с USB-портом своими руками
Arduino — открытая платформа для разработки электроники, включающая в себя как аппаратные так и программные средства. В этой статье речь пойдет о том, как самостоятельно в домашних условиях изготовить Arduino-совместимую плату. В сети уже есть масса примеров (в том числе на официальном сайте проекта), но большинство подключаются к ПК через COM-порт и питаются от внешнего USB-адаптера. Наша плата подключается к компьютеру через USB-порт и, что немаловажно для радиолюбителей, является односторонней.
Arduino-совместимая односторонняя плата с USB-портом
Для связи микроконтроллера с ПК используется микросхема FT232RL. Выбор источника питания на схеме осуществляется через трехконтактный разъем. Он позволяет задать положением джампера источник питания: USB-порт (положение «int») или разъем БП(положение «ext»). FTRL’ка всегда питается только от USB. Так же есть джампер «auto reset enable». На рисунке ниже показано расположение элементов платы:
Конденсаторы C7, C8 лучше положить на бок, чтобы они не выступали выше разъемов и не мешали устанавливать шилды. FT232RL на чертеже не показана, так как установлена на обратной стороне платы.
Сама плата проста в изготовлении. Минимальная ширина проводника — 0,4мм, минимальный зазор — 0,4мм, кроме посадочного места под FT232RL, так как у нее шаг ширина выводов 0,3мм и расстояние между ними 0,35мм.
Когда плата изготовлена, можно заняться программным обеспечением. В первую очередь надо скачать и установить IDE для программирования и драйвер микросхемы FT232RL.
Затем необходимо прошить бутлоадер. Он лежит в папке C:\Program Files\arduino-1.0.3\hardware\arduino\bootloaders\atmega8\ATmegaBOOT-prod-firmware-2009-11-07.hex. Для прошивки потребуется программатор, который можно подключить к стандартному 6-ти — пиновому коннектору на плате. Также нужно запрограммировать fuse-биты SUT1, CKOPT, SPIEN, BOOTSZ1 и BOOTRST. Остальные должны быть не запрограммированы.
Программировать ардуино проще простого. Запускаем среду программирования, выбираем плату (в нашем случае это Arduino NG or older w/ATmega8) и номер COM-порта, который должен появиться в системе. Для примера можно прошить готовый скетч Basic->Blink. При этом плата должна начать мигать светодиодом:
Плата выполнена в формате P-CAD 2006 и скачать ее можно здесь. Также мы подготовили список для похода в магазин.
Также мы предлагаем Вам познакомиться с нашей версией Arduino-совместимой платы.
Источник
Системный интегратор
Самодельный Arduino, UNO совместимый, на макетке и с USB-DATA кабелем
В нашем самодельном Arduino микроконтроллер ATmega328P-PU работает на частоте 16 МГц, есть USB интерфейс, кнопка сброса и схема сброса в начале загрузки скетчей. И самое главное, в микроконтроллер зашит bootloader (загрузчик) Arduino Uno.
Таким образом, наш самодельный Arduino максимально совместим с Arduino UNO, но благодаря тому, что наш Arduino собран на макетной плате Breadboard Half (BREADBOARD — 456 HOLES) размером 82х59 мм., он получился более удобным в эксплуатации.
Основное преимущество самодельного Arduino, собранного на макетной плате в том, что его размер может не превышать размеров аналогичных моделей, собранных промышленным способом на печатных платах. В то же время, на макетной плате еще остается много места для создания своих устройств на базе Arduino. Например, этот самодельный Arduino можно успешно использовать для программирования микроконтроллеров в DIP-8, DIP-14, DIP-16, DIP-20 и DIP-24 корпусах. Если удалить схему сброса и сместить микроконтроллер ATmega328P-PU к краю макетной платы, можно будет программировать и микроконтроллеры в DIP-28 корпусах, и тиражировать Arduino. Схему самодельного Arduino можно повторить на значительно большей макетной плате и использовать для всестороннего тестирования своих устройств и программ.
Кроме того, цена комплекта для самодельного Arduino, Uno совместимого, существенно ниже чем у готовых моделей.
Ниже приводим монтажную схему самодельного Arduino, UNO совместимого, на микроконтроллере ATmega328P-PU.
Принципиальная схема самодельного Arduino, UNO совместимого, на микроконтроллере ATmega328P-PU:
Обратите внимание , в цепи DTR установлен конденсатор емкостью 2 мкФ. На линии DTR со стороны преобразователя USB-UART (микросхема CP2101 и т.п.) на время передачи устанавливается сигнал низкого уровня. В момент отрицательного перепада сигнала на линии DTR, RC цепочкой (10 кОм и 2 мкФ) на 1 ножке микроконтроллера формируется короткий отрицательный импульс RESET. Это позволяет по инициативе IDE ARDUNO сбрасывать микроконтроллер и запускать на нем, программу bootloader (загрузчик) перед передачей скетчей (прошивок).
Замечание , когда Вы будете использовать Ваш Arduino в качестве ISP программатора других микроконтроллеров, разрывайте цепь DTR, вынимая конденсатор 2 мкФ. Это предотвратит запуск на Вашем Arduino программы bootloader. Ваш Arduino должен работать в качестве ISP программатора под управлением скетча ArduinoISP из примеров к программе Arduino IDE.
Микроконтроллер ATmega328 имеет
- 14 входов/выходов 6 из которых могут использоваться как выходы ШИМ (с широтно импульсной модуляцией);
- 6 аналоговых входов.
Каждый из 14 цифровых входов/выходов Arduino может быть настроен как вход или выход, используя функции pinMode(), digitalWrite() и digitalRead() на языке C в программе Arduino IDE. Цифровые входы/выходы работают при напряжении 5 В.
На принципиальной электрической схеме самодельного Arduino синим цветом нанесены надписи в точности повторяющие маркировку на разъемах оригинального Arduino UNO R3.
Reset Низкий уровень сигнала на выводе перезагружает микроконтроллер.
0 . 13 Входы/выходы. Из них:
11. Выходы с ШИМ с разрешением 8 бит. Управление скважностью сигнала на выходе при помощи функции analogWrite().
A0 . A5 Аналоговые входы каждый разрешением 10 бит. Диапазон измеряемых напряжений 0 . 5 В.
AREF Опорное напряжение для аналоговых входов. Позволяет изменить верхний предел измеряемого напряжения на входах A0 . A5. Используется с функцией analogReference(). Внешнее напряжение рекомендуется подключать к выводу AREF через резистор 5 кОм.
С программным обеспечением некоторые выводы имеют специальное назначение:
0 (RX) и 1 (TX) для передачи данных по UART (порт последовательной передачи данных). Используется программой bootloader.
2 и 3 Инициализация внешнего прерывания. Используется с функцией attachInterrupt().
10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Для обмена данными по протоколу SPI, для чего используется библиотека SPI.
4 (SDA) и 5 (SCL) Для осуществления связи по протоколу I2C (TWI). Используется библиотека Wire.
Подбор USB-DATA кабеля вместо USB-UART модуля для самодельного Arduino.
В современных сотовых телефонах микросхема USB-UART встроена в телефон и кабель от них нам не подходит. В старых телефонах, для связи телефона с компьютером по USB интерфейсу использовался USB-DATA кабель, в который была встроена микросхема USB-UART, такой кабель нам и нужен.
Убедиться, что мы нашли или купили подходящий кабель можно следующим образом:
- Под Windows, при подключении кабеля к USB интерфейсу компьютера, в операционной системе появится новое устройство.
- Под Linux, необходимо подключить USB кабель к компьютеру и выполнить команду lsusb
Обратите внимание на последнюю строку. В системе появился Sony-Ericsson / Samsung DataCable. Отличная новость! Но, чтобы развеять сомнения, запустим программу Arduino. Под Windows, возможно, предварительно необходимо будет установить драйвер для кабеля.
В программе Arduino установите Сервис / Последовательный порт / порт на который подключился Ваш USB-DATA кабель. Запустите Сервис / Монитор порта . Соедините на кабеле провода RXD с TXD. В моем кабеле оказалось 5 проводов. Два провода питание 5В вычислить легко с помощью тестера, или светодиода с резистором. Так же сразу определите полярность питания. Три оставшихся провода RXD, TXD и DTR. DTR полезен, но не обязателен. И з них RXD и TXD можно вычислить с помощью Монитора порта, поочередно соединяя по 2 провода из трех (3 комбинации).
В Мониторе порта в верхней строке наберите какое нибудь сообщение и нажмите кнопку послать:
Сообщение вернулось, значит мы нашли провода RXD и TXD:
С USB-DATA кабеля срежьте разъем «К телефону». Припаяйте к проводам кабеля коннекторы. Я, например, взял соединительные провода папа-папа, разрезал их пополам и припаял к проводам USB-DATA кабеля.
Переходник USB-UART сделанный из USB-DATA кабеля от телефона Sony-Ericsson.
Еще один USB-DATA кабель подходит на роль USB-UART интерфейса:
Это кабель китайского производства для телефона Nokia. По середине кабеля установлена пластмассовая коробочка с микросхемой CP2101 на маленькой плате.
К этой плате я и припаял выводы +5V GND RXD TXD и DTR.
Переходник USB-UART сделанный из USB-DATA кабеля от телефона Nokia.
Конечно же, можно воспользоваться и готовым интерфейсом USB-UART, например, на микросхеме CP2102.
Но у него свои недостатки — не распаяна линия DTR и вместе с кабелями, он более громоздкий, +2 лишних разъемных соединения. Но есть и + 3 светодиода на борту (сомнительный +).
Источник