So-net無料ブログ作成
電子工作一般 ブログトップ
前の10件 | 次の10件

お風呂ラジオを購入→即改造&改修 [電子工作一般]

ラジオを聞きながらゆっくりお風呂に入りたい。
そんなワケでお風呂ラジオを買いました。

値段は1000円台。
AMが聞ければいい。
電池は単3を2本。

といいわけで買ったのはこれ。
radio.jpg

ところが、商品説明には電池2本と書いてあるのに実際は3本でした。
ウソ書くなよなー。

AMは良く入る。
問題なし。

FMは後ろからリード線が出ていて吸盤が付いてる。
どうせFMは聞かないし邪魔なので、上の取っ手の間に押し込んでおいた。

実際に使ってみると、耳元で小さな音で聞きたいのだが、ボリューム調整が微妙で使いにくい。急に大きくなる感じだ。音量調整用のAカーブ使っているのかな?

というわけで早速蓋を開けて改造。
ボリュームの手前に抵抗を追加して、音量調整範囲を小音量方向に振ってみた。
ボリュームは50kみたいなので、47kを挿入して良い感じに。最大音量は半分になる計算だけど、これでも十分でかい音が出る。もっと絞ってもイイかも。

ついでにノイズというかスピーカーがキンキンする感じで疲れるので、ボリュームとパラに4700pを追加。音質がマイルドになってすごく良くなりました。FMはコモリ気味に感じるかもしれないけど、AMのつもりで聞けば全く問題ない。もともとHi-Fiなんて求められないから、故意に帯域絞った方がすっきる聞きやすくなるのです。
やっぱ、のんびりマッタリ聞きたいので、音質はマイルドなのがイイね。

ところで、やっぱ中華だね。中華クオリティ。
基板は汚いし、配線も汚い。
封ロウでベタベタだし。

おまけにキャビ止めているネジも2本がバカ。
一カ所はネジの頭が貫通状態で止まってない。
酷いね。ほんと酷い。

ボス削ってワッシャ貼り付けて直してしまったけど。
ネジバカは穴に細いビニール線つっこんで対応。
まあ、2000円しないので、材料費と思えばイイかという感じ。

いちおう、ぐるりとビニテ巻いて防水強化して終了。




nice!(3)  コメント(7) 
共通テーマ:日記・雑感

MikroCと16F88(16F689)でメモリー破壊 [電子工作一般]

MicroCを使って秋月のPIC内蔵LCDをいじっています。
いろいろな表示をさせようと機能を増やしていくと、あるところからLCD表示が崩れたり、マイコンそのものが暴走してしまいます。この秋月I2C LCDを使わずに普通のキャラクタLCDとF88の組み合わせでも同じです。

P-05693.JPG

MikroCのLogファイルを見ると、次のワーニングが出ていることに気がつきました。
トラブルが起きない場合はワーニングがありません。

warning: 43 1511 IRP bit must be set manually for indirect access to 'c_vol' variable main.c
warning: 43 1511 IRP bit must be set manually for indirect access to 'c_amp' variable main.c
warning: 43 1511 IRP bit must be set manually for indirect access to 'c_wat' variable main.c
warning: 44 1511 IRP bit must be set manually for indirect access to 'c_wats' variable main.c

うまくいくときとダメなときのRAMの使用量を比べてみました。

Used RAM (bytes): 110 (46%) Free RAM (bytes): 130 (54%)
Used ROM (program words): 871 (21%) Free ROM (program words): 3225 (79%)
うまくいくとき

Used RAM (bytes): 200 (83%) Free RAM (bytes): 40 (17%)
Used ROM (program words): 1218 (30%) Free ROM (program words): 2878 (70%)
ダメなとき

ここでググったりして色々調べたところ、RAM BANKが0と1を超えるとMikroCはダメだと言うことが判りました。BANK-0と1の切り替えまではコンパイラーが旨くやってくれるようです。

F689ではRAMのBANK構成は次のようになっています。

689RAM.JPG

これをみると、BANK-0で96バイトとBANK-1で80バイトですから、176バイトを超えるとダメということが判ります。たしかに110バイトで済んでいるコードは動いていますが、200バイトを必要とするコードはバグります。

<追記>
生成されるアセンブルコードの状況によっては176バイト以下でもダメな場合がありました。BANK-0の90バイト以内にしてうまくいきました。テーブルをやめてループで描画するようにして一気にRAM使用量を減らした結果です。


これを回避するにはいくつかのアドバイスが有りました。

1. 一番簡単なのは仮想リニアアドレッシング機能を持っている別のPICを使う(16F1827は大丈夫だった)
2. 18Fシリーズを使う(全て仮想リニアアドレッシング機能がある)
3. MikroC以外のコンパイラを使う

