- ベストアンサー
PICへ入力するHigh信号は12VでもOKですか?
PICへ入力するHigh信号は12VでもOKですか? 動作用の電力として5VをPICに入力しますが、トリガーとなる信号は12Vでも大丈夫でしょうか?12Vの信号がI/Oに入力された際に、所定の動作をPICにさせたいのです。PICは12F509を使用するつもりです。電源の5Vは、車用の携帯電話充電器をバラして使う予定です。 ウインカーの信号を取得したら所定の動作をさせるのが具体的な目的です。 ご回答をお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
PICのIO入力電圧は5v(VDD)+5%です。(最大絶対値) >電源の5Vは、車用の携帯電話充電器をバラして使う予定です。 まぁ~これでも良いですが、携帯電話充電器って5.5v仕様じゃないですか?? 出力電圧の調整が必要です。 PIC電源は3端子レギュレータで12vから5vに落として、IO入力は抵抗分圧などを使うのも手です。 12v-130kΩ-5v弱-91kΩ-GND 分圧消費電流0.054mA 消費電力0.7mW (最小) 他には、フォトカプラやトランジスタ(2SC)・FET(2SK)等を使いPICに因果する電圧を5vにしましょう。 後はIOポートに5v以上の電圧がかからないようにツェナーダイオード5.1vでも入れておきましょう。 (抵抗分圧は12vで計算していますので、走行時などは13v位まであがりますので、91kΩを82kΩに交換しましょう。) GPIO.3なら、12vを直接因果しても壊れはしませんが、PICが正常動作するかどうかは責任が取れません。 PIC12F629で、テールスモール・ブレーキ・ウィンカーを制御させています。 (外車風しようにアレンジ・・・ 笑 )
その他の回答 (3)
- DN7
- ベストアンサー率30% (23/76)
No.1 で回答した DN7 です。 もう少しデータシートを見てみると、TABLE 10-1 に VIH(Input High Voltage)の欄があり、MAX は VDD となっています。つまり、電源電圧(VDD)以上の電圧を入力してはいけません。 No.2 で KEN_2 さんが言っている ±20mA は回路保護のダイオード(「5.4 I/O Interfacing」参照)の定格電流です。基本的に保護回路をあてにした設計をするべきではありません。 ただし、何らかの原因で入力端子に直接バッテリ電圧が加わってしまっても、壊れないように抵抗を入れることは必要です(考え方は、No.2 で KEN_2 さんが回答している通り。ただし、バッテリ電圧は余裕を見てもう少し大きめにした方がよいでしょう。ためしに、エンジンがかかっているときの電圧を測定してみるのもよいでしょう。電圧計を壊さないように注意してくださいね。)。このポートは、電流はそれほど必要ないので、もっと大きな抵抗(4.7k程度)でも、問題ありません。また、フラッシャ(ウィンカ)リレーがオフになっているときに、不定(入力電圧か定まらない)状態とならないように、入力端子をプルダウン(47k程度、ただし回路構成によっては抵抗分圧に注意)しておくことも必要です。 車載用のマイコンでは、12V入力を保証しているものもありますが、これは一般用で、12V入力を保証もしていないので、入力は電源電圧を越えないように使った方がよいでしょう。
- KEN_2
- ベストアンサー率59% (930/1576)
絶対最大定格が「±20 mA」となっていますので、12Vをそのまま印加すると[I/O PORT]が壊れます。 最低限の電流制限用抵抗を挿入すべきです。 データシートでは、 >10.0 ELECTRICAL CHARACTERISTICS を参照 >Input clamp current, IIK (VI < 0 or VI > VDD)..............±20 mA これから、VDDが5VでVIが12Vとすれば、350Ω以上の抵抗の挿入が必要になります。 データシート; >5.4 I/O InterfacingFIGURE 5-1: を参照 安全の為に1.2K~2.2KΩ程度を挿入します。 *電装品の場合イグニッションや他の機器からのノイズ混入で誤動作を引き起こしますので、外部信号の入・出力回路にはフォトカップラでアイソレーションを兼ねて12V→5V変換などでレベル変換回路を挿入します。 ノイズの心配が無ければ、電流制限抵抗だけでウインカーの信号を取り込み可能です。
- DN7
- ベストアンサー率30% (23/76)
データシートを確認してみましょう。 「10.0 ELECTRICAL CHARACTERISTICS」に記載されています。
お礼
PIC電源は3端子レギュレータで12vから5vに落として、IO入力は抵抗分圧を使いました。この手法で無事動作しました。ありがとうございます!