fc2ブログ

Entries

踏切警報音の実験 その2

前回のつづきです。マイコン処理と5V単電源化を進めます。

(1)マイコンでの発振

警報灯と警報音の制御のため、以下の4つを同時生を目指します。
・警報音周波数は450Hz~750Hzの2音同時生成
・警報音の周期は130回/分(≒2.16Hz)
・警報灯の断続50回/分(≒0.83Hz)

 発振に関わる制御を時間稼ぎ処理で行うとソフトが複雑になることと、各々を個別に調整する際の支障になりそうなので、PWM処理に任せてしまいたいです。

 Arduinoも検討したのですが、内蔵クロックをソフト設定できタイマーの数が多いPICのほうが使いやすそうです。そこで、信号機でデコーダでも使用しているPIC16F1827を使おうかと思います。

 PIC16F1827にはPWMが出力できるモジュールが4つ(ECCP1/2,CCP3/4)と、タイマーが5つ(TIMER0/1/2/4/6)あり、プリスケーラを設定すれば、1000倍くらい差のある上記4周波を出力できそうです。

2021-06-13 (2)

 まず、450Hz~750Hzを共通の設定で動かすための検討です。
 450HzのDuty50%の波形を得るためには、クロックを4MHz、タイマー2/4/6のプリスケーラを16:1にすると、周期PRは138と得られます。同様にPRは82となります。0~255の間以外の値は使えませんので、この設定が良さそうです。これらの数値を変更することで、警報音の周波数を変化させます。

 次に音の周期ですが、2.16HzをPWMで作るには、プリスケーラを最高に設定しても61Hz程度が限界です。同様に警報灯の断続もさらに低い周波数なので、PWMで作るのは無理そうです。

 そこで方針変更して、TMR0で割り込みを発生させて、回数をカウントして処理を行うこととしました。

(2)5V単電源化

 PICの出力が0~5Vの矩形波ですので、波形修正、変調、増幅も5V単電源で出来るように検討です。

 検討した回路が以下です。単電源オペアンプにNJM326を使用しました。
2021-06-13 (1)

 出力される音がなんだかノイズっぽいです。オシロで波形を観測してみますと、0V付近で波形が歪んでいます。おそらくフルスイング対応のオペアンプではないからです。
 DS1Z_QuickPrint2.png

 というわけで、フルスイング対応のNJM2734Dを秋月から取り寄せたので、差し替えてみます。
 同じ回路なのに、波形がスッキリしました。
 DS1Z_QuickPrint1.png

 音の周期は約5%のDutyで出力させ、コンデンサの充放電回路に工夫を持たせ、鐘のような鋭い立上り、余韻の響きを再現します。
 DS1Z_QuickPrint3.png   

 これらをオペアンプで変調させて、警報音を作り、さらに周波数1と2を差動で動作させ音を混ぜます。
 DS1Z_QuickPrint4.png

 なかなか良くなったのすが、音量を大きくすると、出力波形が歪みます。
 自宅のレイアウト等ではよいのですが、運転会場にモジュール等を持ち込むと音量不足が懸念されます。
 実は、回路を簡略化するためアンプを設けずオペアンプで直接ドライブさせようと目論んでいたのですが、やはり、出力電流が多くドライブ能力不足になっている状況です。

 そこで単電源用のアンプICを用いることにしました。同じJRCのNJM2113Dを使用します。カップリングコンデンサが不要であり、差動入力にも対応していることから今回の用途にピッタリです。
 2021-06-13.png

 周波数1/2のレベルを個別に調整して音色を変化させることや、スピーカーに直列に入っている抵抗を調整することで音量も調整できます。
 また、遮断かんが降下し終わると、警報音が減音する機能を実現するため、フォトMOSリレーによ回路も設けてみました。

スポンサーサイト



この記事にトラックバックする(FC2ブログユーザー)
https://webnucky.blog.fc2.com/tb.php/297-74219340

トラックバック

コメント

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する