• ベストアンサー

シュミットトリガ入力をデジタル入力とするには

シュミットトリガ入力をデジタル入力とするには PIC16F873A のRA4 ポートですが、シュミットトリガ入力の為、最初の1回目はデジタル入力相当に動きますが、それ以降が不安定(というかそれがシュミットトリガの動作?)になってしまいます。 外部にどのような回路を構築すればデジタルI/O とできるのでしょうか? それともPIC のプログラミングで参照電圧?ヒステリシス範囲?を修正する事で解決できるのでしょうか? ちなみに入力はフォトインタラプタからのデジタル信号で、チャタリングはありません。 #別のI/O ポートに逃げる前に勉強しておきたいので。よろしくお願いします。

noname#116136
noname#116136
  • 科学
  • 回答数1
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
noname#113216
noname#113216
回答No.1

PIC はよく知りませんが。 >PIC16F873A のRA4 ポートですが、シュミットトリガ入力の為、 >最初の1回目はデジタル入力相当に動きますが、 >それ以降が不安定(というかそれがシュミットトリガの動作?)になってしまいます。 ちょっと意味がわかりません。「デジタル入力相当に動く」ってどういう事でしょう? 「それ以降が不安定」とは、どのようになってしまうのですか? それにシュミットトリガ入力はスレッショルド(閾値)が特別なだけで デジタル入力には違いないんですけどね。 むしろフォトインタラプタからの信号が閾値をまたぐようになってないとか? 普通、フォトインタラプタの出力は、いわばオープンドレインのようなものですから Low はともかく High にする為にはプルアップ抵抗が要りますが、大丈夫ですか? フォトインタラプタがON時とOFF時の電圧を計ってみるといいです。 手でON/OFFできるならテスターでも計れます。 また、この時立ち上がり波形はやや鈍るので、鈍り方によりますが シュミットトリガで受ける方がいいです。 http://ww1.microchip.com/downloads/en/DeviceDoc/39582b.pdf RA4 ポートの入力はST固定みたいですね。 間違って出力も出してしまってる、ということはありませんか?

noname#116136
質問者

お礼

お返事誠にありがとうございます。 ご丁寧な説明、大変さんこうになります! 実はセンサーを別のトランジスタにも回しておりまして、それを一旦外しました所、とくにプルアップも無くても動作しました。 原因はセンサーからの出力を別の部位(NOT回路)にも配線しており、それがトランジスタを経由してグランドに接地していた事です。抵抗とトランジスタの電圧降下分で、TTL 的にはオンとなりシュミットトリガ的にはオフとして扱われるのが原因でした。 配線を工夫し定電流ダイオードで電圧降下を稼いだところシュミットトリガ的にもオンとなるだけの電圧を確保できました。 勉強になりました!ありがとうございます!

