ぽんず製造所

当ブログの記事を参考にして行った事により、いかなる不都合が発生としても当方は一切の責任を負いません。全て各自の自己責任でお願いします。

大きなIGBTを動かす

なんとなくデカいIGBTモジュールを動かしたくなったので、ゲートドライバを作ってみました。

ゲートドライバとは、マイコンなどの信号(約5V)からMOSFETやIGBTを駆動するのに必要な電圧(10~20V)に単に増幅するだけのものです。また素子のG-S間にはコンデンサ成分(ゲート容量)があり、ゲートを駆動するにはこのコンデンサを充電したり放電したりという事が必要になってきます。この充電/放電を素早く出来れば、高速スイッチングが可能です。
一般的にゲート容量は素子のスペックに比例していて、小さなMOSFETなどではゲート容量が小さいのでトランジスタのプッシュプルやゲートドライバICなどで十分間に合います。例:IR4427など
しかし、このように大きなIGBTではゲート容量が大きく、そう簡単には駆動できません。

DSC_0657

1200V400AのよくあるIGBTですね。なんでIGBTなのにゲート端子にBって書いてあるんだろう...パワトラ時代の殻使ったのかな
旧世代ということもあり、ゲート容量が72000pFとか書いてあります。一般的なMOSFETだと数百~数千pF程度ということを考えるとかなり大きいことがわかります。
こんなものを駆動したいので、パワーのあるゲートドライバを自作してみることにしました。
回路はFET研究室のKKT氏の記事そのままです。(ありがとうございました。) 
KKT氏はGDTと介してドライブしているようですが自分は直でドライブしてみます。

こちらが作ったゲートドライバです。

DSC_0658

基板裏に主役のプッシュプルMOSFET君が隠れていますが半田が汚いとか言って恥ずかしがってるので公開しません
写っているICはゲートドライバのゲートドライバです。ゲートドライバに使っているのはMOSFETそのものなのでこいつも一応ゲートドライブしてあげる必要があるのです。ゲートドライバのゲートドライバとかよくわかりませんね。
あとドライバ-IGBT間にゲート抵抗を入れるのを忘れててそのまま圧着端子つけちゃいました。まぁこれはこれでいろいろな値で実験できるのでいいです。

ゲートドライバは出来たのでテスト用信号を作るやつを作りました

DSC_0659

レギュと矩形波を出すだけのマイコンが乗っただけでした。555でも作れそうですがマイコンのほうが簡単なので。

それでは実験してみます。
デカいIGBTなのにスイッチング周波数100kHzで動かしてやるぜー。D比は50%
写真ではゲート抵抗入っていませんが1.5Ω程の抵抗を入れました。

DSC_0655


黄色:IGBTゲート電圧
水色:IGBTコレクタ電圧

全体
734

立ち上がり
559

立ち下がり
853

壊れたときが怖いのでコレクタにはまだ15Vしかかけていません。電流も1.5Aです。
なんとかうまくいっているようですね。こんなに重い(ゲートも物理的にも)物をよく動かせたものです。
ちなみに、こういった素子になるとゲートに+の電圧だけでなく正負の電圧を掛けてたりします。
今回は正負電源が用意できなかったので+15Vだけ掛けています。
ちなみにゲート電流はピーク10Aくらいでした。

ドライバに使ったMOSFETのゲート波形を見てみます。
赤:Pch側
青:Nch側

390

KKT氏の言っていた「ゲート抵抗と並列に接続しているダイオードがミソです。PchFETはOFFする際ゲート抵抗の効果を受けずに高......」というのはこのことですね。
素子の立ち上がりだけを遅くしておき、片方の素子がONになる前にもう片方が瞬時にOFFする、そのあとにONされるので貫通電流が流れないようになっているのですね。
でもこれちょっと貫通電流流れちゃってるかも?

波形は思ってた以上によかったです。このレベルの素子で100kHzはなんとか大丈夫そうですね。200kHzいけるかな...?(多分このIGBT最大でも20kHzくらいを想定してるはずなんだよなぁ)

ただ、MOSFETの発熱が意外と大きかったです(貫通電流の可能性あり)。放熱対策をしたり定数を調整したりする必要がありそうです。
ゲート抵抗も熱かったです。


