コンテンツにスキップ

STM32

STM32(STM32F303RET6)とは

STM32はSTMicroelectronics社が開発しているARM Cortex-Mシリーズのマイコンである。

組み込み開発では非常に広く使われており、

  • 低消費電力
  • 高性能
  • 豊富な周辺機能

を兼ね備えている。


今回使用するチップ

今回のAsterで使用しているのは

STM32F303RET6

である。


STM32F303の特徴

STM32F303は「制御系に強い」マイコンである。

主な特徴

  • Cortex-M4コア(DSP搭載)
  • 最大72MHz動作
  • 高速ADC
  • 高精度タイマ
  • コンパレータ内蔵
  • PWM制御に強い

STM32F303の立ち位置

STM32シリーズの中では

制御・アナログ寄り

のモデルである。


シリーズ 特徴
F0 超低コスト
F1 基本系
F3 アナログ・制御向け
F4 高性能
G4 モータ制御特化

F303は

モータ制御・センサ制御向き

のちょうど中間的ポジションである。


CPUコア

STM32F303RET6は

ARM Cortex-M4

を搭載している。


特徴

  • 32bit CPU
  • DSP命令対応
  • 浮動小数点演算(FPUなしモデルもあり)
  • 高速制御向け

クロック

最大動作周波数は

72MHz

である。


メモリ構成

STM32F303RET6の構成

  • Flash:512KB
  • RAM:80KB

組み込みとしては十分な容量である。


ピン数

LQFP64パッケージ

を採用している。


特徴

  • GPIOが多い
  • 外部機能が豊富
  • 配線しやすい

周辺機能が強い

STM32F303の強みは周辺機能である。


① 高速ADC

  • 12bit ADC
  • 高速サンプリング
  • 複数チャネル対応

用途

電流測定
電圧監視
センサ読み取り

② 高機能TIM

  • PWM生成
  • エンコーダ対応
  • 入力キャプチャ

モータ制御に必須。


③ コンパレータ

アナログ信号を直接比較できる。


電流制限
ゼロクロス検出

④ DAC(デジタル-アナログ変換)

電圧を出力できる。


用途

  • 波形生成
  • 基準電圧
  • アナログ制御

GPIO機能

STM32F303は複数のGPIOポートを持つ。

PA0 - PA15
PB0 - PB15
PC0 - PC15

ほとんどのピンが

多機能ピン(AF機能)

になっている。


ピンのモード

STM32のピンは複数モードを持つ。


モード 内容
GPIO 汎用入出力
AF UART/SPI/I2C/PWM
Analog ADC
Input 入力専用

クロック構成

STM32F303は複雑なクロック構成を持つ。


主なクロック

  • HSI(内部高速)
  • HSE(外部水晶)
  • PLL(倍速)

8MHz HSE
 ↓ PLL
72MHz

モータ制御との相性

STM32F303はモータ制御に向いている理由


① 高速PWM

→ スムーズなモータ制御


② ADCが速い

→ 電流制御が可能


③ コンパレータ

→ 保護回路に使える


④ TIMが強い

→ エンコーダ・制御周期に最適


STM32の開発環境

主に以下が使われる

  • STM32CubeMX
  • STM32CubeIDE
  • HALライブラリ
  • LLライブラリ

HALライブラリ

STM32の標準API

HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET);

特徴

  • わかりやすい
  • 移植性が高い
  • やや重い

レジスタ直叩き(LL)

より低レイヤの制御

特徴

  • 高速
  • 軽量
  • 難易度高い

STM32の割り込み

重要な機能の一つ

  • GPIO割り込み
  • TIM割り込み
  • UART受信割り込み

STM32と外部通信

STM32F303は様々な通信に対応する。


UART

シリアル通信


SPI

高速通信


I2C

センサ通信


CAN

車載系通信(F303は対応)


STM32の電源

基本電圧

3.3V

注意点

  • 5V直結は不可
  • VDDごとにデカップリング必須

よくあるトラブル

ピン設定ミス

AF設定忘れ


クロックミス

PWMやUARTがズレる


ADCノイズ

GND設計不足


リセットループ

電源不安定


Asterでの役割

STM32F303RET6はAsterの中核である。


主な役割

・モータ制御
・センサ読み取り
・通信制御
・状態管理

構成イメージ

センサ → STM32 → DRV → モータ
           ↓
        通信制御

STM32の重要性

STM32は単なるマイコンではなく

システムの中枢

である。


GPIO・TIM・ADC・UARTなどすべてを統合して制御を行う。


まとめ

STM32F303RET6は制御用途に特化した高性能マイコンである。

  • Cortex-M4搭載
  • PWM・ADC・TIMが強い
  • モータ制御に適している
  • 多機能GPIOを持つ
  • Asterの中核として動作する

組み込み開発では「周辺回路を全部まとめる頭脳」の役割を持つ重要なデバイスである。