スイッチ入力信号の分岐接続

このQ&Aのポイント
  • あるLSIのスイッチ入力信号を他のマイコンでも受けたい場合の問題点について解説します。
  • スイッチ入力信号の信号レベルが中途半端になり、誤動作が発生する原因を解説します。
  • LSIの入力端子の信号をマイコンの入力ポートに直結させる際の注意点を解説します。
回答を見る
  • 締切済み

スイッチ入力信号の分岐接続

既存回路上の、あるLSIのスイッチ入力に接続されている信号を 他のマイコンのI/Oポートでも受けたいと考えています。 a接点のスイッチが、あるLSIにプルアップ抵抗なしで入力されています。 おそらく内蔵プルアップされているのではと思います。 この状態ではもちろん何の問題もありません。 このスイッチ入力の信号レベルを外部マイコンでも受けたく、このLSIの 入力端子の信号をそのままマイコンの入力ポートに接続しましたが、 信号レベルが中途半端になり誤動作してしまいます。 (マイコンへの信号はそのまま直結です) いったい何が悪いのか、教えていただけますでしょうか?

noname#230358
noname#230358

みんなの回答

noname#230359
noname#230359
回答No.2

毎度JOです。 >>この状態ではもちろん何の問題もありません。 この時の電圧値を確認して下さい、元々ギリギリの値だったかも知れません >>信号レベルは、電源投入時は問題なくて(H) この時の電圧値は? 問題無く動作する事と、偶然動作している事は紙一重です プルアップされているなら、電源電圧5Vであれば最低でも4V以上のハズです 実際に計測して動作確認をしましょう >>一度押すと中途半端なレベル(0.8V程度) スイッチで「短絡」のハズが電圧出ていますね、 15cm程度の配線なら0.1V以下まで低下するハズです 何か勘違いをされていませんか? 毎度JOです。 >>0.8V程度の電圧に固定されてしまっているように見えます プルアップの一手ですね、10kΩ程度でプルアップしてみて下さい >>ちなみに、もともとのスイッチを分岐して複数のICで受けること それ自体には問題はないでしょうか? スタティックなスイッチ動作で、対GNDのスイッチなら何も問題は有りません >>離しても0.8V程度になる この理由を解決した方が良さそうですね LSI内部のプルアップが不完全か、入力ポートが出力ポートに切り替わっていたりすると、問題解決出来ません 毎度JOです。 >>0.8V程度で固定されてしまうっていったい何なのでしょうか? 問題を切り分けてみましょう LSIとマイコンを同時入力せず、別々にプルアップとスイッチを取り付けて観る どちらかが0.8Vになれば、0.8Vの方に問題が有ります この場合、両方共プルアップ有効(スイッチOFF時 2.5V以上)と言う結果になれば、配線上の問題と思われます

noname#230358
質問者

お礼

ご回答ありがとうございます。 >>この状態ではもちろん何の問題もありません。 >この時の電圧値を確認して下さい、元々ギリギリの値だったかも知れません 3V電源電圧で3Vあります。 >>信号レベルは、電源投入時は問題なくて(H) >この時の電圧値は? 3Vあります。 >>一度押すと中途半端なレベル(0.8V程度) >スイッチで「短絡」のハズが電圧出ていますね、 >15cm程度の配線なら0.1V以下まで低下するハズです 分かりづらいかったかもしれません。 押して短絡した時は0V程度になりますが 離しても0.8V程度になるということなんです。 (押しっぱなしに近い状態?) プルアップされた信号レベルが本来の電圧レベルではなく、 0.8V程度の電圧に固定されてしまっているように見えます。 ちなみに、もともとのスイッチを分岐して複数のICで受けること それ自体には問題はないでしょうか? ご回答ありがとうございます。 >10kΩ程度でプルアップしてみて下さい マイコンポート側に外部プルアップ抵抗を追加してみましたが 変化ありません。 プログラムで出力ポートに変更したりもしていないのですが。。。 プルアップされているマイコン側の入力ポートが 0.8V程度で固定されてしまうっていったい何なのでしょうか?

noname#230359
noname#230359
回答No.1

まず、各々の電源電圧が同じかどうか、同じでないといけません。 次にGNDが共通かどうかです。共通で、つながっていないといけません。 その次に各LSIの距離ですが、遠く離れているとノイズで誤動作します。 通常はフォトカプラなどで受けて分岐する方法がとられます。 改造が可能なら 各入力ポートからダイオードを通してスイッチに接続してください。 SW←PORT そして各PORT側で4.7K程度でプルアップしてください。 これで問題は解決するはずです。 チャタリングとりはプログラムにて行ってください。 それ以上にノイズ対策が必要でしたら必要個所に抵抗やコンデンサを入れてください。 一つのSWに対して2つの入力に接続する場合、2つの電位の差に注意するためです。たとえば一つが5V、もうひとつが3.3Vの場合、このようにすれば 問題なく動作します。たとえ同じ電位の場合でも、同じであるように見えてもノイズなどで一瞬、差が出ることがあります。そのときにCPUが壊れます。 ダイオードを入れることによりそれを防ぐことができます。

