投稿

ラベル(PIC12F1571)が付いた投稿を表示しています

PICマイコンのDACを使ったサイドトーン発振回路

イメージ
Initial release : 25 Jan. 2025 Update : 26 Jan. 2025 CWトランシーバ(送信機)の付属回路にサイドトーン発振回路があります.キーイング操作に合わせて低周波発振器を動作させ,音声出力からキーイングのモニタをするためのものです(こんなことは言わなくてもここを見に来る人ならご存知のはずですが). 古典的には移相発振回路やTwin-T発振回路,ウィーンブリッジ発振回路等が用いられていましたが,これをマイコンで作ってしまおうというのがこの記事の主題です. 最近のPICマイコンにはDAC(DA変換)がありますので,正弦波のテーブルを読み出してDACに出力してやれば簡単に正弦波信号を得ることができます.DDSの超簡易版といったところでしょうか. テスト回路です.PICマイコンには12F1571を使いました.PICのDACモジュールはDA用の抵抗が出力端子にむき出しで出ていますので,出力はOPアンプのバッファで受ける必要があります.バッファ後段に1次LPFを挿入して階段状の波形を平滑化しています.12F1571のDACは5bitですし計測用信号源でもありませんので, 正弦波テーブルは16点で作成 しました(リンクは正弦波テーブルのスプレッドシート:操作する場合はダウンロードしてお使い下さい). テスト回路 プログラムの主要部は次のとおりです(2025.01.26アップデート): unsigned char wave[] = {16, 22, 27, 30, 31, 30, 27, 22, 16, 10, 5, 2, 1, 2, 5, 10}; int i = 0; int main(void) {    while(1)     {         if(RA5){             DACCON1 = 16;             i = 0;   ...