アナログシンセ掲示板ログ閲覧所
Library of BBS for DIYers of Analog Synth

[ トップページへ / 一覧表示 / 最新記事 / 管理用 ]
[ to Top Page / Title List ]


雑談 avrで10bitのPWMと、アナログコンパレーターをつかったAD変換
#8896
この記事の投稿者にメールを送信 takeda (2008年04月18日22時16分)
8ビットのタイマーが0、16ビットのタイマが1、追加の8Bitタイマーが2だったり、タイマの比較用のレジスタもあとから追加になったBは後ろのほうにあったりして、Cのインクルードファイルで見てる分には気がつかない(ようにするのがインクルードファイルの狙いだから正解だけど)ポイントっておおいっすよね。

秋月でひとつ100円のTiny2313(20M)
http://akizukidenshi.com/catalog/items2.php?c=avr&s=popularity&p=1&r=1&page=
やすだ(や)さん、ご紹介のページどのドキュメントはこちら。
http://reef.path.ne.jp/~hero/pdf/TINY2313.PDF
ブレボに乗せて遊んでます。

8bitタイマーでPWMしてローパスフィルタで、鋸歯状波出るようにして、それをアナログコンパレーターに突っ込んでその出力で割り込みして、16bitタイマーを使って10bitのPWMで入力信号にあわせてDC出力するっちゅーの試してみました。
とりあえず、内臓校正済みRC発信のクロックを8分周の1Mで走らせてます。
http://www.aleph.co.jp/~takeda/radio/parm/software/ADCNV-test.zip

元ネタは
http://ioio.at.infoseek.co.jp/AVR/LessonA_06.html

アセンブラで書かれた版をあえてCで書き直してます。IOの設定が肝で、ソフト自体は全部割り込みで動いてます、プログラム自体はほんの数行。
IO周り、わざと機能別に分けて初期化するようにして、切り張りしやすいようにしてみました。
諸兄のご指導を仰ぎたくー!!

ローパスフィルタのせいで、鋸歯状波の立下り、立ち上がりの部分がなまってて、低いほう、リニアリティイが(原理的に)出ません。
コンパレーターの出力で掛ける割り込み、状態変化でも取り出せるようなので、鋸歯状波やめて、三角波だすようにすると、急激な変化の部分が少なくなって、もうちょい、リニアリティでるかも、今度試してみよー。

アルゴ算法堂さんの
http://homepage2.nifty.com/sampodo/main.html
電子工作、PIC ピコピコ、すげえ興味深く見てて、おりしも、山の所長君が鍵盤ユニットが手に入ったとか入らないとかのうわさももれ聞こえてきたりで、常々やってみたいと思ってたキースキャンのアルゴリズムを考えてみました。
http://briefcase.yahoo.co.jp/bc/motohiko_takeda/lst?.dir=/1d81&.view=l
keyscan.c
最低音優先のモノフォニック。
pwm_width.c
は、ベンドのデータを混ぜるアルゴリズムのつもり。
ziggy stardust.mp3
は、今年の誕生日ソング。ジジープレイギター!!
マイクアンプは玉を使った手作りののやつ。使い込んでくると、低音が足りないかな、という印象が強くなってきたな、そこが、いいところという気もしないでもなけど。

アナログ2.0支援(電源が共用できるだけだけど)で、このキースキャナ付けて、ベンダー付のCV/GATE鍵盤作ってみようかと。メカの部分は難しいけどねえ。
キースキャン周りAPI化して、MIDI-CVのときに書きかけにしてるMIDI-perserと組み合わせて、鍵盤からもMIDIからもCVだせるとか、いつかやるぞなウインドコントローラーへの布石になるかもー。

[この記事の元になった記事]

AVRマイコンのクセ? : やすだ(や) (2008年04月17日20時26分)

[この記事に対する返事]

I/O 設定 : やすだ(や) (2008年04月18日23時40分)A-D変換 : やすだ(や) (2008年04月19日14時22分)鍵盤走査 : やすだ(や) (2008年04月25日22時37分)