Indoor airplane world
 




PIC16F628 と液晶ディスプレイ LCD1602 を使ったパルス幅測定器


 送信機のパルス幅はメーカによっても、機種によっても異なる。送信機から出力されるパルス幅をダイレクトに読むことができれば、自作送信機のニュートラル調整やパルス幅の調整ができる。また、赤外線受信機を作ったり、PIC のプログラムを組む際にも役立つ。市販の送信機ではニュートラルのずれなどを確認して補正することも可能だ。そこで、液晶ディスプレイにパルス幅を表示するパルスチェッカを作ることにした。

 はじめはユニバーサル基板に組み込んで、受信機のデコーダ出力のパルス幅を読み取ってテストしていたが、この方法だといちいち測定したいチャンネルに測定端子を差し替えなければならないので結構面倒だ。そこで送信機からシリアルパルスをパルスセレクタで切り替える方法を思いついた。そうすればいちいち測定端子を差し替える必要がなくなる。


Futaba DIN connector type adaptor

 市販の送信機のトレーナ端子から出力されるシリアルパルスをパルスセレクタに入力する。スロットルチャンネルのパルスをチェックしたければ、たとえば Futaba ではスイッチを '3' に切り替えることでスロットルチャンネルパルスが選択され、そのパルス幅をパルスチェッカに表示する。送信機からの出力される電圧をレギュレータで 5V にしてパルスチェッカの電源として使うので、本体の電源は必要ない。


IR sensor adaptor

 赤外線受光素子を直接パルスチェッカに接続すれば、あらゆる赤外線送信機からのパルスがチェックができる。何チャンネルの送信機でもかまわないが、今回のパルスチェッカでは 1 ~ 4 チャンネルまでのパルス幅が測定できる。赤外線受光素子には 5V の電源を供給し、その電源と赤外線受光素子からの出力をパルスチェッカに供給する。

 今後PSコントローラを使った送信機のように、独立型の赤外線送信機を作るときは、シリアルパルス出力ポートを設けておけば、その出力ポートに直接パルスチェッカを接続して、パルス幅の設定や調整が行えるようになる。

 その後、プログラムを見直してパルスセレクタとパルス幅測定プログラムをひとつの PIC に組み込むことができた。これで周辺回路も大幅に簡素化することができた。今回使用する PIC は PIC16F628-20/P。


パルスチェッカ回路図

pulse-check.HEX for PIC16F628
pc-628A.HEX for PIC16F628A
(マウス右クリックで「対象をファイルに保存」)

パルスチェッカ・パーツリスト
部品名数量参考価格調達先
PIC16F628-20/PまたはPIC16F628A-I/P1300円秋月電子Digi-Keyほか
液晶ディスプレイ LCD1602BS-B1700円秋月電子
デジタルスイッチ SMK(BCD 出力)1378円サトー電気 電子部品専門店
クリスタル 8MHz(HC-49/S)150円秋月電子ほか
セラミックコンデンサ 20pF 50V240円秋月電子、千石電商ほか
タカチケース HA1593-DB1510円千石電商
トリムポット 10KΩ 0.1W(LCD のコントラスト調整用)130円千石電商
抵抗 33KΩ 1/6W15円秋月電子、千石電商ほか
抵抗 10KΩ 1/6W210円秋月電子、千石電商ほか
JSTコネクタ 3P ベースつきピン120円西川電子部品(ネジ部)
片面ユニバーサル基板 B タイプ(95mmx75mm)1140円秋月電子、千石電商ほか
セラミックコンデンサ 0.1μF 25V110円秋月電子、千石電商ほか
IC ソケット 18 ピン110円秋月電子、千石電商ほか
シングルピンソケット 3 ピン(クリスタル用)110円秋月電子、千石電商ほか


  ラジコン用送信機のパルス幅は、およそ 1msec から 2msec の間で変化する。メーカによって多少違うが、Futaba ではニュートラルが 1520μsec、Sanwa と JR では 1500μsec となる。スティック操作によるパルスの変化幅は Futaba で ±430μsec、Sanwa と JR では ±400μsec となっている。

 PIC16F628 には 16 ビットタイマがあるのでそれを使って 1μsec 単位でカウントできるようにした。そうすればカウントした値をそのまま表示してパルス幅を直読することができる。

 当初 8MHz のレゾネータ(セラロック)でテストしていたが、今回は測定器ということもあり、8MHz のクリスタルを使うことにした。これで高精度な測定結果が期待できる。


