Alternatif yang lebih kecil dan lebih murah daripada Arduino Uno untuk proyek permanen

15

Saya telah bermain-main sedikit dengan Arduino Uno yang datang dalam kit dengan papan tempat memotong roti dan komponen. Segera saya ingin membuat beberapa hal yang lebih permanen.

Saya lebih suka unit yang lebih kecil dan lebih murah daripada Arduino Uno tapi itu hampir sama mudah digunakannya dengan Arduino Uno, dan sangat mirip untuk digunakan.

Apakah Arduino Pro Mini 328 - 5V / 16MHz merupakan langkah logis berikutnya? Pada 1/6 dari ukuran Arduino Uno itu sangat kecil. Dengan potongan $ 10, harganya juga bagus.

Saya mengerti bahwa saya harus menyolder untuk membuatnya bekerja. Itu seharusnya tidak menjadi masalah.

Apakah saya juga memerlukan papan serial USB untuk memprogram unit ini?

Andy
sumber
2
selanjutnya lebih kecil dengan 328p adalah Nano
Juraj
1
Chip ATmega32u4 juga merupakan langkah yang baik (sama seperti Leonardo) untuk mikro 8-bit. Pengkodean sedikit berbeda dari UNO / 328p (terutama dengan serial), tetapi Anda menghindari konverter USB / serial. Akhirnya, Anda dapat membuat PCB sendiri dan menggunakan chip SMD, untuk proyek yang benar-benar ringkas.
MichaelT
1
Pro Mini, Modul 5V 16MHz Dengan Crystal Oscillator ($ 2.18CDN): aliexpress.com/item/… . PL2303HX USB ke adaptor UART ($ 0,70CDN): aliexpress.com/item/… .
VE7JRO

Jawaban:

8

Saya pikir pilihan terbaik pertama adalah menghapus chip ATMega328p-pu dari UNO Arduino Anda dan memasukkannya ke dalam sirkuit akhir Anda. Chip hanya sekitar $ 1,50.

Dengan begitu, Anda bisa menggunakan UNO sebagai programer alih-alih perangkat akhir yang Anda gunakan.

Saya tidak yakin mengapa tidak ada lagi dokumentasi tentang cara yang tepat untuk menghapus chip ATMega328p-pu dan menggunakannya di papan tempat memotong roti Anda, setelah menyelesaikan pemrograman Anda.

Saya jelaskan bagaimana melakukannya di blog saya: http://raddev.us/arduino/post/2018/07/03/arduino-uno-using-your-atmega328p-u-as-stand-alone

Tapi, inilah dasar-dasarnya. Pertama, Anda menghapus chip. Ini akan terlihat seperti berikut setelah Anda melakukannya. (Catatan: Saya menggunakan klon Elegoo dari UNO).

atmega328p-pu chip dihapus

Selanjutnya, Anda menerapkan daya ke pin 7 dan menghubungkan pin 8 ke GND.

Butuh Kristal 16MHz

Tapi, sepertinya chip tidak akan menjalankan sketsa Anda saat ini. Itu karena Anda benar-benar membutuhkan kristal untuk berjalan pada 16MHz.

Papan UNO memasang chip itu dan itulah sebabnya ia bekerja. Anda bisa melihatnya di sini:

Kristal 16MHz di UNO

Akhirnya Anda menambahkan kristal 16MHz dan beberapa topi 22pF dan chip Anda akan berjalan sendiri-sendiri (tidak ada UNO).

Anda menambahkan kristal ke pin 9 & 10. Anda dapat melihat semua detail dengan membaca entri blog saya atau membaca datmeeet atmega328 .

kristal di papan tempat memotong roti

Akhirnya, Hanya Kirim Semuanya Lain

Setelah itu, cukup pasang sisa sirkuit Anda ke pin yang tepat dan Anda dapat menjalankan ATMega328p-pu Anda sendiri.

