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


15

Я трохи пограв з Arduino Uno, який прийшов у комплекті з дошкою та компонентами. Незабаром мені хотілося б зробити кілька більш постійних речей.

Я вважаю за краще менший і дешевший агрегат, ніж Arduino Uno, але це майже такий же простий у використанні, як Arduino Uno, і дуже схожий на використання.

Чи є наступним кроком Arduino Pro Mini 328 - 5V / 16 МГц логічним? На 1/6 розміру Arduino Uno це досить мало. За 10 $ за штуку ціна також хороша.

Я розумію, що я повинен паяти, щоб змусити його працювати. Це не повинно бути проблемою.

Чи знадобиться мені також USB-послідовна плата для програмування пристрою?


2
Наступний менше з 328p Нано
Юрай

1
Чіпи ATmega32u4 - також хороший хід (такий же, як і Леонардо) для 8-бітового мікро. Кодування дещо відрізняється від UNO / 328p (особливо з послідовним), але ви уникаєте USB / послідовного перетворювача. Зрештою, ви можете зробити власні друковані плати та використовувати мікросхеми SMD для дійсно компактного проекту.
MichaelT

1
Pro Mini, 5V 16MHz модуль з кварцового генератора ($ 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

Але, ось основи. Спочатку ви виймаєте чіп. Це буде виглядати наступним чином після цього. (Примітка. Я використовую клон «Елегуо» ООН).

чіп atmega328p-pu видалено

Далі ви застосовуєте живлення до контакту 7 і підключаєте штифт 8 до GND.

Потрібен кристал 16 МГц

Але, схоже, чіп, здається, не запустить ваш ескіз. Це тому, що вам справді потрібен кристал для роботи на частоті 16 МГц.

На борту ООН встановлено цей чіп, і саме тому він працює. Ви можете побачити його тут:

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

Нарешті, ви додаєте 16 МГц кристал і пару кришок 22pF, і ваш чіп буде працювати окремо (без UNO).

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

кристал на дошці

Нарешті, просто проводьте все інше

Після цього просто підключіть решту своєї схеми до належних штифтів, і ви можете запустити свій автономний ATMega328p-pu.

Насправді це також приємний досвід навчання.
Просто придбайте замінні мікросхеми atmega328p-pu для вашого ООН, і ви зможете створити всі проекти, які ви хочете, за дуже дешеві.


2
Вам добре послужити, щоб додати там якийсь захист ланцюга, оскільки 328p не має жодного власного. Інакше це чудовий шлях.
SnakeDoc

1
@duskwuff, я вважаю, що це лише тоді, коли ти робиш ЦАП. Це лише простий приклад, щоб хтось почав працювати в напрямку використання чіпа як окремого. Я запевняю, що код блимає світлодіодом у зразку. Крім того, коли я починав роботу, я створив схему, про яку я згадував у коментарі вище, і я ніколи не підключав AVCC і GND, і схема працювала протягом двох років. Звичайно, я не кажу, що це завжди буде правдою. Просто згадуємо, як чіп насправді працює. Як завжди, перевіряйте специфікацію даних на точні характеристики, особливо якщо ви відчуваєте щось інше. Спасибі.
raddevus

1
@raddevus Див. таблицю 28.8 у таблиці: "AVCC абсолютний хв / макс: 1,8 В / 5,5 В". Якщо залишити AVCC без напруги, не вистачає технічних характеристик, і це може призвести до пошкодження. Штифт GND на штифті 22 конкретно не пов'язаний з АЦП, і повинен бути підключений до GND.
duskwuff -inactive-

1
@duskwuff Дякую за просвітницьку дискусію. Я погоджуюся з тим, що ви говорите, і незабаром змінять мої документи та схеми, щоб гарантувати, що це завжди пов'язано. FYI - я почав працювати з ATMega328p-pu через фантастичну книгу AVR програмування: навчитися писати програмне забезпечення для апаратних засобів ( amzn.to/2PS9OOA ), і в цих перших схемах автор, Елліотт Вільямс, теж не підключає ці шпильки. Я думаю, що на мене це вплинуло. Книга справді чудова, і автор знає. Ще раз дякую, чудова дискусія.
raddevus

1
@reddevus. Якщо точніше, кристал, який ви вказали у червоному полі у цій відповіді, - це кристал, який використовується мікроконтролером, що управляє USB-зв’язком, а не мікросхемою ATmega328p-pu. З схеми Uno видно, що чіп ATmega328p
Кавка

7

Перевірте плату розвитку STM32F103C8T6, коштувала близько 1,5 доларів, і вона швидша / має більше пам’яті, ніж Arduino Uno, і значно менша.

Він може працювати з ID 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, але з завантажувачем уже спалахнув)
frarugi87

1
@ frarugi87 Або ви можете використовувати вбудований завантажувач UART (активований, встановивши BOOT0 високий) для початкового програмування.
duskwuff -inactive-

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, який є процесором цих трьох плат, не має вбудованого USB, а це означає, що плата також повинна включати в себе FTDI FT232RL IC, який використовується в кабелі FTDI. Наявність цього ІС може додати додаткові витрати до вашої суми

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