今回使用したデジタルスイッチ


デジタルスイッチの出力端子


今回使用したタカチのケース と LCD ディスプレイ

 使用した液晶ディスプレイは 16 文字 2 行表示の LCD1602。この LCD のドライブ方法については後閑哲也著「たのしくできる PIC 電子工作」第 6 章「超音波距離計」に詳しく書かれている。この本では PIC16F84 が使われているが、今回使用した PIC16F628 でもまったく同じピン接続で使っている。

 ケースは液晶ディスプレイの寸法も考えずに、これなら入りそうだと買ってきたタカチ電機工業の HA1593-DB。ちょっと値段が高いと思ったがケースが頑丈にできていて、サイドピースも 2 種類ついていた。



 ケース内部の不要な出っ張りを削ったり、液晶ディスプレイの基板の一部を削ったりして何とかケースに収めることができた。液晶ディスプレイの表示部分をはめ込む穴を加工するのに苦労した。何しろケースの厚さが 3mm もある。チャンネルセレクト用のデジタルスイッチ(サムホイールスイッチ)も何とか取り付けられるようにした。両者とも瞬間接着剤でケースに固定している。上の画像はまだ中身が入っていない。



 ユニバーサル基板を使って部品をとりつけてみた。B タイプの基板を使ったが、部品が少ないので基板を小さくカットした。PIC とクリスタルの取り付けにソケットを使用している。電源と信号入力用の JST コネクタは左サイドパネルに取り付けた。

 コントラスト調整用トリムポットは、基板に液晶ディスプレイをセットしてからでは調整できないので、あらかじめベンチテストでコントラスト調整を行ってから取り付ける。いきなり組み立てる場合は取り付け位置を変更するか、縦型のトリムポットを使うなどの工夫が必要になる。

 今回電源は外から供給するようにしたが、全消費電流が 4mA 以下と少ないので、右側のスペースに 3V のコイン型リチウム一次電池を収めて、DC-DC コンバータで昇圧した 5V の電源を供給するようにしてもよい。

 タイトル画像は外線受光素子と 5V の電源を外部から供給して、ハイパワー 2 チャンネル赤外線送信機から受信したパルス幅を測定しているところ。デジタルスイッチの表示が '2' になっていて、チャンネル 2 のパルス幅が 1520μsec と表示されている。2 行目には 'toko' と表示されているが、ダウンロードファイルでは 'pulse-width' と表示されるようになっている。



 サイドパネルにセットしたJSTコネクタ(3Pベース付きピン)はほかのコネクタと互換性のある配線とする。画像左のコネクタは上から電源(+5V)、GND、シグナルの順になっている。

 組みあがったら配線に間違いがないか十分に点検してから 5V の電圧を供給し、液晶ディスプレイの右下に 'pulse-width' と表示されれば正常に動作している。もしコントラストが強すぎたり、何も表示されない場合は、コントラスト調整用のトリムポットを回して最も見やすい状態に調整する。トリムポットを回しても 'pulse-width' の文字が表示されないときは、配線に間違いがないかよく確かめる。パルス幅の表示はパルスが入力されてから。

 特に小さくつくることにこだわらないなら、もう少し大きなケースに収めるほうが楽に組める。



[補足事項]
2005/03/02 回路図でLCDの輝度調整ボリュームの2番と3番が入れ替わっていたのを訂正
2005/03/23 PIC16F628A用のHEXファイルを追加


コメント ( 36 ) | Trackback ( 0 )


« 速報 第64回... 手づくりひこ... »
 
コメント
 
 
 