ということです。
秋月I2C液晶乗っているPICのRAMを目一杯使いたいときはMikroCを捨てなくてはなりません。純正のXC8は大丈夫っぽいのですが、ライブラリが貧弱なのでメンドクサイですね。MikroCはLCDライブラリとかが揃っているので採用したのですが。この液晶に拘らなければ、仮想リニアアドレッシング機能をもったPICを使えば良いだけですが。ピンコンパチで貼り替えできるのが見つかれば良いのですが。しかもSOICピッチ。

ググってもなかなか見つからなかったのでBlogで書いておきます。
国内では全然見つかりませんでした。


nice!(2)  コメント(1) 
共通テーマ:日記・雑感

電圧・電流・電力メータ [電子工作一般]

vaw_meter.jpg

久しぶりの電子工作ネタです。

かねてから「電圧・電流・電力」を測れるメーターを作りたかった。
売っているのはあったけど高かったのです。
作ろうと思えば作れるので。

しかし、電力を計算するには掛け算が必要。これをアセンブラで書くのはイヤァな感じ。LCD表示も細かい事やろうとするとアセンブラでは結構めんどくさい。
Cで書くしかないかなーと思いつつ、Cは苦手なので手を付けていませんでいした。

重い腰を上げて、Freeで使えるCコンパイラを探しました。有名なのはCCSCですが無料版は無し。買うと高い。探していると、Mikro CというのがPIC対応で(AVR版もある)、無料版は2Kワードまでのバイナリを生成できるようです。これをチョイス。ネットを探しても作例は少ないのですが、HELPと20年近く前にやったANSI Cを思い出しながらコーディングしてみました。Mikro CはANSI-C準拠ということで、「はじC」も役に立つというわけです。はじC、懐かしいでしょ?

手持ちのPIC16F88に書き込みました。8ピンはF675、18ピンはF88を定番にしています。どちらも内蔵クロックを持っていて、A/Dから一通り入っています。

とりあえず数字だけの表示はOK。10bit A/Dして、8bitに削って、10進→ASCII変換して出すだけ。

ほぼ一発でうまくいったので、欲を出して小数点を割り込ませたり(255Vを25.5Vと表示させる)、空いているLCD部分にバーグラフを追加したりといじり始めました。気がつけば夜中の2時近く。

ある程度まではできたのですが、バーグラフのセグメント数を増やしていくとおかしな現象が出始めました。表示はループを使わずに、ステップ数文用意したテキストを全セグメント上書きする方法です。どうせスッカスカなので。

7桁を超えると、違う行の表示文字を壊します。グラフは2行目に出しているのに、1行目の表示を壊します。
8桁を超えるとメモリーを破壊するようで暴走します。LCD表示がフィーバーしています。

8桁までは、4桁、4桁に描画命令を分ければ可能なところまでいきつきました。しかし、8桁を超えるとだめなのです。LCDで空いているところは目いっぱい使いたいのが人情。

何やっても8桁を超える表示は解決しないので、悩んでいてふと思いついたのが変態PICのアドレッシング。ROMもRAMもバンク分けされていて、RAMバンクの先頭付近はスペシャルレジスターが埋め込まれています。また、ROMもバンク毎にアドレスがとびとびになっています。固定テーブルをROMに持つ時は、特にアセンブラで記述するときはバンク超えを考慮しないとうまく動かないのです。

これは完全に予想なのですが、もしかしたら不連続アドレスの問題をコンパイラが吸収していないのではないかと。もしそうであれば、メモリーを破壊するのも納得できます。ようするに、ツールのバグですね。

最近、F88よりも安くリニアアドレッシングとして使えるF1827というチップが出ていて、それを買っていたのを思い出しました。今から考えればF88は当時最強!でしたが、かなり古い部類です。古いからこそ枯れていると思っていたのですが...

F1827に変更しても、F88とピンコンパチでソースコードもA/D関係のレジスタを一部修正するだけでそのまま使えます。4桁単位に刻んでいたテーブルデータもまとめて配列に放りこんで一発描画するように戻し、ビルドして書き込み!

成功!!

やはり、F88(オールドアーキテクチャのPIC)に対して、Mikro Cはバグっているようでした。

あとはアナログ部分を作るだけ。
電圧検出は分圧で。電流検出はハイサイドに10mΩ程度のシャントを入れてOP-AMPで処理して入れてやる。この10mΩの抵抗を手に入れなくてはならないのがネックです。100mΩのセメント抵抗ならたくさん持っているのですけどね。100mΩでは20A流すと2Vロスしてしまうので、ここはなるべく小さくしたいのです。

