STM32F4を弄る(2) どのマイコンを選ぶか?

STM32

こん○○は、よふかしわーくすの、よふかしさんです
2回目はマイコン選びについて、簡単に書いてみたいと思います
個人的にどうSTM32にたどり着いたのかを綴るだけなので、詳細解説は他サイトを参照くださいw

どのデバイスを使うか?

ここを読む人は大体そうだろうと思いますが
電子工作、マイコン弄りをやろうとすると候補として
・Raspberry Pi
・Arduino
が挙がるかなと思います

どちらもポン付けの拡張ボードのバリエーションが豊富だったり
使っている人、特に日本語で解説されているサイトも複数あったりでとっつき易いですね

選び方としては
・Raspberry PiはLinuxベースのIoT系
・リアルタイム性を求める制御ならLinuxベース以外
って感じかなと思ってます

今回はリアルタイム性が必要な組み込み系をやっていくのでRaspberry Piはパス
価格的にもお安いArduino UNO辺りから始める感じになったわけです

Arduino UNOから始める組み込み開発

お安いUNOを使って、ひとまず単体で試せることとしては
・Lチカ
・PCとのシリアル通信
でしょうか

ここから周辺デバイスを足していくと下記の課題にぶち当たりました
(当時のArduino UNO R3での話、R4はちょっと強化されてる)

・メモリの壁
 →ROM:32kB、RAM:2kBで超絶少ない
 →ディスプレイ系を扱おうとするとフォントや画像で喰うので足りない
・処理が遅い
 →8bitだし、クロックも16MHz

Arduino 上位機種への移行

そんなこんなで不満があったので上位機種に移行
・Arduino Mega
 →ROM:256kB、RAM:8kBで増えた!
 →でもやっぱり遅いし、8bitだとintが扱い辛い…もうやだ…
・Arduino Due
 →ROM:512kB、RAM:96kB(2バンクで)
 →ARMコアの32bitでintの扱いが楽だし速い!
 →でも5V→3.3Vになってハード互換できないものあるし
  ソフトもArduinoライブラリで互換性が低いものが多い…マイナー品やだ…

Arduinoの仕掛けの上で、単一の機能をサクっと実現するにはよいかなと思うんですが
複数の機能を組み合わせていこうとすると
処理速度的にライブラリ内を弄ることもあって
なんか逆に面倒なことになっている気がしてきました…

ESP32も触る

ESP32も購入して弄ってみました

・ESP32
 →Bluetooth、WiFiが使える!
 →デュアルコアだし処理も速い!
 →ただ、Arduino環境だとやっぱりライブラリ系でハマることがある…
 →独自環境でやるも、当時は弄っている人が少なくて情報少ない…
 →さらにチップや基板のバリエーションが多くて情報が錯綜…
 →現状やりたいこととしては、BluetoothとWiFiはなくてもOK…

うーん…ということで、これなら便利なArduino環境は捨ててガチガチにやるしかなくない?
というところまで来ちゃいました

STM32にたどり着いた

結局Arduino等の環境に依存しないなら高性能なマイコンを選びたい
でも、Flash WriterやDebuggerも必要になると思うと初期投資も要検討
そんな中
STM32搭載のBlue PillとかBlack Pillとか呼ばれているものがお安かったので着手してみました

当時はSTM32をArduino IDE上で動かすのはライブラリが充実していなかったんで微妙
独自にStandard Peripheral LibraryとCMSISで組む感じだったんですが
その後、STM32Cube系でHALライブラリが出てきたので、かなり扱い易くなりました

Arduinoほどではなくとも、HALライブラリ上でならパッと動かせます
日本語サイトはArduinoやRaspberry Piに比べると少ないですが
英語サイトを翻訳したりしながらだと、ちゃんと情報ゲットできる感じ

扱う基板ですが、1000円以下でお安く購入できるモノとしては
STM32F411が載っているBlack Pillが一番コスパよい気がします
ピンヘッダを自分で半田しないといけないですけれども
購入したのはアリエクからなのでClone品?かもしれませんが、ちゃんと問題なく使えてます
ピンヘッダが黄色なのがSTM32F411のBlack Pillの特徴ですかね


あと、NucleoはArduinoとピン配互換でぱっと使うには扱いやすいです
F446REが使用用途に合ったのでNucleoを1枚所持してます
秋月さんだと2024年12月現在はこんな感じ

STM32Fxの、「x」の数字が大きい方が基本的にはよいし
その後の二桁の数字も基本的には大きい方がよいかと(雑)

コロナ禍の際はどこも在庫ないし、購入できてもかなり高かったんですが価格は安定しましたねぇ

終わりに

そんな感じで、STM32マイコンをゲットして使い始めた話でした
次回は簡単な機能の実装に移りたいなと思います

公開日時:2024/12/16 0:35:25

コメント

タイトルとURLをコピーしました