Меньшая и дешевая альтернатива Arduino Uno для постоянных проектов

15

Я немного поиграл с Arduino Uno, который шел в комплекте с макетом и компонентами. Вскоре я хотел бы сделать несколько более постоянных вещей.

Я бы предпочел меньший и более дешевый аппарат, чем Arduino Uno, но он почти так же прост в использовании, как и Arduino Uno, и очень похож на него.

Arduino Pro Mini 328 - 5 В / 16 МГц - логичный следующий шаг? На 1/6 от размера Arduino Uno это очень мало. На 10 $ за штуку цена тоже хорошая.

Я понимаю, что я должен припаять, чтобы заставить его работать. Это не должно быть проблемой.

Мне также понадобится последовательная плата USB для программирования устройства?

Энди
источник
2
следующий меньший с 328p - Nano
Juraj
1
Чипы ATmega32u4 также являются хорошим ходом (как и Леонардо) для 8-битных микро. Кодирование немного отличается от UNO / 328p (особенно с последовательным), но вы избегаете USB / последовательного преобразователя. В конце концов, вы можете сделать свои собственные печатные платы и использовать микросхемы SMD для действительно компактного проекта.
MichaelT
1
Pro Mini, модуль 5 В 16 МГц с кварцевым генератором ($ 2.18CDN): aliexpress.com/item/… . PL2303HX USB-адаптер UART ($ 0.70CDN): aliexpress.com/item/… .
VE7JRO

Ответы:

8

Я думаю, что первый лучший выбор - это удалить чип ATMega328p-pu из вашего Arduino UNO и включить его в свою последнюю схему. Фишки стоят всего около $ 1,50.

Таким образом, вы можете просто использовать свой UNO в качестве программиста вместо конечного устройства, которое вы развернете.

Я не уверен, почему нет больше документации о том, как правильно удалить чип ATMega328p-pu и использовать его на макете после завершения программирования.

Я объясняю, как именно это сделать, в моем блоге: http://raddev.us/arduino/post/2018/07/03/arduino-uno-using-your-atmega328p-u-as-stand-alone

Но вот основы. Сначала вы удалите чип. После этого это будет выглядеть следующим образом. (Примечание: я использую клон Elegoo UNO).

чип atmega328p-pu удален

Затем вы подаете питание на контакт 7 и подключаете контакт 8 к GND.

Нужен кристалл 16 МГц

Но, похоже, на этом этапе чип не выполнит ваш набросок. Это потому, что вам нужен кристалл для работы на 16 МГц.

На плате UNO установлен этот чип, и поэтому он работает. Вы можете видеть это здесь:

16 МГц кристалл на UNO

Наконец, вы добавляете кристалл 16 МГц и пару колпачков 22 пФ, и ваш чип будет работать автономно (без UNO).

Вы добавляете кристалл к контактам 9 и 10. Вы можете увидеть все детали, читая мою запись в блоге или читая таблицу данных atmega328 .

кристалл на макете

Наконец, просто подключите все остальное

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

Это на самом деле хороший опыт обучения тоже.
Просто купите сменные чипы atmega328p-pu для своего UNO, и вы сможете создать все проекты, которые вы хотите, за очень дешевую цену.

raddevus
источник
2
Вы бы неплохо добавили туда некоторую защиту от замыкания, поскольку у 328p нет своей собственной. В противном случае, это отличный способ.
SnakeDoc
1
@ Duskwuff, я считаю, что это только тогда, когда вы делаете ЦАП. Это всего лишь простой пример того, как начать использовать чип в качестве отдельного устройства. Уверяю вас, код для мигания светодиода в образце работает. Кроме того, когда я начинал, я создал схему, которую я упомянул в комментарии выше, и я никогда не подключал AVCC и GND, и схема работала в течение двух лет. Конечно, я не говорю, что это всегда будет правдой. Просто упомяну, как на самом деле работает чип. Как всегда, проверьте таблицу данных для точных спецификаций и особенно если вы испытываете что-то другое. Благодарю.
Раддевус
1
@raddevus Обратитесь к Таблице 28.8 в техническом описании: «Абсолютный минимум / максимум AVCC: 1,8 В / 5,5 В». Оставление AVCC без питания вышло из строя и может привести к повреждению. Вывод GND на выводе 22 специально не связан с АЦП и должен быть подключен к GND.
duskwuff -неактивный-
1
@duskwuff Спасибо за полезное обсуждение. Я согласен с тем, что вы говорите, и скоро поменяю мои документы и схемы, чтобы обеспечить постоянную связь. К вашему сведению - я начал работать с ATMega328p-pu через фантастическую книгу «Программирование AVR: обучение написанию программного обеспечения для оборудования» ( amzn.to/2PS9OOA ), и в этих первых схемах автор, Эллиот Уильямс, также не подключает эти контакты. Я думаю, что на меня это повлияло. Книга действительно великолепна, а автор хорошо осведомлен. Еще раз спасибо, отличная дискуссия.
Раддевус
1
@reddevus. Чтобы быть более точным, кристалл, который вы указали в красной рамке в этом ответе, является кристаллом, используемым микроконтроллером, обрабатывающим связь USB, а не чипом ATmega328p-pu. Вы можете видеть из Uno схемы , что чип ATmega328P-пу фактически использует резонатор: mouser.com/ProductDetail/Murata-Electronics/...
Kavka
7