PIC16F628 (NOBU)
2005-01-29 22:35:15
データ―有難う御座いました。後で必ず作ります。

ところで、 PIC16F628 を後で使う計画は有りますか?

公開してくれる計画が有れば少し余計に秋月から

入手したいのですが、、、、、



私は少し大きめのケースに入れて電池内蔵で行きたいです。
 
 
 
質問です (moto)
2005-01-29 22:44:55
デジタルスイッチの働きがいまいち分かっていないので素人質問です。スイッチから5本も足が出ていますが、どれをつなぐのでしょうか?

 
 
 
愚問だった (moto)
2005-01-29 22:51:39
スイッチの1番2番をつなぐのですよね。

どれがいちばんか調べなければ・・・。
 
 
 
追加しました (toko)
2005-01-29 23:37:56
デジタルスイッチの出力画像と、回路図のスイッチ番号を追加しました。
 
 
 
PIC16F628 (toko)
2005-01-30 09:27:46
PIC16F628はPIC16F84に代わって多く使われていくと思いますが、今後の使用予定についてはいまのところなんともいえません。何個か調達しておいてもよいと思います。
 
 
 
有りがたいです (NOBU)
2005-01-30 11:24:28
了解しました、PIC16F628は少し多めに購入します。今回、初めての計測器関係なので興味深々です。



低消費電流なので006Pに3端子レギュレーターを予定しています。



それにしても、機体製作以外の製作物が出来てきてどれから行くか、ウレシイ悲鳴を上げています。感謝!感謝!

 
 
 
ありがとうございます (としちゃん)
2005-01-30 12:56:49
HEXファイル受け取りました。ありがとうございます。部品はあと、デジタルスイッチとクリスタルだけ手に入れれば、製作に入りたいと思います。サトー電気ならすぐ近くですから。又楽しみが一つ増えました。そー言えば送り先のメールアドレス、コメントに入れてませんでしたね。失礼しました。
 
 
 
PIC品切れ中です (moto)
2005-01-30 13:36:55
秋月では、PIC16F628-20/Pが、本日現在品切れ中です。16F628A-I/Pまたは、では動きませんか?

ほかを探すか・・・。
 
 
 
高価なPIC (moto)
2005-01-30 13:48:34
若松で472円・・・。在庫あり・・・。
 
 
 
画像追加 (toko)
2005-02-01 00:18:27
入力コネクタの取り付け状況を示した画像を追加しました。かなり端についていますが、液晶ディスプレイの14Pコネクタをよけたためです。
 
 
 
完成 大感謝 (としちゃん)
2005-02-13 13:15:07
パルスカウンタ完成しました。とても使いやすいです、ありがとうございます。今回16F628AにAKIのプログラマで頂いたHEXファイルを書き込んでみましたが、今のところ問題なく動いています。液晶に自分の名前が表示されたとき、とてもうれしかったです。
 
 
 
間違い (toko)
2005-03-02 18:09:33
石川さんからのご指摘で、回路図に間違いがあることがわかりました。輝度調整ボリュームのLCDとの配線3本のうち2本の配線が入れ替わっていました。



すでに製作された方は、申し訳ありませんが一度確認をお願いします。
 
 
 
PIC16F268A用HEXファイル追加 (toko)
2005-03-24 10:09:16
秋月電子でPIC16F628の入手が困難なため、PIC12F628A用にプログラムを書き直したHEXファイルを追加しました。
 
 
 
リンク切れ? (COCO)
2005-03-24 12:24:15
もしかしたらPIC12F628A用HEXファイルがリンク切れしているのでは・・・間違っていたらすみません。
 
 
 
リンク切れ (toko)
2005-03-24 12:35:20
ご指摘ありがとうございます。早速修正しました。

PICKit1で書き込みができるように14ピンフラッシュタイプのPICに移植を予定しています。
 
 
 
