• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:LED街灯の不具合)

LED街灯の不具合

このQ&Aのポイント
  • LED街灯の不具合を解決する方法をご紹介します。
  • LED街灯の不具合の原因と解決策について解説します。
  • LED街灯の不具合を修理する方法についてまとめました。

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

  • ベストアンサー
  • xpopo
  • ベストアンサー率77% (295/379)
回答No.7

これまでの回答者の皆さんからの回答とそれぞれに対するCSIpi98aXさんの コメントと前回のご質問の結果、それから、以下のコメントから、 >LED とPIC の距離は短くて5m あります。電波を発信しているようなものでしょうか? >(受信!?)個々の7つのLED分の配線(計14本)をやらたと編んであります(汗) どうもFETのドレイン側の負荷にこの長い電線(5m)と7つのLEDの配線を編んで絡ませているのが 非常に気になります。電線も5mにもなりますとかなり大きなインダクタンスを持ちます。 この場合ですと少なくとも数uHもの値になってるはずです。それから、14本の配線に流れる PWMの波形はお互いに位相がずれています。しかもそれらが編んであるので電磁的なトランス結合 になってます。  前回のFETとPICの破壊はこのインダクタンスと配線の相互のトランス結合が原因だった可能性が 大きいです。特にインダクタンスによりFETのドレインに耐圧以上の電圧が印加(FETがON からOFFになる瞬間に発生する誘導性逆起電力によう高電圧の発生)されたためFETが破壊した と推定されます。FETがOFFになった瞬間にドレインに発生する大きなパルス状の電圧がFETの ドレイン-ゲート間の大きな容量(前回の質問の場合に使用されていた大電流FETの場合は1000pF かそれ以上の値となっています。)を通りゲートに抜けPICのポートまで到達しPICを破壊した ものと考えられます。  対策としてFETゲートとPICのポート間に1kΩを挿入され、。更にFETを小さな電流容量に 変更するということを処置されてます。しかし、これら対策後もFETのドレインにはPWM動作 におけるONからOFFへの毎回の動作時に発生している誘導性逆起電力はそのままです。 PICのポートとゲート間には1kΩが挿入されているので配線によるインダクタンスの逆起電力 でPICが壊れることはなくなりましたが、それでもFETが毎回OFFされる瞬間に電流がFETの ドレイン→ゲート→1kΩ→PICの出力ポートと流れていると考えられます。  もうお気づきかと思いますが、この電流はPICのポートに入ってから最終的にはPICの電源で あるVDD(5V)へ抜けてゆきます。このような電流が流れるとPICはいわゆるラッチアップといわれる 状態になってしまい、マイコン動作がおかしくなってしまう可能性が出てきます。  対策としては、FETのドレイン端子の近くから12Vの電源に向かって大きな整流用ダイオード を追加します。これでドレインは12V+ダイオードの順方向電圧降下分(≒0.6V)に抑えられます のでラッチアップ電流は流れなくなると思います。  それから配線相互のトランス結合の影響もあるとは思いますが、まずはこのインダクタンス による逆起電力対策をためしてみてください。  それから、PICの電源とGND間にはIC直近に0.1uF以上の積層セラミックコンデンサを必ず追加 して置いてください。

noname#152572
質問者

お礼

ありがとうございます。 長い説明、わかりやすかったです。早速整流用ダイオードを入れてみます。 接点復活剤を塗布して2~3日は良かったんですが、今日また同問題が発生しました。すると接点復活剤によって誘導起電力が基板に流れていたのでしょうか?

noname#152572
質問者

補足

なかなか実装し直す機会が無く長らく放置状態ですが、状況が改善されてしまいました。ひどく寒い時期に静電気の影響もあったのでしょうか? 時期を見て回路の修正を行いたいと思います。ありがとうございました。

その他の回答 (9)

noname#159916
noname#159916
回答No.10

No.7,8,9 さんのアドバイス ・PICにパスコン ・FETに逆起電力対策 に賛成です。 パスコンは、各ICの至近距離に入れるのが常套手段です。 小規模ICには数個に付き1個、のような兼用も可能ですが、 大規模ICには1個毎に入れます。 いっそICに内蔵してくれてればいいのですけどね。 長い配線での影響を目の当たりにした経験がないのですが、 配線が長ければインダクタンス(コイル成分)がバカにならない事や、 コイルをスイッチングする際はOFF時に逆起電力を生じるし、 これの対策にコイル両端に逆起電力吸収させるダイオードを入れるのは事実です。 半導体はGNDより低い電圧、VCCより高い電圧にも弱いです。

