Использование разных процессоров, когда дело доходит до arduino

Я решил изучить Arduino в этот карантин, так что я все еще новичок, когда дело доходит до микроконтроллеров. В основном я делал все свои проекты на базе ATMEGA328P-PU:

Я даже переоборудовал макеты своих макетных плат в пользовательские печатные платы, подобные этой:

У меня заканчиваются процессоры Atmega328P-PU, и я собираюсь купить еще. Но стоит ли покупать другие процессоры вместо традиционного Atmega328P?

Вот мои варианты:


Все они примерно по одной цене. Например, ESP32 в 10 раз быстрее, и в нем было намного больше помех и контактов. В любом случае, это мои вопросы:

  1. Почему люди покупают Atmega328P, когда есть более быстрые и мощные процессоры по той же цене?

  2. Я сэкономил много денег, купив процессор Atmega328P отдельно, а затем собрав Arduino, используя кристалл, керамические конденсаторы и т. д. Существует множество руководств по его сборке, например ЭТА ССЫЛКА и многое другое. Но как я могу собрать ESP32 с кодом Arduino на макетной плате? Я не смог найти этот учебник. Во всех учебниках, которые я нашел, используется ESP32, уже припаянный к печатной плате. Я хочу создать свою собственную печатную плату, например, с помощью ESP32. Где я могу найти это руководство?

  3. Если я решу купить ESP32 или ESP8266, должен ли я создавать свой код с помощью Arduino IDE? Мне нужно будет добавить что-то в IDE Arduino, чтобы он работал с ESP32. Каковы преимущества использования других IDE?

  4. Я думаю о ESP32 и ESP8266, потому что я вижу много людей, использующих их в Интернете, и они намного мощнее, чем Atmega328P по той же цене. Какие еще процессоры вы порекомендуете?

, 👍0

Обсуждение

ты видел тинси 4?, @Juraj

Забудьте про esp8266. IO является ограничительным. ESP32, если намного лучше., @Majenko

Мне нравится 8266, в основном из-за цены и размера esp-01. ESP на самом деле не делают макеты. Если вы хотите маленькие и дешевые, ищите модули «wroom esp32», но имейте в виду, что расстояние между контактами отличается от макетных плат. Я использую 10-сантиметровые кабели M+F dupont для прокладки контактов микроконтроллера к макетным платам. Платы nodeMCU имеют так много контактов vcc+gnd, что я часто могу «мертвыми ошибками» датчиков и выходов без макетной платы или печатной платы, используя кабели F+F dupont. Я бы посмотрел на «синие таблетки», которые теперь имеют официальную поддержку Arduino. Наконец, вас может заинтересовать способ запуска 328 w/oa кристалла на частоте 8 МГц., @dandavis


2 ответа


Лучший ответ:

1

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

Почему люди покупают Atmega328P, когда есть более быстрые и мощные процессоры по той же цене?

ATmega328p стал популярным из-за своей долгой истории (ей уже 20 лет) и Arduino, лично я чувствую, что есть лучшие микроконтроллеры с совместимыми функциями, объемом памяти и т. д. даже в серии AVR для замены ATmega328p, я действительно разработал плата Arduino на базе ATtiny3217 в прошлом месяце, это дешевле (по стоимости спецификации чипа) и ему не нужен кристалл для работы на частоте 20 МГц с приличной точностью, он предлагает почти такие же контакты ввода-вывода, объем памяти, UART/I2C/SPI, что и ATmega328, но это гораздо более современный чип со многими функции, недоступные в ATmega328 (такие как ЦАП, поддержка сенсорного управления, система событий и т. д.). ATmega3208/4809 — еще один интересный кандидат для моего следующего проекта.

Все руководства, которые я нашел, используют ESP32, уже припаянный к печатной плате. Я хочу создать свою собственную печатную плату, например, с помощью ESP32. Где я могу найти это руководство?

ESP32 (а также ESP8266, например, ESP-12F) имеют компактный форм-фактор, который готов к интеграции в ваш дизайн. схема сброса, питание и мигающие светодиоды и т. д.). Вы можете взглянуть на Adafruit HUZZAH ESP8266, который в основном основан на ESP-12E. модуль с добавленной схемой сброса, регулятор напряжения.

