- Как сделать контроллер Arduino своими руками
- Распиновка ATmega328
- Сборка Arduino на макетной плате
- Необходимые компоненты
- Схема сборки
- Эксперимент «маячок» из Матрёшки
- Прошивка ATmega328
- Прошивка ATmega328 через USB-UART преобразователь
- Прошивка ATmega328 через Arduino Uno
- Светодиодная панель с Arduino
- Видеообзор
- Что понадобится
- Подключение и настройка
- Шаг 1
- Шаг 2
- Шаг 3
- Примеры работы
- Тест матрицы
- Вывод геометрических фигур
- Анимация шариков
- Вывод текста
- Бегущая строка
- Собираем Arduino UNO своими руками
- Как сделать свою собственную плату Arduino Uno
- Шаг 1. Изменения в оригинальной версии
- Шаг 2. Необходимые компоненты
- Шаг 3. Рисуем окончательную схему
- Шаг 4. Создаем печатную плату
- Шаг 5. Пайка компонентов
- Шаг 6. Запуск загрузчика на микроконтроллере
- Шаг 7. Программируем Ардуино
- Шаг 8. Итоговый результат
Как сделать контроллер 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
Светодиодные матрицы не содержат на борту микроконтроллеров, памяти и контроллеров ШИМ. По принципу своей работы панели рассчитаны на использования технологии «CPLD» или «FPGA». Arduino Mega 2560 удалось адаптировать для управления матрицей, но для полной раскачки панели вам необходимо найти более высокоскоростной контроллер.
Видеообзор
Что понадобится
Подключение и настройка
Шаг 1
Подключите 16-проводной шлейф к входному сигнальному разъёму матрицы DATA IN .
Шаг 2
С помощью проводов «папа-папа» подключите второй конец шлейфа к платформе Arduino Mega 2560.
Номера пинов изменять нельзя
Вывод шлейфа | Вывод Arduino Mega |
---|---|
R1 | 24 |
G1 | 25 |
B1 | 26 |
GND | GND |
R2 | 27 |
G2 | 28 |
B2 | 29 |
GND | GND |
A | A0 |
B | A1 |
C | A2 |
D | A3 |
CLK | 11 |
LAT | 10 |
OE | 9 |
GND | GND |
Шаг 3
Подключите питание на светодиодную матрицу через силовой шнур. Один конец провода к блоку питания, а второй — в разъём POWER на матрице. Каждая LED панель питается строго от 5 вольт. Потребление тока зависит от вида матрицы.
Рекомендуем использовать блок питания с выходным напряжением 5 вольт и током не менее 4 ампер. Идеально подойдёт блок питания с выходным напряжением 5 вольт и током 5 ампер.
При подключении нескольких светодиодных панелей, соответственно увеличивайте запас по току в N-раз, где N — количество матриц в цепочке.
На схеме матрицы нет встроенного регулятора напряжения. При подаче напряжения более 5 вольт — вы убьёте LED панель.
Железо собрано. Теперь можно переходить к примерам работы.
Примеры работы
Для работы примеров скачайте и установите библиотеки RGBmatrixPanel,Adafruit_BusIO и Adafruit GFX через менеджер библиотек Arduino.
Тест матрицы
Для начала сделаем простой тест светодиодов «битых пикселей» на матрице.
Вывод геометрических фигур
Методы библиотеки легко позволяют выводить геометрические фигуры.
Анимация шариков
Заставим фигуры двигаться и отталкиваться от стен.
Вывод текста
Матрицы идеально подходят для объявлений и рекламных вывесок. Выведем цветной и яркий текст.
Бегущая строка
Добавим тексту движения — сделаем бегущую строку.
Источник
Собираем Arduino UNO своими руками
Об остальных материалах, дабы ничего не напутать, будет рассказано по ходу статьи.
Шаг первый: понимание схемы Arduino UNO
Прежде чем приступить к пайке, нужно было понять, что именно находится на плате Arduino UNO. Мастер разделил схему на 4 блока:
ATmega328 MCU
ATmega328P PDIP
16 МГц кварцевый генератор
Конденсаторы
Цепь питания
Регулятор от 7-12 В до 5В
Регулятор от 5 В до 3,3 В
USB / входной разъем, схема автоматического выбора
защита от обратного тока
Схема USB-UART
Разъем USB
Чип последовательного преобразователя (ATMEGA8U2-MU) с осциллятором и разделительными конденсаторами
Сигнальные светодиоды
индикатор питания
светодиод по умолчанию (D13)
Светодиоды TX / RX
Шаг второй: ATmega328 MCU и дорожки
Монтаж мастер начинает с микроконтроллера ATmega328 и дорожек цифрового и аналогового ввода / вывода. Arduino UNO имеет продуманную компоновку дорожек, которая хорошо соответствует компоновке 28 контактного DIP-пакета ATMEGA328. Дорожки не пересекаются, а идут параллельно друг другу. Мастер делает бумажный шаблон дорожек с оригинальной платы Ардуино и из проволоки изготавливает дорожки аналогичной формы. Припаивает и к микроконтроллеру.
Единственный внешний компонент для ATmega328, после монтажа которого устройство может работать, — это внешний генератор с частотой 16 МГц. Для его работы нужны два конденсатора 22 пФ. Мастер монтирует детали согласно семы. Минимальное аппаратное обеспечение для ATmega328P готово. Теперь можно сделать первый тест с программатором USBasp через интерфейс AVR ISCP.
Шаг третий: цепь питания
Мастер сделал для проекта рамку из монтажной платы, которая удерживает детали на месте, оставляя достаточно места для пайки.
ATmega328 питается от 5В. Arduino UNO имеет два источника питания — 7-12В и 5В через разъем USB. Он также обеспечивает источник питания 3,3 В для внешних компонентов. Т.е на устройстве размещены два регулятора мощности. Сначала нужно преобразовать 7-12 В в 5 В, а затем преобразовать 5 В в 3,3 В. Мастер использовал два регулятора AMS1117 5 В и 3,3 В. В схеме так же присутствуют конденсаторы смонтированные в соответствии с рекомендациями в технических описаниях.
Мастер спаял силовую цепь отдельно, а затем смонтировал ее на устройство. Мастер не устанавливал элементы автоматического выбора, и элементы защиты от обратного тока, чтобы не усложнять сему. При правильном и внимательном подключении устройства к источнику питания, они не нужны.
Шаг шестой: основание
Модуль Freeduino получился довольно красиво, но неустойчивым. Тогда мастер решил сделать для него основание, а чтобы это было красиво, основание будет сделано из эпоксидной смолы.
На 3D-принтере он напечатал форму, установил в форму устройство и залил эпоксидкой. После отверждения смолы он убрал форму и отполировал основание.
Источник
Как сделать свою собственную плату Arduino Uno
В уроке мы покажем вам, как сделать свою собственную плату Arduino Uno своими руками, используя микроконтроллер ATmega328p IC. В итоге вы сможете понимать как в дальнейшем делать аналоги любых плат, плюс создавать свои. Может быть вы даже откроете свою компанию по производству плат и микроконтроллеров.
Так как Ардуино является платформой с открытым исходным кодом, довольно легко узнать о внутренностях и деталях всего того, что делает Arduino тем, чем она является. Таким образом, в этом уроке мы рассмотрим схему Arduino Uno, немного изменим ее в соответствии с нашими потребностями, изготовим под нее печатную плату и припаяем необходимые компоненты для создания финального продукта.
Мы не будем использовать какие-либо SMD-компоненты для создания своей версии Arduino Uno, потому что не у всех есть паяльная станция, а иногда найти SMD-компоненты очень сложно. Кроме того, наш метод в большинстве случаев дешевле, чем компоненты SMD. Для тех кто, только начинает разбираться в электронике — технологию поверхностного монтажа печатных плат также называют ТМП (технология монтажа на поверхность), SMT (англ. surface mount technology) и SMD-технология (от англ. surface mounted device — прибор, монтируемый на поверхность), а компоненты для поверхностного монтажа также называют «чип-компонентами».
Шаг 1. Изменения в оригинальной версии
Прежде всего давайте поговорим об изменениях, которые собираемся внести в оригинальную схему Arduino Uno, которую вы можете увидеть выше или скачать ниже.
Изменения будут следующими:
- Мы не будем использовать какие-либо компоненты SMD. Все элементы будут в формате сквозных отверстий.
- Мы не нашли ни одного чипа FTDI в формате сквозного отверстия, поэтому преобразование USB в TTL не будет выполняться. Для программирования нового Arduino будет использоваться отдельная отладочная плата FTDI.
- Оригинальный Arduino использует компаратор Mosfet, чтобы определить, подключаем ли мы плату с помощью источника питания USB или постоянного тока. Но в нашей версии мы будем вручную переключать это с помощью перемычки.
- Традиционно используется микросхема LP2985 от Texas Instruments, чтобы получить источник питания 3,3 В на борту. Но из-за недоступности платы в формате TH мы будем использовать простой линейный регулятор. Таким образом, LM1117 должен быть очевидным выбором, но чтобы сохранить стоимость изготовления еще ниже, мы будем использовать LM317 с R1 и R2 как 240E и 390E соответственно.
- Последнее, что нужно на плате, — это достаточное количество линий питания и два разъема для каждого порта IO ввода-вывода. Поэтому мы будем размещать ряд разъемов папа и мама вокруг платы, что поможет подключить большее количество устройств непосредственно к Arduino.
Учитывая все изменения, мы можем записать окончательный список компонентов.
Шаг 2. Необходимые компоненты
Компоненты, которые вам нужны для этого проекта. Везде, где количество не указано, считайте его единственным.
- Микроконтроллер Atmel Atmega328p-pu
- 28-контактная база IC
- 16 МГц кварцевый генератор
- конденсатор 22 пФ — 2 шт.
- конденсатор 100 нФ — 4 шт.
- Электролитический конденсатор 100 мкФ — 3 шт.
- 3 мм красный светодиод — 2 шт.
- 330E 1/4W резистор — 2 шт.
- 240E 1/4W резистор — 1 шт.
- 390E 1/4W резистор — 1 шт.
- 10K 1/4W резистор — 1 шт.
- Кнопка для сброса
- Диод общего назначения 1N4007
- Линейный регулятор напряжения 7805
- Линейный регулятор переменного напряжения LM317
- DC разъем мама
- 2-контактный винтовой клеммный блок
- много разъемов «папа» и «мама»
Кроме всего вышеперечисленного для своей собственной Arduino Uno вам также понадобится паяльное оборудование и некоторые аппаратные средства, чтобы облегчить жизнь.
Вам также понадобится программатор USBASP ICSP или конвертер USB в TTL, такой как FTDI для программирования Arduino с вашего компьютера.
Вот проектная спецификация от компании Easyeda:
Собираем все компоненты и переходим к следующему шагу.
Шаг 3. Рисуем окончательную схему
Чтобы нарисовать окончательную схему, использовали Easyeda, набор инструментов EDA на основе веб-технологий. На этом портале очень просто рисовать большие схемы. Также это онлайн сервис. Таким образом, благодаря удобству использования что-то лучшее найти сложно. Рекомендуем вам использовать в своих проектах. Схема, которая разработана может быть скачена по ссылке ниже, PDF документ:
Шаг 4. Создаем печатную плату
Как только схема завершена, пришло время сделать печатную плату. Мы использовали веб-сайт JLCPCB (ссылка), чтобы сделать печатную плату. Эти ребята являются одними из лучших в производстве печатных плат в последние дни.
После завершения проектирования схемы преобразуйте ее в печатную плату и спроектируйте печатную плату на веб-сайте easyEDA (ссылка). Будьте терпеливы. Ошибка на этом шаге испортит вашу печатную плату. Проверьте несколько раз перед генерацией файла gerber. Вы также можете проверить 3d модель вашей платы здесь. Нажмите на создание файла gerber и оттуда вы можете напрямую заказать эту плату через JLCPCB. Загрузите файлы gerber, выберите правильную спецификацию, ничего не меняйте в этом разделе. Оставьте как есть. Это достаточно хорошие настройки для старта. Разместите заказ. Вы получите его через 1-2 недели.
Шаг 5. Пайка компонентов
После того, как вы получили печатную плату, пришло время припаять компоненты на неё, чтобы сделать конечный продукт. В этом нет ничего сложного. Просто держите распечатку схемы перед собой и начинайте размещать компоненты по одному на печатной плате. Убедитесь, что после завершения этого шага нет короткого замыкания по питанию и заземлению.
Одна вещь, которую стоит пояснить, заключается в том, что значения конденсаторов не обязательно должны быть идеальными. Нечто близкое к тем величинам, что мы обсуждали выше, вполне будет работать. То же самое касается резисторов. Но сохраните значения R1 и R2 LM317.
Одна вещь, которую вы можете найти странной, что у arduino, который мы сделали, есть две кнопки сброса. На самом деле, когда разрабатывали макет, использовали четырехконтактную кнопку для справки. Но во время пайки стало понятно, что у нас её нет. Поэтому мы припаяли 2 двухполюсных переключателя сброса на место. Там нет ничего особенного.
Шаг 6. Запуск загрузчика на микроконтроллере
Если вы используете конвертер USB — TTL для программирования микроконтроллера, тогда загрузчик Arduino должен быть установлен в новый чип atmega328p. Об этом мы сделаем следующий большой урок. После этого процесс загрузки кода будет точно таким же, как и в обычной Arduino.
Если вы используете программатор ICSP, то есть программатор USBASP, тогда этот шаг не нужен. Но процесс загрузки кода немного отличается.
Шаг 7. Программируем Ардуино
Подключите коммутационную плату к Arduino и подключите её к компьютеру. Откройте диспетчер устройств и наблюдайте за com-портом конвертера usb — ttl. В Arduino IDE выберите com-порт и плату правильно. Теперь здесь начинается сложная часть.
Если ваша плата FTDI имеет вывод DTR и она подключена для сброса, просто сохраните программу и загрузите ее в Arduino как обычно. Ошибки не будет. Но если у вас нет пина DTR, как у нас, то, прежде чем нажать кнопку загрузки, удерживайте кнопку сброса на плате, а затем нажмите кнопку загрузки. Удерживайте кнопку до тех пор, пока программа не скомпилируется, когда IDE говорит «загрузка», затем отпустите переключатель сброса. Затем код будет загружен.
Шаг 8. Итоговый результат
Здесь вы можете увидеть, что мы загрузили 3-контактный код в новую arduino, и все работает, как и предполагалось. Используя только 3 контакта, мы контролируем 6 светодиодов с промежутком 200 мс между ними. Мы проверяли другие программы, все они работают без нареканий.
Источник