バイナリモールス符号(2)
Posted by arms22 on 2008年02月25日

バイナリモールス符号を実装してみました。動作確認にしようしたマイコンはPIC12F683。GPIO5にLEDをつないで動作を確認しました。
ソースコード一式はここ。
http://xfind.hp.infoseek.co.jp/electric/morsecode/morsecode_080225.zip
Interface 2008年 5月号 FRマイコン基板(2)
Posted by arms22 on 2008年02月25日

インターフェース2008年4月号にFR60マイコン基板の続報が掲載されています。
搭載しているマイコンの型番はMB91FV310Aです。以前、搭載されているマイコンはMB91F312Aではないかと書きましたが、MB91F312AはMASK ROM品で168KBのROMを搭載しているバージョンでした。
基板にはVGAコネクタ、USB Aコネクタ、USB Bコネクタx2(*1)、40pinコネクタx2、水晶などを実装できるパターンが用意されています。
*1...1つはデバッグとフラッシュ書き込み用だと思う。
5月号ではUSBの基礎と付録基板の使い方、6月号ではUSBやOSD(On-screen Display)を使ったゲーム機の製作を予定しているようです。
OSDを使えばディスプレイに直接文字を表示でき、最大42桁×16行、1文字最大24ドット×32ドットの表示が可能なようです。グラフィック文字表示を使えば文字以外も表示可能。
面白くなってきた?
2008年 04月号 [雑誌]
CQ出版 (2008/02/25)
バイナリモールス符号
Posted by arms22 on 2008年02月19日

PICのプログラムを効率的にデバッグする方法考えています。LCDやSIOを接続するには8pinのPICではポート数が足りないしROM容量も限られています。もちろんデバッガもありません。
最初に考えたのはLEDの点滅回数で数値の1桁を表す方法。RAMの内容を数値3桁(0~255)分のLEDの点滅で表現する。
例えばFFなら次のようになる。
1100011111000111110001はLEDの点灯を、0はLEDの消灯を表している。これならPICでも簡単に実装できるし、読み取りもLEDの点滅回数を数えるだけなので楽だ。
もう少し細かい仕様を決めると次のようになる。
- 数値の1桁をLEDの点滅回数で表す
- 点滅は300ms点灯、300ms消灯
- 数値の0は1500msの点灯で表す
- 桁間は1000msの間隔をあける
モールス信号は短点(・)と長点(ー)の組み合わせでアルファベットや数字、記号を表現する。例えば'a'は'・ー'、数字の'0'は'ーーーーー'と表現する。このモールス信号をそのままLEDの点滅で表現してしまうと読み取りが大変なので少し簡略してみる。
短点(・)を1、長点(ー)を0としてバイナリとして扱うと読み取り易いかもしれない。
数値が小さいほど符号は短くなる。また、点間は短点と同じ間隔をあける。ワード間は短点7つ分の間隔をあける。間隔の仕様はオリジナルのモールス信号と同じだ。
0 ー 1 ・ 2 ・ー 3 ・・ 4 ・ーー 5 ・ー・ 6 ・・ー 7 ・・・ 8 ・ーーー 9 ・ーー・ A ・ー・ー B ・ー・・ C ・・ーー D ・・ー・ E ・・・ー F ・・・・AA(8bit)は次のようになる。
・ー・ー・ー・ーDEADBEAF(32bit)は次のようになる。
・・ー・・・・ー・ー・ー・・ー・・・・ー・ー・ー・・・・32bitまでワード長を伸ばしてしまうとわかり辛い。4bitワードか8bitワードが丁度よいワード長になる。ちょこっと実装してみて使ってみよう。
関連URL:
モールス符号 - Wikipedia
太陽光エネループ充電器(5)
Posted by arms22 on 2008年02月18日

作成した太陽光エネループ充電器の基板です。
最終回路図はこうなりました。
前回から修正した箇所は、
- 充電電流制限抵抗を10Ω
- 太陽電池出力に220uFのコンデンサ追加
- デバッグ用LED追加
結局、曇りの日とかの不安定さはそのままでしばらくいこうと思います。
あと、太陽電池電圧を検出するところの電圧が太陽電池電圧の半分よりずっと低いのは使用したテスターがヘボだったからのようです。会社のテスター(デジタル)ではかったらちゃんと太陽電池の電圧の半分の値がでていました。
Joule Thief
Posted by arms22 on 2008年02月17日

最近、いろいろなブログで紹介されているJoule Thiefを作ってみました。コイル、トランジスタ、抵抗の3つの部品でつくれる昇圧器です。こいつで渇れた電池からさらに電力をしぼりとろうという寸法です。
デジットで買った1個50円のコイルをほどいて、0.6mmのUEW線を巻いています。こんな簡単な回路で昇圧できるとは驚きです。出力はパルス上になっているので安定化された電源としては使えません。元記事Makeの製作ビデオがおもしろいです。眉毛の濃い人おもしろいなぁ。
関連URL:
Make a Joule Thief - Weekend Projects Video Podcast
電気泥棒増殖中
1.5V電池で白色LEDを点ける
Joule Thiefを作ろう
bird.dip.jp - 電気泥棒
ブロッキング発振ノート
付録基板祭り2008
Posted by arms22 on 2008年02月14日

今年もやってきました~。CQ出版の付録基板祭りです。今年のラインナップはこんな感じ。
- トランジスタ技術 2008年3月号 D級アンプ基板(発売中)
- Design Wave Magazine 2008年5月号 ARMマイコン基板(4月10日発売)
- Interface 2008年5月号 FR60マイコン基板(3月25日発売)
トランジスタ技術のD級アンプ基板は部品が実装されていないので、マルツとか共立で買ってください。マルツで部品セットが発売されています。
マルツパーツ館WebShop
http://www.marutsu.co.jp/user/index.php
Design Wave MagazineのARMマイコン基板はひと味違うらしい。3月号の特集記事みたいにARMマイコンとFPGA両方載った基板になるかもなー。
InterfaceのFR60マイコン基板はこちらの記事を参照してください。
Interface 2008年 5月号 FRマイコン基板
http://arms22.blog91.fc2.com/blog-entry-111.html
2008年 03月号 [雑誌]
CQ出版 (2008/02/09)
(デザイン ウェーブ マガジン)
2008年 03月号 [雑誌]
CQ出版 (2008/02/09)
太陽光エネループ充電器(4)
Posted by arms22 on 2008年02月05日

先日作成した回路図を少し修正して、基板を作成した。
修正した箇所は次の二つ。
- 太陽電池電圧を検出する分圧抵抗を100kから200kに変更
- 2SC1815のベース抵抗を47kから100kに変更
1つ目は充電電流。電池一本あたり80mAぐらい流れるように抵抗値を決めたはずが、実際には太陽電池の出力が3Vの時に30mA程度しか流れていない。
2つ目は太陽電池電圧を検出するところの電圧が太陽電池電圧の半分よりずっと低いこと。
1つ目はなんとなく分かる。。
3V(太陽電池電圧) - 0.2V(Vce) - 0.5V(Vf) - 1.2~1.5V(Vbat) = 0.8~1.1V
だから
0.8~1.1V / 0.08A = 10~13.75Ω
ってことだよね、たぶん。計算まちがえたな。。
2つめよくわからん。
試しに10K10Kで分圧して計ってみるとちゃんと半分になっていた。テスターの精度の問題か?
あと曇りの日は太陽電池の出力が2V以下になってしまうのでレギュレータが動作しない。ADのVRefは別に設けて、PICは太陽電池の出力でそのままうごかせばいいかな。。これも要検討。