Utilities Web

PWM・タイマ設定計算機

クロックとプリスケーラ・カウンタ値からPWM周波数・デューティ・分解能とレジスタ設定値(PSC/ARR/CCR)を計算・逆算

使い方

  1. MCUプリセット(STM32 / AVR / PIC / Custom)を選びます
  2. 計算方向(逆算 / 順方向)を選びます
  3. タイマクロックを入力します(例: 72M)。よく使うクロックはボタンからも選べます
  4. 逆算では目標PWM周波数とデューティを入力すると、最適な PSC / ARR の候補が分解能の高い順に表示されます
  5. 順方向ではプリスケーラと周期レジスタを入力すると、実周波数・周期・分解能・比較レジスタ値が表示されます

こんな場面で使えます

  • 目標のPWM周波数に対し、分解能(デューティの刻み数)が最大になる PSC / ARR を知りたい時
  • 設定済みの PSC / ARR から実際のPWM周波数・周期・分解能を確認したい時
  • サーボやファン制御で、特定のデューティに対応する CCR / OCR 値を求めたい時
  • STM32 / AVR / PIC で同じ目標周波数のレジスタ設定を比較したい時

よくある質問

PSC と ARR はどう決めればいいですか?分解能を最大にするには? ▼

PWM周波数は f_pwm = クロック ÷ (E × 実効プリスケーラ × 周期カウント) で決まります。同じ周波数でもプリスケーラを小さく・周期カウント(ARR+1)を大きく取るほどデューティの刻み数(分解能)が増えます。本ツールの逆算は、目標周波数を満たす中で分解能が最大になる組合せを最上段に提示します。

分解能ビット数とは何ですか?デューティの刻みとの関係は? ▼

分解能ビット数は log2(デューティの総刻み数) です。刻み数はカウント周期そのもので、STM32/AVR では ARR+1(または TOP+1)、PIC では命令クロック Fosc/4 由来の ×4 が効いて 4×(PR2+1) になります。例えば ARR=3599 なら 3600段=約11.81ビット。ビット数が大きいほど細かくデューティを設定できます。

STM32 と AVR / PIC で +1 や ×4 が違うのはなぜですか? ▼

STM32 は PSC・ARR レジスタに対し実際の分周が「レジスタ値+1」になります(PSC+1・ARR+1)。AVR はプリスケーラが {1,8,64,256,1024} の離散選択で、TOP+1 が周期になります。PIC は PWM が命令クロック Fosc/4 を基準にするため周波数式に ×4 が入り、デューティ分解能も 4×(PR2+1)(最大10ビット)になります。本ツールはこれらの差をプリセットのパラメータ(E・offset・幅)で吸収します。

関連ツール

JSON整形・バリデータ

JSONの整形、圧縮、バリデーション

JSON⇔スプレッドシート変換

JSONとスプレッドシートデータを双方向に変換。グリッドで確認・範囲選択してコピー

Base64エンコード/デコード

テキスト・ファイルのBase64変換

URLエンコード/デコード

URLエンコーディングの変換

正規表現テスター

正規表現のリアルタイムテスト・マッチング

テキスト差分ビューア

テキストの差分を比較表示

進数変換

2進数・8進数・10進数・16進数など任意の基数間で数値を変換

ビット演算シミュレータ

ビット単位の演算を視覚的にシミュレーション

SLA稼働率計算機

SLA稼働率からダウンタイムを計算

IPアドレス/サブネット計算機

IPv4・IPv6のサブネット計算、ネットワークアドレス、ホスト範囲を計算

Cronタイムライン

crontabの実行スケジュールをタイムライン・カレンダー・ガントチャートで可視化

ブルームフィルタ シミュレータ

ブルームフィルタの動作を視覚的にシミュレーション&最適パラメータ計算

systemd タイマー ジェネレータ

systemd の .timer / .service ユニットファイルをGUIで対話的に生成

UART ボーレート計算機

クロックと目標ボーレートから分周比・誤差・レジスタ値を計算

タイマ割込み周期・クロック分周 計算機

クロックとプリスケーラ・カウント値から割込み周期・周波数を計算。目標周期から最適なPSC/ARRを逆算

ADC 分解能・LSB・電圧 計算機

分解能と基準電圧からLSB電圧・量子化誤差・ダイナミックレンジ・code↔電圧変換・ENOB・オーバーサンプリングを計算