ここから本文です
S.A.の狂気の科学実験室
Mad Science Technology

PFC回路を作る(製作編)

 NJM2375でPFC回路を作りました。自分でもやりたい方は設計編から読むことをお勧めします。↓
設計編: https://blogs.yahoo.co.jp/sa00000000001/16238039.html


さて、設計編で上げた数式をもとに以下のようなパラメータになりました。300Wまで安定して出力するようにと、Pin=500[W]ぐらいとなるようにシャント抵抗を決めています。出力電圧は200Vです
イメージ 1
こんな感じです。ちなみに最初は二次コイル側の巻き数を増やしてAC50Vでテストしましたがうまく機能しませんでした。0電流検出がうまく働かなかったようです。AC100V入力でうまくいきました。ちなみに回路図にはありませんがヒューズを挟んでます。

2018/10/23 追記
無負荷では一応動くようですが、VFBピンに電流が流れる、エラーアンプ出力VOL(EA)が0.6Vとかになる、等の理由により製作を断念しました。誰かが解決してくれることを願って、これらの記事を公開しておきます。

この記事に

PFC回路を作る(設計編)

うまくいきませんでした
 VVVFインバータのバス電源用にPFC回路を作りたくなったので、秋月で売っているNJM2375を使って設計してみます。
NJM2375↓

 で、データシートに載っている回路図をそのまま使用することにすると、こんな風になります。
イメージ 5
このICは0電流検出で臨界モードで動作します。エラーアンプ出力と全波整流の分圧したものを乗算器にかけて、それをスイッチング電流の電流しきい値にしてPFCとして動作するというわけです。データシートでは他にもごちゃごちゃ書いてありますが、過電圧検出とかばっかなので基本動作とはあまり関係ありません。
 さて、めんどくさいパラメータ設定ですが・・・、とりあえず入力交流電圧の実効値Vrmsと、最大入力電力Pinと、出力電圧Voから設定してみます。
乗算器の出力はツェナーでクランプしているので、1.5[V]までしか上がりません。なので
イメージ 1
となります。シャント抵抗のR7はこれで大体決められるでしょう。ここは大電力抵抗であまり自由に決めれないと思いますが、この要件を満たすできるだけ大きいな値でいいでしょう。また、コイルの最大電流は(電流センスしきい値[V])/R7です。電流センスしきい値を自由に設置できるからR7は厳密でなくていいということです。ちなみに、Pinは「最大」なので、ある程度余裕を取らないと多分出力電圧が不安定になると思います。ここで、出力電圧Voは
イメージ 2
となります。ところで、エラーアンプとは言いましたが、実際にはコンパレータ+定電流出力(吐き出し/吸い込みともに10[uA])らしく、Highは6.4[V]、Lowは1.7[V]らしいです。乗算器が機能するのは下のほうのグラフにPIN2=3.75Vまでの曲線しか描かれていないことから3.8[V]であるとしました。ということで、コイル電流の最大値を考えると、3.8[V]以上の出力があったとき、かつ乗算器入力電圧が最大の時の乗算器出力電圧が最大なので、
イメージ 6
となります。0.65[1/V]は乗算器の利得です。データシートでは[umho]となっていますがこれはミスでしょう。2.0[V]は乗算器入力のオフセットです。これでR3,5が決まります。これでコイルが飽和しないようなILmaxにします。C2はノイズ除去なので適当でいいかと。
 あとはC1がありますが、これは次の式を満たすはずです。
イメージ 3
つまり、小さくするれば応答性がよくなるというわけです。しかし、応答性が良すぎると電流波形が大きく歪む可能性があるので、0.01~0.1uF程度でいいかと。厳密には入力交流の半周期で電流の変化をとこまで許容するかで計算もできますが。
 コイルの部分がトランスで表記してあるのは、言うまでもなくICの電源用です。普通のトロイダルコアに適当に導線を巻けばいいです。何回巻けばいいかというと、もともとの巻き数がNで、n回巻くとすると、
