恒久的なプロジェクト向けのArduino Unoの小型で安価な代替品


14

ブレッドボードとコンポーネントが入ったキットで提供されたArduino Unoを少し試しました。すぐにもっと恒久的なものを作りたいと思います。

私はArduino Unoよりも小さくて安価なユニットを好むでしょうが、それはArduino Unoとほぼ同じくらい使いやすく、非常に使いやすいです。

Arduino Pro Mini 328-5V / 16MHzは論理的な次のステップですか?Arduino Unoのサイズの1/6では、かなり小さいです。1個10ドルで、価格も良いです。

私はそれを機能させるためにはんだ付けする必要があることを理解しています。それは問題ではないはずです。

ユニットをプログラムするにはUSBシリアルボードも必要ですか?


2
328pで次に小さいのはNano
Juraj

1
ATmega32u4チップも8ビットマイクロの良い動きです(Leonardoと同じ)。コーディングはUNO / 328p(特にシリアル)とは若干異なりますが、USB /シリアルコンバーターは避けます。最終的には、独自のPCBを作成し、SMDチップを使用して、非常にコンパクトなプロジェクトを実現できます。
MichaelT

1
Pro Mini、水晶発振器付き5V 16MHzモジュール($ 2.18CDN):aliexpress.com/item/…。:UARTアダプタ($ 0.70CDN)にPL2303HXのUSB aliexpress.com/item/...
VE7JRO

回答:


8

最初の最良の選択は、Arduino UNOからATMega328p-puチップを取り外し、最終回路に組み込むことだと思います。チップは約$ 1.50です。

そうすれば、展開する最終的なデバイスの代わりにUNOをプログラマーとして使用できます。

プログラミングを完了した後、ATMega328p-puチップを取り外してブレッドボードで使用する適切な方法に関するドキュメントがこれ以上ないのはなぜかわかりません。

ブログでこれを行う方法を正確に説明します:http : //raddev.us/arduino/post/2018/07/03/arduino-uno-using-your-atmega328p-u-as-stand-alone

しかし、ここに基本があります。まず、チップを取り外します。そうすると、次のようになります。(注:私はUNOのElegooクローンを使用しています)。

atmega328p-puチップを削除

次に、ピン7に電力を供給し、ピン8をGNDに接続します。

16MHzの水晶が必要

ただし、この時点では、チップはスケッチを実行していないようです。これは、実際に16MHzで動作する水晶が必要だからです。

UNOボードにはそのチップがインストールされており、それが動作する理由です。ここで見ることができます:

UNO上の16MHzクリスタル

最後に、16MHzクリスタルといくつかの22pFキャップを追加すると、チップはスタンドアロンで実行されます(UNOなし)。

水晶をピン9と10に追加します。すべての詳細を見るには、ブログエントリまたはatmega328データシートを参照してください。

ブレッドボード上のクリスタル

最後に、他のすべてを配線するだけ

その後、回路の残りの部分を適切なピンに配線するだけで、ATMega328p-puをスタンドアロンで実行できます。

それは実際に素晴らしい学習体験でもあります。
交換用のatmega328p-puチップをUNO用に購入するだけで、必要なすべてのプロジェクトを非常に安価に作成できます。


2
328pには独自の回路保護がないため、そこに回路保護を追加するのに役立ちます。それ以外の場合、これは最適な方法です。
SnakeDoc

1
@duskwuff、それはあなたがDACをやっているときだけだと思います。これは、チップをスタンドアロンとして使用する方向で誰かを開始するための単純な例です。サンプルのLEDを点滅させるコードが実行されることを保証します。また、私が始めたとき、上記のコメントで言及した回路を作成しましたが、AVCCとGNDを接続したことはなく、回路は2年間動作しました。もちろん、私はそれが常に真実だと言っているわけではありません。チップが実際に動作する方法について言及するだけです。いつものように、正確な仕様についてはデータシートをチェックしてください。特に何か違うことがある場合は。ありがとう。
raddevus

