Kalıcı projeler için Arduino Uno'ya daha küçük ve daha ucuz bir alternatif


15

Bir breadboard ve bileşenler içeren bir kit içinde gelen bir Arduino Uno ile biraz oynadım. Yakında daha kalıcı şeyler yapmak istiyorum.

Arduino Uno'dan daha küçük ve daha ucuz bir üniteyi tercih ederim, ancak Arduino Uno kadar kullanımı neredeyse kolaydır ve kullanımı çok benzer.

Arduino Pro Mini 328 - 5V / 16MHz mantıklı bir sonraki adım mı? Arduino Uno'nun 1 / 6'sında çok küçük. 10 $ bir parça fiyatı da iyidir.

Çalışması için lehim yapmam gerektiğini anlıyorum. Bu bir sorun olmamalı.

Üniteyi programlamak için bir USB seri kartına da ihtiyacım olacak mı?


2
sonraki 328p ile daha küçük Nano
Juraj

1
ATmega32u4 yongaları da 8 bit mikro için iyi bir hamle (Leonardo ile aynı). Kodlama UNO / 328p'den (özellikle seri ile) biraz farklıdır, ancak USB / seri dönüştürücüyü önlersiniz. Sonunda, kendi PCB'lerinizi yapabilir ve gerçekten kompakt bir proje için SMD yongalarını kullanabilirsiniz.
MichaelT

1
Pro Mini, Kristal Osilatörlü 5V 16MHz Modül ($ 2.18CDN): aliexpress.com/item/… . PL2303HX USB - UART adaptörü ($ 0.70CDN): aliexpress.com/item/… .
VE7JRO

Yanıtlar:


8

İlk en iyi seçimin ATMega328p-pu çipini Arduino UNO'nuzdan çıkarmak ve son devrenize dahil etmek olduğunu düşünüyorum. Fişleri sadece yaklaşık 1,50 $ vardır.

Bu şekilde, UNO'nuzu konuşlandırdığınız son cihaz yerine bir programcı olarak kullanabilirsiniz.

Programlama işlemini tamamladıktan sonra ATMega328p-pu yongasını çıkarmanın ve breadboard'unuzda kullanmanın doğru yolu hakkında neden daha fazla belge olmadığından emin değilim.

Bunu blogumda tam olarak nasıl yapacağımı açıklarım: http://raddev.us/arduino/post/2018/07/03/arduino-uno-using-your-atmega328p-u-as-stand-alone

