GPIOに誤って12Vを入力した場合に保護するにはどうすればいいですか?
閲覧ありがとうございます。
電子工作初心者で、おかしな部分がありましたら教えてもらえますと幸いです。
Raspberry Pi Zero 2 WでPC用の12cmファンをPWM制御する回路を作りました。
ファンはPCで使われる4pinタイプでプラス(12v)、グランド、回転数、PWMの線があります。
12Vはtype-Cから取り、ラズパイのGPIOからPWMピンに接続するだけで問題なくファンが回転しました。
(ラズパイはtype-cの12vを5vに降圧して動かしています)
12V電源のグランド、ラズパイのグランドは共通です。
正常なときはこれで問題ないのですが、12V電源のプラス、グランドを逆接続した場合、PWMピンから12vが出ているようで、もしラズパイにこの電圧がかかった場合、壊れるのではないかと心配です。
(正常な場合、PWMピンからは3.3vが出ていました。これもいいのかわかりませんが...)
実は現在のラズパイは2台目で、上記のような回路を作っているときに突然起動しなくなりました。
ラズパイの電源をいれるとCPUの部分が異常に発熱しまして、テスターをあててみるとGPIOのいくつかがショートしているようでした。
はっきりと原因かはわからないのですが、もしかしたら一瞬だけ逆接続したような気がして、それが原因で壊れたのではないか?と疑っています。
GPIOとPWMピンの間に整流ダイオードを間に挟めばいいかなと思ったのですが、電圧降下のせいか、PWM制御がうまくいきませんでした。
(PWMピンを繋がないときと同様に100%の速さで回転しました)
ショットキーバリアダイオードは電圧降下が少ないらしいですが、こういう場合に使えますでしょうか。
一応現在はPWMピンとGPIOの間に1kΩの抵抗を入れています。
こういう場合にラズパイを保護する、うまいやり方をご存知でしたら教えていただけますと幸いです。
よろしくお願いいたします。
電子工作初心者で、おかしな部分がありましたら教えてもらえますと幸いです。
Raspberry Pi Zero 2 WでPC用の12cmファンをPWM制御する回路を作りました。
ファンはPCで使われる4pinタイプでプラス(12v)、グランド、回転数、PWMの線があります。
12Vはtype-Cから取り、ラズパイのGPIOからPWMピンに接続するだけで問題なくファンが回転しました。
(ラズパイはtype-cの12vを5vに降圧して動かしています)
12V電源のグランド、ラズパイのグランドは共通です。
正常なときはこれで問題ないのですが、12V電源のプラス、グランドを逆接続した場合、PWMピンから12vが出ているようで、もしラズパイにこの電圧がかかった場合、壊れるのではないかと心配です。
(正常な場合、PWMピンからは3.3vが出ていました。これもいいのかわかりませんが...)
実は現在のラズパイは2台目で、上記のような回路を作っているときに突然起動しなくなりました。
ラズパイの電源をいれるとCPUの部分が異常に発熱しまして、テスターをあててみるとGPIOのいくつかがショートしているようでした。
はっきりと原因かはわからないのですが、もしかしたら一瞬だけ逆接続したような気がして、それが原因で壊れたのではないか?と疑っています。
GPIOとPWMピンの間に整流ダイオードを間に挟めばいいかなと思ったのですが、電圧降下のせいか、PWM制御がうまくいきませんでした。
(PWMピンを繋がないときと同様に100%の速さで回転しました)
ショットキーバリアダイオードは電圧降下が少ないらしいですが、こういう場合に使えますでしょうか。
一応現在はPWMピンとGPIOの間に1kΩの抵抗を入れています。
こういう場合にラズパイを保護する、うまいやり方をご存知でしたら教えていただけますと幸いです。
よろしくお願いいたします。
Re: GPIOに誤って12Vを入力した場合に保護するにはどうすればいいですか?
保護回路を設計するためにはその PWM 線の規格(電圧制御か電流制御か、駆
動電流はどの向きにどれくらい必要か?電圧制御の場合閾値電圧はいくつか?)
が最低でも必要だと思います。加えて逆接続した場合に PWM 線からどれくら
いの電流が出てくるのかも分かったほうが考えやすいです(が、誤接続した時
にどうなるかとかはデータシートに出ていないことが多い)。
仮にその PWM 線が電圧レベル L の時に電流を引き込まなければいけないのであれば
整流ダイオードであろうと SBD であろうと直列に挟めば動作しませんよね。
> 一応現在はPWMピンとGPIOの間に1kΩの抵抗を入れています。
正常接続の時にこれで動いているのであれば、
ラズパイGPIO -> 180オームの抵抗 -> 820オームの抵抗 -> PWM
二本の抵抗の接続点 -> 3.3V ツェナーダイオードのカソード
そのアノード -> GND
# 抵抗は 1/4W にするか 1/2W にするか迷うところですがが私なら 1/2W を選びます。
# ツェナーダイオードは周囲温度50度までを考えても 500mW 級で十分のはずです。
みたいな回路構成が「とりあえず」考えられますが、ツェナーダイオードは
ばらつきが大きいし温度特性も悪いし降伏特性もシャープではありません。なの
でやはりデーターシートに示されている値からばらつきと温度特性を考慮した
上で抵抗値やツェナー電圧、最大消費電力を定め、シミュレーションで確認し
てから実機でテストということになるのだと思います。
全く別のアプローチとしてはフォトカプラーを使う手もあります。ただ、PWM
周波数が高いと高速タイプのカプラーが必要になりその場合たいてい出力はトー
テムポールなので、ファン電源を逆接続したらラズパイの代わりにフォトカプラーが壊れま
す。結局オープンコレクタで PWM を駆動するために外付けトランジスターが
1個か2個と抵抗(フォトカプラー内のLEDや外付けトランジスターの電流制限)
も必要になります。部品点数は増えてしまいますが信号線が(定格の範囲内で)
電気的に完全に絶縁されますし、抵抗値の選択も上ほどシビアではありません。
# フォトカプラーの選択は悩ましいですが....
動電流はどの向きにどれくらい必要か?電圧制御の場合閾値電圧はいくつか?)
が最低でも必要だと思います。加えて逆接続した場合に PWM 線からどれくら
いの電流が出てくるのかも分かったほうが考えやすいです(が、誤接続した時
にどうなるかとかはデータシートに出ていないことが多い)。
仮にその PWM 線が電圧レベル L の時に電流を引き込まなければいけないのであれば
整流ダイオードであろうと SBD であろうと直列に挟めば動作しませんよね。
> 一応現在はPWMピンとGPIOの間に1kΩの抵抗を入れています。
正常接続の時にこれで動いているのであれば、
ラズパイGPIO -> 180オームの抵抗 -> 820オームの抵抗 -> PWM
二本の抵抗の接続点 -> 3.3V ツェナーダイオードのカソード
そのアノード -> GND
# 抵抗は 1/4W にするか 1/2W にするか迷うところですがが私なら 1/2W を選びます。
# ツェナーダイオードは周囲温度50度までを考えても 500mW 級で十分のはずです。
みたいな回路構成が「とりあえず」考えられますが、ツェナーダイオードは
ばらつきが大きいし温度特性も悪いし降伏特性もシャープではありません。なの
でやはりデーターシートに示されている値からばらつきと温度特性を考慮した
上で抵抗値やツェナー電圧、最大消費電力を定め、シミュレーションで確認し
てから実機でテストということになるのだと思います。
全く別のアプローチとしてはフォトカプラーを使う手もあります。ただ、PWM
周波数が高いと高速タイプのカプラーが必要になりその場合たいてい出力はトー
テムポールなので、ファン電源を逆接続したらラズパイの代わりにフォトカプラーが壊れま
す。結局オープンコレクタで PWM を駆動するために外付けトランジスターが
1個か2個と抵抗(フォトカプラー内のLEDや外付けトランジスターの電流制限)
も必要になります。部品点数は増えてしまいますが信号線が(定格の範囲内で)
電気的に完全に絶縁されますし、抵抗値の選択も上ほどシビアではありません。
# フォトカプラーの選択は悩ましいですが....
Re: GPIOに誤って12Vを入力した場合に保護するにはどうすればいいですか?
tsatoh wrote: ↑Tue May 14, 2024 2:41 pm保護回路を設計するためにはその PWM 線の規格(電圧制御か電流制御か、駆
動電流はどの向きにどれくらい必要か?電圧制御の場合閾値電圧はいくつか?)
が最低でも必要だと思います。加えて逆接続した場合に PWM 線からどれくら
いの電流が出てくるのかも分かったほうが考えやすいです(が、誤接続した時
にどうなるかとかはデータシートに出ていないことが多い)。
仮にその PWM 線が電圧レベル L の時に電流を引き込まなければいけないのであれば
整流ダイオードであろうと SBD であろうと直列に挟めば動作しませんよね。
> 一応現在はPWMピンとGPIOの間に1kΩの抵抗を入れています。
正常接続の時にこれで動いているのであれば、
ラズパイGPIO -> 180オームの抵抗 -> 820オームの抵抗 -> PWM
二本の抵抗の接続点 -> 3.3V ツェナーダイオードのカソード
そのアノード -> GND
# 抵抗は 1/4W にするか 1/2W にするか迷うところですがが私なら 1/2W を選びます。
# ツェナーダイオードは周囲温度50度までを考えても 500mW 級で十分のはずです。
みたいな回路構成が「とりあえず」考えられますが、ツェナーダイオードは
ばらつきが大きいし温度特性も悪いし降伏特性もシャープではありません。なの
でやはりデーターシートに示されている値からばらつきと温度特性を考慮した
上で抵抗値やツェナー電圧、最大消費電力を定め、シミュレーションで確認し
てから実機でテストということになるのだと思います。
全く別のアプローチとしてはフォトカプラーを使う手もあります。ただ、PWM
周波数が高いと高速タイプのカプラーが必要になりその場合たいてい出力はトー
テムポールなので、ファン電源を逆接続したらラズパイの代わりにフォトカプラーが壊れま
す。結局オープンコレクタで PWM を駆動するために外付けトランジスターが
1個か2個と抵抗(フォトカプラー内のLEDや外付けトランジスターの電流制限)
も必要になります。部品点数は増えてしまいますが信号線が(定格の範囲内で)
電気的に完全に絶縁されますし、抵抗値の選択も上ほどシビアではありません。
# フォトカプラーの選択は悩ましいですが....
詳しく書いて頂きありがとうございます。
なるほど、保護回路を設計するにはかなり細かい特性もないと難しいんですね。
ツェナーダイオードというものは初めて知りました。
詳しい接続の仕方も書いて頂きありがとうございます。
フォトカプラは値段も安いですしトランジスタなども手元にあるため、比較的作りやすそうです。
後ほど、フォトカプラについても調べたうえで検討してみたいと思います。
ひとまず、今回の質問はこれで解決とさせていただきます。
お答えいただきありがとうございました。
Jump to
- Community
- General discussion
- Announcements
- Other languages
- Deutsch
- Español
- Français
- Italiano
- Nederlands
- 日本語
- Polski
- Português
- Русский
- Türkçe
- User groups and events
- Raspberry Pi Official Magazine
- Using the Raspberry Pi
- Beginners
- Troubleshooting
- Advanced users
- Assistive technology and accessibility
- Education
- Picademy
- Teaching and learning resources
- Staffroom, classroom and projects
- Astro Pi
- Mathematica
- High Altitude Balloon
- Weather station
- Programming
- C/C++
- Java
- Python
- Scratch
- Other programming languages
- Windows 10 for IoT
- Wolfram Language
- Bare metal, Assembly language
- Graphics programming
- OpenGLES
- OpenVG
- OpenMAX
- General programming discussion
- Projects
- Networking and servers
- Automation, sensing and robotics
- Graphics, sound and multimedia
- Other projects
- Media centres
- Gaming
- AIY Projects
- Hardware and peripherals
- Camera board
- Compute Module
- Official Display
- HATs and other add-ons
- Device Tree
- Interfacing (DSI, CSI, I2C, etc.)
- Keyboard computers (400, 500, 500+)
- Raspberry Pi Pico
- General
- SDK
- MicroPython
- Other RP2040 boards
- Zephyr
- Rust
- AI Accelerator
- AI Camera - IMX500
- Hailo
- Software
- Raspberry Pi OS
- Raspberry Pi Connect
- Raspberry Pi Desktop for PC and Mac
- Beta testing
- Other
- Android
- Debian
- FreeBSD
- Gentoo
- Linux Kernel
- NetBSD
- openSUSE
- Plan 9
- Puppy
- Arch
- Pidora / Fedora
- RISCOS
- Ubuntu
- Ye Olde Pi Shoppe
- For sale
- Wanted
- Off topic
- Off topic discussion