電圧を上げて実験してみました。450V掛けてみます。
負荷抵抗10Ωのときです。計算上45A流れるはずです。

845

少しリンギング&サージがあります。負荷抵抗が巻線抵抗でアアーッインダクタンスッっていうのもありますがワニ口で乱雑配線してると言うのが大きいと思います

お次は5Ωで90Aです

192

電流が増えたのでさらに波形が酷くなりました。砂場もなにもついてないので仕方ないですね。



おまけです。
ゲート容量約5000pFのMOSFETをドライブしてみたときです。
IGBTに比べるとかなり速くスイッチングできてます。 さすがです

113

今のはゲート抵抗(1.5Ω)有りですが
無いと

400

ヤバイ波形になります。ゲート抵抗のありがたみがよくわかりました。
以上です。 

冬休み

あけましておめでとうございます。
冬休みに入って少し時間が出来ましたので色々なことをやっていました。

まず前の記事で紹介したとおりテスラコイルを放電させて遊んでいました。
この当時はSSTCでしたが、Twitterにて触発されてDRSSTC化させてみました。

C0_M4dlVIAArS0m

???
共振は合わせてないです(合わせる気がないです(めんどくさかった)) 
SSTCより放電が大きくなってるのでよしとします。配線も構造もDRSSTC用ではないのでこれ以上やる気はないです。

あとテスラで作った呪いの紙ね

DSC_0643

放電を感熱紙に当ててみただけでした。



自動で弾を装填する奴を作り直しました。構造が以前のと変更されてますがそんなに変わりはありません。
可動する芯に磁石を用いて電磁石1つで前後に動かすことができるようになりました。

DSC_0585


可動部分がマガジン部分まで届くように腕を設置しました。基板を使ったのは、厚さがちょうどよくて、強度、耐熱性もレールガンに耐えられそうだということからです。
この腕が弾を押し出してレールガン内にセットさせる感じです

DSC_0593

さらに簡易的にマガジンを作って実験をしました。



たまたまうまくいったところを撮ってますが9割弾が詰まります。
精度を良くするか構造を見直すか検討中です。



アクリルを曲げが意外と簡単にできるというのを聞いて実験してみました。
装置はその辺の電源と抵抗でやってみます。抵抗を加熱してその熱でアクリルを柔らかくします。

DSC_0594
DSC_0598

できました。

DSC_0600

楽しかったです。以上です。 

ドラム風に放電できるインタラプタ

テスラコイルでドラムっぽいこと昔からやってみたかったんですよね
QCWDRSSTCがドラムに最適だなとか思ったんですけどもうちょっと手っ取り早くやりたいなと思って(作る技量もないし)
インタラプタの方を改良してドラム風な放電ができるようにしてみました。 


とりあえず動画

うまるーん


けいおんのやつ


らき☆すた


ドラム音は、強制的に(通常のパルスに比べて)非常に長いパルスを1パルスだけ送っているだけだったりします。
放電が長くなるのと、通常の音楽の放電が中断されるのでポツッって感じに放電できるわけです
確か200us~1ms(ベロシティによって可変)のパルスだったと思います。

あと同時に通常の放電についても、ベロシティによってパルス幅可変にしました。
これによりパルス幅は74HC123制御ではなく全てマイコン制御になりました。マイコンがバグってもテスラ側に保護付けといたので大丈夫だと思います。
これで小さい放電(小さい音)とか大きい放電(大きい音)とか表現できますね!
動画内ではうまるちゃんの一番最後のピ↓ロ↓ロ↓ロ↓ロ↓のところとかわかりやすいと思います。

放電テスト的な↓

ボリュームも無理やり追加したので全体的な音量調節もできます。

アッそういえば74HC123を使わなくなったので、代わりに光コネクタ用の信号変調マイコンを取り付けました。ピン配置を合わせるために一回基板に実装してからソケットに刺さっています

CvYKjvQUEAAjX0x

テスラコイルといえば光コネクタの受信側の改造が必要でしたが、このマイコンを通すことで改造が不要になりました。これについてはまたいつか記事にしようと思っています。


実はどれも文化祭にあわせて改良した機能です。おかげでいい感じに放電させることができました。
それでは、今日はこの辺(へん) で。

PIC16F1705でWS2812Bを動かす

