« 2012年12月 | メイン | 2013年2月 »
前回までで結構まともに聞えることがわかりましたので、気を良くして、できるだけ小さいケースにいれてみることにしました。
LEDライトをラジオにする必然性は全くありませんが、元々電池が入っているのと、サイズや形状が気に入ったのでこれにしました。
回路図はその1のままです。基板を小さくするためたまたま持っていた秋月の1mmピッチ基板を使いました。
ピッチが微妙に違うので、カッターの刃先でICの足をすこしづつ広げて付けています。
バラック状態で確認中。スピーカが小さいので音は前回よりちょっと小さいですが、十分聞えます。
スイッチは秋月のデテクタスイッチを使っています。これがLEDライトのスイッチ穴にぴったりでした。
この先は記事をわけます。
それではまたです。
実際の音が分かるように動画にしました。
こんな簡単な回路で適当に作った割には感度が良く、音質もまあまあで少々驚きました。
昔からFMラジオは結構苦労して作っても中々ここまでの性能はでませんでした。
それが90円のICでここまでできるのですから、ほんとに技術革新とは恐るべきものです。
丸基板との組み合わせで、結構小さくもできているし、良いケースを探して入れてやろうかと思います。
それではまたです。
またAitendoのラジオICの話です。
外付け部品が殆どいらないというFMラジオIC EN803というのを買ってきたので、どんなものか動かしてみました。
物はこれです。10pinSOP。2個で180円ですから1個100円もしません。
これをただ参考図の通りにつないで動かすのも面白くないので、これをどこまで小型・シンプルにできるかトライしています。
参考図には結構部品があるように見えますが、参考図の下にある説明から以下がわかります。
@左の水晶回路optionalの部分はなくても良い。
Aリセットスイッチの回路もなくても良い。
B右のOption1、Oprion2は簡単(コンデンサ1個)なoption2でよい。
これでかなり簡単になります。
あとは右側にある操作スイッチですが、CH(選局)±、Vol(音量)±で4つも配線したくないです。
そこで以下のように考えました。
CVolはスイッチなしで固定とする。(※多分電源オンで中間くらいになるだろう)
DCH(選局)は片方向だけとする。CH-なら抵抗もいらないから、これ一個だけとする。
(※多分選局が下限まで行ったら勝手に上の方に戻ってくれるだろう。)
ということで回路は以下のようになりました。かなりシンプルです。
※CDの「多分」のところは先にバラック状態で試して当たっていましたので大丈夫です。
長くなりそうなので記事を分けます。
それではまたです。
昨年のマイクロマウス大会の動画を見つけました。まだ続いていたのですね。
確か80年代のマイコンも手作りの頃にASCIIあたりが始めたのだったかなあ、と思ってましたが、今Wikipediaを見たら以下の通りでした。ずいぶん由緒正しかったのですね。
「世界最古のロボット競技と言われている。 1977年にIEEE(米国電気電子学会)が提唱したことに始まり、日本では1980年よりニューテクノロジー振興財団が全国大会を主催している。 上述の通り、2009年から新たにマイクロマウス(ハーフサイズ)が追加された。」(Wikipediaより)
動画は迷路解析後のトライアルのようですが、しかし、まあ速いこと。ほとんど減速もなしで、斜め方向多用で一気にゴールしています。5秒とかかっていないですね。
昔テレビのマイクロマウスの紹介で見たのと全然違います。あれはもっとゆっくりで、方向も基本90度単位で変えていました。
もう一つはこちら。ライントレーサですが、これも速いこと。
マイコンの進化が一番効いているのでしょうね。組込CPUでもクロックが数十MHzの時代ですから。それにしてもたいしたものです。
それではまたです。
短波も受信できるようになりました。原因はお恥ずかしいことにかなり単純なソフトバグで、短波の設定時のREGISTER5のバンド選択ビットの値が誤っていました。
前回アップした記事のソースを差し替えてあります。周波数調整時の表示にもバグがあったのを一緒に直しました。
下の写真は、ラジオNIKKEIの第一の方3.925MHzの受信中です。
写真だけでは音はわかりませんが、ちゃんと聞こえていますよ。
なお、ラジオの奥の方にあるのは短波用ループアンテナのプリアンプ部です。さすがに短波はこういうものがないと辛いです。
それではまたです。
プラスチックケース(FRISKの箱とか)にちょっとした穴をあける道具が欲しいなあ、と思っていた折、ダイソーでまさにその物を発見しました。
2.0+2.5mmのものと、0.5+0.8mmのものとがあり、嬉しくなって両方とも買ってきました。
試しにFRISKケースに2.5mmの穴を開けてみた結果は下のとうりです。
ほとんど力も要らず簡単にあきました。あいた穴も綺麗なものです。
プラスチックなら十分使えます。
しかし、自分で買っておいてなんですが、これってどういう購買層をターゲットにしているのでしょうね?こういうのを使って工作する人がそんなに多いと思えないのですが。
特に0.5mmと0.8mmの穴あけって何に使うのでしょうか?
説明には「手芸、プラモデル、工作の穴あけに!」とあります。手芸はよくわかりませんが、ドリルの出番はないような。プラモデルは自分で穴開け加工ってあまり必要ないような。するとやっぱり工作用なのかな。
それではまたです。
2013/01/13 短波が受信できないバグFIXでmain.c , bk1088sub.cを差し替えました。
------------------------------------------------------------------------------------
ある程度動きましたので動画にしてみました。
AM/FMバンドの切り替え、あらかじめ登録した局の選局、ボリューム調整ができます。
動画にはありませんが、左から3,4番目のボタンで周波数の上下調整(長押しで高速調整)ができます。
回路は前回の回路図の通りです。参考にソースをアップします。
===========================
「RADIOLCD2.zip」をダウンロード :これが以下のの全ファイル
を含むMPLABプロジェクトを圧縮したものです。これを展開すれば
そのままコンパイル、PICへの書き込みができます。
===========================
「main_v02.c」をダウンロード :メイン部です。
「bk1088sub_v02.c」をダウンロード :ラジオIC BK1088の操作部です。
「lcdsub.c」をダウンロード :ラジオ用LCDの表示制御部です。
「keys.c」をダウンロード :スイッチ入力の制御部です。
メインのタイマー割り込みから呼ばれます。
「const.c」をダウンロード :定数定義です。主にBK1088のレジスタ設定値です。
「prototypes.h」をダウンロード :各関数のプロトタイプ宣言をまとめたファイルです。
「define.h」をダウンロード :スイッチ状態定義です。
なおSWもソフトとしては入っているのですが、すみませんがどうもうまく受信できていません。
とりあえず動くのはAM/FMのみです。SWの方が受信できるようになったらまたアップします。
(2013/1/13)SWの受信不良原因がソフトのバグと判明し、ソフトを差し替えました。
上のソースはAM/SW/FMすべて受信できます。
それではまたです。
回路を基板に移しました。
秋月電子のユニバーサル基板の細いのが手元にあったので、それを使っています。
回路図は下の通りです。前回までの回路にスイッチを追加しました。
PORTCが空いていたので、そこにスイッチを7個付けています。
裏側はこんな感じ。
ラジオICは小さいんですけど、LCD表示と操作スイッチのためにかなりの配線量になってしまいました。
ついでに、AM用のコイルも、もう少し良いものに変えました。そのためか、電波状態のためか、ニッポン放送とラジオ日本もきこえるようになりましたが、かなり弱いです。
やっぱり上の方の周波数特性が良くないのでしょうか?
これで短波も試しているのですが、短波用ループアンテナをつないでも、判別できない何かがかすかに聞こえるだけです。ラジオNIKKEI位は聞こえても良さそうなものですが、周波数を合わせても聞こえません。
周波数設定がうまくいっていないのか?そういえば短波の時ってAMコイルはこのままでもよいのでしょうか?そのあたりデータシートを見直します。
それではまたです。
FMも動きました。写真はJ-WAVE(FM81.3MHz)を受信中。音は結構良いです。
ソフトは以下の通りです。あいかわらずやっつけです。
「bk1088_amfmtest.txt」をダウンロード AM、FMで切り替えるレジスタは以下の2つだけでしたので割と簡単にFMも動きました。
Register 05h. System Configuration2 (bit 8,7 : Band selection)
Register 07h. Test1 (bit 13 : AM/FM mode selection)
なお、なぜかFM→AMと切り替えると最初の1回目だけうまくいかないので、
上記2レジスタの設定を2回やっています。とりあえずそれで動いていますが、こういう治し方はどうもすっきりはしません。
他にやっぱりAMで周波数の高い方の周波数が入りません。
コイルが良くないでしょうか?もしかしてソフトバグで計算ミスってる?
とはいえ一応AM,FMは動いたので次は短波ですね。実は短波がどんなものかが一番気になっていました。やっぱり短波まで動いてマルチバンドと言えますし。
今のバラックではまともなアンテナもつけられないので、続きは基板に移してからトライしようと思います。
それではまたです。
BK1088の動作、AMだけですがようやく音が出るようになりました。
内部レジスタが読み書きできるようになったので、各レジスタの初期設定を入れてみたのですが、「ボツッ」という音がするだけで、その後うんともすんとも言わないので困っていたのですが、
BK1088で検索して見つけたsorriman様のブログ記事にノウハウとサンプルソースまで公開くださってまして、ソースにあった初期値を最初に設定することで動くようになりました。誠にありがとうございました。
とりあえずAMでの動作です。回路は下のように以前アップした回路にAM用のバーアンテナ(正しくは手元にあった88番豆コイル)をつなぎました。
ソフトはまだやっつけのままですが、下の通りです。
「BK1088_AMtest.txt」をダウンロード (拡張子を.cにすればそのままPICマイコン用のMPLABで使えます。)
とりあえずAMの7局を周波数指定で巡回するようにしています。
受信状況は下の動画をご覧ください。(受信場所は練馬区です)
ニッポン放送(1242KHz)とラジオ日本(1422KHz)が入らないです。場所の問題なのかもしれませんが、周波数の高い方の2局というのが何かひっかかります。
それはそれとして、FMと短波の対応と、そろそろバラックをやめて基板化したいと思います。
それではまたです。
年末からAitendoさんの話題ばかりですが、今回もそうです。
12月28日発売の福袋をネットで買ってあったのが今日届きました。
下の写真で左が梱包箱、右がその福袋、正しくは福箱です。
注文時に3種類から選べる中で「ラジオ少年」というのを選択してありました。
価格は2013円(!)です。下が箱をあけたところと、中に入っていた目録です。
DSPモジュール2種類他、各種ラジオ6、7台を作れるだけの部品が入っています。
ざっと価格の2、3倍の価値があります。
あと、ラジオと関係ないですが、下の物。最初はただのLEDライトかと思いましたが、開くとライト付きルーペでした。結構使えそうです。
そして、目録にないおまけが一点。
今工作中のラジオ用LCDでした。まさにサプライズ。動いたのでもう一つ買おうかと思っていたところなので大変ありがたいです。
昔から福袋の類は開けてがっかりが多かったのですが、今回のは大変満足しました。
さすがAitendo様様です。
それではまたです。
オシロが使えるようになったのでBK1088リードテストのデバッグしてみました。
うまくいかなかった原因は一見してI2CのACK、NACKタイミングのクロックパルスが短かったためとわかりました。やっぱりオシロは便利です。
下の写真はwaitを入れて改善したあとのI2C波形とLCD表示です。
LCDの方には、DEVICEIDの下二桁0x80(10進数で128)が表示されています。
ついでにLCD制御信号の波形も見てみました。
左はLCDがオンになっているタイミング、右がオフタイミングです。
COMとSEGの差分を見るとうまいことONで最大電圧、オフで0Vになっていることがわかると思います。
なお、今回のソフト(BK1088のDeviceIDをLCDに表示)のソースは以下の通りです。
長くなってきたのでソースを記事に貼るのはやめました。
拡張子”.TXT”ですが、”.C”にすればそのままMPLABで使えます。
この中の
void Bk1088_Write(unsigned int ad,unsigned int dt)
unsigned int Bk1088_Read(unsigned int ad)
の2関数を呼べば対応したBK1088レジスタの読み書きができます。
次はこれを使っていよいよBK1088を動かしたいと思います。
それではまたです。
昨夜からBK1088制御ソフトを作成中です。
とりあえず、BK1088のデータシートとこちらのページを参考にしてI2CでデバイスIDを読んでLCDに表示するソフトを作ってみたのですが、うまくいっていないようで、0000表示となっています。
問題がハードなのかソフトなのかはI2Cの波形を見ればすぐわかるのですが、いま帰省中で手元にオシロがないのでそうもいきません。戻ってからということにしました。
動かないソフトをアップしても意味がないので、ソースアップも動いてからにします。
なお、ネットで検索したところBK1088のレジスタ設定値がこの中国語ページにあるらしいです。ここにあるFM用設定らしいところを抜粋してデータシートと照らし合わせました。
code UINT16 HW_Reg[]=
{
0x8000,//0 デバイスID
0x1080, チップID
0x0281, Power Configration ※bit0 = Power ON
0x0000, Channel
0x60C0, Systen Configuration1
0x37DA,//5 System Configuration2 ※バンドとチャンネル間隔
0x086E, Systen Configuration3
0x0901, Test1 ※AM/FMの切り替えはここらしい
0x9C90, Test2 ※AFC関係?
0x17A0, Status1 ※AFC/SNRリード
0x402B,//10 Status2 ※Seek状態、RSSIリード
0x0040, Read Channel ※現在のチャネル
0x0000, RDS1
0x0000, RDS2
0x0000, RDS3
0x0000,//15 RDS4
0x7B11, Boot Confirutation1 ※リザーブ機能?
0x0800, Boot Confirutation2 ※リザーブ機能?
0x4000, Boot Confirutation3 ※リザーブ機能?
0x4144, Boot Confirutation4 ※リザーブ機能(リセット値と違う)
0x829A,//20 Boot Confirutation5 ※ミュート設定らしい
0x7812, Boot Confirutation6 ※リザーブ機能(リセット値と違う)
0x43BB, Boot Confirutation7 ※リザーブ機能(リセット値と違う)
0x0B41, Boot Confirutation8 ※リザーブ機能(リセット値と違う)
0x143C, Boot Confirutation9 ※リザーブ機能(リセット値と違う)
0x000E,//25 Boot Confirutation10 ※リザーブ機能(リセット値と違う)
0x0000, Boot Confirutation11 ※リザーブ機能?
0x48D4, Analog Configuration1 ※リザーブ機能?
0x0000, Analog Configuration2 ※Clock Divider
0x0200, Analog Configuration3 ※Clock Divider control
0x80AA,//30 ※以下(0x1E〜0x28)はテスト用レジスタで設定不要らしい
0x0000,
0x0EF7,
0x0600,
0x0000,
0x7000,//35
0x0880,
0x8D83,
0x8000,
0x0000,
0x4400//40
};
どうやらこれだけ設定すれば良いみたいです。これならI2Cさえちゃんと動けばそう大変でもないかな。
あとは変な順番がなければ良いのですが。
それではまたです。
2013年は良い年でありますように。本年もよろしくお願いいたします。
さて、みぞれ混じりの天候の中初詣と挨拶回りが終わりましたので、予定通りハンダ付けに入りました。ものはAitendoのDSPラジオIC基板です。
ICはBK1088というのですか。説明を見ると
●帶域:520-1710KHz(MW)、64-108MHz(FM)、153-279KHz(LW)、2.3-21.85KHz(SW)とありまして、AM,FMだけじゃなくて短波、長波まで対応しているのですね。動かすのが楽しみです。
接続は、前回のラジオLCDテスト回路に追加して以下の通りです。
とりあえず、FMモノラルで動かしてみようと思いましたので、簡単なものです。
ハンダ付けしたものは以下のとおり。
バラックにもほどがある状態ですが、動作確認できたらLCDと合わせて綺麗な基板と箱入にする予定ですので今はご勘弁を。
しかしBK1088ってICは、Aitendoのページにあるデータシート見たらレジスタ多いし、初期化ステップなんか書いてないし。サンプルコードもないのかな?いまからソフトに入りますが、結構厄介そうですね。
それではまたです。
日 | 月 | 火 | 水 | 木 | 金 | 土 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
最近のコメント