2008年6月 5日

はてなブックマークに追加   炎電流

 炎の中を電流が流れるということをご存知ですか? そしてその特性は、ダイオードのように整流作用を持っていることを調べてみて、私もはじめて知りました。

 さっそく実験してみました。
 炎の中に上下に二本の針金を入れる(図1)と電流が流れます。

◆図1
honoo.JPG

 これは炎が高温によってイオン化されると電流が流れるからだそうです。ファンヒータ等では、炎を検出するために、この原理を利用しているようです。
 もしかしたら、図2(図C)のようにすると増幅器(3極管同様)ができるかもしれませんね。

◆図2
honoo2.jpg

◆図3
honoo3.jpg

◆図4
honoo4.jpg

※この実験は、炎を扱うので危険が伴います。実験する場合は、くれぐれも注意して行ってください。また、子供だけで実験をしないでください。

2008年4月 1日

はてなブックマークに追加   SOS ICで遊ぶ(2)

 UM77Tでスピーカーを鳴らしたい場合は、下の図のようにします。抵抗値やトランジスタはある程度、適当なもので構いません。(と言っても限度はありますが……)
um77t-2-1.gif
 もっと大きな音で鳴らしたい場合、オーディオ・アンプ用IC(TA7368Pなど)を使えば簡単ですが、ちょっともったいない気もします。そんな場合は、下の図のような回路を考えてみてもよいのではないでしょうか?
 NPNとPNPトランジスタを組み合わせたSEPP回路ですが、思いっきり簡略化しています。
 UM77T(SOS IC)の出力は正弦波ではなくて、ON/OFFが4kHzで繰り返される矩形波なので、これでも問題ないようです。スピーカーは直径10cm程度の大きさの物を使えば、部屋の中ではうるさいくらいの音量になると思います。
um77t-2-2.gif

はてなブックマークに追加   DDSチップでいろいろ遊んでみる
   --第9回--

コントロール・ソフトの解説
 では、VB.NETで書いたコントロールソフトを解説します。VB.NETをインストールしたあとでコントロール・ソフトを解凍してください。DDS_34 visual basic project fileを開くと、VB.NETが起動します。

dds34x2_shot2.jpg

 コントロール・ソフトを動かすときは、DebugメニューからStart debuggingを選択します。コントロール・ソフトが起動するときにFT245RLが接続されているかをチェックします。もし、接続が確認できないと「Write」ボタンが有効になりません。公開しているバージョンは、開発用にチェックができるようSPIへの出力を表示するようにしてあります。
 操作は、とくにわかりにくいものはないと思いますが、位相を調整するスライド・バーをつけてあります。これは、ローパス・フィルタなどを通したときに生ずるズレを調整するものです。ソフトウェア・ラジオでは、IQ信号が正確に90°の位相差になっていない場合、イメージ信号の排除が上手くいきません。およそ89~91°まで微調整できるようにしました。

dds34x2_shot1.jpg

はてなブックマークに追加   DDSチップでいろいろ遊んでみる
   --第8回--

SPIデータの出力をLEDで確認しているところ。左からD0,D1.....D7。
8bit.JPG
プログラムの実際
 最初にFTDI社のホームページからドライバをダウンロードして、インストールしておきます。VB.NETからFTDI社のドライバを呼び出すのはとても簡単で、用意されているコードをコピーしてくるだけです。1バイトずつ出力する場合は、サンプル・コードそのままでも良いのですが、SPIデータを文字列に構成してから出力する場合は、ByRefをByValに書き換えてください。
 Public Declare Function FT_Write Lib "FTD2XX.DLL" (ByVal lngHandle As Integer, ByVal lpszBuffer As String, ByVal lngBufferSize As Integer, ByRef lngBytesWritten As Integer) As Integer

 AD9834の制御データは次のような構成になっています。

初期化コマンド + 周波数データ + フェーズデータ + 初期化コマンド

 最初の初期化コマンドは、読み込むデータの指定を行います。周波数データ、フェーズデータを読み込んだあとで、内部レジスタをリセットすると読み込んだデータが有効になります。最初に周波数データをプログラムしてみます。
 周波数データは次の式で求めることができます。