Проверьте плату разработки STM32F103C8T6, она стоит около $ 1,5, она быстрее / имеет больше памяти, чем Arduino Uno, и намного меньше.

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

Обновить

Отличия:

                       Arduino Uno       STM32F103C8T6 Mini Dev Board

MicroController            Atmega328P           Cortex M3
MIPS/MHz                        1                   1.25
Operating Voltage [V]           5                   3.3, most pins 5V tolerant
Input Voltage   [V]            7-12               USB only
Input Voltage (limit) [V]      6-20                (USB)
Digital I/O Pins               16                   37
From them:PWM Digital I/O Pins  6                   12
Analog Input Pins               6                   10
DC Current per I/O Pin [mA]    20                    ?
DC Current for 3.3V Pin [mA]   50                    ?
Flash [KB}                     32                   64
SRAM [KB]                       2                   20
EEPROM [KB]                     1                    -
Clock Speed [MHz]              16                   72

I2C                             1                    2
SPI                             1                    2 (18 MBit/s)
UART                            1                    3
CAN                             0                    1
USB                             0          USB 2.0 FS 12 MBit        
DMA                             0          7 channels (ATsP, SPI, I2C, USART)
RTC                             0                    1
CRC                             0                    1
Unique ID                       0                    1

Programmed by                  USB                 SWD Debug (around $5)

IDE                         Arduino IDE         Arduino IDE, CubeMX, ...
Libraries                      Many               Limited

Dimensions  [mm]            68.6 x 53.4           53 x 22
Weight       [g]               25                    ?
Price (cheapest)  [$]         2.50                 1.50

Примечание: как написано ранее, несмотря на в основном лучшие спецификации, поддерживаются не все библиотеки. Кроме того, программист должен быть куплен (только один раз, стоимость около $ 5).

