[794] IS1U60 その後 投稿者:JinSato 投稿日:00/09/14(Thu) 08:49
スレッドが長くなってしまいましたので、別にさせていただきました。
さて、 http://www.sharp.co.jp/ecg/pdf/unit/is1u60.pdf にもある 38Khzようの
赤外線受信モジュールですが、PICに繋いで、CCS (http://www.ccsinfo.com/picc.html
製のCコンパイラにある、RS232C用の関数で、GetCh() を使って RCXのリモコンから
送られてくるコマンドを読むことができました。 (自信度95%くらい)

今日、http://www.sharpsma.com/datasheets/displays/scm/book1.pdf にあるような
パラレル接続する、LCDを1つ購入してきたので、値を表示してみるようにしてみたいと
思います。

近いうちに、テストした様子などリポートしてみたいと思います。

[801] 報告: LCD の苦悩〜 。 投稿者:JinSato 投稿日:00/09/14(Thu) 16:05
IS1U60 でGetCh()でどうも、上手くIRのコマンドを受けているようなので
LCD (http://www.sharpsma.com/datasheets/displays/scm/book1.pdf )を接続して
内容をHexで表示してやろうとおもっておりました。

ちょうど 後閑 哲也さんの 電子工作の実験室 ( http://www.picfun.com/ )のCコンパイラ
のところに 液晶表示ようのCのルーチンが公開されていますので、それを使わせて頂きました

回路等(http://www.picfun.com/c13.html) を参考にしてブレッドボードに作って
Hello とか表示しようと思ったのですが、あれ〜〜〜 うんともすん とも言わないようです。
念のため、なんどもテスターでショートや、電源などの接続などをチェック、
プログラムもチェックしても だめでした〜。 (ん〜、おかしいな〜)

ということで、今日はタイムアウト。 また、時間を作って実験してみたいと思います。
(なんだか、どんどん、はまっていく感じが〜 .....)



> 今日、にあるような
> パラレル接続する、LCDを1つ購入してきたので、値を表示してみるようにしてみたいと
> 思います。
>
> 近いうちに、テストした様子などリポートしてみたいと思います。

[802] Re: 報告: LCD の苦悩〜 。 投稿者:">mac 投稿日:00/09/14(Thu) 16:46 <URL>
> Hello とか表示しようと思ったのですが、あれ〜〜〜 うんともすん とも言わないようです。

6800シリーズのBUS I/Fを前提に設計されたLCDですね。
かなり前に使ったことあるなあ。

まず、30kのVRを端から端まで回してちゃんと、
真っ白から真っ黒まで行ってますか?

それと省電力にするため、あっちこっちはいインピーダンスのところがあって、
下手に電源入れたまま基板を触るとおかしくなることが多いです。
ひどいときには、ラッチアップしてどんどん電流が流れてしまい、
ドライバーICが過熱して、LCDを裏側から炙ったもんで、
そこだけ真っ黒になってから異変に気付いたっけ(^^;
電源切って団扇で煽いだら直ったけど...

長時間動かしているとノイズで、modeが変わってしまい、
表示が乱れるトラブルにはその後も結構悩みました。
結局、周期的に初期化してごまかしたんだけど...

[803] Re^2: 報告: LCD の苦悩〜 。 投稿者:JinSato 投稿日:00/09/14(Thu) 16:55
mac さん、お付き合い有難うございます〜。 亀のような学習スピードです。

ところで

> まず、30kのVRを端から端まで回してちゃんと、
> 真っ白から真っ黒まで行ってますか?

それすらないのです。 (涙)
デバイスそのものが不良品ということも有るのかな〜などと思っておりました。
(あ〜、45ドルもしたのに〜。 ..... )

> それと省電力にするため、あっちこっちはいインピーダンスのところがあって、
> 下手に電源入れたまま基板を触るとおかしくなることが多いです。

ひよっとして、破壊してしまうととか? (そんなにやわな感じはしなかったですが)

> ひどいときには、ラッチアップしてどんどん電流が流れてしまい、
> ドライバーICが過熱して、LCDを裏側から炙ったもんで、
> そこだけ真っ黒になってから異変に気付いたっけ(^^;
> 電源切って団扇で煽いだら直ったけど...

そうなんですか〜。 ひよっとして、基盤の裏がわで何かとショートしているかな〜
一応、何度か抜き差ししている時に、裏面にあるLSIを触れたのですが熱も
持っていないようでしたが〜。

> 長時間動かしているとノイズで、modeが変わってしまい、
> 表示が乱れるトラブルにはその後も結構悩みました。
> 結局、周期的に初期化してごまかしたんだけど...

有効なテクニックかも!! あ〜、苦悩は続きそうです。

[804] Re^3: 報告: LCD の苦悩〜 。 投稿者:ななしの 投稿日:00/09/14(Thu) 17:32 <URL>
Jinさんこんにちは。

> それすらないのです。 (涙)
> デバイスそのものが不良品ということも有るのかな〜などと思っておりました。
LCDの初期化がうまくいってない可能性があると思います。
ライブラリのソースを確認したら初期化コマンドを送る前にwaitしているようですがその値を増やしてみるのはどうでしょうか?
LCDの仕様書を確認したら15ms以上waitしなさいと書いてありました。

[805] Re^4: 報告: LCD の苦悩〜 。 投稿者:JinSato 投稿日:00/09/14(Thu) 17:42
ななしのさん コメント有難うございます〜。

> LCDの初期化がうまくいってない可能性があると思います。
> ライブラリのソースを確認したら初期化コマンドを送る前にwaitしているようですが
>その値を増やしてみるのはどうでしょうか?
> LCDの仕様書を確認したら15ms以上waitしなさいと書いてありました。

お、本当ですね。ライブラリーの方は、 5ms だけしかしていないみたいですね。
早速変更してみたいと思います。

しかし、その前に、mac さんに教えていただいた 30KΩの可変抵抗
をいじっても、液晶が暗くなったり、明るくなったりするという事がないのが凄く
気になっています。

ちなみに、バックライトの方は元気に光るんですが〜〜。
(テストの時は消してやっていますが)

[806] Re^5: 報告: LCD の苦悩〜 。 投稿者:">mac 投稿日:00/09/14(Thu) 18:45 <URL>
> しかし、その前に、mac さんに教えていただいた 30KΩの可変抵抗
> をいじっても、液晶が暗くなったり、明るくなったりするという事がないのが凄く
> 気になっています。

よく仕様書を読んでないのですが、
もしかして初期化する前は、LCDをOffにしてSleep modeになってたりしませんか?
それだと、どうやっても動かないと思います。

[807] Re^6: 報告: LCD の苦悩〜 。 投稿者:">mac 投稿日:00/09/14(Thu) 18:51 <URL>
> もしかして初期化する前は、LCDをOffにしてSleep modeになってたりしませんか?
> それだと、どうやっても動かないと思います。

P.12 Reset Function

3. Display ON/OFF Control
D = 0 . . . .Display OFF
C = 0 . . . .Cursor OFF
B = 0 . . . .Blink function OFF

うーむ、やっぱり :)

[808] Re^7: 報告: LCD の苦悩〜 。 投稿者:JinSato 投稿日:00/09/14(Thu) 19:21
どうも、mac さん。

> > もしかして初期化する前は、LCDをOffにしてSleep modeになってたりしませんか?
> > それだと、どうやっても動かないと思います。
>
> P.12 Reset Function
>
> 3. Display ON/OFF Control
> D = 0 . . . .Display OFF
> C = 0 . . . .Cursor OFF
> B = 0 . . . .Blink function OFF
>
> うーむ、やっぱり :)

今のところ、4bit モードで動かそうとしていたんですが、その場合の
液晶表示ようのCのルーチンのlcd_init() の中にある

void lcd_init(){
delay_ms(50);

lcd_incmd(0x30); //8bit mode set ←(1)
lcd_incmd(0x30); //8bit mode set ←(1)
lcd_incmd(0x30); //8bit mode set ←(1)
lcd_incmd(0x20); //4bit mode set ←(1)
lcd_cmd(0x2E); //DL=0 4bit mode
lcd_cmd(0x08); //disolay off C=D=B=0
lcd_cmd(0x0D); //display on C=D=1 B=0 ←(2)
lcd_cmd(0x06); //entry I/D=1 S=0
}


自分はまだ、(1) の部分の作動がまだ良く把握していない感じです。
(2)の部分で、一応

D = 1 . . . .Display ON
C = 1 . . . .Cursor ON
B = 0 . . . .Blink function OFF

としているようなのですが〜。

8 bit モードになっていたら、このコマンドは上手く動いていないですね、きっと。

スペックシートとにらめっこしてみます。
(夜中にプリントすると、なんだかうるさくて〜、みんな起きたので
いま、全ページプリントしてみました。)

[810] Re^8: 報告: LCD の苦悩〜 。 投稿者:">mac 投稿日:00/09/14(Thu) 20:39 <URL>
初期化する前は、Power on Resetに状態であるとの前提は、
一応はずして、どんな状態からでも初期化できるのを目指すわけですね。

> lcd_incmd(0x30); //8bit mode set ←(1)
とりあえず送った。でも、busyでcommandが取れなかったかもしれない。
busyを読むこともできないし...

> lcd_incmd(0x30); //8bit mode set ←(1)
一応送ったけど、もしかしたら、4 bit modeの後半と解釈したかな?

> lcd_incmd(0x30); //8bit mode set ←(1)
今度こそ、受け取れないはずはない。これで8 bit modeになる。

> lcd_incmd(0x20); //4bit mode set ←(1)

だから、ここで4 bit modeに切りかえられるのは確実。
この先は、busy flagが読めるはず。

と、なっているんですよね。(Manual P.14)

ななしのさんが、頭の15ms delayのことをおっしゃっていましたが、
lcd_incmd()の中のdelay_us(100);も最低5msにしたほうがいいですね。

[809] 初期化ルーチン 投稿者:JinSato 投稿日:00/09/14(Thu) 20:25
自己レスです

> スペックシートとにらめっこしてみます。
> (夜中にプリントすると、なんだかうるさくて〜、みんな起きたので
> いま、全ページプリントしてみました。)

 公開されているCの初期化ルーチンと、データーシート見比べながら、
初期化などのタイミングが微妙に違うことがわかってきました〜。
 また、8Bitと4Bitの以降の方法もわかってきました。  
 (作る前によく調べておかないと>自分)

 それで、やはり自前ではじめに8Bitのモードで少しこの辺も書いてみて
それで、うまくいったら4Bitの方に移行してみたいと思います。
 やはり、こう言う風に1つ1つマスターしていく必要がありますね〜。 
 あ〜、先は長いや〜。  ということで、報告でした。

[811] 電圧のドロップ〜 投稿者:JinSato 投稿日:00/09/14(Thu) 23:22
自己レスです

なんだか基本的なところで問題があったのかもしれないと思い始めています。

というのは、PICのVddの電圧を測定したら、なんと、3.5Vしかないのです。
コレじゃ〜、PICのプログラムもスタートしていないじゃん!!。
( 10Mhzでうごかしてますんで、なおさら)

それで、LCDのユニットを外すとまた、5Vまで戻るのです。 ってことは
どこかで何かを間違えてるのかな〜という感じなんですが〜・
(素人はコレだからこまるね〜 と自分に言ってます)

原因を見るけたいところですが、もう今日は限界なので、仮眠します。 .....


[812] Re: 電圧のドロップ〜 投稿者:ななしの 投稿日:00/09/14(Thu) 23:48
> それで、LCDのユニットを外すとまた、5Vまで戻るのです。ってことは
LCDの配線が怪しいような気がします。
そこで http://www.picfun.com/c13.html の回路図とLCDの仕様書を見比べてみようかなと思ったけど仕様書からピンアサインがみつかりませんでした。

> 原因を見るけたいところですが、もう今日は限界なので、仮眠します。 .....
ごくろうさまです。あまり無理なさなないように...

[813] Re^2: 電圧のドロップ〜 投稿者:JinSato 投稿日:00/09/15(Fri) 05:12
ななしのさん、お付き合いありがとう〜

> > それで、LCDのユニットを外すとまた、5Vまで戻るのです。ってことは
> LCDの配線が怪しいような気がします。

やはりそうですよね〜

> そこで http://www.picfun.com/c13.html の回路図とLCDの仕様書を見比べてみようかなと思ったけど仕様書からピンアサインがみつかりませんでした。

そうなんです。 一応
http://www.sharpsma.com/datasheets/displays/ の中に
http://www.sharpsma.com/datasheets/displays/scm/lm16x21b.pdf というの
があって、自分の手元にあるのはこれです。

このスペックをみると左側が14Pinであることはわかるんですが、アサインまでか
かれていないんです。 (多分、他のものと仕様をあわせているんじゃないかとは
思っているんですが)


補足:
http://www.sharp.co.jp/ed/lcdnew.htm に日本語で一覧あり、ただし各スペックは英語
http://lrp.steinkuehler.net/Packages/LCDProc.htm
Linuxで似たようなデバイスをつかってプリンターポートに繋げて
uptime とか画面に表示するというもの (面白そうです。)
ただ、このLinuxの応用例の回路図
http://lrp.steinkuehler.net/Packages/LCDProc/images/winamplcd.pdf をみると
Pin1:GND, 2:VCC, 3:VO になっているようする。 (あれ〜という感じです)

Netや書籍などで見つけた実例とまったく同じ部品が手に入らないと
苦労するけど、逆に実力が付くんじゃないかと思いながらやってます。 (^^)

[814] ピンアサインを変えたら動きました〜 投稿者:JinSato 投稿日:00/09/15(Fri) 06:56
macさん、ななしのさん、お付き合いありがとうございました。

一晩寝て(といっても朝仮眠し短だけなんですが)、気を取り直して、電源の
電圧が下がることから、ピンアサインがおかしいのではという、ななしのさんのご指摘を
うけて、もう壊れてもいいや〜ということで、アサイン表を作ってテストしてみました。

結果は、
1Pin: GND
2Pin: +5V
3Pin: GND  (ここを30KΩの可変抵抗を入れるとコントラストが変わる)

考えてみると、今までGNDと+5V(Vcc)を逆にしていたわけなんですが、
壊れなくてよかったです。  

これで、IS1U60が受信しているコードをHEXで表示できそうです。

ふと思ったのですが、こうして色々部品を買いこんで実験していますが、
ポケステなどを思うと液晶とかFLASHとか32BitのCPUとかつんでいて、すごいコストパフォーマンス
だな〜とつくづく思いました。

 それらをばらして、I/Oのあいているところを使ったり、液晶部分も使ったりできたら
いいのにな〜と思ってしまいました。
 (やばい、いろいろなものが、部品に見えてきてしまいます .... )

最後に、繰り返しになりますが、mac さん、 ななしのさん、色々ありがとうございました。

[816] Re: ピンアサインを変えたら動きました〜 投稿者:ななしの 投稿日:00/09/15(Fri) 08:09
Jinさんおめでとうございます。

> 1Pin: GND
> 2Pin: +5V
やはり電源、GNDが逆でしたか〜壊れなくてよかったですね。

>(やばい、いろいろなものが、部品に見えてきてしまいます .... )
いろいろなものが部品に見えたらもう電子工作の世界に浸かってる証拠(^^;

[815] 初電源投入 投稿者:">mac 投稿日:00/09/15(Fri) 07:41 <URL>
動作おめでとうございます。

> 考えてみると、今までGNDと+5V(Vcc)を逆にしていたわけなんですが、
> 壊れなくてよかったです。  

丈夫ですねー。

モジュール基板の電源ピンがはっきりしない時、
# な、もの使うなー、と言うのは置いておくとして(^^;
電源らしきところの付近についているケミコンの極性を見ると判断できます。

しかし、動かない時、電源がまともでないと言うのは、
実際最も多いパターンです。
それが原因の事も、結果の事も含めると、大半は電源に異常が見られます。

で、あれ、ずーと前に書いたみたいですが...

試作基板を作って最初に電源を投入する時は、
パワーサプライの電流制限を予想される2倍以内にし、
電圧計、電流計をつないで、
気合を入れて「投入」と声を出して宣言してからパチッとスイッチを入れ、
電源電流を確認。

異常が見られたら、(見られなくても念のため)直ちにスイッチを切って、
基板の上の半導体類を、パパパっと、指で触って、熱くなった奴を見つける。
で、時にやけどしたりする...とか(^^;

> ふと思ったのですが、こうして色々部品を買いこんで実験していますが、
> ポケステなどを思うと液晶とかFLASHとか32BitのCPUとかつんでいて、すごいコストパフォーマンス
> だな〜とつくづく思いました。

量産品のコストパフォーマンスはすごいですね。
テレビとか、自動車とか、もし個別に部品集めて作ったらいくらかかるでしょうか(@_@)
# 大昔、テレビのキットがあったような気がする...

[817] Re: 初電源投入 投稿者:JinSato 投稿日:00/09/15(Fri) 08:39
> 動作おめでとうございます。

 どうも〜、お付き合いありがとうございました、 また、色々勉強できました。

> モジュール基板の電源ピンがはっきりしない時、
> # な、もの使うなー、と言うのは置いておくとして(^^;
> 電源らしきところの付近についているケミコンの極性を見ると判断できます。

 そうなんですよね〜。 今回は裏面にはLSIが2個あるだけで、電解コンデンサーとか
がなくて、わかりませんでした。  基盤の配線の幅をみて、幅があるのが5Vかと
思っていたのですが、そうではなかったみたいです。
 3層か4層基盤みたいなので、中の方にVccとGNDが有るんだと思いますが〜


> 試作基板を作って最初に電源を投入する時は、
> パワーサプライの電流制限を予想される2倍以内にし、
> 電圧計、電流計をつないで、
> 気合を入れて「投入」と声を出して宣言してからパチッとスイッチを入れ、
> 電源電流を確認。
>
> 異常が見られたら、(見られなくても念のため)直ちにスイッチを切って、
> 基板の上の半導体類を、パパパっと、指で触って、熱くなった奴を見つける。
> で、時にやけどしたりする...とか(^^;

 Tips ありがとう。 次回からそうしてみます〜。
 (今はまだ、複雑なものが作れるとは思いませんが〜)

> 量産品のコストパフォーマンスはすごいですね。
> テレビとか、自動車とか、もし個別に部品集めて作ったらいくらかかるでしょうか(@_@)
> # 大昔、テレビのキットがあったような気がする...

 テレビのキットだと、高電圧とかがかかるところが怖そうですね〜。

[752] jellyfish さんの 自作 高出力 IR-Tower 投稿者:JinSato 投稿日:00/09/10(Sun) 09:48
jellyfish さんの http://www.asahi-net.or.jp/~fi7s-fct/mindstorms/irtower/index.html
公開された高出力 IR TOWERについての感想です。

受光モジュール の CRVP1738 ですが、これは、PICの B7ピンにつますが、
プログラムをみると、特に何もしないで、B3 のポートにつながっている
MAX232に出すだけでいいんですね〜。 (以外にシンプルなんですね〜)

あと、4MHzや10Mhzのセラコンしか手持ちに無いんですが、それを
使って作ろうと思うと、38Hkzのタイミングの作り方をかえるだけで良さそうですね。
参考になりました〜。

[753] Re: jellyfish さんの 自作 高出力 IR-Tower 投稿者:jellyfish 投稿日:00/09/10(Sun) 14:31 <URL>
トップページでの紹介,いつもながらありがとうございます。

> 受光モジュール の CRVP1738 ですが、
> これは、PICの B7ピンにつますが、
> プログラムをみると、特に何もしないで、
> B3 のポートにつながっている
> MAX232に出すだけでいいんですね〜。

はい。PICを通す必要無いくらい何もしていないですね。
受信は全部CRVP1738がやってくれるので楽です。

> あと、4MHzや10Mhzのセラコンしか手持ちに無いんですが、
> それを使って作ろうと思うと、38Hkzのタイミングの作り方を
> かえるだけで良さそうですね。

10MHzなら定数変えるだけで行けそうですが,4MHzだと処理速度
ぎりぎりかもしれません。もっとも,私も手持ち部品の都合で
8MHzで作ったので,やってみないとわかりません。

> 参考になりました〜。

どうも〜
コメントがいい加減なソースで申し訳ないです。^^;

[758] Re^2: jellyfish さんの 自作 高出力 IR-Tower 投稿者:">mac 投稿日:00/09/11(Mon) 12:52 <URL>
> はい。PICを通す必要無いくらい何もしていないですね。
> 受信は全部CRVP1738がやってくれるので楽です。

でも、ななしのさんのWonderCommand用に使うとき、
PIC経由で繋いであると、Programの書き換えで対応できますね。

先日、私のPIC IRTを追試していただいたとき、
IRキャリアーを40kHzにしないとうまくいかなかった件、
先に書いた通り、38kHzが電源に乗って、CRVP1738が不安定になったようです。
ノイズ耐性にばらつきがあるので、私が作ったものは誤動作せずもれてしまいました。

高出力版はLED電源とPICがレギュレーターで分離されているので、
影響ないでしょうか?

[768] Re^3: jellyfish さんの 自作 高出力 IR-Tower 投稿者:jellyfish 投稿日:00/09/11(Mon) 19:19 <URL>
> 高出力版はLED電源とPICがレギュレーターで分離されているので、
> 影響ないでしょうか?

素人考えで,つないでみたら動いてしまったので,ま,いっか。と...

設計していた段階では,とくに分離とか考えていませんでしたが,
500mA近くスイッチングしているにしては,安定しているようです。
# あ,今回初めてFETなるパーツを使ってみました。

ウチの機材では,ノイズ解析などはとても無理なので,どうかご容赦を。
私ソフト屋だし...^^;

[769] Re^4: jellyfish さんの 自作 高出力 IR-Tower 投稿者:">mac 投稿日:00/09/11(Mon) 19:40 <URL>
> 素人考えで,つないでみたら動いてしまったので,ま,いっか。と...

作る前にノイズ対策を思いっきりしたところで、
試合開始前のディフェンス作戦みたいなもので、
大概抜かれちゃうか、過剰防衛になるんですよー(^^;
MindStorms Festival 4の現場実績だってあるんだし大丈夫でしょう。

> 設計していた段階では,とくに分離とか考えていませんでしたが,
> 500mA近くスイッチングしているにしては,安定しているようです。
> # あ,今回初めてFETなるパーツを使ってみました。

いえ、high power系と信号系、しっかり配線を分離して、
1 point earthになっているじゃないですか。
Power MOS FETは、速すぎてノイズ発生で手を焼くんですが、
ちゃんとGateに抵抗を挿入して速度をほどほど殺してあるし...

[774] Power MOS FET て面白そう 投稿者:JinSato 投稿日:00/09/12(Tue) 03:24
> いえ、high power系と信号系、しっかり配線を分離して、
> 1 point earthになっているじゃないですか。
> Power MOS FETは、速すぎてノイズ発生で手を焼くんですが、
> ちゃんとGateに抵抗を挿入して速度をほどほど殺してあるし...

素人ながら 回路図を拝見させていただきながら Power MOS FET (2SK2030) の
意味を考えていました。
Power MOS FET はロボコンマガジンなどで紹介されているいろいろな回路のなか
特にモーターなんかをコントロールする時に使われていますよね。

PICのRB0に繋げてますが、この Pin が LOWになると電気が引き込まれる感じで
GNDに流れていくんだと思いますが、 Power MOS FET ってこういう風に電気が
沢山流せるんだな〜、 なんて思いながら素人ながら見ておりました。

部品の形はボルテージレギレーターに似ているんですね。 いつか使ってみたい
です。 まだ、調べてはいないのですが、 Power MOS FET もボルテージレギレーターみ
たいに型番が分かれば、大体特性とかが分かるんでしょうね〜。
また、勉強するきっかけが出来た感じがします。 有難う > jellyfish さん

[776] Re: Power MOS FET て面白そう 投稿者:">mac 投稿日:00/09/12(Tue) 10:29 <URL>
> Power MOS FET はロボコンマガジンなどで紹介されているいろいろな回路のなか
> 特にモーターなんかをコントロールする時に使われていますよね。

ええ、でも廃品種なんですよ、すでに(;_;)
使いやすいパワーのTO-220パッケージがどんどんなくなって、
SMDだけになってしまうのが辛いところです。
結構大きなパワーのTO-220パッケージはあるんですが...

> PICのRB0に繋げてますが、この Pin が LOWになると電気が引き込まれる感じで
> GNDに流れていくんだと思いますが、 Power MOS FET ってこういう風に電気が
> 沢山流せるんだな〜、 なんて思いながら素人ながら見ておりました。

GateがVthを超えるとOnになってDrain, Source間に電流が流れる、
電圧駆動素子です。
Vthはシリーズで異なり、2.5V-10Vぐらいです。
LOGIC ICで駆動するには当然4V以下のものがよいです。
基本的に駆動に電流は必要ないのですが、
Gateに静電容量があり、ころを充放電するため、
立ち上がり、立下りで電流が流れます。

この電流を制限すると速度を調整できます。
それが先に話したノイズ防止策です。
ただ、速度が落ちる分、損失が生じ発熱します。

[779] Re^2: Power MOS FET て面白そう 投稿者:JinSato 投稿日:00/09/12(Tue) 11:39

> ええ、でも廃品種なんですよ、すでに(;_;)

そうなんですか。 入手してみて、遊んでみようと思っていたのに .....

> GateがVthを超えるとOnになってDrain, Source間に電流が流れる、
> 電圧駆動素子です。

あ、逆でしたね。 (^^) しかし、同じ事はトランジスタでも、可能なわけですが
Power MOS FET を使うのはやはり流せる量が違うのかな〜。

> この電流を制限すると速度を調整できます。

速度というのは、On になるための立ち上がりの時間とい感じでしょうか?
ゆっくり On になるとか。 .... (どうも抽象的ですが)

モーターを、PMWでコントロールする時に、このような立ち上がりの時間と
言うのが大切になるのかな〜。 (勘で書いてます)
また、良くフォトカップラーなんかを使って電気的に遮断している場合も
多いですね。

良く、ロボコンマガジンなどの回路を見ていると、モーターの On/Off/逆転などを
するために使われているICも Power MOS FET で LEDを沢山駆動してもいいかな〜
なんて。 (ちょっともったいないですが)

[780] Re^3: Power MOS FET て面白そう 投稿者:">mac 投稿日:00/09/12(Tue) 12:40 <URL>
> そうなんですか。 入手してみて、遊んでみようと思っていたのに .....

他の型式がいくらでもあります。
それと、SMDしかなくなって...
と書きましたが、MOS FETのSMDは、
ICのフラットパッケージに比べれば十分大きいので、
万能基板につけられます。

ただし、銅箔にべったり付けて放熱することを前提にしているので、
空中に浮かすなら、銅板などを放熱器としてつける必要があります。

> あ、逆でしたね。 (^^) しかし、同じ事はトランジスタでも、可能なわけですが
> Power MOS FET を使うのはやはり流せる量が違うのかな〜。

それは大きいトランジスターを使えば済むことですが、
トランジスターは、電流駆動素子なのでベースに電流を流さないと動かない。
制御すべき対象が大きいと馬鹿にならない電力になります。

また、速さが全然違う。
38kHzでも200mA程度だとパワートランジスタはすでに結構辛いのです。

> > この電流を制限すると速度を調整できます。
> 速度というのは、On になるための立ち上がりの時間とい感じでしょうか?
> ゆっくり On になるとか。 .... (どうも抽象的ですが)

そうです。電流のグラフが四角でなく、台形になるわけです。

> モーターを、PMWでコントロールする時に、このような立ち上がりの時間と
> 言うのが大切になるのかな〜。 (勘で書いてます)

電線を流れる電流が急激に変化すると、電磁波が出ます。
大電流をMOS FETの実力目一杯の速度でOn/Offすると、
このノイズが無視できないほどなんです。

その必要があって目一杯行かせる時は、
シールドするとか、電源を分離するとか、
それなりに対策しないと...

[777] Re^2: Power MOS FET て面白そう 投稿者:jellyfish 投稿日:00/09/12(Tue) 10:51 <URL>
> ええ、でも廃品種なんですよ、すでに(;_;)
> 使いやすいパワーのTO-220パッケージがどんどんなくなって、
> SMDだけになってしまうのが辛いところです。

2SK2030に関して言えば,今なら千石電商にたくさんあるんですが,
これもそろそろヤバイんでしょうか?...^^;

サイズも仕様も手ごろなので,今のうちに確保しといたほうがいいのかなぁ。

[778] 廃品種 投稿者:">mac 投稿日:00/09/12(Tue) 11:23 <URL>
> サイズも仕様も手ごろなので,今のうちに確保しといたほうがいいのかなぁ。

廃品種、保守品種が実際いつまで市場にあるかは難しいところですね。
でも大丈夫、デスクリート部品は大抵代わりの品が出てくるとか、
ひとつ上のランクの価格が下がって充当するとかになるんで、
代替品じゃ、やだとか言う一部オーディオマニア以外ストックには及びません。

それよりいよいよアブナイのが、4Mb未満の単体UV-PROMですね。
品薄になり価格上昇が目立ってきました。
27256/512までしかさせないボードを持っているなら、
ストックしたほうがいいです。

[770] Re^5: jellyfish さんの 自作 高出力 IR-Tower 投稿者:jellyfish 投稿日:00/09/11(Mon) 19:49 <URL>
> Power MOS FETは、速すぎてノイズ発生で手を焼くんですが、
> ちゃんとGateに抵抗を挿入して速度をほどほど殺してあるし...

うっ...苦笑(個人的に)

最初,トランジスタの感覚で数kΩ入れたら,電流流れてくれなかったので,
抵抗値下げていったのでした。もちろん,速度なんて考慮していません。

素人強し(うそ^^;)

[754] CRVP1738 or IS1U60 投稿者:JinSato 投稿日:00/09/10(Sun) 15:15
どうも  jellyfish さん

> トップページでの紹介,いつもながらありがとうございます。

 いえいえ、こちらこそ。

> 受信は全部CRVP1738がやってくれるので楽です。


私の手元に、IS1U60 という、38Khzを受信できる 赤外線受信ユニットがあります。

http://www.sharp.co.jp/ecg/pdf/unit/is1u60.pdf  スペックシート(英語)

CRVP1738 のスペックシートが見つからなかったのですが、たんに  CRVP1738
を IS1U60に変更しても動くかな〜なんて思っている所です。

Voutの電圧が、CRVP1738 と IS1U60 ではどの程度違うかということに
なるとは思うんですが〜 IS1U60の方は、どうも Voutではなくて Iccで 4.5V
有るみたいでした。

CRVP1738では、Voutはどんな感じなんでしょうか〜?

(作りたいものが増えてきて、結局何もできない感じがしている今日この頃です。)
is1u60.pdf を見ていると


> > あと、4MHzや10Mhzのセラコンしか手持ちに無いんですが、
> > それを使って作ろうと思うと、38Hkzのタイミングの作り方を
> > かえるだけで良さそうですね。
>
> 10MHzなら定数変えるだけで行けそうですが,4MHzだと処理速度
> ぎりぎりかもしれません。もっとも,私も手持ち部品の都合で
> 8MHzで作ったので,やってみないとわかりません。
>
> > 参考になりました〜。
>
> どうも〜
> コメントがいい加減なソースで申し訳ないです。^^;

[755] Re: CRVP1738 or IS1U60 投稿者:">mac 投稿日:00/09/11(Mon) 09:46 <URL>
> http://www.sharp.co.jp/ecg/pdf/unit/is1u60.pdf  スペックシート(英語)
>
> CRVP1738 のスペックシートが見つからなかったのですが、たんに  CRVP1738
> を IS1U60に変更しても動くかな〜なんて思っている所です。

CRVP1738は、
http://207.236.16.161/JinSato/MindStorms/HW/BBS/hw_35.html
の[368]辺りで話題になった、
http://www.vishay.de/pdf/tsop17.pdf
と多分同じ物です。

IS1U60とはPIN配列が違いますが、それを合わせれば信号的には互換です。
VsとVccは表現が違うだけで同じ物をさしてます。
Vsは電源(power Source)のSです。
Vccはコレクター電圧(Vc)の負荷を通した先(Cold end)なのでVccです。
MOS ICの場合、コレクターではなくDrainなので、Vddになりました。

ちなみに真空管の場合プレート電圧(Vp)の先なのでVppかというと、
そうではなく単に+Bと言います。
他に、AとかCなどあるんですが、もはやどうでもいい事なので、
興味のある方は、古文書を調べてください(^^)

[756] Re^2: CRVP1738 or IS1U60 投稿者:JinSato 投稿日:00/09/11(Mon) 10:03
mac さん

有難うございました、前に話題になっていて、どこかで見たと思っていたら、
ちゃんとLOGの上のほうにあったんですね〜。 (すみません、よく読んでなかったです)

> IS1U60とはPIN配列が違いますが、それを合わせれば信号的には互換です。

ですよね〜。 実はいま実験しているIS1U60 を使った自分の回路、とっても単純なんですが、
なんだか、思ったように動かないというか、とってもシンプルな回路なんですが
思ったように動いていないので、昨日は苦しんでおりました。

> VsとVccは表現が違うだけで同じ物をさしてます。
> Vsは電源(power Source)のSです。
> Vccはコレクター電圧(Vc)の負荷を通した先(Cold end)なのでVccです。
> MOS ICの場合、コレクターではなくDrainなので、Vddになりました。

有難うございます。 こういう略語を1つ1つ覚えていくことで回路が良く見えて
来るようになりますね。

> ちなみに真空管の場合プレート電圧(Vp)の先なのでVppかというと、
> そうではなく単に+Bと言います。

BはバキュームのBなのかな〜? (^^)

> 他に、AとかCなどあるんですが、もはやどうでもいい事なので、
> 興味のある方は、古文書を調べてください(^^)

はーい。

[757] Re^3: CRVP1738 or IS1U60 投稿者:">mac 投稿日:00/09/11(Mon) 10:53 <URL>
> なんだか、思ったように動かないというか、とってもシンプルな回路なんですが
> 思ったように動いていないので、昨日は苦しんでおりました。

電源のパスコンがないと、不安定になることがあります。
kentaさんが、組み立ててくださった私のPIC IR Tower
http://www.line.to/mac/MindStorms/irtower/
で、その他は機能するのにFirmwareが転送不能と言う現象があり、
物を送っていただいて調べたのですが、これでした。
# 現在の回路はその後パスコンを追加してあります。

電源ラインに直接パスコンをつけても、効きがよくないので、
http://www.vishay.de/pdf/tsop17.pdf
P2の一番下に書いてあるように、
電源から33Ω〜100Ωぐらいの抵抗をつけ、
パスコンを繋ぐとよく効きます。

> BはバキュームのBなのかな〜? (^^)

はずれです(^^)
いまどきの回路みたいに電源電圧がいろいろ生じることがないので、
ヒーター電源をA電源、プレート電源をB電源と順に振って呼んでいたのです。
たまに必要になるバイアス電源はC電源です。

[759] Re^4: CRVP1738 or IS1U60 投稿者:JinSato 投稿日:00/09/11(Mon) 13:49
どうも、 mac さん
今日は別件でいろいろあって実験が出来ないのですが、時間を作って
抵抗とパスコンを入れてみたいと思います。


現状は、PIC 16F84 の PB1のポートに IS1U60 ( http://www.sharp.co.jp/ecg/pdf/unit/is1u60.pdf)の Voutを繋いでいる状態で、 PDFの5ページ目のような感じで、C1に 10μFの電解コンデンサ
を入れています。(まだ、抵抗は入れていないんですが)

その状態で、PICのプログラムは、小さなWaitを入れながら、無限ループを作って、
PB1のポートがHI になったら、たのPB2 についている LEDを1秒光らせる
だけのものなのです。 RCXのリモコンとか、TVのリモコンをあてて見たのですが
ストップビットとか、そういうのは全部無視して、 Voutだけを見たいと思って作ったんですが、
それすら動かなかったので、頭をかたげてしまいました。

オシロスコープとか有ると、どういう風なシグナルか見れるのにな〜と
ちょっと悔しい思いをしておりました。 (でも、高くて手が出ないですね、中古を探すしか
無いかな~....)


> > BはバキュームのBなのかな〜? (^^)
>
> はずれです(^^)
> いまどきの回路みたいに電源電圧がいろいろ生じることがないので、
> ヒーター電源をA電源、プレート電源をB電源と順に振って呼んでいたのです。
> たまに必要になるバイアス電源はC電源です。

単に番号をぶっていたんですか〜 (笑)

[761] Re^5: CRVP1738 or IS1U60 投稿者:">mac 投稿日:00/09/11(Mon) 15:28 <URL>
> C1に 10μFの電解コンデンサ
> を入れています。(まだ、抵抗は入れていないんですが)
 
多分これが原因ではないと思いますが、
ケミコンは周波数特性が悪く、パスコンには向きません。
10μFの容量が必要なときは、ケミコンをいれた上、
さらに0.1μFの積セラを並列にします。
 
> オシロスコープとか有ると、どういう風なシグナルか見れるのにな〜と
> ちょっと悔しい思いをしておりました。 (でも、高くて手が出ないですね、中古を探すしか
> 無いかな~....)
 
見えないものは、手の出しようがないので、
手持ちのもので見える様にするといいです。
たとえばこの場合、38kHzを出しつつける光源があれば、
テスターで試験できますね。

私のMessage Ball V2をお持ちですので、
そのプログラムを書き換えます。
mbmain以下、下記の通り。
 
mbmain movlw mbmax
movwf maincnt
movlw ledpat
movwf ledsel
movwf outbuf
movlw int7
movwf duty
loop waitbitsyn
goto loop

[762] Re^6: CRVP1738 or IS1U60 投稿者:JinSato 投稿日:00/09/11(Mon) 15:38
どうも、マックさん、 具体的な例まで有難うございます。

> > C1に 10μFの電解コンデンサ
> > を入れています。(まだ、抵抗は入れていないんですが)
>  
> 多分これが原因ではないと思いますが、
> ケミコンは周波数特性が悪く、パスコンには向きません。

やっぱり 充電:放電に時間がかかるからですよね〜。

> 10μFの容量が必要なときは、ケミコンをいれた上、
> さらに0.1μFの積セラを並列にします。

お、やってみます。 (やばい、仕事をほっぽってやりそうになります...)
 
> > オシロスコープとか有ると、どういう風なシグナルか見れるのにな〜と
> > ちょっと悔しい思いをしておりました。 (でも、高くて手が出ないですね、中古を探すしか
> > 無いかな~....)

 
> 見えないものは、手の出しようがないので、
> 手持ちのもので見える様にするといいです。
> たとえばこの場合、38kHzを出しつつける光源があれば、
> テスターで試験できますね。

RCX用のリモコンでメッセージを送りつづけていたんですが、テスターで
作動確認が出来るとは思いもよりませんでした。
デジタルのテスターなんで、反応が遅いからだめかな〜と思って。

それで、PICで小さな回路とプログラムを作ってためしてみようと
おもったら、そこでこけたのでした。 (まったく)

> 私のMessage Ball V2をお持ちですので、
> そのプログラムを書き換えます。
> mbmain以下、下記の通り。
>  
> mbmain movlw mbmax
> movwf maincnt
> movlw ledpat
> movwf ledsel
> movwf outbuf
> movlw int7
> movwf duty
> loop waitbitsyn
> goto loop

お、有難うございます。
これは、フルパワーで、38Khzを送りつづけているんですよね。

せっかく動いている、メッセージボールのPICを外すのが
心理的にもったいないみたいで。 .....

速く仕事終わらせて(といっても、既に、夜中の2時半)実験したいです。

[781] IS1U60 ... その後 投稿者:JinSato 投稿日:00/09/12(Tue) 15:00
今日、一段落ついた仕事があったんで、実験してみました。

まず初めに、抵抗もコンデンサーも何も入れないで、テスターでVout を測定
してみました。 何も無い時は 0.2mv くらいですこしふらついている感じ、
それで、RCXようのリモコンを近づけてメッセージなどを送ると、 2.4 V くらいまで
値が上がっていました。
38Khz で On/Off しているので、2.4V になるのだと思います。
スペックで言う Hi = (Vcc-0.2v) でしたから、Hi で、4.8Vくらい出ているのでしょう。

それで、数日前のテストでなぜ上手く動かなかったか検証してみると、
なんと1つ、プログラムにミスが有りました。 そこを直すと、抵抗やコンデンサー
を入れなくても、RCXのリモコンからメッセージを送ると、メッセージを受けている
事を示す LED はめでたく 光りました。 (テストプログラムは CCSのCで書いてます)

ただ、現時点では、単に IS1U60 の Voutが Hi になったら、LED用の
ピンもHI にするだけですので、チェックサムとか、何もしていませんが。

それで、面白いことに気が付いたのは、何もしていなくても、LEDが 点滅
する事が多くありました。 以外に、38Khzと同等とか(76Hz とか)に反応
する物なのかもしれません。

ちゃんと、RCXが送っているフォーマットを認識する等にすれば、きっと
誤作動などはなくなるのだと思います。

これから、CCS のC で、RCXが送り出しているデーターをちゃんと受けれる
用に、書いてみたいと思います。 (Cでかけるのかも分からないのですが .... )
タイミング的にコントロールしやすい、ASM の方がよいのかもしれませんが。

[787] Re: IS1U60 ... その後 2 投稿者:JinSato 投稿日:00/09/13(Wed) 13:00
Voutから出てくる値ですが、やはりデーターシートに有るように、47オームの
抵抗と、47μFのコンデンサーを入れたほうが安定しているような気がしました。

ただ、47μFのコンデンサーをいると、値が反転して、信号が無い時に HI
信号があるときに Lowになるようになりました。


いずれにせよ、今度は、On/Off を繰り返している状態から、ちゃんとした値
(BYTE)を取れるようにしないといけないですね。

ここで、ふと思ったのが、CCSのライブラリーにシリアルの関数があって
IS1U60のVoutを PICのピンに繋いで、それで、そのピンをシリアルインプットの
ピンにしてしまって、CCSのライブラリーにある、 GetCh()で値を読んだら
もともと、2400BPS で送っているんだから読めるんじゃないかと思って
テストしてみたら、それらしく読めてしまいました。

ただ、現時点だと、実際に送られてきた値が本当に0x55,0xff,0x00 ... と
来ているのか確認する方法がないので、明日あたりで、パラレル接続できる
LEDでも購入してみようかと思っています。

もしも、GetCH()で読めるようだったら、PICのファームウエアーもCで殆ど
かけそうなので、楽できるかな〜なんて、あまい考えを持っています。

というのが現状です。

[788] Re^2: IS1U60 ... その後 2 投稿者:">mac 投稿日:00/09/13(Wed) 13:21 <URL>
> ただ、47μFのコンデンサーをいると、値が反転して、信号が無い時に HI
> 信号があるときに Lowになるようになりました。

Data sheet見るとそれが正常な動きではないかと思います。
前の書きこみを見た時は、多分書き違えだろうと思ってました(^^;

> ピンにしてしまって、CCSのライブラリーにある、 GetCh()で値を読んだら
> もともと、2400BPS で送っているんだから読めるんじゃないかと思って
> テストしてみたら、それらしく読めてしまいました。

おお、Cが使えると楽ですよね。


> ただ、現時点だと、実際に送られてきた値が本当に0x55,0xff,0x00 ... と
> 来ているのか確認する方法がないので、明日あたりで、パラレル接続できる
> LEDでも購入してみようかと思っています。

旧型のセントロニクス準拠パラレルPrinterがあれば楽なんですけどね。
2400BPSをDumpするぐらいなら、Busyを見ずにAckとデータだけ繋いで、
垂れ流しても書いてくれますんで...

[790] Re^3: IS1U60 ... その後 2 投稿者:JinSato 投稿日:00/09/13(Wed) 14:13
> > ただ、47μFのコンデンサーをいると、値が反転して、信号が無い時に HI
> > 信号があるときに Lowになるようになりました。
>
> Data sheet見るとそれが正常な動きではないかと思います。

 データーシート見直しました。 2ページ目にある図をみるとそうですね〜。
シグナルがあるときに、谷になっていました。 やはり、シグナルが入った=Hi と
言う風に思いこんで見ていると、だめですね〜。

> おお、Cが使えると楽ですよね。
 
 そうなんです。 (^^)

> > ただ、現時点だと、実際に送られてきた値が本当に0x55,0xff,0x00 ... と
> > 来ているのか確認する方法がないので、明日あたりで、パラレル接続できる
> > LEDでも購入してみようかと思っています。
>
> 旧型のセントロニクス準拠パラレルPrinterがあれば楽なんですけどね。
> 2400BPSをDumpするぐらいなら、Busyを見ずにAckとデータだけ繋いで、
> 垂れ流しても書いてくれますんで...

 なるほど。 その手もありますね。  考えてみたら、シリアルのプリンターが
有ったら、そのままつなげば ... なんて思ってしまいました。

 いまは、LEDを8個並べて、

while(1){
data = GetCh();
ShowBit( data );
}

見たいなプログラムを作ったのですが、RCXようのリモコンのボタンを
押すとLEDがきれいに点滅します。 (^^)
 
 ただ、眺めていると、時々LEDが点滅するのが以外でした。