1
@raddevusデータシートの表28.8を参照してください:「AVCC absolute min / max:1.8V / 5.5V」。AVCCに電力を供給しないままにしておくと、仕様から外れ、損傷を引き起こす可能性があります。ピン22のGNDピンは、特にADCに関連付けられていないため、GNDに接続する必要があります。
夕暮れの

1
@duskwuff啓発的な議論をありがとう。私はあなたが言っていることに同意し、私のドキュメントと回路をすぐに変更して、常に接続されるようにします。参考までに、私はATMega328p-puの素晴らしい本「AVR Programming:Learning to Write Software For Hardware」(amzn.to/2PS9OOA)で作業を始めましたが、最初の回路では著者のElliott Williamsもこれらのピンを接続しません。影響を受けたと思う。本は本当に素晴らしいですし、著者は知識が豊富です。素晴らしい議論をありがとう。
raddevus

1
@reddevus。より正確には、この回答の赤いボックスで示した水晶は、ATmega328p-puチップではなく、USB通信を処理するマイクロコントローラーが使用する水晶です。Unoの回路図から、ATmega328p-puチップが実際に共振器を使用していることがわかります。mouser.com
ProductDetail

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

注:前に書いたように、ほとんどの仕様が優れていますが、すべてのライブラリがサポートされているわけではありません。また、プログラマーを購入する必要があります(1回だけ、約5ドルの費用がかかります)。


1
Maple Miniのクローン(同じuC、ほぼ同じHW、ブートローダーが既にフラッシュされている)を取得する場合、プログラマーを取得することも回避できます
-frarugi87

1
@ frarugi87または、初期プログラミングに組み込みUARTブートローダー(BOOT0をハイに設定することでアクティブ化)を使用できます。
夕暮れの

STM32F103C8T6は素晴らしい部分です。しかし、それでもまだ3.3vです。Unoに代わるものではありません。5vの文字LCDに接続してみてください。まったく機能しない場合、問題が発生します。(LCD)
ルディ

6

私の製品では、Arduino Unoから行きました:

Arduino Uno R3

Arduinoのプロミニ

Arduino Pro Mini

はい、プログラミングとPCへのシリアル通信にはFTDIケーブルが必要ですが、 通信を常に必要としないのであれば、各デバイスにプログラムをアップロードするのに必要なケーブルは1本だけです。彼らもかなり安く見つけることができます。

しかし、私はArduino Pro Miniが現在は廃止されていることに気付いたので、調達するのが少し難しいかもしれません(AliExpressでまだ利用可能です)。そのため、代わりにArduino Nanoを試すことをお勧めします。

Arduino Nano

オンボードUSBの追加の利点があります。つまり、プログラミングや通信にFTDIケーブルが不要になります。

これら3つのボードのプロセッサであるATMega328PにはネイティブUSBがありません。つまり、ボードにはFTDIケーブルで使用されるFTDI FT232RL ICも含める必要があります。このICを使用すると、収益に追加コストが追加される可能性があります。

デバイスあたり数ドル安く、ネイティブUSB通信を備えたマイクロコントローラー(ATMega32U4など)を使用できます(したがって、FTDI ICを節約できます)。そのような製品の1つがArduino Microです。

Arduino Micro

言及されたこれらのボードはすべて、Arduino Ecosystemに固有のものであり、(廃止されたPro Miniを除き)オンラインまたは地元の電器店で簡単に調達できるはずです。Arduino Unoプログラムは、これらすべての選択肢で機能します。ArduinoIDEでボードを変更するだけです。

Arduinoボードの選択

私が言及したいもう1つのボードがあります-DigiSpark

デジスパーク

小規模なプログラムにのみ適しており、機能の一部が制限されており、公式のArduinoボードではありません。とはいえ、Arduinoのサポートは豊富にあり、しかも安価です!


