Оглавление:
- Запасы
- Шаг 1: линейный регулятор напряжения 7805
- Шаг 2: микроконтроллер ATmega328P-PU
- Шаг 3: Подключение ATmega328P-PU
- Шаг 4: кнопка сброса
- Шаг 5: кристаллический осциллятор
- Шаг 6: Добавление светодиода к контакту 13
- Шаг 7: USB к последовательному разъему
- Шаг 8: загрузка скетча или установка загрузчика
Видео: Самодельная плата Arduino: 8 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
Создав свою собственную плату Arduino, вы узнаете о некоторых новых компонентах и электронных схемах, в том числе о некоторых сложных темах, таких как источник питания, схема синхронизации и использование ATmega IC (интегральная схема).
Это поможет вам в будущем в создании ваших собственных проектов, таких как метеостанция, щиты домашней автоматизации и т. Д.
Преимущество самодельной Arduino в том, что она имеет низкое энергопотребление и гарантирует долгую работу проекта от батареи.
Дополнительно вы можете расширить плату, добавив расширение цифрового или аналогового порта или некоторые коммуникационные модули.
Запасы
Аппаратное обеспечение
Чтобы создать минималистичный Arduino, вам понадобится следующее оборудование:
1x микроконтроллер ATmega328P-PU с загрузчиком Arduino
1x 7805 линейный регулятор напряжения (выход 5 В, макс. Вход 35 В)
1x макетная плата (я использую 830-контактную плату)
Различные соединительные провода
1x кварцевый генератор 16 МГц
1x 28-контактный разъем ic
1x 1 мкФ, 25 В электролитический конденсатор
1x 100 мкФ, 25 В электролитический конденсатор
2x керамических конденсатора по 22 пФ, 50 В
2x керамических конденсатора по 100 нФ, 50 В
2 резистора 330 Ом (R1 и R2)
1x резистор 10 кОм (R3)
2x светодиода на ваш выбор (LED1 и LED2)
1x кнопка
Опционально 2 6-контактных разъема и 3 8-контактных разъема
1x защелка аккумулятора типа PP3
1x 9 В аккумулятор типа PP3
1x адаптер программирования FTDI
Шаг 1: линейный регулятор напряжения 7805
Линейный регулятор напряжения содержит простую схему, преобразующую одно напряжение в другое. Стабилизатор 7805 может преобразовывать напряжение от 7 до 30 вольт в фиксированные 5 вольт с током до 1 ампер, что идеально подходит для нашей платы Arduino.
Начнем с создания схемы блока питания, которая содержит стабилизатор напряжения 7805 в форме ТО-220 и два конденсатора по 100 мкФ каждый.
Когда вы смотрите на переднюю часть микросхемы 7805 - контакт слева предназначен для входного напряжения, центральный контакт подключается к GND, а правый контакт - это выходное соединение 5 В. Я бы порекомендовал установить радиатор, потому что, когда схема потребляет максимум 1 ампер тока, микросхема 7805 будет немного горячей (вы можете обжечь кончик пальца, когда дотронетесь до него).
Поместите конденсатор 100 мкФ между входом регулятора и землей, а конденсатор 100 мкФ на правой шине между питанием и землей. Вы должны быть осторожны - электролитический конденсатор поляризован (серебряная полоска на конденсаторе означает заземляющую ножку) и должен быть размещен точно в соответствии со схемой.
Добавьте провода питания и заземления там, где будет ваш регулятор напряжения, соединив каждую рейку в середине и в правой части платы. Таким образом, у нас есть источник питания 5 Вольт от верхней и нижней направляющих макета. Кроме того, мы добавим красный светодиод, который загорается при включении питания, таким образом мы всегда можем видеть, когда на нашу плату подается питание.
Светодиод - это диод, который пропускает электрический ток только в одном направлении. Электричество должно поступать в длинную ногу и выходить из короткой ноги. Катод светодиода также имеет одну слегка приплюснутую сторону, которая соответствует короткой отрицательной ветви светодиода.
Наша схема имеет источник питания 5 вольт, а красный светодиод рассчитан примерно на 1,5 - 2 вольта. Чтобы снизить напряжение, мы должны подключить резистор последовательно со светодиодом, ограничивая количество протекающего электричества, чтобы предотвратить разрушение светодиода. Часть напряжения будет израсходована резистором, и только соответствующая его часть будет приложена к светодиоду. Вставьте резистор между короткой ножкой светодиода и рядом с черным проводом на правой стороне микросхемы (GND).
Красный и черный провода слева от регулятора напряжения - это место, где будет подключаться ваш источник питания. Красный провод предназначен для ПИТАНИЯ, а черный провод - для заземления (GND).
ПРИМЕЧАНИЕ. Вы можете подключать только источник питания с напряжением от 7 до 16 В. Если меньше, то вы не получите 5 В из регулятора, а напряжение выше 17 В повредит вашу микросхему. Подходит аккумулятор 9 В, источник питания 9 В постоянного тока или источник питания 12 В постоянного тока.
А для более продвинутых схем можно разместить стабилизатор напряжения с регулируемым напряжением. Таким образом, вы можете добавить на плату несколько датчиков 3,3 В или включить двигатель постоянного тока 9 В.
Подробнее о линейных регуляторах напряжения -
www.instructables.com/id/Introduction-to-Linear-Voltage-Regulators
Шаг 2: микроконтроллер ATmega328P-PU
Чтобы построить Arduino на макетной плате, вам понадобится микроконтроллер ATmega328P-PU, который является мозгом нашей самодельной платы Arduino. Поместите его, как показано на схемах, и будьте осторожны - ножки могут сломаться, если вы вставите их силой, или вы можете использовать 28-контактное гнездо IC. Микросхема должна быть размещена с вырезом в форме луны, ориентированным слева от макета (контакты пронумерованы от 1 до 28 против часовой стрелки).
ПРИМЕЧАНИЕ. Не все микросхемы ATmega содержат загрузчик Arduino (программное обеспечение, позволяющее интерпретировать эскизы, написанные для Arduino). При поиске микроконтроллера для своей самодельной Arduino обязательно выберите тот, который уже включает загрузчик.
Немного теории микроконтроллеров
Микроконтроллер - это крошечный компьютер с процессором, который выполняет инструкции. Он имеет различные типы памяти для хранения данных и инструкций из нашей программы (скетча); ATmega328P-PU имеет три типа памяти: 32 КБ флэш-памяти ISP (внутрисистемное программирование), где хранятся эскизы, 1 КБ EEPROM (электрически стираемое программируемое постоянное запоминающее устройство) для длительного хранения данных и 2 КБ SRAM (статическая память с произвольным доступом.) для хранения переменных во время работы скетча.
ПРИМЕЧАНИЕ. Важно знать, что данные во флэш-памяти и EEPROM сохраняются при отключении питания микроконтроллера.
Микроконтроллер имеет 13 линий цифрового ввода / вывода общего назначения (GPIO) и шесть 10-битных (значения от 0 до 1023) аналоговых линий GPIO цифрового преобразователя (АЦП) для преобразования напряжения на выводе в цифровое значение. Есть три таймера с двумя 8-битными таймерами со значениями от 0 до 255 и один 16-битный таймер со значениями от 0 до 65535, которые используются функцией delay () в скетче или посредством широтно-импульсной модуляции (PWM)..
Существует пять программно выбираемых режимов энергосбережения, и микроконтроллер работает в диапазоне от 1,8 до 5,5 В. Вы можете использовать изображение как образец для схемы расположения контактов ATmega328P-PU.
Есть три группы портов: PB, PC и PD с 8, 7 и 8 контактами соответственно, плюс два контакта заземления (GND), контакт 5 В (VCC) с напряжением питания (AVCC) и аналоговое опорное напряжение (AREF).) выводы для аналого-цифрового преобразователя (АЦП).
Шаг 3: Подключение ATmega328P-PU
После установки микросхемы подключите контакты 7, 20 и 21 ATmega к положительной шине питания на макетной плате, а контакты 8 и 23 - к отрицательным шинам питания, используйте перемычки для подключения положительной шины и шины GND с обеих сторон от платы. плату, как показано на рисунке.
Контакт 7 - Vcc - напряжение цифрового питания
Контакт 8 - GND
Контакт 22 - GND
Контакт 21 - AREF - Вывод аналогового опорного сигнала для АЦП
Контакт 20 - AVcc - Напряжение питания для преобразователя АЦП. Необходимо подключить к источнику питания, если АЦП не используется, как в нашем примере. Если вы хотите использовать его в будущем, то он должен питаться через фильтр нижних частот (для уменьшения шума).
После этого разместите какой-нибудь четырнадцатиконтактный штырь - он будет похож на GPIO Arduino.
Шаг 4: кнопка сброса
Добавьте небольшой тактильный переключатель, чтобы вы могли сбросить Arduino и подготовить чип для загрузки новой программы. Кратковременное нажатие этого переключателя сбросит микросхему.
Мы вставим кнопку сброса в нашу схему, как показано на рисунке, когда мы нажмем на нее, электрическая цепь будет сокращена до GND, минуя резистор 1 кОм и подключая контакт 1 ATmega к GND. Затем добавьте провод от левой нижней ножки переключателя к контакту RESET микросхемы ATmega и провод от верхней левой ножки коммутатора к земле.
Кроме того, добавьте подтягивающий резистор 10 кОм к + 5 В на выводе RESET, чтобы предотвратить самопроизвольный сброс микросхемы во время нормальной работы. Этот резистор будет подключен к источнику питания 5 вольт, «подтягивая» контакт 1 до 5 вольт. А когда вы подключите контакт 1 к 0V без резистора, чип перезагрузится. При перезагрузке микроконтроллер найдите новую загружаемую программу (при включении питания, если ничего нового не отправлено, запускается последняя отправленная программа).
Резистор имеет четырехцветную полоску. Чтение Коричневый = 1, Черный = 0, Оранжевый = 3 дает нам число 103. Сопротивление в Ом начинается с «10» с 3 нулями после - 10 000 Ом или 10 кОм, а золотая полоса - это допуск (5%).
Чтобы модернизировать нашу схему - мы можем разместить «развязывающий конденсатор». Установите керамический конденсатор емкостью 100 нФ (нанофарад). Это небольшой диск с двумя проводами с маркировкой «104», этот тип конденсатора не поляризован и может быть размещен в любой ориентации.
Этот «развязывающий» конденсатор сглаживает электрические выбросы, поэтому сигнал перезагрузки, отправляемый на контакт 1, надежно обнаруживается. Цифры 104 показывают его емкость в пикофарадах в научных обозначениях. Последняя цифра «4» говорит нам, сколько нулей нужно добавить. Емкость начинается с «10», а затем продолжается еще 4 нулями - 100 000 пикофарад, а поскольку 1000 пикофарад равняются 1 нанофарадам, получается 100 нанофарад (104).
Вставьте конденсатор между верхней левой ножкой микросхемы (вывод 1, против часовой стрелки от формы полумесяца).
Шаг 5: кристаллический осциллятор
Теперь сделаем часы для микросхемы. Это кварц на 16 МГц и два керамических конденсатора по 22 пФ (пико Фарад) каждый. Кварцевый генератор создает электрический сигнал с очень точной частотой. В данном случае частота составляет 16 МГц, что означает, что микроконтроллер может выполнять 16 миллионов инструкций процессора в секунду.
Кристалл 16 МГц (рисунок) позволяет Arduino рассчитывать время, а конденсаторы служат для сглаживания напряжения питания.
Ножки из кварцевого кристалла одинаковые - вы не можете подключить их назад. Подключите одну ножку кристалла к контакту 9 на микросхеме ATmega, а другую ножку - к контакту 10. Подключите ножки одного из дисковых конденсаторов 22 пФ к контакту 9 и GND, а другой дисковый конденсатор к контакту 10 и GND, как показано на рисунке.
Примечание: дисковые конденсаторы не поляризованы и вставляются любым способом.
Следует отметить, что длина проводов между конденсаторами 22 пФ должна быть одинаковой и должна быть как можно ближе к контроллеру, чтобы избежать взаимодействия с другими частями цепей.
Шаг 6: Добавление светодиода к контакту 13
Теперь мы добавим зеленый светодиод (цифровой вывод 13 на Arduino).
Вставьте длинную ножку светодиода в ряд под красным проводом (с правой стороны микросхемы - питание или 5 Вольт) и короткую ножку в первом пустом ряду под микроконтроллером.
Этот резистор 330 Ом включен последовательно со светодиодом, ограничивая количество протекающего электричества, чтобы предотвратить разрушение светодиодов.
Вставьте резистор между короткой ножкой светодиода и рядом с черным проводом на правой стороне микросхемы (GND или 0 Вольт).
Все аналоговые, цифровые и другие контакты, доступные на обычной плате Arduino, также доступны в нашей макетной версии. Вы можете использовать схему ATmega и таблицу контактов в качестве справочной информации.
Шаг 7: USB к последовательному разъему
Микроконтроллер ATmega 328P-PU обеспечивает три режима связи: последовательный программируемый USART (универсальный синхронный и асинхронный приемник-передатчик), последовательный порт SPI (последовательный периферийный интерфейс) и двухпроводной последовательный интерфейс. USART принимает байты данных и последовательно передает отдельные биты, что требует линий передачи (TX) и приема (RX). SPI использует четыре линии связи: ведущий-выход-подчиненный-вход (MOSI), главный-вход-подчиненный-выход (MISO) и последовательные часы (SCK) с отдельной линией выбора подчиненного (SS) для каждого устройства. Шина двухпроводного интерфейса связи I2C (TWI) использует две сигнальные линии: последовательные данные (SDA) и последовательные часы (SCL).
Чтобы подключить нашу плату к ПК с Arduino IDE для загрузки скетча, мы будем использовать USB-порт для последовательного интерфейса UART, например FT232R FTDI.
При покупке кабеля FTDI убедитесь, что это модель 5 В, потому что модель 3,3 В не будет работать должным образом. Этот кабель (показан на рисунке) имеет USB-штекер на одном конце и розетку с шестью проводами на другом.
При подключении кабеля убедитесь, что сторона гнезда с черным проводом подключается к контакту GND на контактах разъема макетной платы. После подключения кабеля он также подает питание на схему, как и обычная плата Arduino.
Затем мы подключим наш FTDI к нашей самодельной Arduino-плате; для справки можно использовать таблицу и схему.
Электролитический конденсатор 0,1 мкФ подключается между контактом DTR (Data Terminal Ready) на USB-интерфейсе последовательного интерфейса UART и функцией сброса микроконтроллера, которая сбрасывает микроконтроллер для синхронизации с USB-интерфейсом последовательного интерфейса.
ПРИМЕЧАНИЕ: Один из умных моментов заключается в том, что вывод RX микроконтроллера должен быть подключен к TX USB к последовательному адаптеру и то же самое с TX одного устройства к RX другого.
Контакт CTS (Clear to Send) на USB к последовательному интерфейсу UART не подключен к микроконтроллеру.
Чтобы загрузить эскиз в микроконтроллер в Arduino IDE, в меню «Инструменты» ➤ «Порт» выберите соответствующий порт связи (COM) и в меню «Инструменты» «Плата» выберите «Arduino / Genuino Uno». Скетч компилируется в среде Arduino IDE, а затем загружается в микроконтроллер через USB-порт через последовательный интерфейс UART. Когда скетч загружен, мигают зеленый и красный светодиоды USB-последовательного интерфейса UART TXD и RXD.
Интерфейс USB к последовательному UART можно удалить и подключить к микроконтроллеру источник питания 5 В. Светодиод и резистор 220 кОм подключены к выводу 19 микроконтроллера, эквивалентному выводу 13 Arduino, для запуска скетча мигания.
Шаг 8: загрузка скетча или установка загрузчика
Если у вас нет преобразователя USB в последовательный порт - вы можете использовать другой Arduino (в моем случае Arduino UNO) для загрузки скетча или загрузчика на самодельную плату.
Микроконтроллерам ATmega238P-PU требуется загрузчик для загрузки и запуска скетчей из Arduino IDE; когда на микроконтроллер подается питание, загрузчик определяет, загружается ли новый скетч, а затем загружает скетч в память микроконтроллера. Если у вас есть ATmega328P-PU без загрузчика, вы можете загрузить загрузчик, используя связь SPI между двумя платами.
Вот как вы загружаете загрузчик в ATmega IC.
Сначала давайте начнем с настройки нашего Arduino UNO в качестве ISP, это сделано потому, что вы хотите, чтобы Arduino UNO загружал скетч в микросхему ATmega, а не сам.
Шаг 1: Настройка нашего Arduino UNO в качестве интернет-провайдера
Не подключайте ATmega IC, пока выполняется загрузка, указанная ниже.
- Подключите arduino к ПК
- Откройте среду разработки arduino.
- Выберите соответствующую плату (Инструменты> Плата> Arduino UNO) и COM-порт (Инструменты> Порт> COM?)
- Открыть> Примеры> ArduinoISP
- Загрузить эскиз
После этого вы можете подключить свою собственную плату к Arduino UNO, следуя схеме, показанной на схеме. На этом этапе нет необходимости запитывать вашу собственную плату, так как Arduino обеспечит необходимое питание.
Шаг 2. Загрузка скетча или загрузчика
Со всем подключенным откройте IDE из папки, которую вы только что создали (копию).
- Выберите Arduino328 из Инструменты> Плата.
- Выберите Arduino в качестве ISP в меню Инструменты> Программист.
- Выберите Burn Bootloader
После успешной записи вы получите сообщение «Загрузчик готов».
Загрузчик загружен в микроконтроллер, который готов к приему скетча после изменения COM-порта в меню Инструменты ➤ Порт.
Рекомендуемые:
Самодельная система безопасности с использованием Sensor Fusion: 5 шагов
Самодельная система безопасности с использованием Sensor Fusion: идея этого проекта заключается в создании дешевого и простого в изготовлении датчика безопасности, который можно использовать для предупреждения вас, когда кто-то пересек его. Первоначальной целью было создать что-то, что могло бы уведомлять меня, когда кто-то поднимается по лестнице, но я также
Самодельная электронная ударная установка с Arduino Mega2560: 10 шагов (с изображениями)
Самодельная электронная ударная установка с Arduino Mega2560: это мой проект Arduino. Как собрать электронную ударную установку с помощью Arduino? Здравствуйте, уважаемый читатель! -Почему вы делаете такой проект? Прежде всего потому, что если вам нравятся такие вещи, вам очень понравится рабочий процесс. Во-вторых, потому что это действительно дешевое
Самодельная плата расширения Raspberry Pi на заказ: 8 шагов
Самодельная плата расширения Raspberry Pi: с 2015 года я улучшаю этот замечательный проект, чтобы в моей машине был почти неограниченный настраиваемый медиацентр. Однажды я решил организовать там провода с помощью изготовленной на заказ самодельной печатной платы. Фотографии выше находятся на стадии широкого прототипа, так что
Печатная плата Тима (печатная плата): 54 шага (с изображениями)
Печатная плата Тима (Plotted Circuit Board): это процесс, который я использую для создания пользовательской печатной платы для своих проектов. Чтобы сделать это: я использую свой XY Plotter с Scribe, чтобы удалить пленку для травления, чтобы обнажить медь для травителя. . Я использую свой XY-плоттер с лазером, чтобы выжигать чернила на
Светодиодный контроллер RGB (лучшая самодельная печатная плата): 8 шагов
RGB Led Controller (Лучшая DIY PCB): в этом проекте я покажу, как сделать лучшую PCB дома. Я разработал RGB LED контроллер с модулем Bluetooth с использованием Arduino nano