バーグラフは、1W 2W 5W 10W 20W 30W 50W 70W 100W 200W 300W 400W 500Wと割り当てました。下の方はちょっと荒いですがLogです。

AVRに浮気しそうになりましたが思いとどまりました(笑)

nice!(3)  コメント(6) 
共通テーマ:日記・雑感

ラジコンの充電機がすごい [電子工作一般]



これ、買ってみました。
リチウムイオン各種、ニッスイ、ニッカド、鉛。なんでもこなしてしまう。
リチウムイオンでは重要なバランス充電もできる。

コピー品が沢山出ているようだけど、このiMAX B6シリーズはコピー品でも品質が良いらしいです。
Net上にある説明書を漁っていたら、キャリブレーション(電圧センサの調整)が出来る事を知ってやってみたらOK。ちゃんとキャリブレーションも出来ました。

電源は12V系で範囲が広いのが使いやすいです。
が、付属の電源供給ケーブルは細くてとても5A流せるようには見えません。
5.5/2.5ΦのDCジャックなので、太いケーブルで作り直しました。
もちろん、入り口と出口共にパワーポール仕様にせ製作です。

バランスコネクタはJST(日本圧着端子製造)のXHシリーズです。
千石でハウジングとコンタクトを入手しました。


nice!(1)  コメント(0) 
共通テーマ:日記・雑感

OP-AMPを使った単電源半波整流回路(ピークメータ用) [電子工作一般]

秋月で入手したバーグラフLED(OSX10201-GYR1)とLEDドライバ(LM3916)を使って、VUメータ(ピークメータ)を作りました。
問題は整流回路ですが、最初はショットキーバリアダイオードを使用してミキサーの出力を直接整流して入れたのですがうまくいきませんでした。-20dBのところが丁度Vfに引っかかったらしく、-16dBm位入れないと光りませんでした。

LEDドライバの参考回路に合ったPNPトランジスタとダイオードを使った回路を見て、「おー、これは面白い」と思って作ってみたのですが、これはこれでイマイチ。トランジスタとダイオードの組み合わせが悪いのか、しかしダイオードの代わりに同じトランジスタをダイオード接続しても0Vが浮いてしまい-20dBが点灯しっぱなしになりました。-10dB以上は良い感じなのですが。

そこで、OP-AMPを使用した理想ダイオード回路を採用することに。
+/-両電源があれば簡単に綺麗に作れるのですが、ここは単電源で行きたいところ。エレキジャックのWebに参考となる記事があったのでマネしてみましたがこれもNG。あるレベルを超えるとマイナス側の波形が折り返してフルスケールで出てきてしまいます。細かく解析してみると、入力信号が約0.7Vmaxを超えると発生するようです。これは入力の保護ダイオードかなとピンと来ました。あるレベルを超えるとマイナス側が流出してしまうのですね。
これは入力にクリッピングダイオードを付けてOP-AMPの外側で波形のマイナス側を切り落として入らないようにしたら成功。あとは細かいところを調整して、入力のDCドリフト(浮き)、出力の時定数を決めていい感じになりました。

エレキジャックWebの記事
http://www.eleki-jack.com/KitsandKids2/cat137/cat142/cat208/

記事では「全波整流」になってますが、どうして全波になるかが納得できません。
これは実験で解ったのですが、マイナス側の流出による折り返しで、1.4Vp-pより入力レベルが高い場合は、出力がフルスイングまで出てしまいます。あるレベルまでは全波整流に見えますがアンプの誤動作ですね。

最終的に、こんな回路になりました。

単電源半波整流.jpg

この回路なら、安定した動作をします。
入力範囲はLM386の場合はレールトゥレールではないので電源電圧から少し下までなので、電源電圧12Vなら20Vp-p程度までは綺麗に出力します。

nice!(2)  コメント(3) 
共通テーマ:日記・雑感

秋の電子工作「FRISK Pui-Pui」 [電子工作一般]

Who-taroさんの所で紹介されていた電子オモチャ。
http://moon.ap.teacup.com/who_taro/

元ネタはこちら。
http://yawatta.seesaa.net/article/298173788.html

MicrochipのPIC12F1822を使った音モノです。
圧電サウンダーを振動センサーに使用し、検出したら発音体に使うというアイデア。
検出はコンパレーター機能を使っているようです。

振動でプイプイ鳴くので子供は大喜びでした。
でも、鳴かせすぎて「うるさい!」と怒られています。


フリスクのケースと、SDカードのケースに入れてみました。

使用部品(名称、型名、秋月通販コード、値段)
・マイコンチップ、PIC12F1822、I-04557、80円
・圧電サウンダー、SPT08、P-01251、100円(2個入り)
・ボタン電池ホルダー、CH243-2032LF、50円
・ボタン電池、CR2032、B-05694 、200円(5個入り)