イメージ 4
となるでしょう。ただし、あくまで最大電圧なので、安定させるためには+αで巻き数を増やすといいと思います。この辺は試行錯誤ですね。あと、0電流検出も兼ねてるので逆相で巻かないと大惨事です。注意してください。(データシートでは同相になってるような・・・)
 C5は入力のノイズ除去でしょうが、ブリッジダイオードの手前にACラインノイズフィルタを入れとけば要らないでしょう。C3とかは出力電力から見積もってください。Q1も耐圧、耐電流を守って・・・。この辺からは定番なので言わずもがなでしょう。
 ちなみに、R4は多分内蔵ツェナーの保護抵抗ぐらいのもので、適当でいいです。1kとかでいいでしょう。

 実際に作ったのはこの記事にて↓

この記事に

 こんにちは。平日ですが寝坊したので大学にはいかずに、トランスを解体していました。というわけで、フェライトコアを割らずにトランスを解体する方法を備忘録的に書いていこうと思います。

 フェライコトアのトランスは何かと必要ですが、大きいものは入手しづらいです。まあ、RS等で買えるのですが、ATX電源があるのでそこから剥ぎ取ったものを使ってみます。
イメージ 1
こんなものです。当然自分で巻き直したいので解体するわけですが、接着剤でがちがちに止められているので無理に力を入れるとコアが砕けます。まず、コアにまかれている黄色いテープをはがし、側面にある黒くて硬い接着剤をはんだごてで加熱します。出力はやや高めに。そうしたらラジオペンチ等で軽く横に力をかけると取れると思います。取っておく必要があるかは分かりませんが。
 ここからは全体を加熱する必要があるので茹でます。水を沸かして、引き揚げれるように紐か何かを掛けて沈めます。
イメージ 2
イメージ 3
沸騰したお湯に30秒も漬ければ十分でしょう。次に、上下のコアをそれぞれ引っ張ります。布巾をあらかじめいい感じに畳んで、そばに置いておきます。素早く引き揚げ、引っ張るとたいてい上のコアが先に外れます。冷えるとすぐに外れなくなるので、下のコアを同時に外すのは難しいと思います。ので、再び茹でて、同じように引っ張れば下も取れます。
イメージ 4
 あとはボビンに巻かれているテープや導線等をはがしていけばOKです。ちなみに、ボビン自体も結構割れやすいので無理に力をかけないように・・・。
イメージ 5
接着剤のカス等はカッターできれいに取れます。取り敢えず、VVVFインバータのゲート駆動電源のフライバックトランスに使おうと思います。
では、今日はこのへんで。ノシ

この記事に

STM32F103C8T6でLチカ

 皆さんこんにちは。最近はTwitterばかりでブログの更新をしていなかったので久しぶりに備忘録的な記事を書こうと思います。

 とりあえず、以前からちょこちょこ記事に出てきているマイコンボードをArduinoとしてではなく、マイコンとしてライトを使ってプログラムを書き込もうという話です。ボードはSTM32F103C8T6が載っているもので、bluepillなどと呼ばれているものです。この記事で使うのは黒いものですが多分違いはないです。なお、このボードに載っているものが本当に型番通りのマイコンかは怪しいようですが、今のところ特に問題は起こってません。
イメージ 1
Aliで激安なのでホイホイ組み込めます。

 STM32系のIDEといえばSW4STM32なので、これをインストールします。インストールは結構めんどくさいので、この辺の記事を読みながらやるといいです。
(勝手にリンクしてすいません)
SW4STM32プラグインが入ったeclipseをインストールしてます。CubeMXは自分でインストールするしかないようです。日本語化したいならpleiadesプラグインを入れましょう。インストールが完了したら、CubeMXでクロック周りの設定をします。STM32マイコンはペリフェラルには基本的にクロックは供給されません(省電力化のため)。なのでこの辺の設定は必須です。このあたりの記事を読めばLチカくらいなら簡単にできます。
HALですね。ところでレジスタを直にたたくこともできます。レジスタマップはSTM32F103C8T6ならこれでいいはずです。
XXX_YYYという名前のレジスタにはXXX->YYYでアクセスできます。例えばRCC_APB2ENRならRCC->APB2ENRです。まあIDEが候補を出してくれるのであまり迷わないとは思いますが。

 プログラムが書けたら書き込みです。ライタはST-LINKを使います。Amazonで中華のパチモンが安く買えます。
