- ベストアンサー
PICを用いたLED発光による不具合
- PICを使った設計物でLEDの動作に不具合が生じています。
- 回路を組んでPICの出力をHighにした際にLEDが点灯しない現象が発生しています。
- また、テスターを使用してもLEDが点灯せず、絶縁物を当てると点灯することが判明しています。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
毎度JOです。 補足要求です ?のPIC Hi とは、PICのI/OとGND間を直接測定したのか(Hiは3V以上) それともプログラム上でHiの「ハズ」なのか ?の電圧0.2V検出 とは、PICのI/OとGND間の測定値でしょうか? もう一点、計測に使用したテスターはデジタルテスターかそれともアナログテスターか? 上記3点で目星が付けられそうですが、 ブレッドボード等での検証であれば接触不良が有りませんか? LEDによる簡単なチェック回路が動作せずして、dsPIC33Fを使用した回路設計が出来るとも思われませんが、このまま設計して大丈夫なんでしょうか? 毎度JOです。 もう答えが出て居ますね、 ご自分で思い込まず、観察された現実から判断すれば良いです プログラム上でHiの「ハズ」でも実際には0.2Vなのですから、 * ポートが外部で短絡に近い低抵抗で接続されて居ない事を前提に PICのポート設定に「不備」が有ります、プログラムを見直しましょう 先ずはデーターシートの熟読をお勧めします http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&mid=14&lang=en&pageId=75 データシートには、必要な全ての情報が記載されています、最適な設計をする為 隅から隅まで見ましょう 読み飛ばした所に重要な項目が記載されているかも知れません 入出力ポート制御レジスタや、A/D コンバータモジュール制御等 データシートの記載に目を通しましょう PICはポートによっては、、A/D コンバータモジュールがデフォルトで有効になっている物も有り、 この場合ポートを「デジタルで使用」と設定せねば、I/Oとして使用出来ない場合も有ります 何れにしてもデータシートを熟読しましょう
その他の回答 (5)
?トランジスタのベースとGNDの間に10kΩの抵抗を入れてみてください。 ?680Ωを330Ωにしてください。 多分動きます。 ただし、I/OピンがHレベルの出力を出している事が前提です。トランジスタがONするために必要なI/Oピンから最低電圧は、この場合は、1+(6.8K/10K)+VBE(0.6V)=2.28V以上必要です。本当にI/OピンにHレベル(3.3V?)が出力されているかを確認してください。ご存知と思いますが、PICの場合、I/Oピンがアナログ入力、デジタル入力、デジタル出力の切り替えをレジスタ設定で行わなければなりません。デジタル出力に設定されている事が前提です。(トランジスタのベースに直列に入れている抵抗を外して、I/Oピン側にオシロスコープのプローブを当ててみてください。本当に電圧が出ているかを確かめましょう。) ベースの最低必要電圧1+(8.5K/10K)+VBE(0.6V)=2.45Vの間違えでした。
お礼
MCLRが常時Loになっていました。 お騒がせしました。
dsPIC33F の仕様がわかりませんが NOT が組み込まれてませんか? NULL の問題で NOT が 組み込まれ 実は HI の とき 実際 Lo で Lo のとき HI の場合があります 少し輝く は 漏れ だと思いますよ つhttp://www.nc-net.or.jp/mori_log/detail.php?id=143400
お礼
MCLRが常時Loになっていました。 お騒がせしました。
dsPIC33F は使ったことないですが、一般論(確認)で。 PICのI/O(出力)で電圧があるか。 トランジスタはNPNなので+3V以上の出力でないと正常でないです。 とういことで、プログラム内のI/O シンク、ソースの設定を確認する。 他のI/Oでも試してみる。 なぜ680Ωなのか。電流多すぎですね。 デバッガあればプログラムかハードか問題かわかりますが…。 そういえばトランジスタはグリーンなのかな。
お礼
MCLRがLOになっていました。 お騒がせしました。
可能性として申し上げます。 1)PICのポートが出力として設定されていない (入力ポートの設定でハイインピーダンス状態になっている) 2)8.5kΩと思っている抵抗器が、カラーコードの読み間違いなどが原因で、 桁違いの高抵抗が接続されている。(普通は8.5kΩは使わず8.2kΩ) 3)イモはんだなど接触不良 お問い合わせの現象で、以下の2つの条件で何が違うのか良く理解できません。 ?PIC Hi状態で I/O端子にテスター当てるとLED 少し点灯。で電圧0.2V検出。 ?PIC Hi状態でテスター当てるとLED点灯せず。 補足説明お願いします。
お礼
お礼遅くなってスミマセン。 お問い合わせ内容、ことらのミスでした。修正入れました。 ご提示頂いた、1)~3)は問題ないです。 ありがとうございました。
予想ですがLEDを680Ω介してTrコレクタとつなぐとの記載から想定すると L5D-R3030-2400は20mA必要なため、680Ωの抵抗値が高いと思われます。 単純計算ですが、 3.3Vでも165ΩがMAX値かと予想されます。
お礼
MCLRが常時LOになっていました。 お騒がせしました。
補足
返信遅くなってスミマセン。 御指摘どおり、680Ωは高いですね。 165Ω以下でやってみます。 ありがとうございました。
お礼
MCLKが常時LOになっていました。 お騒がせしました。
補足
返信遅くなってスミマセン。 ご質問に返信します。 ?返信...プログラム上でHiの「ハズ」です。 ?返信...I/OとGND間です。また、デシタルオシロ使用による結果です。 ちなみに接触不良ではないです。 遅くなりましたが、コメントお願いします。