Ama işte temeller. Önce çipi çıkar. Bunu yaptıktan sonra aşağıdaki gibi görünecektir. (Not: Bir UNO'nun Elegoo klonunu kullanıyorum).

atmega328p-pu çip kaldırıldı

Ardından, pin 7'ye güç uygular ve pin 8'i GND'ye bağlarsınız.

16MHz Kristal Gerekiyor

Ancak, çip bu noktada eskizinizi çalıştırmıyor gibi görünüyor. Çünkü 16MHz'de çalışmak için bir kristale ihtiyacınız var.

UNO kartında bu çip takılı ve bu yüzden çalışıyor. Burada görebilirsiniz:

UNO'da 16MHz kristal

Son olarak 16MHz kristal ve birkaç 22pF kapak eklersiniz ve çipiniz bağımsız çalışır (UNO yok).

9 ve 10 numaralı iğnelere kristal eklersiniz. Tüm ayrıntıları blog girişimi veya atmega328 veri sayfasını okuyarak görebilirsiniz .

breadboard üzerinde kristal

Sonunda, Sadece Başka Her Şey Tel

Bundan sonra, devrenizin geri kalanını uygun pimlere bağlayın ve ATMega328p-pu bağımsız çalıştırabilirsiniz.

Aslında güzel bir öğrenme deneyimi.
Sadece UNO'nuz için yedek atmega328p-pu cips satın alın ve istediğiniz tüm projeleri çok ucuza oluşturabilirsiniz.


2
328p'nin kendine ait bir devresi olmadığı için, orada bir miktar devre koruması eklemek için iyi hizmet edersiniz. Aksi takdirde, bu gitmek için harika bir yoldur.
SnakeDoc

1
@duskwuff, bunun sadece DAC yaptığınız zaman olduğuna inanıyorum. Bu, birisinin çipi bağımsız olarak kullanma yönünde başlatılması için basit bir örnektir. Size örnekte LED yanıp sönen kodun çalışacağını garanti ederim. Ayrıca, başlarken yukarıdaki açıklamada bahsettiğim devreyi yarattım ve AVCC ile GND arasında hiçbir zaman bağlantı kurmadım ve devre iki yıl çalıştı. Tabii ki, bunun her zaman doğru olacağını söylemiyorum. Sadece çipin gerçekte nasıl çalıştığından bahsediyoruz. Her zaman olduğu gibi, veri sayfasında kesin özellikler ve özellikle de farklı bir şey yaşıyorsanız kontrol edin. Teşekkürler.
raddevus

1
@raddevus Veri sayfasındaki Tablo 28.8'e bakınız: "AVCC mutlak min / maks: 1.8V / 5.5V". AVCC'yi enerjisiz bırakmak teknik özelliklerin dışındadır ve hasara neden olabilir. Pim 22'deki GND pimi özellikle ADC ile ilişkili değildir ve GND'ye bağlı olmalıdır.
duskwuff -inactive-

1
@duskwuff Aydınlatıcı tartışma için teşekkürler. Ne söylediğine katılıyorum ve her zaman bağlı olduğundan emin olmak için dokümanlarımı ve devrelerimi yakında değiştireceğim. FYI - ATMega328p-pu ile AVR Programlama: Donanım için Yazılım Yazmayı Öğrenme ( amzn.to/2PS9OOA ) aracılığıyla çalışmaya başladım ve bu ilk devrelerde yazar Elliott Williams da bu pinleri bağlamıyor . Sanırım bundan etkilendim. Kitap gerçekten harika olsa ve yazar bilgili. Tekrar teşekkürler, harika tartışma.
raddevus

1
@reddevus. Daha kesin olmak gerekirse, bu cevapta kırmızı kutuda belirttiğiniz kristal, ATmega328p-pu çipi tarafından değil, USB iletişimini işleyen mikrodenetleyici tarafından kullanılan kristaldir. Uno şemalarından ATmega328p-pu çipinin aslında bir rezonatör kullandığını görebilirsiniz: mouser.com/ProductDetail/Murata-Electronics/…
Kavka

7

STM32F103C8T6 geliştirme kartını kontrol edin, yaklaşık 1,5 $ maliyet ve Arduino Uno'dan daha hızlı / daha fazla belleğe sahiptir ve çok daha küçüktür.

Arduino IDE ile çalışabilir, ancak tüm kütüphaneler desteklenmez, bu nedenle kullanılan kütüphanelerinizin desteklenip desteklenmediğini veya bunun yerine kullanabileceğiniz farklı kütüphaneler olup olmadığını kullanmak için önce kontrol edin.

Güncelleme

farklılıklar:

                       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

Not: Daha önce yazıldığı gibi, daha iyi özelliklere rağmen, tüm kütüphaneler desteklenmez. Ayrıca bir programcının satın alınması gerekir (sadece bir kez, yaklaşık 5 $ maliyeti).


1
Maple Mini klonlarını (aynı uC, neredeyse aynı HW, ancak bir önyükleyici zaten yanıp
sönüyorsa

1
@ frarugi87 Veya ilk programlama için yerleşik UART bootloader'ı (BOOT0 yüksek ayarlanarak etkinleştirilir) kullanabilirsiniz.
duskwuff -inactive-

STM32F103C8T6 harika bir parçadır. Ama yine de sadece 3.3v. Uno'nun yerine bir damla değil. 5v karakterli bir LCD'ye bağlamayı deneyin ve eğer çalışırsa sorun yaşarsınız. (LCD)
Rudy

6

Ürünüm için bir Arduino Uno'dan gittim :

Arduino Uno R3

için Arduino Pro Mini :

Arduino Pro Mini

Evet , PC'ye programlama ve seri coms için bir FTDI kablosuna ihtiyacınız olacak , ancak her zaman coms'a ihtiyacınız yoksa, programı her cihaza yüklemek için sadece bir kabloya ihtiyacınız olacak. Onlar da oldukça ucuz bulunabilir.

Ancak, Arduino Pro Mini'nin artık emekli olduğunu fark ettim, bu yüzden kaynak yapmak biraz daha zor olabilir ( hala AliExpress'te mevcuttur ). Bu nedenle, bunun yerine Arduino Nano'yu denemenizi öneririz :

Arduino Nano

yerleşik USB ek avantajına sahip, yani artık programlama veya coms için FTDI kablosuna ihtiyacınız yok.

Bu 3 kartın işlemcisi olan ATMega328P'nin doğal USB'si yoktur, yani kartın FTDI kablosunda kullanılan FTDI FT232RL IC'yi de içermesi gerekir . Bu IC'ye sahip olmak, gelirinize ek maliyetler ekleyebilir.

Cihaz başına birkaç dolar daha ucuz olması için, yerel USB kodlarına sahip bir mikro denetleyici (ATMega32U4 gibi) kullanabilirsiniz (ve böylece FTDI IC'ye kaydedersiniz). Böyle bir ürün Arduino Micro :

Arduino Micro

Bahsedilen tüm bu kartlar Arduino Ekosisteminde yereldir ve (emekli Pro Mini dışında) çevrimiçi veya yerel elektronik mağazanızda kolay kaynak sağlanmalıdır. Arduino Uno programınız tüm bu alternatifler için çalışacaktır - sadece Arduino IDE'deki kartı değiştirmeniz gerekir:

Arduino Board Seçimi

Bahsetmek istediğim bir tahta daha var - DigiSpark :

Digispark

Sadece daha küçük programlar için uygundur, bazı özelliklerinde sınırlıdır ve resmi bir Arduino kartı değildir. Bunu söyledikten sonra , bol miktarda Arduino desteği var - ve ucuz!


4

Arduino ve araç zincirini kullanmaya devam etmek istiyorsanız, sadece çıplak bir ATmega 328p (Arduino Uno'nun kalbindeki mikro denetleyici) sipariş edebilir ve kendi başına kullanabilirsiniz!

Oldukça düşük maliyetlidir (1,50 $ - 3,00 $ aralığı) ve breadboard dostudur. Daha kalıcı bir çözüm için, tasarımınız bu seviyeye ulaştığında bunları bir proto-board'a (perfboard) veya hatta özel olarak tasarlanmış bir devre kartına lehimleyebilirsiniz.

İşte Arduino milletlerinden, sadece ATmega 328p gibi ham bileşenleri kullanarak bir breadboard üzerinde bir Arduino kurma hakkında mükemmel bir rehber . Bu tasarım, tıpkı Arduino Uno gibi harici bir 16MHz saat kristali kullanır.

328p'de dahili 8MHz saati kullanmakta sorun yaşıyorsanız, ekstra bileşenlerin çoğunu ortadan kaldırabilir ve bu kılavuzdaki gibi ham çipi çalıştırabilirsiniz (varsayılan Arduino önyükleyici yerine Arduino Lilypad Bootloader'ı kullanarak). Bu daha fazla tasarruf sağlayacaktır!

Her iki durumda da, 328p'de yerleşik bir USB bağlantı noktası olmadığından bir AVR Programlayıcı ünitesine ihtiyacınız olacak. Bu, bu kurulumun en pahalı kısmı olacak, ancak iyi haber sadece birine ihtiyacınız var ve ihtiyacınız olan herhangi bir 328p'yi programlayabilir. ESP çipleri gibi Seri Tx / Rx pimleri üzerinden programlanabilen standart dışı çipleri programlamak için de kullanılabilirler (sadece elle bağlarsınız). Bu tür mikro denetleyiciler konusunda ciddiyseniz bunlardan birine sahip olmak çok yararlıdır.

ATmega 328p Mikrodenetleyici Chip

ATMega Pin Çıkartmaları

Perfboard

AVR Programcı


1
ATMEGA328P-PU'nizi önyükleme yükleyici zaten kurulu olarak sipariş ederseniz: ebay.ca/itm/… , o zaman PL2303HX USB - UART adaptörü ($ 0.70CDN) "kod" yüklemek için çalışacaktır: aliexpress.com/item/…
VE7JRO

Arduino'nun programlama için özel bir önyükleyici kullanması, yerleşik programlama arayüzünü kullanmak yerine her zaman garip buldum.
user253751

@immibis tam olarak ne demek istediğinizden emin değil, ancak arduino önyükleyicileri arduino (ve Atmel yongaları) ile çalışmayı pimlerin sıfırlanması, harici saate geçilmesi, kodunuza teslim edilmesi de dahil olmak üzere çok daha kolay hale getiriyor, Onsuz, esas olarak kendi yazmanız gerekir ... bu, vakaların çoğunda, stok Arduino bootloader zaten istediğiniz her şeyi yapar.
SnakeDoc

1
@immibis PC'den bir programcı arabiriminden ziyade bir seri port arabirimine sahip olmanın çok daha kolay olduğunu düşünüyorum. Dahası, özellikle başlangıçta, bence (kişisel görüş) bir tahtada tam bir sistem istediklerini ve PCB'ye bir programcı entegre etmenin bir seri önyükleyici yazmaktan çok daha zor olduğunu düşünüyorum. İlk arduino kartlarının bir seri bağlantı noktasına ( Arduino RS232 ) sahip olduğunu düşünün , bu yüzden birçoğunu programlamak için sadece bir programcıya ihtiyaç duyuldu (okulda kullanıldı)
frarugi87 12:18

1
@ frarugi87 muhtemelen doğru, ama gerçek yeni başlayanlar için, bir USB kablosu takmak ve "skeçler" yüklemek için Arduino IDE kullanmak olabildiğince kolay. Özellikle sıfır mikrodenetleyici deneyimi olanlar için süper erişilebilir hale getirmek için doğru hareketi yaptığını düşünüyorum.
SnakeDoc

4

Nano ve Pro Mini'yi seviyorum. Onunla diğer modüllerle birlikte bir breadboard üzerinde çalışmayı seviyorum. Daha fazla devre varsa, bir Uno kullanmaktan çok daha uygun buldum. Daha hızlı işlemciler var, ancak birçok proje için 16Mhz 328 fazlasıyla yeterli. Ve Uno gibi, bu ikisi de 5 volt enerjili parçalardır. Bazen bağlanmak için ihtiyacınız olan şey 3.3 volt işlemcilerle iyi sonuç vermiyor.

Pro Mini ve Nano kolayca 0.1 "aralıklı" Veroboard "(veya eşdeğeri) içine lehimlenebilir Eğer klonlanmış parçaları satın almak sakıncası yoksa, bir Nano ve Pro Mini maliyeti sadece birkaç dolar. ve hatta Ebay, teslimat konusunda sabırlı olduğunuz sürece sizi çok kurtarabilir.

Şu anda en sık kullandığım modül ESP8266. Sadece birkaç dolara mal olan ve oldukça olgun bir Arduino çerçevesine sahip güçlü bir WiFi platformudur. Genellikle bunu tasarımdaki tek işlemci olarak kullanıyorum. Hatta bir veri kaydedici için temel olarak kullandım ve WiFi özelliğini tamamen görmezden geldim. 186x4 lityum pil ile çalışan 20x4 karakter LCD, akım / gerilim ölçüm çipi (INA219) ve bir SD bellek kartı.

Çok iyi ucuz seçenekler var.


3
ESP12 modüllerinin .1 "pim aralığına sahip olmadığını belirtmek isteyebilirsiniz, bu biraz sıkıntı verici. Ucuz koparma tahtaları var, ancak bunlar oldukça geniş ve lehimsiz breadboard'larla kullanımı zor. Bunun dışında, bunlar Oldukça kullanışlı. Çıplak ESP12 modülünden yaklaşık 1 $ daha fazlası için, Arduino Pro Mini veya Nano kadar kullanımı kolay bir Wemos D1 mini (klon) alabilirsiniz.
Llaves

ESP-12'yi nerede kullanmayı söyledim? ESP8266 ile ilgili çok fazla ayrıntıya girmedim çünkü bu sorunun odak noktası değildi. Birçok insanın aşina olmadığı için bahsetmeye değer olduğunu düşündüm. Wemos D1 mini platformunu kullanan insanları tamamen destekliyorum. ESP01, ESP12, vb.'nin aksine kullanıma hazır bir çözümdür. Ama hala Nano ya da Pro Mini'nin soruyu soran kişi için en uygun cevap olduğunu hissediyorum.
Rudy

2019'da ESP sistemlerine kıyasla herhangi bir atmega tabanlı sistemi düşünmek zordur, bu nedenle ESP8266 ile 2 $ 'dan bahsedebilir, 40MHZ işlemci, tam geliştirme kartı (çip değil), wifi ve USB tabanlı programlama ve ekstra kablo olmadan izleme. Ayrıca 7 ila 10 dolar arasında daha pahalı olan ancak iki CPU, tam bir RTOS, birden fazla MB flaş içeren ESP32 sistemlerinden WIFI'ye BT ve yerel USB desteği ekleniyor. Arduino ile uyumluluk dahildir ve sağlanan RTOS'u çalıştırırken bile Arduino kütüphanelerini içerir.
Brian Bulkowski

ESP8266'nın 160MHz işlemcisi var. Harika bir seçenektir ancak sınırlamaları vardır. Sadece bir A / D dönüştürücü ve kötü bir dönüştürücü var. Dijital IO pinlerinde de tuhaflıklar var. Çoğu açıldığında çekme dirençleri varsayılan olarak açıktır. Üç IO pimi çalışma modunu ayarlar ve özel dikkat gösterilmelidir. ESP8266'nın da iyi bir güç kaynağına ihtiyacı var. ESP8266 ile arka planda çok fazla kod var ve kodunuz onunla birlikte var olmalıdır. ESP9266'yı gerçekten seviyorum ama büyük bir genel amaçlı mikro denetleyici değil. ESP32 daha iyi ama aynı zamanda sorunlarla da ilgili.
Rudy

2

Arduino Pro Micro klonları süper ucuzdur ve bunları programlamak için ihtiyacınız olan tek şey normal bir mikro USB kablosudur. Yararlı bir şey yapmak için muhtemelen başlıkları lehimlemeniz gerekecektir. 3.3V / 8MHz ve 5V / 16Mhz versiyonlarında mevcuttur.

Pro Micro


ProMicro 3.3v işlemciye sahiptir. Bazı tasarımlarda sorun olabilir. Bir Uno'nun yerine bir damla değil. Ama bu ilginç bir kısım.
Rudy

1
Hayır, Pro Mini'de olduğu gibi 5V / 16MHz ve 3.3V / 8MHz sürümü var.
AndreKR

Üzgünüm o zaman hatam.
Rudy
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.