イメージ 2
ひょっとしたらドライバのインストールが必要かもしれないです。私は以前から入れていたのでこの辺は分かりません。で、VCC(3.3V), GND, SWDIO, SWCLKを接続し、boot1,2両方とも1にします(基板上に書いてある)。ここで、IDEの書き込みボタン(横向きの三角形)を押すと、コンパイルされて、コンソールの画面が一度クリアになった後、
Error: timed out while waiting for target halted
というエラーが出るかと思います。多分リセットできないんだと思います。ということで、もう一度書き込みボタンを押して、コンソールがクリアになった瞬間に基板上のリセットボタンを押します。すると書き込みが完了します。動作を確認したいなら
boot1,2を0にして、リセットボタンを押せばよいです。また書き込みたければboot1,2を1にして電源を再度入れます。なぜかリセットボタンを押しても書き込めないので注意です。

最後に、プログラム例として、PC13につながっているLEDでLチカするなら、自動生成されたコード中に
イメージ 3
と書けばよいです。まあ、ポートの初期化と無限ループでONOFFするだけです。

 今回はこの辺で。最近はPythonを始めたり、コイルガンのモデル化に失敗したり、VVVFインバータの設計に着手したりしてます。そのうち記事にしようと思います。でわでわ ノシ

この記事に

 皆さんこんにちは。最近TwitterでのROM専やめたS.A.でございます。これからは騒がしくなるかもですがよろしくお願いします。

 さて、春休みもそろそろ終わりですが、サークルのほうが楽になったので久々にレーザー加工機の製作に取り掛かりました。
イメージ 1
外壁がすべて完成しました。あとは天板を取り付ければ、とりあえず使えるようになります。天板は開閉式にするので強度的問題があり、まだ設計できていません。ローコストでここまで大きなものを作るのは大変ですねぇ・・・。

 ところで、ソフトウェアの方にもだいぶ変化がありました。今まではLaserWeb3という、node.jsを利用したブラウザ動作のGRBL用レーザー加工機制御ソフトを使っていたのですが、これのバージョンが4にアップデートされました。スタンドアロンのソフトになり、使いやすくなったかと思いきや、GRBLを認識しなくなるという・・・。私が使っているGRBLはSTM32系用に作られた少々特殊なものなので、そのせいなのかもしれません。2日ほどあれこれしましたが、どうにも無理だったのでLaserGRBLというソフトに乗り換えました。
イメージ 2
操作性はシンプルなUIゆえにかなり良いです。正直そこまでごちゃごちゃいじる気もないのでこのぐらいでいいんですよね。ただ、レーザーのテスト照射がないのが困りました。ミラー調整には必須の機能なので、一応それっぽい機能のボタンを追加しましたが、軸をどうしても動かさないといけないので使い勝手が悪いです。もっとも、LaserWeb3でもホーミングができないという不具合があったのでどっこいどっこいですが。

で、線加工とラスター加工をやってみました。
イメージ 3
ラスターの時は出力を抑えないといけませんね。線のほうは切れてないという・・・。まあ40Wでは5.5mmのMDFは切れませんね。2,3回やれば一応キレそうですが。

 ちなみに、以前がら言っている「全体的な剛性不足」ですが、振動していても意外ときれいに焼けているので強化することもないのかなと思ったり。もうちょっといろいろ試したら、また報告します。

 これからは大学が始まるのでそこまで更新頻度は高くないと思います。関係ないけど「にじさんじ」で無限に時間が潰れる・・・。
 ではでは~ノシ

この記事に

[ すべて表示 ]

本文はここまでですこのページの先頭へ
みんなの更新記事