ぽんず製造所

御アクセスありがとうございます。閲覧にあたりましては「コンテンツについて」の内容をご理解いただいた上でお楽しみください。また、当ブログの内容はあくまで趣味で行ったものであり、学術的ではないことをご了承ください。

PICマイコン

PICマイコンを使ったインターリーブ臨界モードPFC回路を作った

PICマイコン「PIC16F1615」を使って、インターリーブ臨界モードPFC回路を作りました。
今回はクッソ雑に動画にまとめたので貼っときます。(YouTubeからもっと動画上げなさい(意訳)と怒られた)
のでここに文章は書きません



ようごのせつめい

PFC・・・PowerFactorCorrection:力率改善回路。商用電源を全波整流等で直流を得ると入力電流がひずみ、力率の悪化、高調波の増加などの悪影響が生じる。PFCは一般的には入力電流を正弦波(入力電圧波形)に近づけながら直流を得る回路。回路トポロジは昇圧チョッパ型が一般的で、今回もソレ。

臨界モード・・・チョッパ回路ではスイッチング素子をON/OFFしてインダクタ電流を制御するが、臨界モードはインダクタ電流がゼロになったときにスイッチング素子をONとする動作モード。インダクタ電流はゼロとピーク電流を行き来する。バレースイッチング/ソフトスイッチングとすることができるので、スイッチング損・リカバリ損が低く、低ノイズにできる。一方、ピーク電流が大きくなるので導通損などに注意。入力電流リプルが大きく、フィルタ等も大きくなりがちで嫌すぎ。

インターリーブ・・・主回路を複数用意し、等位相差で動作させる方法。今回のように2つあるなら180度位相差。これにより各相のインダクタ電流リプルが相殺され、入力電流リプルを小さくでき、臨界モードの欠点がかなり解消される。臨界モードではスイッチング周波数が可変なので等位相差動作が難しいが、これをうまくやってくれるのがPIC16F161xのAngular Timerだったってワケ。


PICで遊ぶの楽しいですね。
以上ッ!

WS2812Bを使った3*3*3フルカラーLEDキューブ

LEDキューブを作るとなると、単色ならまだしも、通常の4端子RGB LEDだと配線が面倒なことになってしまいます。
そこで登場するのがWS2812Bです。WS2812Bはデータを送って点灯できるマイコン内蔵型のフルカラーLEDです。デイジーチェーンで接続できるので複数のLEDを1本の信号線で制御することができます。つまりこいつを使うと配線が非常に楽にできるわけです。(WS2812Bの使い方や詳細は他所をご覧ください...)
今回はそのWS2812Bを使ってLEDキューブを作ってみました。
WS2812Bをキューブに使ったらどんな感じになるのか、表面実装タイプのLEDでもいい感じに見えるのかなど、試験的に作ってみた側面が大きいです。

DSC_3699

USB電源で駆動でき小型で手軽に動かせます。


回路自体はこんなに簡単です。
マイコンにWS2812を繋げてるだけです。あと電源とか。
Untitled

マイコンはPIC16F1705です。WS2812B系のLEDはデータ波形生成がチョット大変ですが、PIC16F1705のペリフェラルを使うことで簡単に生成できます。詳細はこちらをご覧ください。
表示させたいデータを適当に作ってSPIにぶん投げたら点灯できます。


特に書くこともないので制作風景を載せておきます。

スズメッキ線にLEDを直接はんだ付けしていきます。
DSC_3671

3枚(?)作ったら試験点灯をさせてみます。
DSC_3672

点かなくて草
どうにもWS2812B系はハンダの熱に弱いらしく壊れてしまうようです。熱でパッケージが膨張して中のボンディングワイヤが切れるらしい。まぁ今回はずいぶん前に買った在庫品や中古品を使ったというのもありそうです。
DSC_3673

壊れているLEDを交換し全点灯したら
DSC_3678

立体的に組み上げていきます。ちなみにここでもハンダするのでLED壊れました ブチギレ
DSC_3679

点いた。
DSC_3680