4

Arduinoとそのツールチェーンの使用に固執したい場合は、裸のATmega 328p(Arduino Unoの中心にあるマイクロコントローラ)を注文して、それを単独で使用できます!

彼らはかなり低コスト(1.50ドルから3.00ドルの範囲)であり、ブレッドボードに優しいです。より恒久的なソリューションとして、設計がそのレベルに達したら、それらをプロトボード(perfboard)、またはカスタムデザインの回路基板にはんだ付けすることができます。

ここだ優秀なガイドなどATMEGAの328Pとして、ブレッドボード上のArduinoを設定するだけで、生のコンポーネントの使用についてのArduinoの人々から。この設計では、Arduino Unoと同様に、外部16MHzクロッククリスタルを使用しています。

328pの内部8MHzクロックを使用しても問題ない場合は、ほとんどの追加コンポーネントを廃止して、このガイドのようにrawチップを実行できます(デフォルトのArduinoブートローダーの代わりにArduino Lilypadブートローダーを使用)。これはさらにお金を節約します!

いずれにしても、328pにはUSBポートが組み込まれていないため、AVR Programmerユニットが必要です。これはこのセットアップの最も高価な部分になりますが、良いニュースは必要なのは1つだけであり、必要な328pをプログラムできることです。また、ESPチップなどのシリアルTx / Rxピンを介してプログラムできる非標準チップをプログラムするために使用することもできます(手作業で配線するだけです)。これらのタイプのマイクロコントローラーに真剣に取り組んでいる場合、これらのいずれかを持つことは非常に便利です。

ATmega 328pマイクロコントローラーチップ

ATMegaピンステッカー

Perfboard

AVRプログラマー


1
あなたは既にインストールブートローダーを使用してATMEGA328P-PUを注文した場合:ebay.ca/itm/...、その後、UARTアダプタ($ 0.70CDN)にPL2303HXのUSBは、「コード」にアップロードしていきます:aliexpress.com/item/...を
VE7JROを

Arduinoは、組み込みのプログラミングインターフェイスを使用する代わりに、プログラミングに特別なブートローダーを使用することは常に奇妙でした。
user253751

@immibisは正確な意味がわかりませんが、arduinoブートローダーは、ピンのリセット、外部クロックへの切り替え、コードへの引き渡しなど、arduino(およびAtmelチップ)での作業を非常に簡単にする多くのことを行います。それがなければ、本質的に自分で書く必要があります...ほとんどの場合、ストックのArduinoブートローダーはあなたが望むすべてをするので時間の無駄になります。
SnakeDoc

1
@immibis PCのプログラマーインターフェースよりもシリアルポートインターフェースの方がはるかに簡単だと思います。さらに、特に最初は、ボード上の完全なシステムが必要であり、PCBにプログラマーを統合することはシリアルブートローダーを書くよりもはるかに難しいと(個人的な意見)思います。最初のarduinoボードにはシリアルポート(Arduino RS232)があったので、それらの多くをプログラムするのに1人のプログラマーだけが必要であった(学校で使用されていた)
frarugi87

1
@ frarugi87はおそらく真実ですが、実際の初心者にとっては、USBケーブルを接続してArduino IDEを使用して「スケッチ」をアップロードするのは、可能な限り簡単です。特にマイクロコントローラの経験がない人のために、彼らはそれを非常にアクセスしやすくするために正しい動きをしたと思います。
SnakeDoc

4

NanoとPro Miniが好きです。他のモジュールと一緒にブレッドボードで作業するのが好きです。より多くの回路が含まれている場合、Unoを使用するよりもはるかに便利であることがわかりました。より高速なプロセッサがありますが、多くのプロジェクトでは16Mhz 328で十分です。そしてUnoと同様に、これら2つは5ボルトの電源部品です。接続する必要のあるものが3.3ボルトプロセッサではうまく動作しない場合があります。

