警報音の改善
はじめに
susukuma鉄道模型チャンネルに提供した踏切では圧電スピーカー(圧電サウンダ)を使いました。
圧電スピーカーは小型でPICマイコンと直結できますが低い音が出ません。
そのため3.5KHzと3KHzのsin波を合成した音にしました。
これは実物の踏切警報音よりかなり高い音なのですが、鐘っぽい音に聞こえたのでとりあえず良しとしました。
圧電スピーカーは小型でPICマイコンと直結できますが低い音が出ません。
そのため3.5KHzと3KHzのsin波を合成した音にしました。
これは実物の踏切警報音よりかなり高い音なのですが、鐘っぽい音に聞こえたのでとりあえず良しとしました。
susukuma鉄道模型チャンネルの踏切
今回、踏切遮断棒の駆動機構改良を検討するにあたり、警報音も もう少し本物に近づけられないか再検討しました。
Web検索したところ本物は500Hz~750Hzあたりが主要周波数成分だそうです。
そこで以下のような方針で試行錯誤しました。
1.本物に近い周波数にする。
2.小型のダイナミックスピーカー+スピーカーボックスを使う。
3.オーディオアンプを使わず、抵抗とコンデンサを介してスピーカーを駆動する。
音量が足りない時は1cm角ほどの小型トランスでインピーダンス変換する。
4.高調波成分が多い波形にして圧電スピーカーでも音が出るようにする。
その結果、スピーカーとプログラムを変更したことで以前より本物に近い音になったように思います。
鉄道会社によって周波数が異なるとの事なので4種を選択できるようにしました。
録音を添付します。
crossing_sound_4type.m4a
上記録音に使った新しいプログラムやスピーカー、PICマイコンとの接続について以下に追記します。
Web検索したところ本物は500Hz~750Hzあたりが主要周波数成分だそうです。
そこで以下のような方針で試行錯誤しました。
1.本物に近い周波数にする。
2.小型のダイナミックスピーカー+スピーカーボックスを使う。
3.オーディオアンプを使わず、抵抗とコンデンサを介してスピーカーを駆動する。
音量が足りない時は1cm角ほどの小型トランスでインピーダンス変換する。
4.高調波成分が多い波形にして圧電スピーカーでも音が出るようにする。
その結果、スピーカーとプログラムを変更したことで以前より本物に近い音になったように思います。
鉄道会社によって周波数が異なるとの事なので4種を選択できるようにしました。
録音を添付します。
crossing_sound_4type.m4a
上記録音に使った新しいプログラムやスピーカー、PICマイコンとの接続について以下に追記します。
圧電スピーカーΦ30mm
ダイナミックスピーカーΦ40mm+BOX
プログラムの修正
プログラムの修正点は以下の通り。
1.sin波ではなく高調波成分の多い方形波を使う。
2.2つの周波数の波形を加算し出力する。
周波数は(750Hz+700Hz),(550Hz+450Hz),(650Hz+550Hz),(650Hz+600Hz)の4種
3.踏切用回路(4モーター用)のプッシュスイッチ1個を押した状態で2個目も押す(同時押し)と周波数が切り替わる。
上記の1.によりほとんど高調波のみの高い音ではありますが圧電スピーカーでも音が出ます。
実験するまで方形波では "らしい音" にならないのではと思っていましたが、むしろ本物に近いように感じました。
踏切用回路(4モーター)のプログラム に修正したプログラムデータ
crossing_M4_3.X.production.hex
crossing_M4_3_PIC16F18855.X.production.hex
を追記しました。
1.sin波ではなく高調波成分の多い方形波を使う。
2.2つの周波数の波形を加算し出力する。
周波数は(750Hz+700Hz),(550Hz+450Hz),(650Hz+550Hz),(650Hz+600Hz)の4種
3.踏切用回路(4モーター用)のプッシュスイッチ1個を押した状態で2個目も押す(同時押し)と周波数が切り替わる。
上記の1.によりほとんど高調波のみの高い音ではありますが圧電スピーカーでも音が出ます。
実験するまで方形波では "らしい音" にならないのではと思っていましたが、むしろ本物に近いように感じました。
踏切用回路(4モーター)のプログラム に修正したプログラムデータ
crossing_M4_3.X.production.hex
crossing_M4_3_PIC16F18855.X.production.hex
を追記しました。
ダイナミックスピーカーについて
ダイナミックスピーカーは実験の結果、Amazonで買った直径40mm、8Ω、0.5Wを使う事にしました。
それを3Dプリンタで作った60✕45✕40mmのスピーカーボックスに入れてsusukuma鉄道模型チャンネルに提供する予定です。
3Dプリンタ用のデータを添付します。
sp_box40mm_F.stl sp_box40mm_B.stl
後加工としてB側のネジ穴にM3のタップ加工をします。
ダイナミックスピーカーのインピ―ダンスは8Ωと低いのでPICマイコンに直結できません。
またPICマイコンから単電源のPWM駆動をするのでコンデンサを入れてAC結合にします。
抵抗とコンデンサをスピーカーと直列接続し、オシロで電圧/電流を観測して抵抗は100Ω(1/4W)、コンデンサは100μF(電解コンデンサで耐圧5V以上)としました。
電流の最大値は20mA程度なのでPICマイコンから問題なく駆動できます。
フィルタレスのPWM駆動で音量もちょうど良い感じになりました。
抵抗やコンデンサは写真のようにスピーカーの端子に半田付けします。
電解コンデンサの極性に注意し、基板のGND側にマイナス端子を接続します。
スピーカーはボックス(F)にグルーガン等で接着後、ボックスのFをBにM3ネジで止めます。
PWMの周波数は80KHzでスピーカーの周波数特性および人間の耳の特性でフィルターがかかり聞こえません。
ですが、もし何らかのオーディオアンプに接続する場合は80KHzを阻止するローパスフィルタを追加しないとアンプや後段のスピーカーを傷める可能性があります。
それを3Dプリンタで作った60✕45✕40mmのスピーカーボックスに入れてsusukuma鉄道模型チャンネルに提供する予定です。
3Dプリンタ用のデータを添付します。
sp_box40mm_F.stl sp_box40mm_B.stl
後加工としてB側のネジ穴にM3のタップ加工をします。
ダイナミックスピーカーのインピ―ダンスは8Ωと低いのでPICマイコンに直結できません。
またPICマイコンから単電源のPWM駆動をするのでコンデンサを入れてAC結合にします。
抵抗とコンデンサをスピーカーと直列接続し、オシロで電圧/電流を観測して抵抗は100Ω(1/4W)、コンデンサは100μF(電解コンデンサで耐圧5V以上)としました。
電流の最大値は20mA程度なのでPICマイコンから問題なく駆動できます。
フィルタレスのPWM駆動で音量もちょうど良い感じになりました。
抵抗やコンデンサは写真のようにスピーカーの端子に半田付けします。
電解コンデンサの極性に注意し、基板のGND側にマイナス端子を接続します。
スピーカーはボックス(F)にグルーガン等で接着後、ボックスのFをBにM3ネジで止めます。
PWMの周波数は80KHzでスピーカーの周波数特性および人間の耳の特性でフィルターがかかり聞こえません。
ですが、もし何らかのオーディオアンプに接続する場合は80KHzを阻止するローパスフィルタを追加しないとアンプや後段のスピーカーを傷める可能性があります。
ダイナミックスピーカーΦ40mm+100Ω+100μF