PWM についてクローリング()してるよ

pro micro から始まる PWM 物語

 pro micro で SPI TFT を動かそうと pinout 図を眺めていて、発見というかこれに気づいて驚きました。

SPI の SS (8) が欄外表記。並んでいる 22 ピンも未配線! 何たることじゃと本元の Leonardo ボードを思ってみてみるとこれも 8, 22 ピンは未配線。32U4 を使う上での仕様のようです。気にしないでおきます。

pinout 図はおなじみ http://www.pighixxx.com/test/portfolio-items/pro-micro/ より。* CC BY の許しによりコピー

 この図で気になったのは PWM の注記です。

てか 5 ピンしかない… I2C 使ったら残り 4 つ…

PWM の分解能や速度が違うようす。HS は速そうな感じがしたのでデータシート見てみたんですけど読み方がわからず。どのくらい速い信号出せるのかヘルツで言ってくれよ~って先生に泣きついたら良記事*1 を教えてくれました。

pro micro の PWM は、通常 1kHz 以下 (488 Hz, 976 Hz)*1 で動作。これは Arduino UNO の初期状態とほぼ同じです (490 Hz, 977 Hz)*2。それが条件によっては 62kHz、最高で 187kHz、もっと頑張ると 375kHz で動作できるようです(実用的かどうかについては私は知りません)。リンク先 (*1) にサンプルソースコードが有ります。

参考:

 *1 http://r6500.blogspot.jp/2014/12/fast-pwm-on-arduino-leonardo.html

 *2 https://theoriesblog.blogspot.jp/2014/05/arduino-pwm.html

Arduino UNO だと最高 30k か 60kHz っぽいので桁違いに速いですね。

終わりです。結論とかないです。へぇーってメモなので!


 話は変わります。Arduino UNO とか Arduino nano の 328P 関連。調べてる最中に見つけたこと。


・Arduino UNO (328P) の delay は Timer 0 によるものであり、976.5625(977) Hz なので、正確には 1 秒じゃなかったのね、という話。

時計作ろうとしたとき普通は RTC モジュールを使うのでしょう。手抜きして作ろうとしたら簡単に作れないという。

 https://qiita.com/hotchpotch/items/382cb6a66fafbb819767


・PWM 周波数変更関連はこのページ見るとかなり扱えるようになりそう。

 https://theoriesblog.blogspot.jp/2014/05/arduino-pwm.html


・あとは PWM 周波数を任意の数値 (16Hz~1MHz) に変えられるという記事。これは面白い。

 http://blog.kts.jp.net/arduino-pwm-change-freq/


・Arduino PWM 関連で真っ先に参照されるサイト

 https://garretlab.web.fc2.com/arduino/inside/arduino/wiring_analog.c/analogWrite.html


・落とし穴とかがわかりやすくて読みやすそうと思ったサイト

 http://www.ejwt.net/archives/1019


ン~、理解してないで読んでるので頭が混乱してきました。三角波~ノコギリ波~レジスタ~タイマー~ピン~、ン~…0(:3 )〜 _('、3」 ∠ )_

まだクローリングしてるだけなので、日を改めてまとめようと思います。

0コメント

  • 1000 / 1000

月札秋幌の電気日記

思うのは電気の良さです。