Arduino Micro

Усі ці згадані дошки є вбудованими в екосистему Arduino, і (крім пенсіонерів Pro Mini), їх можна легко знайти в Інтернеті або у вашому місцевому магазині електроніки. Ваша програма Arduino Uno буде працювати для всіх цих альтернатив - вам просто потрібно змінити плату в ID Arduino IDE:

Вибір дошки Arduino

Є ще одна рада, яку я хотів би зазначити - DigiSpark :

Дігіспарк

Він підходить лише для менших програм, обмежений у деяких своїх можливостях і не є офіційною дошкою Arduino. Сказавши це, підтримка Arduino є достатньо - і це дешево!


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

Паркетна дошка

Програміст AVR


1
Якщо ви замовляєте ATMEGA328P-PU з уже встановленим завантажувачем: ebay.ca/itm/… , тоді PL2303HX USB-адаптер UART ($ 0,70CDN) буде працювати для завантаження "коду": aliexpress.com/item/…
VE7JRO

Мені завжди було дивно, що Arduino використовує спеціальний завантажувач для програмування замість використання вбудованого інтерфейсу програмування.
користувач253751

@immibis не впевнений, що саме ви маєте на увазі, але завантажувачі ардуїно роблять багато речей, які роблять роботу з ардуїно (і фішками Atmel) набагато простіше, включаючи скидання шпильок, перехід на зовнішній годинник, передачу коду, і т. д. Без цього вам, по суті, вам потрібно буде написати своє власне ... що було б марною тратою часу, оскільки для більшості випадків завантажувач запасів Arduino робить все, що завгодно.
SnakeDoc

1
@immibis Я думаю, що набагато простіше мати інтерфейс послідовного порту, а не інтерфейс програміста з ПК. Більше того, особливо на початку, я думаю (особиста думка), що вони хотіли повноцінної системи на платі, а інтегрувати програміста на друковану плату було набагато складніше, ніж писати серійний завантажувач. Вважайте, що перші ардуїнові дошки мали послідовний порт ( Arduino RS232 ), тому для програмування багатьох з них був потрібен лише один програміст (вони використовувались у школі)
frarugi87

1
@ frarugi87, мабуть, це правда, але для реальних початківців підключення USB-кабелю та використання ID 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.

Є багато хороших недорогих варіантів.


3
Ви можете зауважити, що модулі ESP12 НЕ мають розміщення штифтів .1 ", що неприємно. Існують недорогі плати, але вони досить широкі і важкі у використанні з безпайковими дошками. Крім того, вони Це дуже зручно. Приблизно на 1 долар більше, ніж на простому модулі ESP12 ви можете отримати міні-клон Wemos D1 (клон), такий же простий у використанні, як Arduino Pro Mini або Nano.
Llaves

Де я сказав використовувати ESP-12? Я не надто детально розглядав ESP8266, тому що це насправді не було в центрі уваги питання. Я думав, що це варто згадати, оскільки багато людей з ним не знайомі. Я повністю підтримую людей, які використовують міні-платформу Wemos D1. Це готове рішення на відміну від ESP01, ESP12 і т.д. Але я все ще вважаю, що Nano або Pro Mini є найбільш прийнятною відповіддю для людини, яка поставила запитання.
Руді

Важко розглянути будь-яку систему на основі атмеги в 2019 році порівняно з системами ESP, тому ви можете згадати за 2 долари з ESP8266, ви отримаєте 40 МГц процесор, повну плату розвитку (не чіп), wifi та програмування на основі USB та моніторинг без зайвих кабелів. А також згадайте про системи ESP32, які дорожче коштують від 7 до 10 доларів, але містять два процесора, повний RTOS, декілька МБ спалаху, додає BT до WIFI та вбудовану підтримку USB. Сумісність з Arduino включена, і навіть при застосуванні наданого RTOS вони включають бібліотеки Arduino.
Брайан Булковський

ESP8266 має процесор 160 МГц. Це чудовий варіант, але він має обмеження. У ньому є лише один перетворювач A / D і поганий. Цифрові штифти IO також мають вигадки. Підтягуючі резистори увімкнено за замовчуванням, увімкнено живлення більшості. Три штифти вводу-виводу встановлюють режим роботи, і потрібно бути особливо обережним. ESP8266 також потребує гідного джерела живлення. У ESP8266 у фоновому режимі працює багато коду, і ваш код повинен спільно існувати з ним. Мені дуже подобається ESP9266, але це не великий мікроконтролер загального призначення. ESP32 кращий, але також і з проблемами.
Руді

2

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

Pro Micro


ProMicro має 3,3 В процесор. Це може бути проблемою для деяких конструкцій. Це не крапля заміни Uno. Але це цікава частина.
Руді

1
Ні, так само, як і у Pro Mini, є версія 5V / 16MHz та версія 3.3V / 8MHz.
AndreKR

Вибачте, моя помилка.
Руді
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.