dstatus = (f0 * 10 ^ 6) / MCLK * (2 ^ 28)

 dstatusはAD9834に渡すためのデータです。MCLKは外部クロック周波数です。今回は50MHzを使っています。文字列に並べるために求められたdstatusをいったん配列に直します。d0に周波数データを0と1のByte表現に直して配列として保存します。

n = Len(Convert.ToString(dstatus, 2))

  For i = 0 To 27
    If n >= i Then
      d0(i) = Convert.ToString(dstatus And 1)
      dstatus = dstatus >> 1
     Else
      d0(i) = 0
     End If
  Next

 d0をさらに1バイトずつに分解し、出力するための文字列を生成しますが、この辺は実際のコードを見てください。プログラムのソースは用意ができ次第、公開する予定です。VB.NETでは、バイトを操作するコマンドがCなどのように用意されていないので、このような手間をかけて処理しています。
 次回はコントロール・プログラムで試作基板を操作しながら、修正点、改良したい機能などを考えてみます。

2008年3月31日

はてなブックマークに追加   DDSチップでいろいろ遊んでみる
   --第7回--

SPIプロトコルを出力させる
 AD9834はSPI(Serial Peripheral Interface)という方法で制御します。SPIはI2Cと並んで、いろいろな機器の制御に使われています。PICマイコンにはSPIやI2Cを出力できるコマンドが用意されていますが、FT245RLにはありません。プログラムで1ビットずつ出力させる必要があります。
 SPIには、データの開始を示すタイミングの取り方で、いくつかのバリエーションがありますが、ここで解説するのは、AD9834に使われている方式です。(SPIのタイミングチャート。AD9834のデータシートより)

SPI.jpg

 AD9834は、SCLK、FSYNC、SDATAの三つの信号線を利用してコマンドを送ります。回路図を見るとわかるように、AD9834を2個使っているので、FT245RLのピン、D0、D1、D2とD3、D4、D5をそれぞれの信号に割り当てています。話を簡単にするために、ここでは一つ目のAD9834に対するコマンドについて解説します。
 FT245RLの動作については、玄箱proの記事「USB パラレルと LED」にちょうどよい解説が載っています。(光永さん、ありがとうございます)。こちらでもBig Bang Modeを使いSPIを出力します。
 タイミングチャートを見ていくと、SCLKが1サイクルするごとにSDATAが1ビット送られていることがわかります。Big Bang Modeでは、出力ピンを1回ON/OFFさせるには、1バイト出力させる必要があります。つまりSCLKを基準にするとSDATAを1ビット送るために2バイトの出力が必要になります。また、FSYNCが1->0に変化する次のタイミングで読み取りが開始されます。
 以上のことから、Big Bang Modeで出力させるための最初は次のように表すことができます。

SCLK -> D0 SDATA -> D1 FSYNC -> D2

D0  D1  D2
1  0  1
1  0  1
1  0  1  データを送る前の状態
1  0  0  FSYNCが0になり、開始の合図
1  x  0  データ開始
0  x  0  SCLK が1->0で1サイクル
1  x  0  次のデータ

※実は、あとでから気がついたのですが、FSYNCは複数のAD9834をつなぐときに、データを送るチップに対してロジックを0に設定するもので、単独で使う場合には、最初からGNDに落としておいてもかまいません。AD99xxシリーズでは、この機能が明確にされていてCS(Chip Select)と変えられています。
 次回は、VB.NETでの具体的プログラミングを解説していきます。

2008年2月21日

はてなブックマークに追加   DDSチップでいろいろ遊んでみる
   --第6回--

試作基板、完成
 基板を製作するのに少し時間がかかってしまいましたが、ようやく試作用の基板を作り、プログラムを書いてみたのでご報告します。今回の基板は最終的なものではなく、プログラムを書くための開発用という位置付けです。

ad9834x2.JPG

■プリント基板の製作
 プリント基板は片面1層のものを製作しました。製作の手順を簡単に説明しましょう。