質問 (COCO)
2005-03-30 16:43:23
以前から気になっていたのですが、プロポのトレーナ出力のシリアルパルスは負論理なので、プロポを直接パルスチェッカーに接続する時は、トランジスタで正負反転させる必要があるのかなと思っていたのですがここの回路図を見ると直接接続しているようです。しかも実際に正常に動いています。

これはあまり関係ないことなのでしょうかそれとも、パルスチェッカーの内部で調整しているのでしょうか?

あほみたいな質問かもしれませんが、ずっと気になっていたものですから・・・
 
 
 
パルスチェッカの入力 (toko)
2005-03-30 17:18:29
説明が十分でない点を反省しています。



「PICマイコンでつくるインドア・プレーン」P75の図4.2の「赤外線受光素子の動作」を見てください。赤外線受光素子の出力は負論理ですね。Futaba送信機のシリアルパルスも負論理なのでパルスチェッカ内部のプログラムで負論理の入力を処理するようにプログラムしてあるのです。



たまたまFutaba送信機のパルス電圧が5Vなのでそのまま入力できるというわけです。
 
 
 
失礼しました (COCO)
2005-03-30 18:17:41
わかりましたありがとうございます。
 
 
 
完全に読み落としていました。 (COCO)
2005-03-31 09:32:02
家に帰って本を確認して、すごく分かりやすく書いてあるのを見て、tokoさんに迷惑をかけたなぁと反省。



ふと、もしかしたら、赤外線受光素子からの信号をsmart propo経由でFMSもっていけば、パルスチェッカーを作れない人も簡単に送信機の動作確認ができるかもなどと考えたものですから。

以前からFMSをするのにコードがじゃまだったのでこれも赤外線でできないかと

で、実際にやってみましたが最近のバージョンではsmart propo自体が動きませんでした。(涙)
 
 
 
PICKit1で書き込み (しゅんすけ)
2006-04-25 12:15:55
PICKit1環境では14Pinまでしか書込み出来ないので

以下の移植は対応されるとグッと製作が進む事でしょうね。(もう一年が経ちますね)



>リンク切れ (toko)



>2005-03-24 12:35:20



>ご指摘ありがとうございます。早速修正しました。

>PICKit1で書き込みができるように14ピンフラッシュ>タイプのPICに移植を予定しています。

 
 
 
Sはどこから?? (Bigwin)
2006-12-19 12:40:49
入門者です。
PSコントローラを使った送信機やコイル巻き機等が
完了し、今は受信機の製作をしています。下記の
+5VとGNDはわかるのですが、Sはどこから
とればいいのですか?
電子工作も入門者なのでお願いします。
> 今後PSコントローラを使った送信機のように、
> 独立型の赤外線送信機を作るときは、シリアル
> パルス出力ポートを設けておけば、その出力
> ポートに直接パルスチェッカを接続して、
> パルス幅の設定や調整が行えるようになる
 
 
 
S端子について (toko)
2006-12-19 17:47:52
独立型の赤外線送信機にはS端子(シリアルパルス出力端子)の付いた機種と、付いてない機種があります。
PSコントローラを使った送信機にはS端子が設けられていません。
そのような場合は赤外線受光素子を使って、送信機から出力される赤外線信号を受信してパルス幅の設定や調整を行ってください。
 
 
 
Re:S端子について (Bigwin)
2006-12-19 22:22:54
ありがとうございました。
今日、部品が揃いましたので、製作にとりかかりたいと思います。
 
 
 
原因、予想できませんか? (Hide)
2007-01-01 01:38:39
電子工作は苦手ですがチャレンジしています。
2回新部品でやり直したのですが、同じ現象で頭抱えています。
一回目はユニバーサル基盤で、2回目はプリント基板を起こしてみました。
双方とも、ディスプレィには一行目は黒■が一列の並び、二行目はなにも表示されません。
PICも628、628Aと双方試してみましたが同じ結果となりました。何が原因か予想つきませんか?
PICへの書き込みかと思いましたが、ベリファイしてもOKnようですが・・・・
 
 
 