WS2812Bはシリアル通信で制御できるRGB LEDです。WS2812Bについての概要は他のサイト等でググってみてください
今回はPICマイコンでWS2812Bを動かす方法(?)を紹介しようと思います。

WS2812B系のLEDの何がめんどくさいって通信波形の生成ですよね。
少しググって調べた人ならわかると思うんですけど、信号の1パルスが1ビットの情報になっていて、このパルスの長さによって0か1かを表すというものです。
しかしこのパルスが1周期1~2us程度と、そのへんの8bitマイコンだと処理がギリギリです。C言語で書くと処理速度が遅くなってしまうのでアセンブラで書いてる人が多いみたいです。

自分がWS2812Bについて調べてる時、次のようなアプリケーションノートを見つけました。
PIC16F1509 の構成可能なロジックセル (CLC) を使った WS2811 LED ドライバ インターフェイスの作成(AN1606)(PDF)
PICマイコンは処理速度は速くないですが、周辺モジュールが豊富にあるので、これを使って信号を生成してみようというもの。
タイマー、SPI、PWM、CLCを使いLEDドライバを構成しています。CLCと言うのはロジック回路をマイコン内部に生成できるというものです。CPLDやFPGAの超小規模版といったところ。
このLEDドライバはSPIに表示させたいデータを入れるだけで信号を生成してくれるというすぐれものです。
SPIのSCK信号を長いパルスとして使用し、PWMで短いパルスを生成しています。これをCLCでSPIのSDOと合成して信号波形を生成しています。
SPIとPWMは同じタイマーを使っているので完全に同期させることができるようです。考えた人ホント頭いいですよね

もうほぼこれを参考にして(いやパクリ)作ってみました。
PICはアプリケーションノートのマイコンではなくPIC16F1705を使用しました。WS2812はとりあえず4つです。



使ってみた感想としては、モジュールの設定を済ませれば、あとはSPIにデータを入れるだけでいいので簡単に制御することができました。ただデータを送ったら次のデータを即座に用意しないと表示がおかしく(チカチカする)なってしまうので結局工夫してプログラム書かないとダメみたいですね。



ていうかこれやったのもう半年以上前だからよく覚えてないんだよなぁ...
本当はもうちょっとLEDドライバについて書く予定だったんだけどね、しょうがないね

100WLEDドライバー

私は自転車通学なのですが、最近日が落ちるのが早くなり、下校中など暗くて仕方ありません。田舎なので街頭がない場所もあります。向こうから無灯火のチャリが来てるのに直前まで気づかなくて危険だったりします。
そこで、それなりに明るい懐中電灯を作ろうと思います。
ついでに使う部品は家に眠っている部品のみとしますのでちょっとスペックが足りなかったりするところがあるかもしれません

まず光源となるLEDは、随分前に購入して放置されてた100Wのものを使います。

DSC_0498


どんな回路にするかを決めます。
今回は持ち運び式にしたいのでバッテリー駆動とします。
100WLEDを駆動するとなると、普通に抵抗で電流制限してしまうと抵抗の発熱が大きく、あまり効率もよろしくありませんし、バッテリーの持ちも悪くなります。
100WLEDはVF=35V程度あるので、バッテリーも35V以上用意すればいいのですがバッテリーの個数も増えてしまいサイズが大きくなってしまいます。
以上の点から、昇圧チョッパー式として、低電圧のバッテリーから高効率に駆動できるようにします。
それと、いままでチョッパを作ってたので回路や技術の流用ができるっていうのもあります。
バッテリー電圧は具体的には7.4~18V位を想定しています。


回路のブロック図(?)です

ブロック図

今回も制御にはマイコンを使用し、ほとんどがマイコン内で構成されてます。チョッパの制御も操作も全てマイコンで行います。
出力可変をしたいので今回はPWM方式とし、マイコン内のPWMモジュールで波形を生成します。
チョッパ部分が2セットありますが、MOSFETを交互(正確には180度ずらした波形)にスイッチングします。これはインターリーブ式と言って、リプル率が抑えられたり、小型化できたりします。
PWM波形(1相)をCOGというモジュールに入力してやると180度ずらした2相の波形を出力してくれます。
LEDの電流とコイル電流はシャント抵抗で検出します。以前チョッパを制作した時、配線抵抗の影響を受けることがわかったのと、LED電流はGNDから浮いているので、オペアンプ(OPA)は差動増幅にしてみました。GND基準で値を取得できます。
その他、LED電圧のフィードバックや電源電圧の測定用に分圧回路を設けてあります。
COGのAuto-Shutdown Controlという機能を使って、LED電圧が一定以上、またはコイル電流が一定以上になると即座にスイッチングが停止するようになっています。(プログラムで測定・計算すると反応が遅くなってしまう可能性があるため)
操作はタクトスイッチとLCDで行うことにしました。