Ini sebenarnya pengalaman belajar yang menyenangkan juga.
Cukup beli penggantian chip atmega328p-pu untuk UNO Anda dan Anda dapat membuat semua proyek yang Anda inginkan dengan harga sangat murah.

raddevus
sumber
2
Anda akan dilayani dengan baik untuk menambahkan beberapa perlindungan sirkuit di sana, karena 328p tidak memiliki sendiri. Kalau tidak, ini cara yang bagus untuk pergi.
SnakeDoc
1
@duskwuff, saya percaya itu hanya ketika Anda melakukan DAC. Ini hanyalah contoh sederhana untuk membuat seseorang mulai menggunakan chip sebagai alat yang berdiri sendiri. Saya yakinkan Anda kode untuk berkedip LED dalam sampel tidak berjalan. Juga, ketika saya memulai saya membuat sirkuit yang saya sebutkan dalam komentar di atas dan saya tidak pernah menghubungkan AVCC dan GND dan sirkuit berjalan selama dua tahun. Tentu saja, saya tidak mengatakan itu akan selalu benar. Hanya menyebutkan cara chip itu bekerja. Seperti biasa, periksa datasheet untuk spesifikasi yang tepat dan terutama jika Anda mengalami sesuatu yang berbeda. Terima kasih.
raddevus
1
@raddevus Lihat Tabel 28.8 di lembar data: "AVCC absolute min / max: 1.8V / 5.5V". Meninggalkan AVCC tidak berdaya tidak sesuai spesifikasi, dan dapat menyebabkan kerusakan. Pin GND pada pin 22 tidak secara khusus dikaitkan dengan ADC, dan harus terhubung ke GND.
duskwuff -inactive-
1
@duskwuff Terima kasih atas diskusi yang mencerahkan. Saya setuju dengan apa yang Anda katakan dan akan segera mengubah dokumen dan sirkuit saya untuk memastikan bahwa selalu terhubung. FYI - Saya mulai bekerja dengan ATMega328p-pu melalui buku AVR Programming yang luar biasa: Belajar Menulis Perangkat Lunak Untuk Perangkat Keras ( amzn.to/2PS9OOA ) dan di sirkuit pertama itu penulis, Elliott Williams, juga tidak memasang pin-pin itu. Saya pikir saya dipengaruhi oleh itu. Buku ini benar-benar hebat dan penulisnya berpengetahuan luas. Terima kasih sekali lagi, diskusi yang bagus.
raddevus
1
@reddevus. Untuk lebih tepatnya, kristal yang Anda tunjukkan dalam kotak merah dalam jawaban ini adalah kristal yang digunakan oleh mikrokontroler yang menangani komunikasi USB, dan bukan oleh chip ATmega328p-pu. Anda dapat melihat dari skema Uno bahwa chip ATmega328p-pu benar-benar menggunakan resonator: mouser.com/ProductDetail/Murata-Electronics/…
Kavka 6/19
7

Periksa papan pengembangan STM32F103C8T6, harganya sekitar $ 1,5, dan lebih cepat / memiliki lebih banyak memori daripada Arduino Uno, dan jauh lebih kecil.

Ini dapat bekerja dengan Arduino IDE, tetapi tidak semua pustaka didukung, jadi periksalah sebelum Anda ingin menggunakannya jika pustaka bekas Anda didukung, atau jika ada pustaka yang berbeda yang dapat Anda gunakan.

Memperbarui

Perbedaan:

                       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

Catatan: seperti yang ditulis sebelumnya, meskipun sebagian besar spesifikasi lebih baik, tidak semua perpustakaan didukung. Juga seorang programmer perlu dibeli (hanya sekali, biayanya sekitar $ 5).