Pro MiniとNanoは、0.1インチの「Veroboard」(または同等品)に簡単にはんだ付けできます。クローン部品を購入してもかまいませんが、NanoとPro Miniの価格はわずか数ドルです。 、またはEbayでさえ、あなたが配達に関して忍耐強い限り、あなたを大いに救うことができます。

私が現在最も頻繁に使用しているモジュールはESP8266です。それは数ドルしかかからず、非常に成熟したArduinoフレームワークを備えた強力なWiFiプラットフォームです。多くの場合、これをデザイン内の唯一のプロセッサとして使用します。私はそれをデータロガーの基礎としても使用し、WiFi機能を完全に無視しました。20x4キャラクターLCD、電流/電圧測定チップ(INA219)、および18650リチウム電池で駆動するSDメモリカード。

たくさんの良い安価なオプションがあります。


3
ESP12モジュールには0.1インチのピン間隔がないことを指摘してください。これはやや面倒です。安価なブレイクアウトボードがありますが、これらは非常に幅が広​​く、はんだなしブレッドボードでの使用は困難です。 「かなり便利な再もっと裸ESP12モジュールに比べて約$ 1あなたはArduinoのプロミニまたはナノとして使いやすいようにについてですWemos D1ミニ(クローン)を取得することができます。。
Llaves

ESP-12を使用するとどこで言いましたか?ESP8266についてはあまり詳しく説明しませんでした。なぜなら、それは本当に質問の焦点では​​なかったからです。多くの人がそれに慣れていないので、言及する価値があると思いました。Wemos D1ミニプラットフォームを使用している人々を完全にサポートします。ESP01、ESP12などとは異なり、すぐに使用できるソリューションです。USBからシリアルへの変換とオンボードレギュレータは大きな違いをもたらします。しかし、質問をした人にとって、NanoまたはPro Miniが最も適切な答えだと感じています。
ルディ

2019年にESPシステムと比較してatmegaベースのシステムを検討するのは難しいため、ESP8266を使用すると、40MHZプロセッサ、フル開発ボード(チップではない)、wifi、USBベースのプログラミング、余分なケーブルなしで監視。また、ESP32システムについても言及します。ESP32システムは7ドルから10ドルでより高価ですが、2つのCPU、完全なRTOS、複数MBのフラッシュを含み、WIFIにBTを追加し、ネイティブUSBをサポートします。Arduinoとの互換性が含まれており、Arduinoライブラリを含む提供されたRTOSを実行します。
ブライアンBulkowski

ESP8266には160MHzプロセッサが搭載されています。これは素晴らしいオプションですが、制限があります。A / Dコンバーターは1つしかなく、悪いのは1つだけです。デジタルIOピンにも癖があります。プルアップ抵抗は、ほとんどの電源投入時にデフォルトでオンになっています。3つのIOピンが動作モードを設定し、特別な注意が必要です。ESP8266にはまともな電源も必要です。ESP8266では、多くのコードがバックグラウンドで実行されており、コードはそれと共存する必要があります。私はESP9266が本当に好きですが、それは素晴らしい汎用マイクロコントローラーではありません。ESP32は優れていますが、問題もあります。
ルディ

2

Arduino Pro Microクローンは非常に安価で、プログラムに必要なのは通常のマイクロUSBケーブルだけです。有用なことを行うには、おそらくヘッダーをはんだ付けする必要があります。3.3V / 8MHzおよび5V / 16Mhzバージョンで利用可能です。

プロマイクロ


ProMicroには3.3vプロセッサが搭載されています。それはいくつかのデザインで問題になる可能性があります。Unoに代わるものではありません。しかし、それは興味深い部分です。
ルディ

1
いいえ、Pro Miniと同様に、5V / 16MHzと3.3V / 8MHzのバージョンがあります。
AndreKR

申し訳ありませんが、私の間違い。
ルディ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.