ダラダラと書いておりましたがだいたいこんな感じです。
そういえば、LEDに電流制限抵抗が付いていないので???ってなる方もいるかもしれませんが、原理的に出力電圧はLEDのVF以上には上昇しないようになっていて、代わりに流れる電流が増えます。チョッパの出力以上には電流は流れないので、PWMのデューティー比を調整することで出力を変えるができます。
このお陰で電流制限抵抗が不要で効率良く点灯させることができます。


チョッパに使うインダクタですが、某店でこんなインダクタが。

DSC_0500

エッジワイズコイルでとてもぱわみがありますね
実はこれを入手したのも製作動機の50%あったりします

スイッチング素子部分はIRFB3607とショットキーバリアダイオード(2素子入り)です
ダイオードのスペックが足りない気がするけど家にある部品縛りなので...

DSC_0489


基板完成

DSC_0503

裏面にはインダクタと平滑用コンデンサが載っていて大電流が流れる部分はIV1.6mmで配線されています
(これは製作途中の写真)

myhome

ベース基板とLCDの乗ってる基板は分離できるようになっています。
LCDは秋月のI2Cのアレ(バックライト付き) それとタクトスイッチが2つ付いています。
基板右上が欠けているのは家にある部品縛りのせいです。LCDの保護フィルムは完成したら剥がしますよ

DSC_0511

LCD基板の下にはPIC16F1709とゲートドライブICのIR4427が載っています
IR4427は中に2回路入っているので今回のような回路には使いやすいですね そして安くて電流も結構流せる

DSC_0508

LEDはとりあえず秋月ヒートシンクにつけてみました。 

DSC_0513

実際に動かしてみた時の動画です


ちょっと明るさがわかりにくいかも

LCDの1行目は実際の出力、2行目がバッテリーの電圧になっています。
いまのところ1W~100Wまで設定することができます。 1~10Wは1W刻み、10~30Wは5W刻み、それ以上は10W刻みで設定できます(このあともプログラムを変えると思うので今のとはちょっと変わるかもしれません)
出力制御の仕組みは単純で、出力を設定する→LED電流と電圧を測定する→出力が設定した値よりも低かったらPWMデューティー比を大きくし、大きかったら低くする、といったふうになっています。

100W連続動作させてみましたが、MOSFETたちはギリギリずっと触っていられるくらいの温度でちょっと熱いです(計算上3~4W程度の発熱(多分))
LED本体は100W全て消費しているので熱いのは予想できてましたが、流石に秋月ヒートシンクは無謀でした。強めのファンで放熱してやっと触れる程度になります。

これは例の2相PWMのテスト時の波形動画です。ちょうど半分ずれていると思います。このおかげで小型で低損失にできるってことですね。10bit分解能があるのでなかなか細かい出力設定ができるようです。
 



保護機能が動作したときはすぐに発振が止まるようになっています。
出力電圧の過電圧保護が動作した時の波形

183


コイル電流の過電流保護が動作した時の波形(黄色が電流)

544

といった感じでそれぞれうまく動作しているようですが、高出力時に誤作動してしまうことがわかりました。
おそらくノイズで誤作動してるようですが、もうなんかめんどくさくなったし、プログラムでも保護掛けてるし、もういいかなぁ~~ーってなって、結局保護機能はなくしました......まぁまだ一度も部品壊れてないしいいでしょ
なのでシャント抵抗を外そうか検討中...意外と発熱あるんだよね


ちょっとプログラムを変えて遊んでみた。じわっと光ってじわっと消えるやつです。



ということで基板は完成しました。あとは筐体も作らなければいけませんが基板作って満足しちゃってる感。完成はいつになるのやら 



~最近の秋月彼岸花の様子~
花は咲かずに草生えてます。草生える 

DSC_0480
5000兆円欲しい!