Michel Keijzers
sumber
1
Anda juga dapat menghindari mendapatkan pemrogram jika Anda mendapatkan klon Maple Mini (UC yang sama, HW yang hampir sama, tetapi dengan bootloader yang sudah di-flash)
frarugi87
1
@ frarugi87 Atau Anda dapat menggunakan bootloader UART bawaan (diaktifkan dengan menyetel tinggi BOOT0) untuk pemrograman awal.
duskwuff -inactive-
STM32F103C8T6 adalah bagian yang bagus. Tapi itu masih hanya 3.3V. Itu bukan setetes pengganti untuk Uno. Coba sambungkan ke LCD karakter 5v dan Anda akan mengalami masalah, jika berhasil. (LCD)
Rudy
6

Untuk produk saya, saya menggunakan Arduino Uno :

Arduino Uno R3

ke Arduino Pro Mini :

Arduino Pro Mini

Ya, Anda akan memerlukan kabel FTDI untuk pemrograman dan serial com ke PC, tetapi jika Anda tidak perlu com sepanjang waktu, Anda hanya perlu satu kabel untuk mengunggah program ke setiap perangkat. Mereka dapat ditemukan cukup murah juga.

Namun saya perhatikan bahwa Arduino Pro Mini sudah pensiun sekarang, jadi mungkin agak sulit untuk sumbernya ( masih tersedia di AliExpress ). Jadi untuk alasan ini, saya sarankan Anda mencoba Arduino Nano :

Arduino Nano

yang memiliki kelebihan tambahan pada USB onboard, artinya Anda tidak lagi memerlukan kabel FTDI untuk pemrograman atau com.

ATMega328P yang merupakan prosesor dari 3 papan ini tidak memiliki USB asli, yang berarti bahwa papan juga perlu menyertakan FTDI FT232RL IC yang digunakan dalam kabel FTDI. Memiliki IC ini dapat menambah biaya tambahan untuk keuntungan Anda.

Untuk beberapa dolar lebih murah per perangkat, Anda dapat menggunakan mikrokontroler (seperti ATMega32U4) yang memiliki com USB asli (dan karenanya Anda menghemat IC FTDI). Salah satu produk tersebut adalah Arduino Micro :

Arduino Micro

Semua papan yang disebutkan ini adalah asli dalam Arduino Ecosystem dan (terlepas dari Pro Mini yang sudah pensiun) harus mudah didapat secara online atau di toko elektronik lokal Anda. Program Arduino Uno Anda akan bekerja untuk semua alternatif ini - Anda hanya perlu mengganti papan di Arduino IDE:

Pemilihan Dewan Arduino

Ada satu papan lagi yang ingin saya sebutkan - DigiSpark :

Digispark

Ini hanya cocok untuk program yang lebih kecil, terbatas pada beberapa fitur-fiturnya dan bukan papan Arduino resmi. Karena itu, ada banyak dukungan Arduino - dan murah!

sa_leinad
sumber
4

Jika Anda ingin tetap menggunakan Arduino dan itu toolchain, Anda dapat memesan hanya ATmega 328p (mikrokontroler di jantung Arduino Uno) dan menggunakannya dengan sendirinya!

Mereka cukup murah (kisaran $ 1,50- $ 3,00) dan ramah papan tempat memotong roti. Untuk solusi yang lebih permanen, Anda dapat menyoldernya menjadi proto-board (perfboard), atau bahkan papan sirkuit yang dirancang khusus setelah desain Anda mencapai tingkat itu.

Berikut adalah panduan yang sangat baik dari orang-orang Arduino tentang pengaturan Arduino di papan tempat memotong roti, hanya menggunakan komponen mentah seperti ATmega 328p. Desain ini menggunakan kristal clock 16MHz eksternal, seperti Arduino Uno.

Jika Anda baik-baik saja dengan menggunakan clock 8MHz internal pada 328p, Anda dapat menghapus sebagian besar komponen tambahan dan menjalankan chip mentah seperti dalam panduan ini (menggunakan Arduino Lilypad Bootloader alih-alih bootloader Arduino default). Ini akan menghemat lebih banyak uang!

