電音の工場ブログ

趣味の電子工作を中心としたブログです.音モノの工作が多いです.

発振器を作る―第4回

発振器を作る―第4回

ATtiny85版。

I2Cの制御仕様を考えて、次はそろそろ実チップに焼いて実験しようか… はてなグループの終了日を2020年1月31日(金)に決定しました - はてなグループ日記 - 機能変更、お知らせなど

ということで焼いてみた。

f:id:Chuck:20090218050135j:image (なんかやっているらしい、ぐらいの情報しかない写真だ)

20MHzのクロック源をまだ用意していなかったので、フューズ設定で内蔵RC発振クロックで8分周を外して約8MHz。想定した設定の8/20倍の正弦波が出てくるはず… と思ったら音になってなかった。オシロで見たら0.4Hzが出ている。プログラムのデフォルト値を見直したら1Hzになっていた。周波数比は設定どおり… デフォルトを1kHzに直したところ約400Hzが出てきて良かった良かった。

現状でI2C周りを全く試していないし未実装項目もいくつもあるけれど、takedaさんが興味をお持ちのご様子なので現段階でのコードを挙げてみます。以下のページに置きました。

no title

ビルドされる際は前述のクロック設定フューズと、あとI2C通信の箇所で除算を使っているので、libm.a のリンクを。libmなしだとコードサイズがtiny85の容量でも溢れると思います。

(つづく)

最近悩んでいる点

マイコンPWM機能を使って波形生成をして電音に適用する事例が増えてきたけれど、精度良く出そうとしたときにはPWMのパルスの高さ(電圧)が効いてくる。フラフラしているのはもってのほか*1だが、安定化された電源を使うにしてもそれが決まった電源ならいいけど、別のACアダプタを持ってきて繋ぐみたいなときはやっぱりパルスの電圧が変わっちゃうんじゃないの?というのところが心配だ。じゃどうやるか、というのが最近悩んでいる点。

ツェナダイオードやTL431でシャントしてしまう、というのはPWMの速度に対してじゅうぶんな応答が得られないような気がする。

そうこうしていたら、トラ技の2008年9月号(特集 アナログ回路 実例集 ― 定番/便利デバイスをフル活用)に、

木島久男, 「論理信号から高精度な±3Vの信号を作り出す回路―PWM出力を精度良くアナログ信号に変換できる」

という記事を見つけた。電圧帰還型クランプアンプ(AD8036)を使ってこれを実現していた(基準電圧の3.00VはシャントレギュレータのTL431で生成)。えらい速い石だし… 部品点数もそんなに多くない、正負に持っていけるしいいかな、と思ったけれど、AD8036って気軽に買えなさそうな…

マイコンを含めてローカルにレギュレートした電圧を使う、というのが無難なところかなぁ。

発端
足跡
  1. はてなグループの終了日を2020年1月31日(金)に決定しました - はてなグループ日記 - 機能変更、お知らせなど
  2. はてなグループの終了日を2020年1月31日(金)に決定しました - はてなグループ日記 - 機能変更、お知らせなど
  3. はてなグループの終了日を2020年1月31日(金)に決定しました - はてなグループ日記 - 機能変更、お知らせなど

*1:その点からUSB給電はいまひとつかも