« 折れるな! レセプタクルが外れたぁ SH340E USB変換アダプター | トップページ | ご近所の工場からのhelp! マグネットが動かない »

2021年3月 7日 (日)

時報発生回路 【Pu Pu Pu Pi~】

R-2Rのラダー抵抗を使った「DDS」による正弦波波形出力は
2019年1月30日:1kHzの正弦波をDDSで発生
で試しました。
Arduinoのクロックは16MHzですが、↑の場合は19.6608MHz
水晶を使いました。

DDSのカウンタ加算値が19.6608MHzだと1Hzの整数倍にできるという
ことと、65536HzのDDS割り込み処理をちょいとでも早くということ
から16MHzを捨てたわけです。
  ※この段階でATmega328Pを使ってもArduino環境じゃ
   なくなっちゃいます。

今回は「時報」の発生回路をDDSで試してみました。
使ったのはATtiny85
回路を簡単にするためR-2RのD/A出力は使わず
  (tiny85だとピン数不足だ)
PWM出力をLPFに通して正弦波(に近い波形)を得ます。

きっかけはとある装置の修理。
ラジオの時報を「聞いて」時計の合わせるという仕掛けでして
この回路の修理用治具として製作しました。

ATtiny85のクロック、電源が5Vなら外付け水晶で19.6608MHzの
発振は可能で、↑の回路の考えが使えます。
しかし、ATmega328Pと違ってAttiny85には「乗算命令」が
ありません。
DDSルーチン(割り込み処理)内で、出力波形の振幅制御に
乗算命令を使っています。
ATmega328Pでは「余裕」だっのですが、Attiny85では
割り込み周期「15.2μS」内の処理は無理でした。
そこで、基準時間を2倍の32.768kHz=30.5μSにしました。
これがPWM出力の周波数と割り込みの周期になります。

こんな回路です。

10_20210307073501
タカチのプラケースに組んで電池2本で運用します。

11_20210307073501

こんな波形が得られます。
A11_20210307073501
「Pu Pu Pu Pi~」を繰り返すだけ。
「Pi~」のお尻は1秒フルスイングしたあと2秒かけて
減衰させます。
この振幅変化処理に割り込み内での乗算が必要なのです。

A12_20210307073501

A13_20210307073501

PWM出力とLPFを通した正弦波波形。
A14_20210307073501
デューティの変化で出力波形のレベルが変化する様子が
見えます。

これが頑張っている割り込みでのDDS処理。
PWM周期で割り込みがかかります。
A15_20210307073501
一番下の波形が割り込み処理時間。
なんとか間に合っています。

波形を見ながら音を聞いてもらわないと雰囲気が出ませんね。
制御プログラムといっしょにどこかにアップしますわ。

※発生音と波形の様子をyoutubeにアップしました。
https://www.youtube.com/watch?v=T73eYk2HIyo

※ソースファイルとHEXファイル
   ダウンロード - jihou880.zip
jihou880.c sin512_72.cの二つ。


※参考
2021年5月5日:シチズン・CBM製の時報用受信機:SA-31135


|

« 折れるな! レセプタクルが外れたぁ SH340E USB変換アダプター | トップページ | ご近所の工場からのhelp! マグネットが動かない »

修理」カテゴリの記事

電子工作」カテゴリの記事

ツール」カテゴリの記事

コメント

「音」の様子をアップしました。
https://www.youtube.com/watch?v=T73eYk2HIyo

投稿: 居酒屋ガレージ店主(JH3DBO) | 2021年3月12日 (金) 10時54分

「プ・プ・プ・ピ~」音を中波の電波に乗せる回路↓
http://igarage.cocolog-nifty.com/blog/2021/03/post-051d92.html

投稿: 居酒屋ガレージ店主(JH3DBO) | 2021年3月26日 (金) 08時54分

コメントを書く



(ウェブ上には掲載しません)




« 折れるな! レセプタクルが外れたぁ SH340E USB変換アダプター | トップページ | ご近所の工場からのhelp! マグネットが動かない »