2016-06-17 11:56 | カテゴリ:PIC応用回路

実際にシリアル通信信号に変調をかけてみる


PWMの発信も上手くいきましたので、次はこれを利用して、シリアル送信信号を変調します。
まず、通信速度ですが、後述のPWMで変調をかけると、変調の周波数が38KHz程度のため、高速のRS232通信は出来ません。
2400bps程度の速度で設定して、様子を見ることにします。

その部分のプログラムを変更しました。

NewRS232.jpg


続きはこちら、、、、、


(一部説明図が違っていましたので、修正しました)

メインプログラムもRS232信号とPWM信号が同時に出力されるように手直ししました。


main01.jpg

main02.jpg

次に、変調ですが、シリアル通信の信号のONの時に、このPWM信号を出力し、OFFの時には、出力しないようにゲートを掛けます。
実際のRS232の出力(TX信号)は、負論理なので、通常は、Hレベル、ONの際にはLレベルになりますので、実際には、Lレベルになったら、変調がONとなるようにします。

これを論理回路(TTL)で組み上げるとこうなります。
手持ちのTTLがNAND回路しか無かったので、ちょっと複雑ですが、こんな回路になりました。

Logic2.jpg


ちなみに、各ポイントのロジックはこうなります。

Logic.jpg



実際の回路をブレッドボードに組みましたが、小さなブレッドボードなので、配線がえらいことになりました。

回路

これで、シリアルのTX送信信号をそのまま、PWMの38KHzで変調を掛けることができました。
これをTR経由で赤外線LEDにつないでドライブすれば、赤外線シリアル送信機ができそうです。

オシロで、ちゃんとシリアル送信信号が変調されているか確認しました。
シリアル信号らしきものは出ています。

変調1

拡大してみると、変調もかかっているようです。

変調2

しかし、オシロなので、綺麗に観察できません。
メモリースコープというか、USBオシロが欲しいです。

この部分を組み込んだ最終プログラム(prog005)はこちらです。


prog005.txt

なんとか赤外線通信の信号に変調がかけられました。
整理すると、

AD変換-> 結果を送信 ->
PWMで変調信号を作成->
     これらを合成して->シリアル通信でPWMをゲート->赤外LED


となります。
ブレッドボード上のLEDアレイを撤去して、代わりに赤外線LEDを取り付けます。
また、受信用の赤外線受信モジュールを取り付け、その出力を、RS232インターフェスICのピンに接続し、PCへ信号が送られるようにします。

IR01.jpg

IR02.jpg

で、電源ONで、例のジョイスティックをぐるぐるまわして、しばらくすると、PC画面上にちゃんと信号が表示されました。
赤外線LEDと受信モジュールが隣り合って設置されたり、近くに反射物体があれば、赤外線LEDを受信モジュールに正対させなくてもちゃんとデータが転送されます。

IR_receive.jpg

今回、ソフトを手直し、整理したついでに、データの転送順を逆にして、上位バイトから先に送るように変更しました。

最終のプログラムがこちらです。

Prog021.txt

これから、汎用基板に回路を組んで、リモコンボックスの製作といきたいと思います。


【ジャンル】:趣味・実用 【テーマ】:ホビー・おもちゃ
コメント(7)

管理者のみに表示する