nice!(1)  コメント(5) 
共通テーマ:日記・雑感

夏休みの工作 [電子工作一般]

今年は小2の娘っ子。
今年の工作はこれにしました。

「PICでLチカ」はハードルが高すぎるので、PICのコード(アセンブラ)はパパが作りました。
電子回路のハード部分まではやってあげて、コレを使ってどうしあげるかは娘次第。
さて、どんなのができるかな?

ちなみに去年はピンホールカメラ(見るだけのやつ)にしました。
これもちょっと早すぎだったかもしれませんが、クラスで大人気だったようです。




nice!(0)  コメント(3) 
共通テーマ:日記・雑感

秋月FMトランスミッターのLSI「NS73」 のTips [電子工作一般]

I-02224.jpg

NS73の入力レベルは100mV/140mV/200mVに設定できます。
入力ATTは倍率1/11なので、それぞれの設定での100%変調入力レベルは次の通り。

100mV +3dBm
140mV +4dBm(3.75dBm)
200mV +9dBm

業務用機器(ミキサー等)の0VUは+4dBmなので、140mVに設定するとほぼぴったりになる。


チャージポンプ時定数は、標準の80usよりも125usにしたほうがS/Nがよくなる。
プリエンファシスは日本の放送仕様は50us(デフォルト)。

同じ部屋にUPS(APC SU1000)があるのだが、定期的に自動動作しているノイズが入る事がある。これは、秋月のスイッチングACアダプタが一番うるさく入り、トランス式のACアダプタでも入る。アースループかな・・・


nice!(1)  コメント(0) 
共通テーマ:日記・雑感

秋月FMトランスミッター(NS73)を修理して [電子工作一般]

K-02498.jpg
秋月FMトランスミッター(NS73) 4800円

ちょっと高いけど、周波数安定度は抜群。
届いた夜に組み立てて、S/N改善させようといじっていてパチッ!
1時間で壊してしまいました。

NS73が壊れたようなので(I2CバスがLowに引っ張られっぱなし)、NS73だけ発注。
先ほど交換が完了して復活しました。


K-05369.JPG
ついでにUSB-DACキットも購入。1700円

このDAC、ノイズ少なくて良いですね。
ROLANDの音楽編集ソフトとセットになっているUSB-AUDIO I/Fよりも良い感じ。ROLANDのはUSBからのノイズが入るようで、無音だとジュルジュルとノイズが聞こえるんです。
秋月のUSB-DACですが、電源部に使っているケミコン(100uF)が1個つぶれていました。気持ち悪いので手持ちの220uFを使用しました。Analog部とDigital部の両方とも220uFに交換。


で、なにをしたいかというと・・・

FM_URUMA.PNG
最近お気に入りのコミュニティFM ゆいまーるラジオ(FMうるま)
JOZZ0BO-FM, 86.8MHz, 沖縄県うるま市, 20W

これをPCで受信して、FMトランスミッターで送信して、家の中でFMラジオで聞きたい。
やっぱ、ラジオはラジオで聞くのが良いのです。
たとえIPラジオでも、最後はラジオで。
単なるこだわりですけどね。


nice!(1)  コメント(2) 
共通テーマ:日記・雑感

LEDミニランタン [電子工作一般]

ミニランタン.jpg
Amazonで2個680円

単3電池3本で使えます。
この手のグッズはLEDが電池に直結の場合が多く、LEDに定格を超えた電流を流し続けているので寿命が短いのが多いです。長時間使用するとLEDの輝度がどんどん落ちていきます。PCの足元証明に使用しているバッファローブランドのUSBライトも直結らしく、半年も使っていないのに輝度が落ちてしまいました(直視してもまったく問題ない明るさまで)。

電池ボックス内のネジ2つを外すと分解できました。
配線を追うと、11個のLEDは全て並列に繋がっていて、電流制限抵抗は入っていませんでした。高級な機種ですと定電流回路が入っていて、電池が消耗してきても明るさは維持するのですが、安価なものは制限無しか抵抗1本の例がほとんどです。この製品の電流制限は、電池の内部抵抗と配線の抵抗に頼っているようなものです。

電池の出力部に5Ω(1/4Wの10Ωを2個パラ)をつけて、電池電圧の定格4.5VのときにLED 1本あたり20mA程度になるようにしました。これで輝度は少し落ちますが、LEDの寿命はかなり延びるはずです。

nice!(0)  コメント(0) 
共通テーマ:日記・雑感
前の10件 | 次の10件 電子工作一般 ブログトップ