Apa pun itu, Anda akan memerlukan unit Programmer AVR, karena tidak ada port USB yang terpasang pada 328p. Ini akan menjadi bagian paling mahal dari pengaturan ini, tetapi kabar baiknya adalah Anda hanya memerlukannya, dan dapat memprogram 328p yang Anda butuhkan. Mereka juga dapat digunakan untuk memprogram chip non-standar yang mampu diprogram melalui pin Serial Tx / Rx, seperti chip ESP (Anda hanya menggunakan kabelnya). Sangat berguna untuk memilikinya jika Anda serius dengan jenis mikrokontroler ini.

ATmega 328p Mikrokontroler Chip

Stiker ATMega Pin

Perfboard

Programmer AVR

SnakeDoc
sumber
1
Jika Anda memesan ATMEGA328P-PU Anda dengan boot loader yang sudah diinstal: ebay.ca/itm/… , maka USB PL2303HX ke adaptor UART ($ 0,70CDN) akan berfungsi untuk mengunggah "kode": aliexpress.com/item/…
VE7JRO
Saya selalu merasa aneh bahwa Arduino menggunakan bootloader khusus untuk pemrograman alih-alih menggunakan antarmuka pemrograman bawaan.
pengguna253751
@immibis tidak yakin apa yang Anda maksud persis, tetapi bootloader Arduino melakukan banyak hal yang membuat bekerja dengan Arduino (dan chip Atmel) jauh lebih mudah, termasuk mengatur ulang pin, beralih ke jam eksternal, menyerahkan kode Anda, dll. Tanpa itu, Anda pada dasarnya harus menulis sendiri ... yang akan membuang-buang waktu karena untuk sebagian besar kasus, stockloader Arduino stok melakukan semua yang Anda inginkan.
SnakeDoc
1
@immibis Saya pikir jauh lebih mudah untuk memiliki antarmuka port serial daripada antarmuka programmer dari PC. Selain itu, terutama di awal, saya pikir (pendapat pribadi) bahwa mereka menginginkan sistem yang lengkap di papan, dan mengintegrasikan seorang programmer pada PCB jauh lebih sulit daripada menulis bootloader serial. Pertimbangkan bahwa papan arduino pertama memiliki port serial ( Arduino RS232 ), jadi hanya satu programmer yang diperlukan untuk memprogram banyak dari mereka (mereka digunakan di sekolah)
frarugi87
1
@ frarugi87 itu mungkin benar, tetapi bagi pemula yang sebenarnya, mencolokkan kabel USB dan menggunakan Arduino IDE untuk mengunggah "sketsa" semudah mungkin. Saya pikir mereka membuat langkah yang tepat untuk membuatnya super mudah diakses, terutama bagi mereka yang tidak memiliki pengalaman mikrokontroler.
SnakeDoc
4

Saya suka Nano dan Pro Mini. Saya suka bekerja dengannya di papan tempat memotong roti dengan modul lain. Jika ada lebih banyak sirkuit yang terlibat saya merasa jauh lebih nyaman daripada menggunakan Uno. Ada prosesor yang lebih cepat tetapi untuk banyak proyek, 16Mhz 328 lebih dari cukup. Dan seperti Uno, keduanya adalah bagian bertenaga 5 volt. Kadang-kadang apa yang Anda butuhkan untuk terhubung tidak bekerja dengan baik dengan prosesor 3,3 volt.

Pro Mini dan Nano dengan mudah disolder menjadi 0,1 "spasi" Veroboard "(atau setara) Jika Anda tidak keberatan membeli suku cadang yang dikloning, biaya Nano dan Pro Mini hanya beberapa dolar. Membeli suku cadang dari Aliexpress , atau bahkan Ebay, bisa menghemat banyak, selama Anda bersabar ketika datang ke pengiriman.

Modul yang sekarang paling sering saya gunakan adalah ESP8266. Ini adalah platform WiFi yang kuat yang hanya membutuhkan biaya beberapa dolar dan memiliki kerangka kerja Arduino yang cukup matang. Seringkali saya menggunakan ini sebagai satu-satunya prosesor dalam desain. Saya bahkan menggunakannya sebagai dasar untuk data logger dan sepenuhnya mengabaikan kemampuan WiFi. LCD karakter 20x4, chip pengukuran arus / tegangan (INA219), dan kartu memori SD, ditenagai oleh baterai lithium 18650.

