Software PWM ライブラリを作ってみた。

Arduino公式のSoftPWMを使ってみようと思って調べてみたら周波数が固定かつ低すぎる(60Hz)のとタイマー割込みを使ってるためボード依存があるのが気になったので全てのArduinoで使える汎用的なものを作ってみた。

波形は計算処理のみで作っているため最大周波数/分解能/精度などはCPUの処理能力に大きく依存する。また、パルス出力中はCPUを占有するため実用的ではないかもしれないが台形駆動もサポートしているため実験用として使うにはいいかもしれない。

armなどの32ビットCPUならまだしもさすがにavrなどの8ビットCPUにはかなり辛そうな計算処理ではあるが...それでもavr/16MHzで最大1KHz程度まで、samd21/48MHzなら5KHz程度までは使えそう。

【avr/16MHz-1KHzで台形駆動】

【サンプル・スケッチ】

【ライブラリ】

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください