• 締切済み

マイコンとロジック信号

NPNオープンコレクタのロジック信号を、マイコンに入力したいと考えています。 PIC、H8マイコンが手軽なのですが・・・ そのままつなげてもいいもんなんですか?

みんなの回答

回答No.3

パルスの幅を計測したいのでしたら、タイマでしょうね。 最近PSoCばかり使っているので、PICの仕様はすっかり忘れてますが、パルス幅の計測っていうのはごく基本的な機能なので、たいてい持ってると思います。 データシート(多分PDFでしょう)でCapture(キャプチャ)あたりをキーワードで検索すれば引っかかると思いますよ。

kasazuna
質問者

お礼

ありがとうございました!!

  • gako_2007
  • ベストアンサー率19% (8/41)
回答No.2

タイムスタンプの実現方法は必要な時間情報の精度と長さによって変わると思いますが、PIC単体でも出来ない事はありません。添付資料7.11をご参照ください。

参考URL:
http://ww1.microchip.com/downloads/en/DeviceDoc/39598e.pdf
kasazuna
質問者

お礼

ありがとうございます。

  • gako_2007
  • ベストアンサー率19% (8/41)
回答No.1

使えるかどうかについては、通常はそのままでは動作しません。 入力側デバイスのI/O電源に抵抗でプルアップして使うのが普通です。 マイコン入力ピンに内部プルアップ抵抗が内蔵されているなら(石の仕様によります)基板上ではプルアップしなくても動作させる事もできます。 でも、そもそも、なぜオープンコレクタ出力をお使いたいのかが気になります。 オープンコレクタを使うのはI/O電圧の違いを吸収するときとか、ワイヤードORにして使いたいときなどが思いつきますが、そういうことでしょうか? 

kasazuna
質問者

補足

センサを使おうとしていて、その信号がオープンコレクタ出力でした。 PICに入力することにしました。 信号が入力された時間を、記憶していきたいのですが、いい方法はありますか?

関連するQ&A

  • ロータリーエンコーダからの信号を処理するプログラム

    フリーのC18でPIC18F2550を使っています。 A相、B相、Z相出力のオープンコレクタのロータリーエンコーダを使ってます。 A相のパルスの読取りである一定のパルス数になったら割り込み、割り込み発生から90パルスの間マイコンから信号出力、マイコンからの信号OFFといった流れのプログラムを書きたいんですが教えて頂けませんか?

  • PICマイコンができること

    PICは入力信号によって「Yes」か「No」かを出力させるという仕事はできるが、入力信号をそのまま出力させるという仕事はできないものなのでしょうか? 今、PICマイコンに入力する信号は、サーボモータを動かすためのパルス信号であり、サーボモータが右に動くときと、左に動くときとで別々のポートから信号を出力させることを考えてます。 そのために、入力信号のパルス幅をタイマーで計測し、判断させているのですが、問題は判断項目(while や if)が加わると入力信号をそのまま出力することができないことです。 一応、PIC16F84Aを用いて10MHzの内部クロックで 1.判断項目がないとき入力信号をそのまま出力(別々に出力はしない) 2.判断項目は同じとして出力を入力信号にせず、5Vにして別々に出力 の2つについて実際にできました。 結構、厳しい条件ですがPICに期待しすぎなのかわからなくなったので質問しました。 よろしくお願いします。

  • SHマイコンとPICマイコンとAVRマイコン

    SHマイコンとPICマイコンとAVRマイコン、どれがおすすめですか? どれも使い勝手等は同じですか?用途は、小指くらいの小型ロボットを制御することです。ラジコンからの信号を受け取って、信号の大きさに応じてDCモータの速度を制御することです。いま、マイコンボードのArduinoを使っているのですがNanoでも大きすぎるので、マイコンを使って回路を自分で作ろうと考えています。マイコンはH8は使ったことがあります。AVRは、Arduino IDEでArduino言語でしかプログラムしたことありません。 どうかご助言よろしお願いします。

  • 照度センサーを改造してPICマイコンに入力

    明るさが一定の明るさを下回ると内蔵の24Vのリレーが作動する という照度センサーがあるのですが、 そのリレーはS9014というTO-92のNPNのトランジスタのコレクタでコイルをON/OFFしていて そのトランジスタは不明のIC(多分ロジックIC)の出力が ベース抵抗経由でトランジスタのベースに繋がりドライブされています。 (S9014 Vceo50V Ic150mA) これを使ってPICにHigh/Lowを入力したくて、ベース抵抗の後を 別途用意した2SC945のベースに繋いで、 エミッタをGNDに、コレクタをPICの入力端子に、 その入力端子を5.6kオームの抵抗経由で+5Vにつないであります。 (PICへは、明るいとLow、暗いとHighが入力されます。) これで明るさによってPICの入力の状態が変化してプログラムも 一見正常に動くのですが、一旦OFFになった後、ずっと照度が上がらずに 10時間くらい経過すると、PICにLowが入ってその際のプログラムが 実行されてしまいます。 照度センサーのベース抵抗の後は10メートルくらいのケーブルで延長して PICの基板に入力してありますがこのあたりに何かあるでしょうか? S9014とC945の違いもありますが。 プログラムに問題はなく、信号の状態が不安定だと思うのですが、 これはどのような対処をすれば誤作動をなくすことができるでしょうか? よろしくお願い致します。

  • エンコーダ付ステッピングモーターのエンコーダ信号(ラインドライバ出力)

    エンコーダ付ステッピングモーターのエンコーダ信号(ラインドライバ出力)をPLCのシンク入力カードに入力したいのですが、ラインドライバ出力→NPNオープンコレクタトランジスタ出力変換機を使用しないで入力する方法はないでしょうか?

  • 近接センサーからの信号の取り込み

    ステージの駆動を、ステッピングモーターで行ってます。行き過ぎを止めるため、レールの端に非接触の近接センサーを取り付けたいと考えてます。 現在利用してステッピングモーターコントローラーのリミット信号入力へは、オープンコレクター出力を入力できることが可能とマニュアルには書いてありました。この場合、出力がNPNオープンコレクタとある近接センサーは、直結できるのでしょうか?やはり、アンプやコントローラーなどが必要となるのでしょうか?この近接センサーのカタログには、コントローラーなどオプション情報はありません。 もしくは、新に購入するものを最小限に押さえつつ、なるべくシンプルにセンサーを導入するために必要なものを教えてください。 不足な情報もあると思います。そのような場合は、補足いたしますので、よろしくお願いします。

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

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

  • マイコンについて

     Z80とPICとH8マイコンの違いを簡単に教えてください。 また、上のそれぞれのマイコンの名前は型番ですか?それともメーカの名前ですか?  コンピュータの知識に自信がないのでなるべく簡単に教えていただけると助かります。宜しくお願い致します。

  • 2進バイナリ信号をカウンターで表示させたい。

    タイトルにも有る様にバイナリ信号(NPNオープンコレクター)をリアルタイムでカウンターに表示させたいのですが条件として通信用出力(RS232C等)がある物を探しています。 予算的には安い物が良いのですが・・・ あと、すぐに入手できる物知りませんか? ちなみに、信号はロータリーエンコーダー(アブソリュート)です。 宜しくお願いいたします。

  • ロジック回路の質問です

    状況: 500Hz の信号入力ラインが2本あります。 この2つの信号は ON-OFF の矩形で、同じタイミングで振幅しています。 これら2本の信号入力を一つに統一し、1本のラインに変換して出力します。 質問: 片方の信号入力ラインにエラーが起き、 Low または High の固定状態に陥ってしまったとします。 この状態でも、生きている方の信号を生かして出力したい場合、ロジック的な回路で可能でしょうか? それとも、マイコンなどを使ってプログラム的に処理したほうが良いのでしょうか? わかりにくい質問で申し訳ありませんが、ご回答お待ちしております。

専門家に質問してみよう