« 奇妙なLCDの発掘 | トップページ | 猿でもわかる無線システム その3 »

2012年5月16日 (水)

猿でもわかる無線システム その2

皆の者大儀。
さてブランク空きすぎのこの企画w。またレポートを開始したい。
赤外線通信から無線通信への対応として、不可欠でキーポイントとなるのは言わずと知れた無線送受信モジュールだ。
このモジュールとマイコンとの間の信号やり取りが重要となるわけだが、以下に実験過程でポイントとなった項目を列記したい。

ポイント1.
買ってきた送受信モジュールについてサイトの説明を見ると、
"送信モジュールの電源(Vcc, GND)を接続し、dataピンにHi/Lo のデジタル出力信号を与えます。受信モジュールの電源(Vcc, GND)を接続し、dataピンよりロジックレベルでHi/Lo のデジタル出力信号が出力されます。"
とあるがこれをこのまま信用するとえらいことになる。
まず、送信モジュールに入力する信号は周波数変調をかけないといけないようだ。
以下2チャンでの説明を抜粋しよう。
"その手のモジュールは、例えば、送りたいデータでFSK変調した信号を入力して使うとかする。つまり、送信側では、送りたいデータがHの時は○○Hz、Lの時××Hzでトグルする信号を送信モジュールに入力し、受信側では、受信モジュールの出力信号を周波数で弁別し、送信データがHかLかを判定する。"
なおFSK変調とは...(Wiki)
デジタル値をアナログ信号に変換する変調方式の一つで、周波数に値を割り当てる方式。異なる周波数の波を組み合わせ、それぞれの周波数に値を対応させて情報を表現する。
2値の場合は0のとき低周波数、1のとき高周波数といったように割り当てる。回路が比較的単純で済み、振幅変動の影響を受けにくい。アナログ回線で使われるモデムや、一部の携帯電話方式に利用される。

そうなんです。
単に送信モジュールにHIGH/LOWを入力するだけじゃ受信側で判断できんのです。
その辺の実験が、ここにも詳しく書いてあるので参考にされたし。
http://bikesalon.com/kousaku/pic/radio.html
そしてこの周波数はなんぼにするんやと突き詰めようかと思ったが、結果的に赤外線パルス周波数と同じ38Khzで動くようじゃw
だからこの周波数を採用することにした。
実はもっと効率いい周波数があるのかな?

ポイント2.
受信側だが、ポイント1を対応して信号は出てくるんだが、シリアル信号に対して論理が逆ででてくる。受信側ソフトは前回説明したようにシリアル受信しているだけなので、トランジスタで反転してからマイコンへ入力させる。

ポイント3.
受信信頼性を高めるため、受信データのうち固定値データのチェックを行う。本来はサムチェックを入れた方が良いがやってない。

ポイント4.
知り合いの武将の説によれば送信側の送り始めで息が切れると(送信から送信の間の時間があくと)、立ち上がりが悪い(コイルの充電?)のでデータにノイズがのる。
なので送信間隔が若干大きくなる最初だけ同じデータを二度送りする。連続で送り続けるシステムにおいてはこの処置は必要なし。

とりあえず今回はここまで!
ソフトと回路図はこれ。
「thermo_meter_lm74Ver9.c」をダウンロード

Prj12_2

※ソフト使用上の注意
ソフトは例によってMikroC Free版DemoLimitのため、送信プログラムと受信プログラムはコンパイルで切り替えること。ソース上にdefine定義。
それとコンパイル最適化レベル1以上でないと動きがおかしい(すまんなんでか知らんw)。
当たり前だけどまねするひとは生命維持装置とかにつかっちゃだめだよ

« 奇妙なLCDの発掘 | トップページ | 猿でもわかる無線システム その3 »

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: 猿でもわかる無線システム その2:

« 奇妙なLCDの発掘 | トップページ | 猿でもわかる無線システム その3 »