超元祖ヨシヲ公式ブログ改β 〜マラビンタの夜明け〜

TESTACH のシクロフレームで組んだロードバイクに乗ってます。メンテナンスとかサイクリング日記とか。
PICマイコンを使った電子工作ネタ、電動ラジコンヘリ、Windowsアプリケーション開発とか気が向いたら何でも乗せる見境なしblog。旧ブログタイトルは ヨシヲたんの日記 。

2009年12月

年末年始2010

1054d563.jpg
自転車で初日の出を撮りに行こうかと思います。
チンタラ走らないと早く着いてしまうので、まったりペースで。
立ち止まって写真とってるとさみーわ。
現在位置情報とかはtwitterで!

同軸→光 デジタル音声変換器

さて年末年始の工作シリーズその1です(ぉ

つーかニュー・スーパーマリオブラザーズ・Wii が予想外に面白くて電子工作が進まないっていう…

まあそれは置いといて同軸→光変換です。

なんでこんなの作るかっていうと、PCのマザーボードにオンボードで付いてるサウンドのデジタル出力がRCAコネクタだからです。
今まではUSBの外付けオーディオ使ってたんですが、Left4Dead2がプレイ中にハングするので、まずはサウンド関連を換えてみようか、というわけです。
ビデオカードはnVidiaだから大丈夫だろうし…。

というわけでググったところ

http://www.k3.dion.ne.jp/~kitt/craft/audio/cox_tos/index.html

こちらのHPがヒット。
回路図も載ってます。素晴らしい。
ていうか、見てみたらなんか入力インピーダンス75Ωで受けて、後はなんかインバータ4個かましてTOTX176で光出力にしてるだけじゃないですか。
直結しても動いちゃうって書かれてるので、まあぶっちゃけ直結でもいいんですが…ノイズ対策に74HC14(シュミットトリガ付きインバータ)にしたほうがいいんじゃないのかなあ。
TOTXは別に176じゃなくても売ってるヤツでいいし。
などと考えつつ千石で部品買ってきました。

TOTXは178しかなかったのでそれを。200円でした。
その場でiPhoneでデータシート見たらパスコンだけ付ければ良いようだったのでそれだけ。
PCでの使用を前提としているので、USB端子から5V電源を取れるようにコネクタ類を準備…。

というわけで、部品も揃ったので作ります!

……。

P1010434

よしできたー。
というわけで電源接続。

んー?
なんか光出力端子が赤じゃなくてオレンジに光って…
と思ったらブスブス…という音と共に一筋の煙が出て参りました。

速攻で電源引っこ抜いた。
焦げ臭い。

で確認してみたら電源の極性が逆でした…。ちゃんと確認したつもりだったのに…。
どうやらICもぶっこわれたようです。
300円くらいが一瞬でゴミになったw

ここまで来たらもう組み直した方がはえーってことでユニバーサル基板の反対側に作り直し。
TOTX178を4つ買っておいてよかった。

さすがに2回目だと速い…けどめんどい…。
特に未使用ゲートの入力をGNDに落としとくのがめんどい。

P1010436

できたよ!
今度こそ大丈夫だろう…というわけで電源投入。燃えない。よし。
あとはPCとAVアンプの間につないでみて動作確認を…。

…。

……。

…うごかねえ!

しかしオシロスコープも持ってないので何が悪いのかさっぱり…。
でもよく考えたら同軸デジタル出力からどんな信号が出てるのか知らなかったのでテスターで測ってみた。
…なんか1Vにも満たないような微小な信号なんですけど…。
これじゃロジックICは動かないだろ…。

というわけで改めて最初のURLの回路図見てみましたが…
入力の所の75Ωはインピーダンス整合でしょ。ダイオードは逆・過電圧保護でしょ。
…で、初段のインバータに抵抗が入ってます。
そういやコレ何だろう。と思って調べたら、なんかインバータに抵抗付けるとアンプとして動くそうです。74HCU04でヘッドホンアンプとか作ってる人も多数。マジか。
今はシュミットトリガ付きインバータを付けちゃってるんですが、これに抵抗付けても同じ動作するかどうかは自信がなかったので74HCU04に付け替える事にします…。
ていうか、万一のことも考えて74HCU04も買ってきておいて本当によかった(ぉ
あとは抵抗2本追加。なんか抵抗値の比でゲインが変わるらしく、20倍を目標に抵抗値が設定されているっぽかったので、手持ちの抵抗からそれっぽい抵抗値を選んで取り付け。

ユニバーサル基板からICを剥がすとか地獄ですよねー…。

まあ苦労したけどなんとか付け替え完了。
動作確認に移ります。

P1010438-のコピー-2

動いたよ!
音出た!
しばらく鳴らしたけど(っていうかこの記事を書いている今も鳴らしっぱなし)途切れたり飛んだりもなし!

いやー動いて良かった。煙が出たときはどうしようかと思ったよ(ぉ
ただ、ケースが無いんでむき出し状態で使用中です…。
年明けに買ってきますよ。


さて。
同軸→光変換をチャッチャと終わらせて秋月のオシロスコープキット制作に移ろうと思ってましたが、終わりませんでしたw
また来年!

7セグメントLED

秋月で2桁の赤色7セグLEDが4個100円とかだったので衝動買いしましたが、なんにも使ってません。

P1010432
これが4個100円とかおかしい

7セグって独特の雰囲気があって好きなんだけどなー。

7個のセグメント(+小数点(DP))を別々に点灯・消灯しないといけないので、PIC側にも7個の出力ピンが必要だろうなーと思っておりましたが、シフトレジスタを使うとなんかできるらしい。
シフトレジスタにも2種類ありますが今回使うのはシリアル入力・パラレル出力ですね。
1ビットのデータを用意しておいてクロックをパコンと叩くと、8個あるD-FFの内容が右に1個ずつずれて、端っこに用意しておいたビットが入ります。ビットシフト命令と同じですね。
要するにデータを用意しては叩き込み、を繰り返すことで1ビットのシリアルデータを8ビットのパラレルデータに変換できるわけです。
実際にはクロックも必要なので1ビットで、というわけにはいきませんが、クロックとデータあわせて2ビットで8ビット分…要するに7セグLED1桁+小数点が駆動できます。

シフトレジスタを増やせばもっとたくさん動かす事もできます。(100桁とかだとさすがにどうかと思いますが)

ちなみに今回使ったシフトレジスタは74HC164です。
出力ピンの出力電流は±25mAなので直接LEDをドライブできます。えらい。

というわけで、PICからクロックとデータを取って…。
7セグLEDがアノードコモンなのでアノードを5Vにつないで、カソードはそれぞれ200Ωの抵抗を介してシフトレジスタの出力へ…8本…接続…。

P1010431

PIC(右端にささってる12F683)からシフトレジスタへは線が2本だけですが、そこから先はパラレルなのでケーブルまみれです。たいへんだ。

あとは適当にPIC用プログラムを作ります。
2つのピンからビロビロってデータ出すだけだから別に難しいことはないですね。

というわけで!
動きがよくわかる感じのプログラムにしました!



シフトレジスタにデータを送り込む速度をだんだん速くしていますよ。
後半は違和感ないw

74HC164が結構速いんですよ。
まあ単なるロジックICだから当然ですけど。
データシート見たけど、ウェイトは100ns(0.1μs)とれば充分なんです。
PICは今回8MHzで動かしてるので、1命令実行するには0.5μs掛かります。要するにPICのプログラム的には全速力でデータを送っても余裕でこなしてくれます。すごいな。
そんななので、1桁書き換えるのに要する時間は100μsもありません。多分。
いくら速いとは言っても書き換えしてる所が見えるんじゃないかと思ってましたが、やってみたら全然みえなかった。すごい。

2ピンあれば何桁でも動かせるから、4桁分あるやつとか作っておくと何かと使えるかも…。使えないかも…。

明日は秋月で8×8ドットのLEDマトリクスをいくつか買ってきて…
冬休み中に電光掲示板を作る!かも!

LIR2032充電器 その2

電池の充電回路を作るにあたって、電流を電圧に変換する必要が生じたので、どうやったらいいか考えてみる。

オペアンプを使ったI-V変換回路(電流−電圧変換回路)というのがググったら見つかったので試してみましたが…

i-v1

このシミュレーションを見る限りうまくいってますけど。

I1の電流はオペアンプの入力インピーダンスが無限大なので全てR1に流れる。そうすると−入力端子と出力端子間の電圧はI1R1になる。
+入力端子は0Vで、なおかつ負帰還が掛かってるのでバーチャルショートとなるため、−入力端子の電圧も0V(になるようにオペアンプが動く)。
そうすると出力端子の電圧は-I1R1。(上の例では-1m×1K=1)
というわけですが。

正負2電源を使ってるから、この回路でいいんですが…。
実際に作りたいのは5V単一電源で動く充電器です。
負電圧を出力できないのできっとちゃんと動きません。
なんとかして出力を正の電圧にできないだろうか…。

単純に考えると、オペアンプの+と−を入れ替えちゃうというのが思いついたのでシミュレーションしてみましたが…
そのまま入力端子だけを入れ替えるとモロに正帰還となるためVoutが最大になるだけでした。おまぬけ。
なので負帰還も掛けてみよう、というわけで−端子と出力端子をボルテージフォロワ的に接続…すると、−端子はGNDにつながってるので出力は0V固定に…。うあああ。
じゃあ負帰還をかけるところにも抵抗を入れて…

ていうか、わけわかんなくなってきたので普通に抵抗の両端の電圧を測る事にします。
普通に差動増幅回路でいいかと思いましたが、調べてみるとインストゥルメンテーションアンプという回路があるそうです。

i-v3

抵抗がすべて同じなので増幅率は3倍のはず。
グラフ左端ではVin+=12V, Vin-=7Vで差が5V、3倍したら15Vなので合ってますね。

利点としては、入力がオペアンプ直結なのでインピーダンスが高い。だそうです。でもこれ、ボルテージフォロアと差動増幅回路でも同じなんじゃね?とか思ったり…。
まあ、R3を∞にしてR1とR2を0にしたインストゥルメンテーションアンプとも言えますが…。

i-v4

結果は見た感じ同じですよね…。
入力インピーダンスも高いはずだし。
欠点は増幅率を抵抗1本で設定できないくらいなのかな。
しかしオペアンプを3個組み立てるのはめんどくさい…。

充電器を作るにあたっては電池の電圧と充電電流を測りたいので、ボルテージフォロア3個と差動増幅器2個で全部こなす、というのもできそうです。が、オペアンプ5個というと現実問題としてどうやってもIC2つ使う事になってしまうのがこれまためんどくさい…。

そもそもリチウムイオン電池充電用のIC(LM3622とかLTC4054とか)が秋月とかで買えればこんなめんどいことしなくていいんだけどなーw

充電電流に関しては微小抵抗の両端の電圧を測りたいので、入力インピーダンスが高い事が必要ですが、電池の電圧に関しては電池の出力インピーダンスなんて激低だと思うので普通の差動増幅器でいいかなーとか。
でも電池の電圧が4.2VなのでRail-To-Railなオペアンプが必要になる感じ。

オペアンプで計測した結果をPICのA/Dに入力して制御するのがいいかな。

あー、でもそれとは別に定電流回路と定電圧回路も必要なのかー…。

通販で買えるところがあったからLTC4054買っちゃおうかなw

LIR2032充電器 その1?

表題通りです。

とりあえず簡易版ってことで…
・20mAくらいの定電流回路
・電源電圧の幅とダイオードの電圧降下を使って、電池の電圧が危険な範囲にならないようにする
という方向で作ってみます…。

EAGLEで回路図書いて〜

lir2032charge

オペアンプ(IC1A)とトランジスタT1あたりが定電流回路です。
電池を通った充電電流がR3に流れるんで、そこの電圧とLM336で作った基準電圧がバーチャルショートなので定電流になりますって感じで。
電池の上のショットキーダイオード2本が電圧制限用です。
データシート見たらVFが0.55Vとかだったんで、2本で1.1V?
となると、電源5V-1.1Vで4.2Vより低くなるんで平気かなっと。
IC1Bは充電インジケータ。R3に充電電流が流れるということは充電電流が減ってくればR3の電圧も低くなるので、そうなったらLEDが消灯するようにします。

回路図書いたら回路パターンですが、ユニバーサル基板で作るんで2.54mmピッチで。

lir2032charge_pcb

あとはこれを見ながらユニバーサル基板にしこしこ部品取り付け。
できあがったら配線チェックして基準電圧調整して…

でけた!

と思ったら充電インジケータが光りません。んー?
回路図を見直すと…えーと充電中はIC1Bの+が2.4mVで、−が24mVだから…光らないじゃん。オペアンプの+と−が逆でした。

で入れ替えまして…

P1010427

うごいてるっぽい!
ていうかLEDまぶしすぎた!

で、まあなんというか各所の電圧を測ったところ…

まず、電源電圧が予想外に高すぎ。5.3Vとか。さらにショットキーでの電圧降下が0.6Vくらいしかない。
VCEとR3でいくらか下がるけど、電池に4.2V以上かかってしまいそうです。
というわけでショットキーをやめて1N4143に交換しました。これで…

P1010429

1.2Vになりました。まあそんくらいだよね。

で。

充電し続けてみましたが、いつまで経ってもLEDが消えない。
電池の電圧はもう結構高いんだけど、R3の電圧降下を測ると全然減っていない。24mVのまま。
おかしいなーと思って電池を抜いても24mVのまま!Σ(゚Д゚;エーッ!

で、改めて回路図みましたが…

R3には充電電流しか流れない前提で作ってしまいましたが、オペアンプから出てきてT1のベースに流れ込んだ電流もR3に流れるんですよね。
前述のとおりバーチャルショートなんで、R3を24mVにするべくオペアンプはガンガン電流流しまくってるみたいなんです。
というわけでベースに入っている100Ωの抵抗の電圧からベース電流を算出したところ、18.7mAも流れているという計算に。(微妙に足りないけど抵抗の誤差かな)

そんなわけでR3の電圧は常に24mVなので、充電インジケータはつきっぱなしになって当然でした…。(´・ω・`)ショボーン

でも充電は一応できるからいいか。いつ終わるかわからないけどw

充電電流をモニタするにはやっぱり0.1Ωとかの抵抗を買ってきてその両端の電圧を測るしかないのか…。
でも、抵抗の両端の電圧を測るっていうのが、オペアンプそのまま噛ませばいいのかっていう不安があったりします。
PICで電圧計作ってるサイトとか見るとだいたいが−端子がGNDに直結なんですよー。

まあ色々やってみるか。
このblogについて
このblogは、私のホームページ内の日記コンテンツ…でしたが、もう何年もこっちがメインです。
ホームページはこちら。
http://www31.ocn.ne.jp/~yoshio2/
2ちゃん系掲示板に書き込むときのトリップは ◆GBrDo4K0i. を使用しています。
GoogleAds
最新コメント
livedoor プロフィール
ついったー
リンク
すなけ日記
なんて言ったらいいかよく分からないお友達、すなけさんのblog(ぉ
自転車メンテとかマニアドリンクとかトラベラーズノートとか。
hazimelog
湘南のガチムチおにぎり、はじめちゃんのblog。SCOTT FOIL Team Issueとか買っちゃってとどまる事を知らない。
不器用工房
自転車で通勤しているアニメ大好きなギタリスト、S木さんのHP。
ニコ動
オンライン
Steam

XBOX gamers card


PlayStation Network

Get your Portable ID!
月別アーカイブ
  • ライブドアブログ