の形で呼ぶ。
//
// anchor_idはフレームを使う場合最低限各フレームごとに設定。お互い他のフレームを書換えたときにへんな干渉をさけるため。
// その他ページの種別毎などで変えてもよいが、あまり小分けにするとcookieが増える。
// 同じanchor_idで保存されるcookieは1セットのみ。でも単独ページ表示のサイトなら概ねこれで充分。
anchor_id = "anc_main";
noanchor = false; // bodyにanchorをしかけたときなど場合によって一時無効にするためのフラグ。
// アンカーの記憶。
function anchor_save(object_id, page_id) {
if(noanchor) { anchor_erase(); return; }
get_scroll();
setcookie(anchor_id+"_pid", page_id, 0);
setcookie(anchor_id+"_st", scroll_top, 0);
setcookie(anchor_id+"_sl", scroll_left, 0);
if(object_id) {
object_top = scroll_top + get_object_top(object_id);
object_left = scroll_left + get_object_left(object_id);
setcookie(anchor_id+"_oid", object_id, 0);
setcookie(anchor_id+"_ot", object_top, 0);
setcookie(anchor_id+"_ol", object_left, 0);
} else {
setcookie(anchor_id+"_oid", "", -1);
setcookie(anchor_id+"_ot", "", -1);
setcookie(anchor_id+"_ol", "", -1);
}
}
// アンカーの適用。
function anchor_apply(page_id) {
if((saved_page_id = getcookie(anchor_id+"_pid")) && page_id != saved_page_id) { return; }
get_scroll();
if((anchor_st = getcookie(anchor_id+"_st")) != "" && (anchor_sl = getcookie(anchor_id+"_sl")) != "") {
anchor_st = parseInt(anchor_st);
anchor_sl = parseInt(anchor_sl);
} else {
anchor_st = scroll_top;
anchor_sl = scroll_left;
}
if((object_id = getcookie(anchor_id+"_oid"))
&& (anchor_ot = getcookie(anchor_id+"_ot")) != ""
&& (anchor_ol = getcookie(anchor_id+"_ol")) != "") {
offset_top = (scroll_top + get_object_top(object_id)) - parseInt(anchor_ot);
offset_left = (scroll_left + get_object_left(object_id)) - parseInt(anchor_ol);
} else {
offset_top = offset_left = 0;
}
window.scrollTo(anchor_sl + offset_left, anchor_st + offset_top);
}
// アンカー消去。あえてとっておく必要がなければanchor_apply()後すぐ消去が望ましい。
function anchor_erase() {
setcookie(anchor_id+"_pid", "", -1);
setcookie(anchor_id+"_st", "", -1);
setcookie(anchor_id+"_sl", "", -1);
setcookie(anchor_id+"_oid", "", -1);
setcookie(anchor_id+"_ot", "", -1);
setcookie(anchor_id+"_ol", "", -1);
}
//-->
オーディオの世界/自作
|
|
秋月で買ってみたIC
|
データシート探し
だいたいこんな場合は似た型番を検索していけばいつかは辿り着く...ということで「47508」と言う数字の付近を探してみた。 するとLA47510が出てきた。 ピンの数も一致しているし、これを元に繋げてみる。
|
ところでケースは?
今回は発熱するICなので、何か放熱できるケースをつけないといけない。 ちょっと悩んだところで 昔作りかけて挫折したアンプの箱(元々はDC-DCコンバータ)を利用することにした。
|
そしていきなり完成
1か月以上かかったけど(いきなり)完成。 工程の写真は残念ながら撮影なし。 熱中すると写真撮影を忘れちゃう。 ちなみにACアダプタはWii用の12V/3.7Aだけど、1時間の音楽再生ではほんのり暖かいぐらい。 アンプICを取り付けているヒートシンクも同じ。 涼しげなアンプができあがり。 ちょっと高音が割れているのは仕方無いかなぁ...(ALPSとかCOSMOSのボリュームに変えたらきっと音がいいだろうなぁ) さーてどうしよう。 2つ(8回路)作ろうと思ったけどコネクタが足りない。 あと1つ何に使おうかなぁ...
|
2025/11/28追記)音割れの原因
ちなみに、このICは2つ買っていた。 もう一台アンプを作るかこのアンプを8Ch対応にするかどちらかを悩んでた。 音質も悪いしなぁ...と思ってデータシートを眺めていたら、「Description of Operation」の中に「4. Oscillation stability」という項目が。 ちょっと立ち止まって見てみると、高周波信号の安定度を高めるための改善(寄生発振の予防)ができるらしい。
で、22nF(高音を伸ばすためちょいと少ない)をBTL信号と並列に、0.1uFと2.2Ωを直列に繋いだものをBTL信号の両方とGNDの間に挿入。 全チャンネル入れてみた。 するとあら不思議、高音で音割れしなくなった。 寄生発振だったんかい...と思いつつ、半年間放置した空中配線アンプにまた空中配線を組んだアンプに蓋をした。 ちなみにボリュームはガリもなく健康でした(^^;;
|
2025/12/01
さーて 2つめのICをどう調理しようかな。 (これまでに頑張って集めたオペアンプを消費しようと一念発起。) まだ何にしようか考え中... LA47508と4580DDx4と2068DD、どうしよっかな~。
|
|
|
|