PIC12F509を用いたなんちゃって正弦波発振器の構想まず結論から.
こんな回路を作れば,できそうな感じになってきた.PIC12F509の動作は,正弦波に程近い(とはいっても高々8倍の周波数だが)VVVFの指令パルスを出す.これを受けて実際のVVの部分の実現をどうするか,だ.当初より変更してトランジスタはPNPタイプのものにしたが比較的簡単な回路でできそう.抵抗値は現物あわせで決めた.計算すりゃいいんだけれどね.計算してもどうせ確認するし,実際には手持ちの抵抗で実現できる値を選ぶんだろうから,ということであとはPICが正確なパルス指令を出してやれば良い.
本当はPICから出た指令パルスの波形をオシロでとりたいのだが,家にそんなものは無い.LEDを点灯して貧乏なデバッグを実施する.なんとなく,できてそう.試しに,PICの指令パスル出力をそのまま圧電スピーカにつないでみた.圧電スピーカは直流分が入っていてもいいし,電力もいらないので簡単に確認ができる.
完全ではないが,それらしき周期でパルスを発生している.GP3はプの音,440Hzの低音側っぽい音だ.また,GP5はピの音,880Hzを意図した発振をするはず.この2つのI/Oを順番にOnさせると,オクターブになるはず.....うーん.微妙に音痴.ちょっと高い音が低めだ
これは,例の発振周波数×8倍の周波数で時間待ちをしているところの,定数違いだろう.やっぱり計算はビール抜きのときにやらなきゃね.
ただし,おおまかにはあっているので,つまらないところで命令数を数え間違えているなどの原因だろうから,今のところは気にしない.いざとなったら高々2音のオクターブ関係なんだから,ホビーの王道現合という手だってある.
ところで,PIC12F509でもやってしまった.もう片付いた話だが,新しいPICの種類を使う度に,再三こうした目に遭うので今後の戒めの意味で書き記そう.
GP2のコントロールが効かないのだ.今回,TRISの設定値は0x28,GP0,GP1,GP2,GP4が出力だ.GP0,1,4は正確にソフトウエア通り
(1/2) 次»
コメント(0)|コメントを書く
カテゴリー一覧
最近のコメント
新着記事をメールで通知
このブログを友達に教える