- ベストアンサー
誤作動の原因?
又、お世話になります。 基板にさいころの目に見立てたダイオードを並べ、それをポケコンで制御できるように配線をし、ポケコンでさいころを転がすように、ダイオードの点滅をREPEAT~UNTILでまわして、目が止まった所でブザーが鳴る回路を作成したのですが、どうしても、ポケコンの出力(LOW)が1.18V出てしまい、誤作動が起きてしまいます。あいまいな値でギリギリHIになっていると思うのですが、どうしたらLOW出力を綺麗に出せるのかわかりません。(ICの前に抵抗を入れたりもしましたが、上手く行きませんでした) すみませんが、よろしくお願いします。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
解決したようで良かったですね、会社でシャープに当たったけど半導体部門しか付き合いが無いので分かりませんでした。 どうも、いま使ってる出力ポートは、汎用のI/Oポートでは無い気がしてきました。いわゆる電流駆動能力が弱すぎる。Z80がコアになったワンチップマイコンはずっと昔からあるけど出力ポートはLSTTL一個ぐらいは十分行けそうなんで…。 >>IC7447もH出力がおかしくて(Hが90mAしかありませんでした)これは、もしかするとポケコンとICの相性だったのかもしれないようです。<< 7セグドライバの出力はオープンコレクタですから「Hが90mA」が出力のことなら意味不明です。もしかして電源自体の電流容量が低いのか?とか、想像が増えるばかりで、収拾がつきませんでした。 また何かあったらどうぞ。今回はここまでにしましょう。
その他の回答 (6)
- Teleskope
- ベストアンサー率61% (302/489)
どうやら私の回答は的を外してますね。さて困った…ポケコンの技術資料をネット検索しても無いので…。 また確認を続けさせて下さい。 1. 「74LS10の入力を抵抗で落しても効果が無かった」と書いてますが使った抵抗値は? 2. スイッチを読むらしい A=INP と、出力の OUT A のポートAは、ポケコンの接続端子では、入出力共通ですか/それとも入力と出力は別々の端子ですか? (もし同じな場合は; A=INP で8ビット全部が入力になるので、LS10の入力も浮いてしまいますね?するとTTLでは入力が浮くとHighレベルと同じなので、そこでANDとれてしまいます。これで原因の可能性が一つ増えました。) >>一個一個電圧を計ったのですが(0~7まで昇順で) >>一回目は上手く行くのですが、 >>2回目は奇数で出てしまっていました。 3. 一回目二回目とはループを回る回数ですか? 4. 1ステップずつ実行させて、どのステップで変な電圧になるか分かってますか?2巡目の A=INP ですか OUT A ですか? 5. 一巡目がうまく行くのは;データが0だからですか、それとも巡回が最初だからですか? データを0以外から始めれば最初から誤動作しますか? 6. 7番ピンの電圧がおかしいと書いてますが、4,5番ピンの電圧はどうなってますか? 7.電圧の測定はオシロですかテスターですか。Highの方は何ボルト出てますか。 8. 対策案ですが、数値を出す3ビットの線だけをいつも出力にしておく設定はありませんか?そうすれば A=INP でLS10入力が浮くことが無いので。それでも細いヒゲが出る恐れは変わらないけど。 後学のために、ポケコンのハードソフトが分かる公開サイトがあったら教えてください。
補足
返信有難うございます。今日やってみましたが、コンデンサも駄目でした。それで、ポケコンの出力や、ICの電圧などを測ってやっと!答えが出ました。 TTLは直接ポケコンの出力につなげてはいけなかったみたいです。つなげるとL出力が1.18v出てしまいますが、CMOSでは綺麗に0.4V出ていました。それに、CMOS(IC7404 NOT回路)の後にTTLをつないでも1.18Vの変な電圧が出ました。TTLはポケコンで使う回路では使ってはいけなかったようです。(ただ、今まで出ているポケコンすべてそうだとはわかりませんが)IC7447も(さいころを回すのにセグメントで考える方法も教えてもらったので)H出力がおかしくて(Hが90mAしかありませんでした)これは、もしかするとポケコンとICの相性だったのかもしれないようです。 散々回答、または返信していただいたのにすみませんでした。お礼をすると締め切られてしまうので、後ほどお礼します。何かありましたらお願いします。ポケコン関連のサイトは私もポケコンを少ししか知らないので、なんとも言えないのですが、大体サイトを開いている人はマニアが多いようですので内容が結構詳しいと思います。本当に有難うございました。
- Teleskope
- ベストアンサー率61% (302/489)
(図が折り返らないように、横幅を広げてごらんください。) 1. 私の推測は、下図で、L→HやH→Lの変化が完全に同時刻でない(お互いちょっとの差がある)場合、例えば3→4、5→6、6→1の瞬間に3inNANDがANDとれてしまう事が起きてるのではないか?という事です。 それから、電圧の測定は恐らく、LEDがグルグル回ってる状態でテスターで測ったのではないですか?その測定では、下図のLとHの平均を測ってることになってるような気がします。 ┌───┐ 2^2 └───┘ └─- … ┌─┐ ┌─┐ 2^1 └─┘ └─┘ └─┘ … ┌┐┌┐┌┐┌┐┌┐ 2^0 └┘└┘└┘└┘└┘└ … 0 1 2 3 4 5 6 7 0 1 2 2. ハード的な対策案です。もし試すことが出来たら結果をお知らせください。 3inNAND出力 ──R1─┬─R2── FF set へ │ C │ グランド R1 100kΩ 程度 R2 1kΩ 程度 C 1000pF 程度 R1 と C でローパスフィルタを作り、細いヒゲ(周波数が高い)を減衰させてしまおうという回路です。RもCも値は正確でなくともよく、掛けた数値(時定数)がマイクロ秒程度になればよろしいです。R1があまり小さいとNANDの負担が重くなるので数kΩ以上にしてください。 R2の方はフィルタ効果と関係なく、次段のCMOSICを守るためのものです。 一般に、CMOSICの入出力に大きなコンデンサをつけたまま電源をオンオフすると、ICが異常な状態に入って大電流が流れて壊れてしまうことがあるので、R2で防ぎます。これも値はいい加減でよく、数kΩ以上もあればOKです。 3. あと、電源配線には十分なノイズ除去コンデンサは入ってますか?これが無いと電源ラインがノイズの通路になって分けの分からない誤動作をすることが多いです。 4. ソフト的な対策案です。 実際の回路ではL→H、H→Lが不揃いな事が当たり前なのを無視して、細いヒゲを作ってしまうことは、極めてありふれた「よくやる失敗」です。 いまの場合、7を検出する回路が誤動作しなきゃいいので、3つともHになる瞬間が無いようにすれば良い。その一つの案として、サイコロの数値を出力する文の前に ゼロ=000 を出力する文を挿入すればどうでしょう?(FFにリセットが頻繁にかかりますがそれは無視。) L⇔Hが不揃いでも7を検出しなくなると思います。タイムチャートを自分で書いて考えてみて下さい。もし納得できたらお試しを。 5. ポケコンとは教材なんですね、恥ずかしながら今まで知らなかったです。
補足
早速の回答有難うございます。今日は日曜日だったので、(回路と電源回路は、学校においてあるので)明日やります。電圧の測定は、 10 A=INP 20 PRINT A 30 OUT A 40 GOTO 10 50 END と、ポケコンでプログラムを作成して、一個一個電圧を計ったのですが(0~7まで昇順で)一回目は上手く行くのですが、2回目は奇数で出てしまっていました。その後ランダムでやっても同じで、本当に困ってました。本当に有難うございました。
- Teleskope
- ベストアンサー率61% (302/489)
原因が推定できましたよ。3入力NANDがヒゲ状(時間的にとても細い。ICの遅延時間程度)の、予定外のパルスを出してます。 ハード的に根本対策すれば一番いいのですが、ソフトで逃げるアイデアをあとでアップしますのでお待ちください。 (今急用ができたので) グランドうんぬんは関係なさそうでした、ごめんなさいね。
- Teleskope
- ベストアンサー率61% (302/489)
No2です。前の質問の代わりにこちらを。 1. 1.18Vというのはどこの電圧ですか。LED駆動出力か、スイッチ入力か、ブザー駆動出力か。 2. 誤動作とはどうなるのですか? 3. LEDを駆動してるICの名前。CMOSですか。 4. ブザーのメーカーと品名。 5. ポケコンというものの機種名。 これらを教えてください。 私は回路設計の経験もある者ですが、直感では、デジタル回路ではグランドの配線がどこか抜けてると信号ラインが変な電圧になる事が多かったので、それかな?と思えたりしますが。そのへんは冷静にチェックしてみましたか?
補足
すみません、質問の内容があいまいでした。 1.は、ポケコンからの出力の信号電圧で、4番5番7番ピンからの信号の7番ピン(3bitの(2o)出力ピン)です。さいころをまわして、STOPしたときに信号として一瞬7の信号を出してブザーを鳴らすのですが、7の信号以外に奇数番号の数字を拾って、さいころがまわっているうちにもブザーが鳴ってしまいます。信号は直接ピンからIC74LS10(三本足NAND)に送って、7の信号が入ったときに、IC74HC00で作ったRSフリップフロップで保持しながらブザーが鳴り続ける様にしました。ブザーのメーカーはわかりませんでした。ポケコンの機種はシャープのPC-G850Vです。 グランドのチェックはしたつもりでしたが、もう一度調べてみます。それではよろしくお願いします。
- Teleskope
- ベストアンサー率61% (302/489)
ポケコンはどんなものですか? その出力からどんなICを通してLEDにつないでるのでしょうか。TTLですかCMOSですか。 LEDはICの出力からグランドに向かって付けてるのか電源に向けて付けてるのか。抵抗は何Ω入ってますか。 電源は何ボルトですか。 回路基盤とポケコンのグランドは接続されてますか。 まさかポケコン内の出力ICが壊れてる可能性はありませんか?(他の実績ある回路をつないで電圧を測って見るとか)
- MetalRack
- ベストアンサー率14% (298/2040)
その出力端子を1k程度の抵抗繋いで、アースに落としてみましょう。
お礼
本当に有難うございました。IC7447はTTLとHCがあり、TTLの方を使用して(ブレッドボード上ではきちんと動いていました)変な電圧だったので、ずいぶん悩み、結局74HC00を使い解決したのでそのときに気がつけばよかったな・・。と思ったので書いたのですが・・。わかりにくい内容の説明ですみませんでした、又わからない時はお世話になります。本当に有難うございました!。