noname#152572
質問者

お礼

ありがとうございます。この問題は設計当初から頭の片隅にありましたが、やってみなければ分からないと結論付けして今回の採用となりました。 半年ほどうまく動いていたので問題ないと考えておりました。また各LEDの調光は、現時点では同じタイミングでオンオフしています(とは言え、PORTA とPORTB を順に設定する以上、us 単位の時間差は生じています)。 ただ・・・MOS-FET(例えば2SK2242) にはそういうダイオードが入っているような図があります。配線は異なりますが。

  • xpopo
  • ベストアンサー率77% (295/379)
回答No.9

すみません、積層セラミックコンデンサの取り付け位置を間違え てました。正しい回路図を添付しなおしておきます。

  • xpopo
  • ベストアンサー率77% (295/379)
回答No.8

ダイオード、コンデンサの取り付け場所を回路図に追加 しましたので参考にしてください。

noname#159916
noname#159916
回答No.6

前回同様まとまってない書き込みですみません。 ACアダプタ挿し直し(電源入れ直し)で元に戻るなら壊れてはいないようですね。 コネクタ挿し直し、とは電源コネクタのこと同じでしょう。 壊れてないので、最初からやり直せば正しく動作するわけです。 多分ですが突発的な原因で誤動作してるのでしょう。 未使用端子の処理は、静電気など高い電圧が近づいただけでも誘導されるのを防ぐ意味でも必要です。 高い電圧のほか、中間電圧も防ぎます。 (中間電圧は、短時間で横切る程度ならともかく、長時間に亘るのは避けるべし) 部品や配線を省略し「出力に設定し1か0どっちか出しとく」ですが、設定レジスタが化ければ状態を保てないという弱点もあります。 抵抗器省略し、入力設定のまま VCC や GND 直結、というのも設定が崩れて出力になってしまったら短絡し大きめな電流が流れ、ヘタすれば壊れます。 この点では抵抗を介しておけばいいです。部品と配線が増えるが欠点ですが。 短絡などで大きな電流が流れた時、電源供給経路が貧弱だと PIC の電源電圧がドロップし 誤動作につながります。GND配線も同様。 パスコン(バイパスコンデンサ)を入れたり、あちらの消費がこちらの電源を引張らないように 電源配線に気を使ったりします。 低レベルな話ですがご容赦。 ・いちいちバラして基板はずして抵抗器を付けて...と考えると二の足を踏むかもですが、 簡単な治具(抵抗器の両端にICクリップを取付)を作っておくと、PIC のポートと電源またはGNDをつかむようにすれば、着脱が容易です。 あと、入出力設定が化けてるとしたら、 入出力設定レジスタを時々やり直すようにプログラム改訂すれば見た目解消するはずです。 恒久対策でなく、判断する為に試験的に、という事ですが。 >0~50%の範囲の時は光りません。それ以上の場合は光り出します。 >80%以上オンの場合の光具合は他のLEDと見た目同じ明るさです。 プログラムではこう出してる予定でも、波形を見たら予定通りになってないと推測されます。 >なんとなくPICに指を触れた瞬間に治った感じがありましたので、 部品に手を近づける前に静電気対策はされてますか?この季節は湿度も低く 衣服も化繊だったり裸足でなかったり夏場よりも帯電しやすいので要注意です。 PIC も FET も静電気には要注意です。これも低レベルですみません。

noname#152572
質問者

お礼

静電気ですか。たしかに半年間はちゃんと動いてましたからね。 波形は未確認です。オシロで見てみる事にします。ただ基板背面をSUボンドで埋め尽くしているので、やりにくいんです・・・。 ボンドで埋めるのもよくないのかなぁ。 PIC は誤動作しないと思ってましたが、静電気には相当弱いんですね。うーん。

  • tadys
  • ベストアンサー率40% (856/2135)
回答No.5

CONFIG1のMCLREを1に設定していませんか? もしそうなら、MCLR端子をプルアップする必要が有ります。 MCLREがゼロなら別の問題です。 PICの電源にパスコンは付けていますか? どんなパスコンを付けていますか? 外部のノイズが原因の可能性も有ります。 電源からのノイズかもしれません。 電源と同じコンセントに蛍光灯(インバータ式で無いもの)を差し込んでオンオフしてみてください。 誤動作するのであれば、電源にノイズ対策が必要になります。 LEDとPICを結ぶ電線が長い(数メートル以上)場合にはここにノイズが飛び込む恐れも有ります。

noname#152572
質問者

お礼