Мишель Кейзерс
источник
1
Вы также можете избежать получения программатора, если получите клоны Maple Mini (тот же uC, почти тот же HW, но с уже
загруженным
1
@ frarugi87 Или вы можете использовать встроенный загрузчик UART (активируется установкой высокого значения BOOT0) для начального программирования.
duskwuff -неактивный-
STM32F103C8T6 - отличная часть. Но это все еще только 3.3v. Это не капля замены Uno. Попробуйте подключить его к 5-символьному ЖК-дисплею, и у вас будут проблемы, если он вообще будет работать. (ЖК-дисплей)
Руди
6

Для моего продукта я выбрал Arduino Uno :

Arduino Uno R3

на Arduino Pro Mini :

Arduino Pro Mini

Да, вам понадобится кабель FTDI для программирования и последовательных комманд на ПК, но при условии, что вам не нужны постоянно комы, вам понадобится только один кабель для загрузки программы на каждое устройство. Их тоже можно найти довольно дешево.

Тем не менее, я заметил, что Arduino Pro Mini сейчас вышел из эксплуатации, поэтому его может быть немного сложнее найти (он все еще доступен на AliExpress ). Поэтому по этой причине я предлагаю вам попробовать Arduino Nano :

Ардуино Нано

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

ATMega328P, который является процессором этих 3 плат, не имеет встроенного USB, что означает, что на плате также должна быть встроена ИС FTDI FT232RL, которая используется в кабеле FTDI. Наличие этого IC может добавить дополнительные расходы к вашей прибыли.

За несколько долларов дешевле на устройство вы можете использовать микроконтроллер (например, ATMega32U4), который имеет собственный USB-интерфейс (и, следовательно, вы экономите на FTDI IC). Одним из таких продуктов является Arduino Micro :

Ардуино Микро

Все упомянутые платы являются встроенными в экосистему Arduino и (кроме вышедшей из употребления Pro Mini) должны быть легко доступны в Интернете или в вашем местном магазине электроники. Ваша программа Arduino Uno будет работать для всех этих альтернатив - вам просто нужно сменить доску в Arduino IDE:

Выбор доски Arduino

Есть еще одна доска, которую я хотел бы упомянуть - DigiSpark :

Digispark

Он подходит только для небольших программ, ограничен в некоторых своих функциях и не является официальной платой Arduino. Сказав это, есть много поддержки Arduino - и это дешево!

sa_leinad
источник
4

Если вы хотите использовать Arduino и его набор инструментов, вы можете заказать только чистый ATmega 328p (микроконтроллер в основе Arduino Uno) и использовать его самостоятельно!

Они довольно дешевы (от $ 1,50 до $ 3,00) и дружественны к макету. Для более постоянного решения вы можете припаять их к протоплате (монтажной плате) или даже к специально разработанной плате, как только ваш дизайн достигнет этого уровня.

Вот отличное руководство от Arduino о настройке Arduino на макете, используя только сырые компоненты, такие как ATmega 328p. В этом дизайне используется внешний 16 МГц тактовый кристалл, как в Arduino Uno.

Если вы согласны с использованием внутренних 8-МГц тактовых сигналов на 328p, вы можете покончить с большинством дополнительных компонентов и просто запустить сырой чип, как в этом руководстве (используя загрузчик Arduino Lilypad вместо стандартного загрузчика Arduino). Это сэкономит еще больше денег!

В любом случае вам понадобится программатор AVR, поскольку в 328p нет встроенного USB-порта. Это будет самая дорогая часть этой установки, но хорошие новости - вам нужен только один, и он может программировать любые 328p, которые вам нужны. Их также можно использовать для программирования нестандартных микросхем, которые можно программировать через последовательные контакты Tx / Rx, например, микросхемы ESP (вы просто подключаете их вручную). Очень полезно иметь один из них, если вы серьезно относитесь к этим типам микроконтроллеров.

Микросхема микроконтроллера ATmega 328p

Стикеры ATMega Pin

Perfboard

AVR Программист

SnakeDoc
источник
1
Если вы заказываете свой ATMEGA328P-PU с уже установленным загрузчиком: ebay.ca/itm/… , тогда для загрузки «кода» будет работать адаптер PL2303HX USB-UART ($ 0.70CDN): aliexpress.com/item/…
VE7JRO
Мне всегда казалось странным, что Arduino использует специальный загрузчик для программирования вместо использования встроенного интерфейса программирования.
user253751
@immibis не уверен, что именно вы имеете в виду, но загрузчики arduino делают много вещей, которые значительно облегчают работу с arduino (и чипами Atmel), включая сброс выводов, переключение на внешние часы, передачу вашего кода, и т. д. Без этого вам, по сути, потребуется написать свой собственный ... что было бы пустой тратой времени, поскольку в большинстве случаев стандартный загрузчик Arduino делает все, что вы хотите, в любом случае.
SnakeDoc
1
@immibis Я думаю, что гораздо проще иметь интерфейс последовательного порта, чем интерфейс программиста с ПК. Более того, особенно в начале, я думаю (личное мнение), что им нужна была полная система на плате, и интегрировать программист на PCB было гораздо сложнее, чем писать последовательный загрузчик. Учтите, что первые платы Arduino имели последовательный порт ( Arduino RS232 ), поэтому для программирования многих из них был нужен только один программист (они использовались в школе)
frarugi87
1
@ frarugi87, это, вероятно, правда, но для настоящих новичков подключить USB-кабель и использовать Arduino IDE для загрузки «набросков» - это так просто, как только может быть. Я думаю, что они сделали правильный шаг, чтобы сделать его супер доступным, особенно для тех, кто не имеет опыта работы с микроконтроллерами.
SnakeDoc
4

Мне нравятся Nano и Pro Mini. Мне нравится работать с ним на макете с другими модулями. Если задействовано больше схем, я нахожу это намного более удобным, чем использование Uno. Существуют более быстрые процессоры, но для многих проектов 16 МГц 328 более чем достаточно. И, как и Uno, эти две части питаются от 5 Вольт. Иногда то, к чему вам нужно подключиться, не работает с 3,3-вольтными процессорами.

Pro Mini и Nano с легкостью могут быть впаяны в 0,1 "Veroboard" (или эквивалент). Если вы не против купить клонированные детали, стоимость Nano и Pro Mini составляет всего пару долларов. Покупка деталей на Aliexpress или даже Ebay, может сэкономить вам много, если вы терпеливы, когда дело доходит до доставки.

Чаще всего я сейчас использую модуль ESP8266. Это мощная WiFi-платформа, которая стоит всего несколько долларов и имеет довольно зрелую платформу Arduino. Часто я использую это как единственный процессор в дизайне. Я даже использовал его в качестве основы для регистратора данных и полностью игнорировал возможности WiFi. ЖК-дисплей 20x4 символов, микросхема измерения тока / напряжения (INA219) и карта памяти SD, работающая на литиевой батарее 18650.

Есть много хороших недорогих вариантов.

Rudy
источник
3
Вы можете отметить, что модули ESP12 НЕ имеют .1 "межполюсный интервал, что немного неудобно. Существуют недорогие коммутационные платы, но они довольно широкие и их трудно использовать с макетами без припоя. Кроме того, они очень удобны. Приблизительно на 1 доллар больше, чем простой модуль ESP12, вы можете получить Wemos D1 mini (клон), который почти так же прост в использовании, как Arduino Pro Mini или Nano.
Llaves
Где я сказал использовать ESP-12? Я не стал вдаваться в подробности ESP8266, потому что это не было предметом обсуждения. Я думал, что это стоит упомянуть, так как многие люди не знакомы с этим. Я полностью поддерживаю людей, использующих мини-платформу Wemos D1. Это готовое решение, в отличие от ESP01, ESP12 и т. Д. USB к последовательному порту и встроенный регулятор имеют большое значение. Но я все еще чувствую, что Nano или Pro Mini - самый подходящий ответ для человека, который задал вопрос.
Руди
Трудно рассмотреть любую систему на базе Atmega в 2019 году по сравнению с системами ESP, поэтому вы можете упомянуть за 2 доллара с ESP8266 вы получаете процессор 40 МГц, полную плату разработки (не чип), Wi-Fi и программирование на основе USB и мониторинг без каких-либо дополнительных кабелей. Также упомяните системы ESP32, которые стоят дороже от 7 до 10 долларов, но содержат два процессора, полную ОСРВ, несколько МБ флеш-памяти, добавляет BT к WIFI и собственную поддержку USB. Совместимость с Arduino включена, и даже с запущенной RTOS они включают библиотеки Arduino.
Брайан Булковски
ESP8266 имеет процессор 160 МГц. Это отличный вариант, но у него есть ограничения. Он имеет только один аналого-цифровой преобразователь и при этом плохой. Цифровые выводы ввода / вывода также имеют причуды. Подтягивающие резисторы включены по умолчанию при включении питания на большинстве. Три вывода ввода-вывода устанавливают рабочий режим, и необходимо соблюдать особую осторожность. ESP8266 также нуждается в приличном блоке питания. С ESP8266 в фоновом режиме выполняется много кода, и ваш код должен сосуществовать с ним. Мне очень нравится ESP9266, но это не отличный универсальный микроконтроллер. ESP32 лучше, но и с проблемами.
Руди
2

Клоны Arduino Pro Micro очень дешевы, и для их программирования достаточно всего лишь обычного кабеля micro USB. Возможно, вам придется припаять заголовки, чтобы сделать что-нибудь полезное. Они доступны в версиях 3,3 В / 8 МГц и 5 В / 16 МГц.

Pro Micro

AndreKR
источник
ProMicro имеет процессор 3.3В. Это может быть проблемой с некоторыми конструкциями. Это не капля замены Uno. Но это интересная часть.
Руди
1
Нет, как и в случае с Pro Mini, имеется версия 5 В / 16 МГц и версия 3,3 В / 8 МГц.
AndreKR
Извините, тогда моя ошибка.
Руди