Ada banyak pilihan murah yang bagus.

Rudy
sumber
3
Anda mungkin ingin menunjukkan bahwa modul ESP12 TIDAK memiliki .1 "pin spacing, yang sedikit mengganggu. Ada papan pelarian yang murah, tetapi ini cukup lebar dan sulit untuk digunakan dengan papan tempat memotong roti tanpa solder. Selain itu, mereka cukup praktis. Untuk sekitar $ 1 lebih dari modul ESP12 telanjang Anda bisa mendapatkan Wemos D1 mini (klon) yang tentang mudah digunakan sebagai Arduino Pro Mini atau Nano.
Llaves
Di mana saya mengatakan untuk menggunakan ESP-12? Saya tidak masuk ke banyak detail pada ESP8266 karena itu benar-benar bukan fokus dari pertanyaan. Saya pikir itu layak disebutkan karena banyak orang yang tidak mengenalnya. Saya benar-benar mendukung orang yang menggunakan platform mini Wemos D1. Ini adalah solusi yang siap untuk digunakan, tidak seperti ESP01, ESP12, dll. USB ke serial dan onboard regulator membuat perbedaan besar. Tapi saya masih merasakan Nano atau Pro Mini adalah jawaban yang paling tepat untuk orang yang mengajukan pertanyaan.
Rudy
Sulit untuk mempertimbangkan sistem berbasis ATmega pada tahun 2019 dibandingkan dengan sistem ESP, jadi Anda mungkin menyebutkan $ 2 dengan ESP8266 Anda mendapatkan prosesor 40MHZ, papan pengembangan penuh (bukan chip), wifi, dan pemrograman berbasis USB dan pemantauan tanpa kabel tambahan. Dan juga menyebutkan sistem ESP32, yang lebih mahal dari $ 7 hingga $ 10, tetapi mengandung dua CPU, RTOS penuh, beberapa MB flash, menambahkan BT ke WIFI, dan dukungan USB asli. Kompatibilitas dengan Arduino disertakan, dan bahkan menjalankan RTOS yang disediakan, mereka menyertakan perpustakaan Arduino.
Brian Bulkowski
ESP8266 memiliki prosesor 160MHz. Ini adalah pilihan yang bagus tetapi memang memiliki keterbatasan. Ini hanya memiliki satu konverter A / D dan yang buruk pada saat itu. Pin IO digital juga memiliki kebiasaan. Pull up resistor aktif secara default pada power up pada kebanyakan. Tiga pin IO mengatur mode operasi dan perawatan khusus harus diambil. ESP8266 juga membutuhkan catu daya yang layak. Dengan ESP8266 ada banyak kode yang berjalan di latar belakang dan kode Anda harus hidup berdampingan dengannya. Saya sangat suka ESP9266 tetapi itu bukan mikrokontroler tujuan umum yang bagus. ESP32 lebih baik tetapi juga dengan masalah.
Rudy
2

Arduino Pro Micro klon sangat murah dan yang Anda butuhkan untuk memprogramnya adalah kabel USB mikro normal. Anda mungkin harus menyolder header untuk melakukan sesuatu yang bermanfaat. Mereka tersedia dalam versi 3.3V / 8MHz dan 5V / 16Mhz.

Mikro Pro

AndreKR
sumber
ProMicro memiliki prosesor 3.3V. Itu bisa menjadi masalah dengan beberapa desain. Itu bukan setetes pengganti untuk Uno. Tapi itu bagian yang menarik.
Rudy
1
Tidak, seperti halnya Pro Mini ada versi 5V / 16MHz dan 3.3V / 8MHz.
AndreKR
Maaf kalau begitu, kesalahan saya.
Rudy