ちなみにここまでで10個くらいLED壊しました。半田鏝の温度低めに設定してたのに。クソLEDだな
なおめんどくさかったのでLEDにパスコンは付けてないです、皆さんは付けましょうね(

マイコンを載せたりする基板は目立たないようにマジックで黒く塗りました。
DSC_3689

LEDと各部品をはんだ付けしました。あとケースと合体用のアクリル部品とかも付けた。
DSC_3691

ケースは黒のスモークアクリルを切り出し、アクリル用の接着剤を使って箱状にしました。
接着下手クソなのでズレました。下手クソ具合は完成写真でもよくわかります、接着面が汚いです。
DSC_3681

USBコネクタ用の切り欠きとか。
DSC_3687

ケースと基板を合体して完成。黒スモークアクリルのおかげで、点灯してないときは黒い謎の箱、点灯するとLEDが浮き出てきていい感じです。
あっあとアクリルに反射してLEDの数が少ない割にいっぱい点灯してるように見えていいね(?)


良いインテリアが出来て良かったです。

自動二次コイル巻き機

もう1年近く前になりますが、自動二次コイル巻き機を作りました。記事書いてないことを思い出したので今書きます。

テスラコイルはあの二次コイルを作らなければもはやテスラコイルとして成り立ちません。
でもコレを巻くのは非常に面倒で大変。1000回くらい巻かなければいけません。
ということで自動でコイルを巻いてくれる装置を作ってみました。
今までも電動ドリルの先に塩ビパイプを取り付け、半自動で巻けるようにしていました。
しかし、巻いてる時の調整は手で行わなければいけませんし、巻数もカウントできません。巻数は使った銅線の重さを量る、または巻取り長を測って線の直径で割ることで大体の巻数は算出できますが、スキマや誤差で正確には測定できません。
そこで、巻数をカウントできて、調整も自動でしてくれる、というのを目標にしました。

まず。正確に巻数をカウントするために、今回は巻取り用モーターにステッピングモーターを用いることにしました。DCモーターでもいいですがフィードバックが必要になると思います。
次に、線を巻いていくと巻くべき場所が移動するので、巻く場所を調整する必要があります。
これも正確に移動させる必要があるので同じくステッピングモーターにします。

そんでもって適当に回路を作りました。

DSC_1102

左から、制御回路、モータードライバ基板、ステッピングモーターです。
制御回路には秋月の福箱から出たものを使ったり、部品箱の奥底にあったものを使って、極力お金をかけないようにしてみました。部品の消化にもなるし
モタドラはなんだか大げさですが、学校に大量にあったICをいくつか頂いてきた(許可済み)ものなので文句は言えないです


次に巻き取るところを作りました。

DSC_1100

真ん中にコイルをセットします。 
一応最大40cm程度のコイルまで巻けるようにしました。右側の板は下のアルミ棒に沿って移動できるようになっているので任意の長さで調整できます。

巻線を自動送りするところも取り付けました。ネジ送りになっていて細かな移動が可能なはずです。

DSC_1117


これは巻線を掴む部分です。
こんな感じで線を通したらフタで挟み込みます。

DSC_1056

布を使ったのでいい感じに線を摘んでくれます。ネジで挟み具合を程よい感じに調整することも出来ます。ピッピッって糸が張る感じです。



さて、この時点でハードはほぼ完成なのでテスト用プログラム書いて動かしてみました。
この時ステッピングモータは二相励磁で動かしていて、その分解能が低かったためか、モータが思ったよりガクガク動いてあまりよろしくありませんでした。
そこで、マイクロステップ駆動というものでもっと細かな制御をすることにしました。電流値を細かく制御するらしいのですが、マイコンで制御するのは大変めんどくさそうなので専用ICのTB6608FNGつ使うことにしました。

制御基板のLCDの裏は空きスペースとなっているのでそこに実装しました。

DSC_1075

結構発熱しそうだったので銅板貼っつけてその上にIC載せました。配線はUEWでやりました。
そしてその上にクールスタッフ貼って放熱はバッチリです。(結局、実際動かしてみると思ったより発熱しませんでした...)

DSC_1078

結果として制御基板とMDが合体して1枚になり、ステップ数も細かくなり、モータの制御も楽になって一石三鳥です。
ついでにDCジャック付けました。

DSC_1177

基板を取り付けて完成です。

DSC_1193

全体的にかなり雑な作りなのは、急いで作りたかった・安く済ませたかった・まぁでもそれなりに使える、を求めた結果です。許して


ソフトはこんな感じになりました。



turnsは巻いた数、densityは巻取り間隔です。横の矢印は巻く方向とかです。
RotationModeはコイル側だけ回します。ニス塗りのときに有用です。MovementModeとかは送り位置の調節とか用です。


VU管とはこんなの作って連結します。

DSC_1145


試しに巻いてみました。途中で間隔を変更しながら巻いてるのでこんな感じになっています。

DSC_1138


本番用コイル(約800巻)を巻いてみました。動画は40倍速にしていますが本当は約10分かかりました。



出来たやつ
DSC_1188

782回巻いたらしいです。
DSC_1184

キレイに巻くにはどうやらセッティングにコツがいるようで、それまでUEWを結構無駄にしてしまいました。あまりにも雑に作ってしまったので精度の悪さや歪みなどがあり、その影響もあると思います。
しかし手巻き/半自動巻よりかだいぶ楽に制作できるようになったので良かったです。

PICマイコンを使ったノーマルインタラプタ

今までテスラコイルのインタラプターには言わずと知れたスティーブ氏のインタラプタを使ってきました。

これ
DSC_0443

しかしドラム放電やQCW放電など、単発の出力をすることはできなかったので新しくインタラプタを作ることにしました。
(や、実は左上のボタンで単発出せるんだけど接触悪かったり何回も押さないといけないしなんだかんだで使い勝手が悪かった)

スティーブ氏のものは555を使ったディスクリート構成でしたが、今回はすべてマイコンで制御しようと思います。
基本的にはスティーブ氏のものと同じ動作+ドラムモードを実装するつもりですが、マイコンを使ってプログラム次第で柔軟に動作させたり、部品数も少なく配線も簡単にしちゃおうという魂胆
あと電池の持ちも良くなるように、というかなくなっても安価に入手できるように単3の電池を使うことにします。006Pはちょっと高いよね。あんまりかわんないかも。

こちらが作った基板

DSC_1237

乾電池一本で動かせるように、HT7733を使ったDC-DCコンバータで1.5V→3.3Vに昇圧しています。
あとはメインのマイコンとボリューム類のコネクタ(ピンソケットだけど)、出力の光コネクタが載っています。

ボリューム類がわちゃわちゃしすぎてる

DSC_1242

ケースに組み込んだ。

DSC_1249

ケースはその辺にあったテキトーな物なので少し小さく操作性が悪いです 

かんせー

DSC_1248

ボリューム類は、
電源スイッチ、モード切替、バーストモード間隔、バーストモードD比
    動作状態確認LED
単発出力ボタン、単発を一定時間おきにパンッパンッってやるやつ、周波数、パルス幅
という感じに並んでます。

使用したマイコンはPIC16F18325です。NCOというモジュールを使い、かなり滑らかに周波数を変更できます。0~125kHzまで0.1192092896Hzごと(20bit)に周波数を変えられますがもはやVR値をADCが10bitなのでNCOを使いきれてない。

???
DSC_1239


動画



このインタラプタは実はNT京都にあわせて作ったのですが、来場者の方から「なんで音が出せるの?」という質問をされそうだったのでパンッパンッパッパッパパパパバーーー(伝われ)ってやって原理を説明できるモードにを付けてみました。実際文化祭で実演した時は何度かこのような質問されました。まぁ結局テスラ本体がダメだったのでNTでこのモードを使うことはありませんでした(
話を戻しますとモード切り替えスイッチを一番下にするとこのモードになります。周波数ボリュームを右から左に下げていくと周波数が上がっていきます。
そのまま、モード切替スイッチを中点にするとノーマルインタラプタモードになり、ボリュームを上げていくと周波数がさらに上がっていきます。原理説明モード→ノーマルモードの切替時に周波数を連続させたかったので原理説明モードの操作が変な感じになりました。
モード切替スイッチを一番上にするとバーストモードになります。
左下のボタンを押すと単発出力(1msくらい)を出せます。で、その隣のボリュームで一定時間おきに単発出力してくれます。
長々と書いてしまいましたが動作はこんな感じです。 

使ってみた感想としては、上にも書きましたが操作性が悪い。持ちやすいケースで作り直したいね。
それ以外は思った通りに動いてくれましたし、特に以前のインタラプタで問題になった点を解決することが出来て満足しています。以上です。

新しいテスラコイルの制御回路

以前QCWSSTCっぽいものという記事を書きましたが、ここではもうちょっと詳しく書きたいと思います


テスラコイルの制御回路といえば、ロジックICで作るのが一般的です。
しかし、いくつかICを使うので配線が面倒で、作ったとしても動かなくて回路を見直したらそもそも動かない回路だった、ということがありました。
そこで、マイコン内に回路を組み込んで回路が自由で簡単に作れるようにしました。

試作した基板

DSC_0705

一番手前のICがマイコンです。この中にいつものロジック回路が詰まっています。インタラプタ入力やデッドタイム生成などもこのマイコンで行えます。
その後ろがハーフブリッジのゲートドライブICです。今回はGDTを使わずハフブリドライバを使ってみました。
その後ろが1次コイルをスイッチングするMOSFETです。


できるだけ回路を簡単に、ということで今回はフィードバックにCTではなく、ツェナーダイオードを使ってみました。

キャプチャ

ツェナなので電圧FBになります。実験では遅れなどもなくしっかり信号も出力してくれてなかなか優秀でした。
ただし、この回路は位相がどうのこうのでコイルの向きなどを調整する必要があると思います。

この基板のメリットは、回路がうまく行かなくてもプログラム次第でロジック回路部分を自由に組み替えられることです。また、ハーフブリッジドライバを使用したのでほぼ確実にMOSFETをドライブできます。デッドタイムもマイコンで生成してるので安心です。
デメリットは、パワー部・ロジック部・二次コイルが絶縁出来ていないことです。うまくやれば問題ないですがちょっと気持ち悪いですよね。


コイル自体は以前のものを使用して試験動作させてみました。
下の写真は入力24Vで動作させた時のものです。このあと400Vまで入力してみましたがちゃんと動いてくれました。

DSC_0706

マイコンで制御できるということで、QCWのような波形にするプログラムを書いて動かしてみました。すると...

qcw4

なんと簡単にQCWDRSSTC風の放電を出すことが出来ました。実際はDRではないのでQCWSSTCだと思います。
波形はちょっと歪んでるけどそれっぽくなっています。

DS1Z_QuickPrint19

プログラム次第で普通のSSTCとQCWを組み合わせた動作をさせることも出来ます。
通常はインタラプタで入力して普通のSSTCの動作をさせ、一定時間おきにQCW放電をするようにしてみました。



通常の放電に対してQCWの放電の長さがよくわかります。


調子が良かった時の動画です。たまにコロナが出ているのはインタラプタ入力を浮かせてたのでこうなってしまいました。 




前からやってみたかったQCWドラムをやってみました。
SSTCとQCWを組み合わせられるということで、ドラム時にQCW動作をさせ、それ以外のときはノーマルSSTCとして音楽とドラムを同時に演奏しています。



QCWの存在感よ


やっぱり絶縁されてないからなのか、よくバグって変な動作になります。
それ以外にも波形を観察してみるとゲートドライバの遅れが酷くてヤバイ気がしました。何らかの方法で位相を調節してやる必要がありそうです。 
さらに波形をQCWにしても針状の放電が出てくれないのでコイルを巻き直す必要がありそうです。共振周波数が低いと針状の放電が出ないそうです。
それでは今日はこの辺(へん)で。
YouTube
Youtubeチャンネルです。実験動画等上げています。よろしければチャンネル登録お願いします。なお、当チャンネルは収益化していません。
最新コメント