noname#230358
質問者

お礼

早速のご回答、ありがとうございます。 スイッチがあるボードとマイコンは別基板ですが マイコンのボードからスイッチがあるボードに電源供給しているので 問題ないと思うのですが・・・一応、GNDの導通も確認しましたが 問題なさそうです。 両基板は15cm程度のワイヤで接続していますが、問題となる距離でしょうか。 症状を補足させていただきます。 信号レベルは、電源投入時は問題なくて(H) 一度押すと中途半端なレベル(0.8V程度)になってしまいます。 同様に接続されている他のスイッチ信号レベルも同時に半端なレベルに なってしまいます。 そのせいで、押していないのに押しているように動作してしまっています。 ご回答ありがとうございます。 教えていただきたいのですが このダイオードの目的は何でしょうか? どういう効果があるのでしょうか? ご回答ありがとうございます。 スイッチを押すことでなぜかマイコン側の入力ポートが 0.8V前後になってしまうことまでは分かりました。 アドバイスいただいた改造はまだ出来ていません。 > SW←PORT これはダイオードの向きですよね ポート側がアノードってことでしょうか なんとかトライしてみようかと思います。

関連するQ&A

  • 接点信号を2つの入力に

    1つの接点信号を2個のマイコンボードの入力ピンに入力したいのですが、 1つは4.7kで5Vにプルアップされており、 もう1つが10kで3.3Vにプルアップされています。 並列に接続するのは問題あると思いますので、 間に回路を入れて対応したいのですが、シンプルで良い方法をおしえてください。

  • オープンコレクタ出力センサ

    回路初心者です。質問させていただきます。 NPNオープンコレクタ出力のセンサをマイコンの入力へ つなぎたいのですが、 2つの出力トランジスタのどちらかがOFFになったときに 信号が変化するようにしたいのですが、良い方法はありますでしょうか。 下記のような方法が浮かびましたが、問題ないでしょうか。 センサ1のコレクタをプルアップしてトランジスタAのベースへ、 センサ2のコレクタをプルアップしてトランジスタBのベースへ、 トランジスタA、Bのコレクタを並列接続し、プルアップし、入力ポートへ 他の方法でも構いませんので、宜しくお願いいたします。

  • スイッチ回路について

    添付の回路ですが、①がスイッチON時にマイコンにLow、②はスイッチON時にマイコンにはHighの信号になるという認識でよろしいでしょうか。

  • 74LSシリーズの入力電流

    74LS00というNAND ICを用いて回路を作りました。  見本書によると、74LS00の入力につけるプルアップ抵抗は、3.3キロΩで良いと書かれていました。 プルアップなので、スイッチを開いてる間は、5Vが掛かった状態で、ICには論理”1”がかかってます。   一方、スイッチを閉じたときに、論理”0”をICに入力させたいので、スイッチはGNDと接続されて、論理”0”が伝わるというのは分かりました。  しかし、74LS00の規格表をみていると、74ls00のIIL(入力電流)の最大値は、0.4mAと記されてます。   となると、スイッチを閉じたとき、電流は、プルアップ抵抗を過ぎると、オームの法則より、5(V)÷3300(Ω)≒1.5mA です。 規格を超えてますよね?   これでは、ICがもしかしたら壊れてしまうのではないか?と思うのですが、実際正しく動作することを確認しました。   これってどうして、プルアップ抵抗は3.3kΩでいいんでしょうか?

  • 入力プルアップにLEDをつないでも問題ないでしょうか?

    電子回路初心者です。 CPLD(XC9572)を用いた回路を設計中です。 お聞きしたいのは、CPLDの入力につなぐプルアップのことです。 入力にはリレーの A 接点が接続されます。 通常、プルアップ抵抗として数 kΩ の抵抗をはさんで、Vcc につなぎますが、この抵抗を LED +電流制限抵抗 に変更しても問題ないでしょうか? 入力状態を LED で表示したいので、これが可能であれば一石二鳥なのですが。 自分の知識では、接点が OFF で Hi が固定され、 ON で Low になるので、支障ないように思うのですが、ノイズ等、なにか問題があれば、ご教示いただけないでしょうか。 よろしくお願いいたします。

  • マイコンのポートについて(CMOS?TTL?)

    マイコンのポートについて確証がもてず質問させてください。 マイコンのシリアル、I/Oなどの外部ポートは、CMOSレベルなのかTTLレベルなのか どちらなのでしょうか? 事の発端は、シリアルポートに電圧の異なる回路を接続しなければならず、レベルシフトICの使用を 検討していて、入力がTTL対応のもの(HD74LV1GT125ACM)を見つけました。 このICの入力(TTL)をマイコンに接続しようとしたときに、 マイコン側はCMOSレベルの信号なのか、TTLレベルの信号なのか疑 問がわき、データシートで確認することにしました。 直接名称の記載はありませんでしたが、付録の回路図を見たところCMOSの記号があり 電気特性でも入出力のレベルはCMOSの値(Vccを基準としたレベル)であったので、 このマイコンのシリアルポートはCMOSレベルの信号であると思いました。 念のため、このことを先輩へ確認したところ、 「シリアルポートはTTLレベル」といわれてしまいました。 そこでもう一度、データシートを確認しましたが、 電気特性はVccに対する比率(という表現でよいのかわかりませんが)で Hi、Loのレベルが規定されているのでCMOSレベルで間違いないと思いますが、 回路図のほうは入力(RXD)側のみ論理回路を通っていたため この部分がTTLレベルなのか?でも、どこにもそのような記載は見当たらないしと混乱しています。 ロジックICであればシリーズ(TTL-ICであればスタンダード、74LSなど、 CMOSであれば74HC、74LVC)で確認しやすいものもありますが、 マイコンの場合はどうやって確認するのでしょうか? 上記のように、データシートの回路図や電気特性から判断する方法でよいのでしょうか。 確認したマイコン H8/36064(参照頁は、回路図:付録38、電気特性は、21-4~21-6)を確認しました。

  • ATmega168マイコンを用いてプログラミングをしている途中で、PO

    ATmega168マイコンを用いてプログラミングをしている途中で、PORTBにスイッチを接続しようと考えました。 そこでC言語を使用しているので、プログラムに、 「DDRB=0x00」と書き込んで、スイッチを押した事を判別する条件式も入れました。 それなのに実際に動作させるとスイッチを押しても反応しません。 自分なりに原因を探したのですが、プルアップとかその辺の事が関係してそうで、ポートの設定が上手くいってないんだと思ったのですが全く分かりませんでした。 どなたか、原因の説明又はポートの設定の説明をしていただけたら有難いです。 簡単な回路図を入れておいたので参考にしてください。

  • プルアップ抵抗の選定について

    文系の電子回路設計者です。 最近、担当部署が変わり設計をやることになり、わからない事だらけで よくここで調べ物をさせていただいています。 今回皆さんにお聞きしたいのは、マイコンのI/O端子のプルアップについてです。 プルアップの趣旨については解ったのですが、Highレベルの時にマイコンに流れる 電流の許容値をどこで見ればいいのかわかりません。 データシート上に「入力プルアップMOS電流」という項目があるのですが、使用し ているポートがそれに該当しないため、別の項目を探しているのですが、外に該当 する項目がどこなのかわかりません。 (使用するポートはスリーステートポートというのでしょうか、H/L/ハイインピを 選択できるポートです。) 現在は+3.3Vに22Kのプルアップ抵抗を接続しているため、0.15mA流れる計算になる かと思いますが、今回この抵抗を10Kに変更しようと考えているのでこの場合0.33mA 流れることになりデータシート上にこれだけの電流を流せるポートの記載がありません。 そこでいろいろ調べたのですが、CMOSには、入力端子部に小さなコンデンサがありその容量を充放電する電流が流れるという情報を見てマイコンでも同じ原理になっているのではと思い再度見直すと「入力容量」というのが見つかりました。 そこで、この「入力容量」に記載されている静電容量を充放電する時に発生する電流がプルアップ時(Highレベル時)の入力電流と思い、次のような計算をしてみました。 Q=CVよりQ[C]=15p[F] × 3.3[V] Q=49.5p[C] そして接続されている抵抗が現在22K[Ω]のため、 t=RCより t=22K[Ω]×15p[F] t=330n[S] 1[C/sec]=1Aより 49.5p[C]/330n[S]=150μ[A]が瞬間(0.33μ[S])的に流れるということなのでしょうか?また、プルアップの抵抗値の上限や下限はどのように計算すればいいのでしょうか? (使用しているマイコンは ルネサスH8S/2373です。) よろしければご教授お願いします。

  • リミットスイッチの信号について

    とある部品の作動確認用にリミットスイッチが設けてあります。 そのスイッチの信号がシーケンサへ直接入力されているのですが、スイッチの取替にあたり、 シーケンサの前にリレー受けをしないと根本的な解決にならないと指摘を受けました。 なぜリレー受けしないといけないのでしょうか?直接入力されている事の問題点とは何なんでしょうか?メーカーへ確認は致しますが、指摘された内容の理解が出来ず悔しいばかりです。 当方ただの工事屋で回路の事まで詳しく熟知しておりません。 この内容で推察いただき、アドバイス頂けないでしょうか?

  • マイコンからFPGAへの置き換え時の入力回路

    約80Hzのフォトマイクロセンサの出力をカウントする回路をPIC16F690(DC5V動作、ST入力)で製作しました。センサの出力は、10kΩでプルアップして、マイコンのポートに直接接続しています。 次に、同様の機能の回路をFPGA(Cyclone2)で製作しようとしています。 PICで製作した回路では正確にセンサ出力をカウント出来ています。 FPGAでも同様に接続してみましたが、通常よりも何倍もカウントしてしまいます。 センサ --> FPGA間に74HC245を入れてみましたが、改善されませんでした。 このような場合は、どのような回路にすれば改善可能でしょうか? お分かりになられる方がいらっしゃいましたら、ご教授宜しくお願い致します。