①Eagleを使ってはんだ面のパターンを描き、インクジェット・プリンタでOHPシートに印刷します。
②フォトレジストを塗布した片面基板にOHPシートを重ね、ケミカル・ランプで露光します。
③露光したプリント基板は、水酸化ナトリウム溶液で現像、塩化第二鉄でエッチングします。
④ドリルで穴を開けると完成です。
もちろん、水洗や乾燥、また細かな注意点がいくつかあります。しかし、慣れれば、1時間くらいでできあがります。プリント基板の製作方法については、また別の機会に解説したいと思います。

 AD9834をコントロールするプログラムは、Visual Basic .NETでコーディングしました。VB.NETはマイクロソフト社のホームページから無料でダウンロードできます。USBインタフェースチップ、FT245RLのメーカーFTDI社のサイトにはVBのためのサンプルプログラムがたくさんアップされていますので、USB経由で制御プログラムを書くにはとても便利な環境が揃っています。この画像は、二つのAD9834を使って、90°の位相差を持つ信号を生成させたものです。

35shift.jpg
 画像はサンプリングレート150Ms/SのUSBオシロスコープDSO-2150で測定しました。次回は、VB.NETでのプログラミングを解説します。

2008年1月28日

はてなブックマークに追加   eTrexを上海で使ってみる

20080128_PVG_hotel.jpg


 フリーで公開されていた現地の地図をインストールし、目的地をマークしておいたeTrex Legendを現地で使ってみました。
 上海浦東国際空港に18時30分着、イミグレーションを通って空港を出たのは19時を回っていました。初めての国で、中国語がほとんどできない私は、心細さ120パーセントです。空港から上海市内のホテルまでは一人で移動です。ホテルでは、筆者の三浦氏と、通訳さんが待っていることになっています。
 にわか丸暗記の中国語を使って、タクシー乗り場で大衆タクシーに無事乗り込み、eTrex Legendを車の窓際に出してみました。うまく衛星を捉えているようです。道路は空いていたので、50分くらいで市内までスムースに走りました。

 上の写真は、このときのログをGoogle Earth Proで表示させたところです。右端が上海浦東国際空港で、水色のラインが走った軌跡です。左の上海市内のホテル付近までずっとログが残っていました。

はてなブックマークに追加   中国の緯度経度はどうやって調べる?

20080128_cq_sample.png

 eTrex Legendに現地(上海、深セン、香港)の地図を入れることができました。
 表示は英語なので読めます。ただし、現地の土地勘がありません。
 そこで、次の作業として、この地図の行きたいところに目印を入れました。

1 行きたいところの緯度経度を調べる
2 eTrex本体でwaypointとして調べた地点にマークを付ける

 以上の作業を繰り返しました。

 緯度経度の座標はGoogle Earthが大活躍しました。地図上にマウスを乗せるとその緯度経度がソフトウェアの下に表示されます。
 ただし、Google Earthだけでは、土地勘がないので目的の場所を見つけるのが大変です。そこで、目的の場所を見つけるためにほかの地図も利用しました。最初に思いついたのはGoogle Mapです。ところがGoogle Mapでは中国の地図の詳細は見れません。あちこちで聞きまわっていたら、Google Mapの中国版ditu.google.comなら詳細な地図が表示されると香港在住のイギリス人がネットを通して教えてくれました(感謝)。ばっちりです。漢字や英語表記がわかるところは検索もできたりします。
 つまり、Google Earthとditu.google.comの両方を見ながら、目的地を探し出し、緯度経度の座標を調べました。

飛行場
宿泊予定のホテル
行ってみたい店

などです。
 緯度経度をメモして、eTrex Legend本体でwaypointとしてマークしていきました。
 調べた緯度経度と、eTrex Legendの地図では、多少誤差が生じているところがありましたが、差はわずかです。逆に考えると、大幅にずれている可能性は低く、ほぼ合っているのではないかと、良い方向に考えて作業を進めました。
(ダウンロードした地図は、自分が実際にその地図を現地で使ったことがないので、どのくらいの実用性があるか、この時点では不透明でした)

※上の写真は、Google Earth ProでCQ出版社の座標を表示させてみたところです。キャプチャ画像にはアイコンが表示されていませんが、実際には地図上のCQビルの入り口付近にアイコンを乗せています。無料で利用できるGoogle Earthでも、同じように緯度経度を表示させることができます。

はてなブックマークに追加   eTrex用の上海地図は?