関連するQ&A

  • シュミットトリガを2段重ねる理由

    お世話になります。 勉強不足でお恥ずかしい限りなのですが、最近、今まであまり触れてこなかったデジタル回路に触れることになりました。 信号入力部の回路にシュミットトリガを使う予定なのですが、デジタル回路に詳しい人に、シュミットは2段重ねるのが定石だよと教えてもらいました。私としては、原理まで理解してその構成を採用したかのですが、「定石だよ」以上のことは教えてもらえず、ネットで「シュミットトリガ 2段」などで検索しても、それらしきページは見つけることが出来ませんでした。 定石だという以上、何かしらの目的はあるのかと思うのですが、単純に考えると、1段目の後は閾値よりも十分に大きな(小さな)HやLの信号になってると考えると、2段目は何の役割をしているのかなと疑問に感じてしまいます。 お手数ですが、シュミットトリガを2段重ねる目的を教えて頂けないでしょうか? ちなみに、論理の反転は、後段でどうにでもなりますので、まったく気にしません。

  • チャタリング防止について

    デジタル回路でタクトスイッチなどを用いると、チャタリングが起こる場合があると思います。そして、それを防止する方法もいくつかあると思うのですが、どういった原理で防止が出来るのでしょうか? チャタリング防止に関していろいろと調べてみると、よく2つのしきい値を持つシュミットトリガ使った回路をよく見るのですが、これでどうやって防止をしているのでしょうか? よろしくお願いします。

  • PICのST入力は

    PICのポートでST(シュミットトリガー)入力がありますが、ST入力ということはこのポートを入力で使用する際はチャタリングに強いということでしょうか? 強いてはハードでチャタリング防止をしたりソフトでチャタリング回避しなくてもいけるということ? (防止はつけたほうがいいですが諸事情でできれば無いほうが・・なんて時に使えないかなと。)

  • PIC12F629デジタル入力について

    PIC12F629をC言語でプログラミングしています。 GP2ピンをデジタル入力としてスイッチを接続しGP4をデジタル出力 としてLEDを接続し、スイッチを押すたびにLEDが点灯、消灯を繰り返す ようにプログラミングしてみました。 ところがデジタル入力のピンをGP0,GP1に変更しピンにスイッチを 接続し入力しても同じように動作しません。回路に電源をいれた瞬間 LEDが点灯しスイッチを入力しても点灯したままです。 GP0,1をGP2と同様にデジタル入力として使いたいのですが、単にピンの 番号をプログラム中で変更するだけではダメなのでしょうか? ご教授おねがいします。

  • PIC16F886のコンフェグ・デジタルI/O化

    PICマイコンのPIC16F887でのアセンブラ言語プログラムでの質問です。 (1)コンフェグの指定方法 現状はPIC16F877Aでプログラムした内容で設定していますが、書込み時に エラーが出ます。 (2)デジタルI/O化 このPICはI/Oが35個使用できると思います。現状はLEDを点滅し確認するということで機能確認をしていますが、RA6は常時点灯、RA7は常時消灯とプログラム指定通りに機能してくれません。他のI/Oはプログラム通りに点滅消灯の動きが出来ます。 詳しいことは知識不足のため、わかりませんがRA6・RA7はオシレータが影響しているのかな?と思います。外部で設置は考えていません。内部クロックを使用したいと検討しています。 解除?デジタルI/O化等の手段があれば教えて下さい。 (3)内部発振を使用する場合は何らかのプログラム指定が必要でしょうか? 上記(1)~(3)ですが、自分なりにネットや参考書などで調べてみましたが、887はまだあまり普及されていない?のかなかなか解決策が出ません。回答できる方、(1)~(3)の一部でもかまいませんのでよろしくお願いします。

  • PICの入力最大電圧について

    PICは4.5Vから5.5Vの間で動作しますが、RA,RB入出力端子に入力できる電圧は動作電圧と同じですか? 12Vのパルス信号を入力したいのですが、無理でしょうか?

  • ハードでチャタリング防止回路(PIC使用で)

    PICへのスイッチの入力をハードでチャタリング防止をする場合の回路はどういったものがあるでしょうか? フリップフロップなどあるようですが回路がいまいちわかりません。 よろしくお願いします。 (入力:H→L)

  • PIC・eepromとPIN設定について

    目をとめて頂き、ありがとうございます。 さっそくですが、PICのプログラムについてとPIN設定について解らないところがありましたので、質問させていただきます。 1)シリアル通信のプログラムです。 eeprom内蔵のPICを使っているのですが、eepromに書き込んだ後に(画面に)「無事に書きこみましたよ」的な表示をさせたいのですが、ちゃんと書き込まれたかどうかがわからなくて… アセンブリでやると、レジスタのフラグ(?)をみて判断しているっぽいのですが、生憎とアセンブリはさっぱり分かりません。 c言語でもわかる方法はないものでしょうか? 2)PIN設定です。 RA5(OSC1)-->外付けで振動子つけてます RA4(OSC2)-->RA5と同じです RA3(MCLR/VPP)-->リセットICつけてます RA2(I/O)-->input設定 RA1(I/O)-->input設定 RA0(I/O)-->output設定 という設定のPICで、RA0~2は普通にI/OとしてSET_TRISできるのですが、RA3~5をどうSETしたらいいのかが分かりません。 普通のI/Oとしては使わないけど、外付けで振動子とICがついているので普通にI/OでSETしていいのか… 以上2点ですが、わかる方がいらっしゃいましたらよろしくお願いします。

  • PICで入力電圧が可変する場合の受け方

    PICで5V~15Vの入力(ONかOFFが分かればOK)を確認したいと思っています。 トランジスタのベースに入力して受けるのが良いと思うのですが、5Vと15Vではベースの抵抗値が変わっています。 同じ回路で入力される電圧が変わってもきちんとPICでONOFFを検知したい場合は、どのような回路で受けるのが良いでしょうか? トランジスタではなくFETのゲート耐圧が20Vのもので受けても良いのかと思ったのですがいかがでしょうか?

  • 透過型フォトインタラプタ(SG268)が反応しません

    現在PICを使った回路を製作しており、そこでPICの入力に透過型フォトインタラプタを接続し、光を遮るという動作を条件にして出力させようとしています。ですので、遮る前は入力ピンはhighとなっているので、lowとなったときに出力するようプログラムを組みました。 しかしいざ組んでみると、光を遮っても出力しません。出力しないということは、光を遮らない場合でも遮った場合でも入力ピンはhighであるということなのですが、何故か遮ったらlowにならないのか分かりません。 フォトインタラプタの電源電圧は、ダイオード側もトランジスタ側も、9V電池を三端子レギュレータで変換した後の5Vをつないでいます。そしてダイオード側は、電源の後に100Ωの抵抗をつなぎ、トランジスタ側は、25kΩの抵抗をつないでいます。ダイオードのマイナスとトランジスタのエミッタはそのままGNDにつないでいます。 PICの入力へは、トランジスタのコレクタをそのままつないでいます。 初歩的な質問で申し訳ありませんが、どなたか力を貸していただけると嬉しいです。 お願いします。