お騒がせしました (Hide)
2007-01-01 13:09:08
元旦そうそう朝から基盤をルーペで眺めていたら、ハンダが十分で無い所を見つけ解決しました。(笑)
 
 
 
JRは? (jun)
2007-01-25 11:52:11
JRのプロポの場合はレベルが違のでTrで、レベル変換してから入力することになるのですかね?
 
 
 
JRの場合 (toko)
2007-01-25 14:29:35
JR送信機からの赤外線出力をパルスチェッカ側で赤外線受光素子を通して測定するのが最も簡単です。

送信機からのパルスを直接パルスチェッカに入力する場合はレベル変換が必要になります。

JRの場合のレベル変換回路は「PICマイコンでつくるインドア・プレーン」の34ページに載っていますから参考にしてください。
 
 
 
JR 10X接続しましたが (jun)
2007-01-27 13:34:59
PICマイコンでつくるインドア・プレーンの34Pの回路を付加してPCM10Xを接続してみましたが、うまく
動作しませんでしたので、FMS用のPICインターフエース回路 C1815のベース抵抗に2.7Kを入れた例の回路を組み、
再度接続してみましたが、またまただめでした。
その後、入力の極性を反対(ピンジャックのSIGとGND)を逆にして入力したら動作することが出来ました。10Xの出力違うのですかね?
会社のシンクロで観測して見ようと思います。
 
 
 
16F628と16F628Aの違い (nano)
2007-02-07 11:18:50
はじめまして、通りすがりの者です。

16F628用とは別に16F628A用のHEXファイルがありますが、両者は何が異なるんでしょうか?

16F628と16F628Aなら、ソフト的にはコンパチですよね?
(二つのHEXファイルを見比べても、まったく同じに見えますが、、、?)
 
 
 
16F628と16F628Aの違い (toko)
2007-02-07 12:36:14
両者の違いはデータシートをご覧ください。Microchip社では両者は別扱いとなっています。
それぞれターゲットデバイスを指定してプログラム開発を行い、その結果得られたHEXファイルを提供しています。
プログラム条件によっては同じHEXコードを吐き出す場合もあると思いますが、両者は異なるデバイスとして扱うのが正しいと思います。
 
 
 
SENSOR抵抗 (kiyoka)
2008-03-06 00:22:03
今ページを見ていて気が付いたのですが回路図で33kと成っていますがショップ製品欄では10kと記載されているのは33kの間違いではないでしょうか・・・
 
 
 
訂正しました (toko)
2008-03-06 01:08:20
ショップ記載の10KΩは33KΩの間違いでした。
早速訂正しました。

念のために
33KΩのプルアップ抵抗は10KΩでもまったく問題ありません。
 
 
 
受信機に直付けするには (Scott)
2011-11-22 01:45:34
はじめまして。
フタバの4PKのパルスデータを探していて、
このサイトにたどり着きました。
3chの所だけパルスをとれればいいのですが、
デジタルスイッチを使わず、
フタバコネクタを直接付けたい場合はどう結線したらよろしいのでしょうか?
またプログラムはどこをいじったらよろしいのでしょうか?
お手数ですが宜しくお願い致します。
 
 
 
RE:受信機に直付けするには (toko)
2011-11-22 11:05:52
受信機から出力されるチャンネルパスルと、送信機から出力されるパルスは全く異なるため、ここで取り上げたパルスチェッカーを受信機につなぐことはできません。
 
 
 
Unknown (せきがいせん)
2011-11-25 10:07:36
赤外線受信機、送信機を持っていてらじこんにのせたいです。教えてください
 
 
 
何をラジコンに載せたいの? (toko)
2011-11-25 17:27:35
何をどうしたいのかわかりませんね。
 
コメントを投稿する
 
名前
タイトル
URL
コメント
コメント利用規約に同意の上コメント投稿を行ってください。
数字4桁を入力し、投稿ボタンを押してください。
 
この記事のトラックバック Ping-URL
 


ブログ作成者から承認されるまでトラックバックは反映されません
 
※ブログ管理者のみ、編集画面で設定の変更が可能です。