gps01.jpg

 中国の上海へ行ってきました。(レポートはNo.5の三浦一則さんの記事をご覧ください。)ハンドヘルドGPSの使い勝手をレポートします。
 私が持っているのは、eTrex Legendという数世代前のモノクロ表示のGPS(英語版)です。これまで海外旅行や国内旅行に活用してきました。
 国内の地図は、国土地理院が公開しているデータと日本郵便が公開しているデータを使い、ローマ字表記の地図を作ることができます(これらのデータをいくつかのフリー・ソフトウェアで処理する)。
 海外の地図は、元データが入手しづらいので、現地の方が公開しているGPS用データを利用するほうが完成度が高くベストな方法だと思います。公開されている地図データは、ボランティアがフリーで公開している場合がほとんどです。ただし、中には、ダウンロードできるのは、コミュニティの会員限定という場合もよくあります。


20080128_etrex_upload.jpg

 さて、今回は、上海、深セン、香港の地図をを探しました。苦労しましたが、運良く見つかりました(作成&公開されている方々に感謝)。このときダウンロードできたのは、上海は、I0002BBC.img、深センは、12352145.img、香港は、20070701_85200000.imgというバージョンのファイルでした。これらは常に改良されている場合がほとんどなので、現時点ではもっと後のバージョンになっていることが多いと思います。
 これらをimgファイルのビューア・ソフトmapedit(シェアウェアの評価版)で念のために確認後、SendMap20を使ってeTrexに転送しました。ちなみに、私が使ったバージョンでは、香港と深センの地図を両方同時にアクティブにはできませんでした。利用する地域の地図を片方ずつアクティブにして使いました。(操作上は特に問題ではない)

はてなブックマークに追加   555で遊んでみる(6)

555-6.jpg555-6.gif

 LMC555(CMOSタイプの555)を二つ使って、「静電容量式タッチ・スイッチ」を作ってみました。
 IC1のLMC555を適当な周波数で発振させるとき、コンデンサと抵抗の時定数で発振周波数が決まります。このコンデンサをセンサとすることで、タッチ・スイッチを実現しています。
 コンデンサの基本構造は2枚の電極が向き合っていて、その間に誘電体が入っています。電極の面積が同じならば、誘電体の誘電率によって、コンデンサの容量は変わります。
 2枚の電極を、写真のように向かい合ったクシ形に配線したスズメッキ線をコンデンサの代わりとすると、電極(クシ形の線)をビニル袋や紙などで覆っていても、その上に手を置けば、空気中と人の手(ほとんどが水分)とでは比誘電率が変わるので、静電容量は変化し、IC1のLMC555の発振周波数が変化します。
 このとき、人の手は空気より比誘電率が大きいので、絶縁された電極に「タッチ」するとセンサ部分の容量は大きくなり、発振周波数は低くなります。
 IC1のLMC555の出力は、図の点線部分によって、発振周波数に応じた電圧に変換します。周波数が高いほど、点線部分からの出力が大きくなるので、「タッチ」して周波数が下がると、この部分からの電圧は下がります。
 IC2のLMC555では「タイマ回路」を構成しています。555のもっとも普通の使い方ですネ。555は2番ピンの電圧が、電源電圧の1/3以下となるとトリガがかかり、ICはタイマとしての動作を開始します。
 つまり、点線部分の出力電圧が、「タッチ」していない場合電源電圧の1/3以上で、「タッチ」すると1/3以下となるように回路の各定数を決めれば、センサ部分の静電容量変化で動作するスイッチを作ることができるわけです。
 今回の回路では、IC2によって「タッチ」してから一定時間LEDが点灯するようにしています。点灯している時間は100μFと33KΩによって調節できます。コンデンサや抵抗を大きくすれば、長い間点灯しています。
 センサからの配線は、極力短くしないと、配線の静電容量が動作に影響してしまいます。また、センサ部分の作り方などによってIC1の周りの部品の定数は調整が必要な場合もあります。これらの値はカット&トライの必要があるでしょう。
 今回はあくまで「遊ぶ」事を目的に、555だけの最低限の回路で組みましたので、実用性は???です^^;
 動作の様子は、動画ファイル(555-6.wmv)をご参照ください。

タグ一覧

最近のコメント

カレンダ

2008年6月
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

おすすめ書籍


会社案内
情報セキュリティおよび個人情報の取り扱いについて

コメントとトラックバックは、spamを予防するために、編集担当が公開の作業をするまで非公開になっています。
コメントはそれぞれ投稿した人のものです。