コンテンツにスキップ

Orion_F303_BLDC ハードウェア仕様

本ドキュメントは、ハードウェア仕様を整理したものです。

MCU/クロック

  • MCU: STM32F303
  • コア: Cortex-M4F
  • システムクロック: 72MHz 構成
  • 主制御周期: 1ms
  • モーター制御周期: 40kHz(左右で交互に処理するため実質20kHz)

モータ駆動

  • 対象: 2モータ(M0/M1)
  • PWM: TIM1 と TIM8 の 3相コンプリメンタリ出力(CH1-3 + CH1N-3N)
  • PWM 設定: Period=1800, DeadTime=10
  • PWM周波数: 40kHz
  • フリーウィール制御: CH/CHN の有効無効を直接切り替え

エンコーダ

  • 種別: AS5047P(SPI1, 16bit フレームアクセス)
  • センサ数: 2個(CS: PB6/PB7 で個別選択)
  • 角度分解能扱い: 14bit 読み出し値を内部で 16bit スケールへ展開

アナログ計測

  • ADC: ADC1/ADC2/ADC3 を併用
  • 計測対象:
    • バッテリ電圧
    • ゲートドライバ DCDC 電圧
    • モータ電流 x2
    • モータ温度 x2
    • FET温度 x2
  • 電流センサ:
    • ZXCT1084(オフセット 0)
    • INA199(オフセット 2048) を起動時の生ADC値で切り替える実装

通信

  • CAN: 1ch 使用(PA11/PA12)
    • 設定値: Prescaler=4, BS1=4TQ, BS2=4TQ(コード上)
    • フィルタで速度指令、電源有効、キャリブ開始などを受信
  • UART1: 2,000,000 bps(PC4/PC5)
    • DMA送信バッファを使ったデバッグ出力

GPIO(主な用途)

  • スイッチ入力: PC0-PC3(Pull-up, Low active)
  • LED出力: PC13-PC15
  • エンコーダCS: PB6/PB7

電源系のしきい値(ソフト保護)

  • 過電流/過熱/低電圧/過電圧/過負荷を監視し、異常時はPWM停止+リセット
  • しきい値実体は control_limits.h を参照