MCLR は使ってません。あと内蔵クロックです。 パスコン、付けてません・・・。そういえばVDD とVSS に0.1uFセラコン のを付けるんでしたっけ。すぐ近くに三端子レギュレータがありまして、電解コンデンサ47uF を付けてあります(12V 入力側には0.1 uF セラコンです) LED とPIC の距離は短くて5m あります。電波を発信しているようなものでしょうか?(受信!?) 個々の7つのLED分の配線(計14本)をやらたと編んであります(汗) ノイズ出まくりかもしれません・・・。

  • koujikuu
  • ベストアンサー率43% (429/993)
回答No.4

ハンダ付けの不良、出力ポートの不良、が疑われます 他のポートに繋ぎ変えてみては? 未使用入力ポートは10KΩ程度でpull_up or pull_down したほうが良いです 直接VCC GNDにつなぐと出力ポートにした時にショートします。

noname#152572
質問者

お礼

ハンダ付けの不良、ありそうです。 先程PIC のソケットに接点復活剤を吹きました。しかし、ソケットもPIC もまだ作り直したばかりの新品ですし、接触不良とは思えません。 ソケットは基板裏で抵抗とハンダ付けしてありますが、そこでうまく行ってないのかも。接点復活剤が今は流れているのからでしょうか、本日は一度も消えてません。

  • koujikuu
  • ベストアンサー率43% (429/993)
回答No.3

点滅周波数を1000Hz(1ms) -> 60Hz へ落としてみてはどうですか 人の目は60Hz以上点滅を感知できません。

noname#152572
質問者

お礼

ありがとうございます。 点滅速度を十分に落としてみましたが、やはり消えました・・・。う~~ん。 さきほどPIC を挿し直そうとしたら点灯しました。接点復活剤もつけました。 なんとなくPICに指を触れた瞬間に治った感じがありましたので、誤動作の件も疑われます。使わないピンはグラウンドに落とすというのは必須なんですかねぇ・・・(汗)

  • koujikuu
  • ベストアンサー率43% (429/993)
回答No.2

PICの出力に直接LEDをつないで単体で試験してみてはどうですか?

noname#152572
質問者

お礼

ありがとうございます。 ブレッドボードで同様の動作確認をしましたが、問題ないようです。ただ・・・高速点灯なので見た目なんですが・・・。

  • xpopo
  • ベストアンサー率77% (295/379)
回答No.1

今晩は、  まず、7つあるLEDとはLED街灯を7つ作られて、そのうちの1つのLED街灯 という意味ですか?多分、そうだと思いますが...。  次に、2.の症状ですが、デューティーが0%~50%までは点灯しない状態 ですが、この時、FETのゲートにはドライブ信号が正しく来てたんでしょうか? あるいは、それは確認していないが、LEDが点灯していなかったのだけ確認した という事でしょうか?    ただ、その次の >3.ACアダプタやコネクタを抜き差しすると、大抵元に戻ります。正常動作時には >10%オンでもちゃんと光ります。ただし正常動作は長くて1時間位です。いつの >間にかやっぱり消えてます(80%オンの時でも消えてる事がある) というこの現象からはPICマイコンの誤動作みたいですね。PICの誤動作とすると 一番疑わしい原因はPICのどこかの入力ピンがオープンになっている場合です。 PICの使用していない入力ピンは全てGNDに落とすかVDDに吊るという処理をされてますか? 確認ください。  それからちょっと気になる点としてデューティーの設定はどのようにされてるのでしょうか? できれば、正確な回路図も載せていただいたほうが問題の絞込みが容易になると思います。 ご検討ください。

noname#152572
質問者

お礼

PICの誤動作ですか・・・。プログラムのバグではなくて。そういう事もありますか。 入力ピンが一つ浮いてました(汗) ビックリです。 今出力ピンにして0としておきました。RA2,3,4 RB0,1,2,3 を出力としてMOS-FET を制御しています。内蔵クロック仕様なので、他に使うピンはVDD とVSS、入力ピンはRB7 で押しボタンスイッチを付けてあります(押すとグラウンド、通常は5V)。 ただ・・・やはりおかしいです。こんどは0から100%まで10段階順に上げていくと、RA1(このピンでMOS-FET をオン)のLEDだけが0% 30% 60% 100%といった感じで先に100%の明るさになってしまってます(汗) ソースコードはCで書いています。この回路構成とコードは、約4ヶ月間は正しく動作してきました。もっとも今の基板は作り直したばかりですが。 デューティー比はタイマー使わず自前です。__delay_us() で休んでRA1=0, 休んでRA=1 としてループで回しています。他のLEDはちゃんと点灯しています。

関連するQ&A