Если я решу купить ESP32 или ESP8266, должен ли я создавать свой код с помощью IDE arduino? Мне нужно будет добавить что-то в IDE Arduino, чтобы он работал с ESP32. Каковы преимущества использования других IDE?

Arduino IDE — не единственная IDE для программирования Arduino, PlatformIO — одна из альтернатив IDE для программирования Arduino. Одним из основных преимуществ является улучшенное управление проектами и зависимостями (библиотеками), а также гибкость процесса компиляции/сборки (например, добавление поддержки операций с плавающей запятой на микросхемах AVR). Посмотрите эти два видео на YouTube, чтобы узнать, как это выглядит и как его настроить:

  • Улучшенная среда разработки Arduino — начало работы с PlatformIO
  • PlatformIO – использование внешних библиотек

Я думаю о ESP32 и ESP8266... Какие еще процессоры вы порекомендуете?

Как я уже упоминал в начале, это действительно зависит от ваших критериев выбора. ESP8266 и ESP32, как правило, выбирают из-за его возможностей WiFi, однако вы не выберете ESP8266 для чего-либо, связанного с АЦП, потому что у него есть только один АЦП с опорным напряжением 1 В. ESP32 отлично выглядит из-за своего более быстрого процессора, однако он генерирует много шума, когда вы хотите прочитать данные датчика, даже несмотря на то, что он предлагает 12-битное разрешение АЦП по сравнению с 10-битным в ATmega328p. Его АЦП также не имеет -линейная проблема на некоторых старых чипах ESP32.

На вопрос "какие еще процессоры вы порекомендуете"? Если нет требований к беспроводному соединению, мне лично нравится STM32F103 Blue Pill за его лучший АЦП (12-разрядный), больше памяти и несколько UART, а также дешевизну, но есть вещи, которые вам нужны осведомленный (например, поддельный STM32 дефекты чипа и дизайна).

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

,

1
  1. Иногда более быстрая и мощная программа не нужна. Если вам просто нужен простой таймер, и он должен работать от батареи, процессор, такой как ATmega328, будет лучшим выбором. Это действительно зависит от приложения.

ESP32 — отличное устройство. Но аналого-цифровой преобразователь на нем далеко не лучший. Это не так стабильно по сравнению с АЦП в Atmega328P.

  1. ESP32 более привередлив в отношении требований к источнику питания по сравнению с Atmega328P. Многие люди попадают в беду, когда используют плохие методы проектирования с модулями ESP32/ESP8266. Плохая практика, которая работала достаточно хорошо для процессоров с меньшей мощностью и меньшей скоростью, таких как Atmega328P. Большинство людей не утруждают себя чтением спецификаций процессоров. Они просто пытаются копировать то, что им нравится в Интернете. А в Интернете полно некачественной информации от людей, которые не очень понимают, с чем работают.

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

  1. IDE Arduino упрощает работу. Также есть Python, но он менее популярен. Существует гораздо больше информации об Arduino IDE и доступных библиотеках. И это значительно упрощает разработку. Есть и другие способы, но кривая обучения намного круче.

  2. "Синяя таблетка" Плата на базе STM32F103C8T6 — это много возможностей за небольшие деньги. Процессор работает от 3,3 вольта, как и устройства ESP. За последние несколько лет он приобрел большую популярность, но информации о нем не так много, как об Atmega328P.

Устройства STM32F103C8T6 и ESP рассчитаны на напряжение 3,3 В. И для взаимодействия с ними требуются устройства на 3,3 вольта. Есть некоторые устройства, которые в основном работают только на 5 вольт. Как символьный ЖК. Его проще подключить к 5-вольтовому процессору.

Я мог бы еще многое рассказать, но это заняло бы несколько часов. Но что вы должны сделать, прежде чем принять решение о части, это решить, каковы потребности проекта. Это часто будет указывать вам на ту часть, которую вы должны использовать.

Еще одно замечание. Устройства ESP выполняют много кода поверх функций Setup и Loop. В фоновом режиме происходит множество действий, связанных с поддержкой WiFi. И у вас нет такого контроля, который вы могли бы иметь с устройством без ESP. Но если вам нужна эта часть, вам нужно принять это ограничение.

,