モタドラを作った
どうもさばねっこです。
クッソ短い冬休みが終わっていつの間にか一月も後半ですね。定期試験が近づいてることを想像すると死にそうになる。
まあそんなことは置いておいてロボコン用にモタドラをつくりましたよっていう話です。
こんな感じのクアッドモタドラを作りました。
この基板一枚にDCモーター4つ、ロータリーエンコーダー4つ、あとついでにリミットスイッチ4つを接続することができます。無駄に多機能な感もありますが、まあ機能は盛れば盛るほど良いということで
メインのスイッチング素子にはパワミなデュアルMOSFETを採用することで大幅な小型化を実現し、ゲートドライバにはA3921を採用してduty比100%での運用も可能にしています。ちなみに回路的には一つのポートにつき連続160A流せます。頭岡C
で、モーターのドライブ性能ですが、こんな具合でバケモノモーターでおなじみRS-775をぶん回すことができます。
この動画ではduty比100%で正転逆転を300msごとに繰り返しています。多分。もちろん(?)回転方向を切り替える際に一瞬ブレーキを挟むとかそういうことはしていないので結構エグい電流が流れてるはずですがばっちり耐えてますね。
まあこれはギアヘッドしかついてないものを回した映像ですのでほとんど無負荷みたいなものかもしれませんが、発熱も(肌感だけど)50℃ぐらいに収まっていそうなので負荷を付けてもそれなりには耐えてくれるはずです。というか耐えてくれないと困る。
そういえばこのモタドラの制御マイコンにはSTM32F446REを採用しているのですが、昨今の半導体不足とか何とかでマイコン単品での入手が不可能だったためnucleoボードから引っぺがして入手しています。
— さばねっこ🐟 (@sabanekko1) 2021年12月20日
はじめはリワーク結構難しくて苦戦していたのですが、ヒートガンとかをうまいこと使うことで結構上手くできるようになりました。剝がすだけなら20秒くらいでできるかも。
というか今ツイート見返してて思ったけどこの基板去年の10月ごろから設計始めてますね。どんだけ完成まで時間かけてんねん
つよそう(仮)(シルクまだ) pic.twitter.com/YYsMVYHI9W
— さばねっこ🐟 (@sabanekko1) 2021年10月25日
当時は高専ロボコン地区大会とかでいろいろ限界化して暴走した結果生み出された構想だった気がする。しらんけど。
しかしこの基板エロいですよねー。ええ。サイズ的にはこんな感じでスマホサイズに収まってくれて、小さいパワミ工作好きを自称する僕的には結構満足しています。
ちなみに今回レジストをはがして名前を入れてみたのですがこれがめっちゃカッコいい。おすすめです。
とまあこんな感じです。実はモタドラを作るのはこれが初めてだったのですが、多少のミスはあったもののなんやかんや無事に動かすことができたので僕は満足です。正直もうこれ以上欲しい機能とか特にないので、もしかしたらこれが最初で最後のブラシモタドラになるかもしれない。まあそれはないか。
ちなみに最近はポータブルな安定化電源を作ろうとしたりテスラコイルを作る気分になりかけていたりBLDCモタドラをつくるやる気をチャージしたりしています。やるかはわからんけどお楽しみに。
9~11月に記事を書かなかった言い訳をしたい
どうもブログという概念を完全に忘却していたさばねっこです。
前回の記事から丸々4か月経ったってマ?流石にワロタ
いやーこの4か月間いろいろありましたねー(棒)。というわけで簡単にまとめ。
やっぱり一番のイベントは高専ロボコンですよねー。僕は今回豊田高専Aチームの回路班リーダーとして出場させていただきました。
豊田Aチームのメイン・足回り基板の設計を担当しました。
— さばねっこ🐟🐠🐡 (@sabanekko1) 2021年10月24日
基本的に超堅実な設計をしているのでそんなに面白いところはないですが、一度も壊れることなく動いたので良かった
見栄えが重要なロボットなのに配線が汚くなってしまったのは反省…(本番はもうちょいましだけど)#ロボコン pic.twitter.com/iH04bGMprh
大会の結果としては無事地方止まりだったわけですが、回路的には悪くないものができたのではないかなーと思います。練習も本番も一度も壊れなかったわけですし。まあ市販品使いまくったんだけど。というかロボコン歴半年もない人を回路班リーダーに抜擢するってやばくね
来年はほかの部員の教育とかも力を入れつつ全国に行けるよう頑張りたいと思います。芽生えかけてる独自技術も発展させていきたいところ。
次は文化祭でコイルガンの展示をさせていただいたことですかねー。
今回弊学文化祭でコイルガンの展示をさせていただきました!
— さばねっこ🐟🐠🐡 (@sabanekko1) 2021年11月7日
結構な人に撃ってもらったけど(200発以上撃ってるかも)二日間無事壊れずに動いたので満足… pic.twitter.com/Rg9FasTcPY
来ていたいた見ず知らずの人にコイルガンを撃ってもらうというなかなかクレイジーな企画でしたが(しかも僕は展示場所にほとんどいない)、無事に事故を起こすこともなく展示を終えることができました。
フレームの間からコイル見えるのめっちゃいいですよねー。
回路はこんな感じ
まあいつものやつです。2段式の回生ブレーキ型。昇圧チョッパはここの記事参照。
効率とかは計ってないですが感覚的には8%ぐらいじゃないですかね。というか威力が強すぎても困るので通電時間の調整とかは全くしてないです。ちゃんと調整した時のポテンシャルは割とあると思う。
そういえば電源装置を買いました。
✅よい pic.twitter.com/2L0wrqZkG3
— さばねっこ🐟🐠🐡 (@sabanekko1) 2021年11月17日
割と界隈では有名(?)なamazonの安い奴ですが普通に使えそうです。ただOUTPUTボタンがないので欲しい所。
あとはこんなぐらいのゲーミング電子オルゴールを学校の課題を超拡大解釈して作ったりしました。
というか美術の課題でPIC使うやつがどこにいるんだよ。なんなら僕以外にももう一人いたけど。
実際に演奏してるとこはお見せできないのですがNCOモジュールを使って二和音演奏しました。PICは16F18313です。
ほかにはいろいろ基板設計したけどまだ完成してないし部活の機密(?)的なのもあるので写真だけ…
やだ…超えっち…… pic.twitter.com/Qr3N0OfxfP
— さばねっこ🐟🐠🐡 (@sabanekko1) 2021年11月10日
— さばねっこ🐟🐠🐡 (@sabanekko1) 2021年11月13日
— さばねっこ🐟🐠🐡 (@sabanekko1) 2021年11月5日
(一番上のモタドラ基板に関してはちゃんと動作確認とか終わったら記事にするかもしれない)
とまあこんな感じです。進捗はあるんだけどなんかどれも中途半端だったりして記事にする気が起きなかった…。
今月もロボコン関係でちょっとしたイベントがあって忙しいのですが、まあ適当に時間を見つけて工作していくつもりです。
電源装置に付ける絶縁他電源化モジュールとかコイルガン3号とかネタはいろいろあるのでまあ適当に頑張っていくつもりです。多分。
シンプルな定電流コイルガンを作りたい
どうも、テストが終わり夏休みが始まって狂喜乱舞しているさばねっこです。
今回前々から温めてきた電流フィードバックなしの定電流コイルガンがある程度うまくいったので紹介したいと思います。
まず、コイルガンを定電流制御するメリットとしては
①コンデンサ電圧の低下による出力エネルギーの変化を抑えられる。
②ジュール熱による損失を減らせる(なおスイッチング損失
があげられます。しかし、電流を監視するにはをするには電流センサやシャント抵抗が必要であり、そこからさらに定電流制御するためにはコンパレータなどを用いて回路を組む必要があるため、電流制御をしない場合と比較するとどうしても回路が複雑になってしまいます。
そこで今回は単純なPWM信号で定電流制御ができるのか実験してみました。
まあなんか適当にやればできそうに思えますが、コイルガンは原理的にインダクタンスが常に変化するため、そのような状況でも制御できるかはよくわかりませんでした。なので実験してみたわけ。
マイコンはPIC32MM0064GPL028、コンデンサは200V2200uFの物を使用しました。
実験回路(雑)はこんな感じ。
コイルは前回の回生型コイルガンにつかったものを流用しました。だいたい2Ωでインダクタンス不明。
実感風景(雑
そして実際にやってみた時の電流波形がこれ(↑10A、↓40A)
どちらも割といい感じに制御できてますね。もちろんどちらも弾を実際に発射した際の電流波形です。
で、ここからは具体的な内容とか。
プログラムの内容は結構シンプルで、ローサイドは通電時間中常時ON、ハイサイドにPWM信号を入力するだけです。
PWMのduty比はコンデンサ電圧、コイル抵抗、目標電流から計算しています。コンデンサ電圧はAD変換器で常に監視しているため、電圧が変動しても一定の電流を流すことができます。
また、コイル電流が0Aの状態から目標電流に達するまでにはそれなりの時間が必要なわけですが、その分を確保するために通電開始時にduty=100%の時間を確保しています。「電流増加待機時間」とでも言えばいいのでしょうか
duty100%の待機時間に関しては目標電流やら弾の位置やらでいろいろ最適値が変わってきてしまいます。なのでその時々で設定しないといけませんね…。まあ電流センサーとかを入れるのに比べたら楽だと思う。しらんけど。
とまあこんな感じです。インダクタンスの変化は思ってたよりも影響ありませんでしたね。また、今回は12bitADC+32bitCPUという強めなマイコンで制御しましたが、10bitADC+8bitマイコンでも十分制御できそうです。これぐらいのマイコンならいくらでもあるので、「定電流コイルガン」という比較的高級(?)なコイルガンが手軽に実現できる可能性が示せたのではないでしょうか。
で、ここからは改善案とか
上にも述べた通り今回は通電開始時に「電流増加待機時間」とかいうめんどくさいものを入れていますが、これの最適値は時々によって変わってしまいます。それをいちいち実験して設定するのはめんどくさいですね。というわけでそれをマイコン側で設定する方法を模索していこうと思います。まあアイディアはもうある、というかそれがもともと本命だった電圧微分型なんだけどね。
6月+7月前半(小型昇圧チョッパ+ちょっとロボコン+定電流コイルガン実験基板)
いやーまた前の更新から結構間空いてしまいましたね、どうもさばねっこです。
ブログの存在結構忘れてるわけですよ。ええ。大きな進捗がないからしょうがないね。
とはいえ一応ちょっとした進捗はなくはないので紹介。
まずはちっちゃい昇圧チョッパ
めっちゃエッチくないですかこれ
回路構成や制御方式は前の回生型コイルガンに使ったものと同じコンデンサ電圧フィードバック型ですが、コイルをインダクタンスの小さいものに変更して代わりに電流を流せるようにしました。
コイルは秋月のよわい奴なので割と飽和ギリギリです。主力は25Wぐらいだったかな。D基板に収めたことを考えたら上出来なのではないでしょうか。発熱もあんまりないですし。
今年のメイン基板2枚の設計をしました。arduino mega用シールドと、nulceo+モタドラの足回り制御基板ですね。
設計して思ったのですが、nulceo、もといstm32のピンアサインってクソですね。ロータリーエンコーダーを読み込むためにちゃんとタイマーにつながるように設計しないといけないのですが、飛び飛びになってるしピンが被ったりしてそれを回避するために調整したり…。もう二度と設計したくない。
最後に定電流コイルガンの実験基板
割と雑に作ったので裏面とかめっちゃ汚いです。はい。ICソケットもそろってないし…。
部品を乗せるとこんな感じ
制御素子はいつものIGBT(RJH60F6DPK)です。
今回やろうとしてる電流制御は、(多分)一般的なぽんずさんとかがやっているコイル電流をコンパレータとかで読んでいい感じにスイッチングするタイプのやつではなく、メインコンデンサの電圧変化を監視することで定電流制御しよう!ってやつです。
「コンデンサ電圧監視型定電流コイルガン」ってとこでしょうか。
こうすることでシャント抵抗などの電流監視用の部品を減らせますし、AD変換でコンデンサ電圧を監視してPWM出力を出せるマイコンであれば動かすことができます。要は安くなるよ!ってことですね。
ただこの方式を実行するにはそこそこな精度でコンデンサ電圧を監視する必要があります。
で、これの制御のために新たにPIC32MM064GPL028を導入しました。
32bitマイコンを使ってみたかったというのが大きいですが、そこそこ早い12bitADCが付いてますし、CLCなどのペリフェラルがほかの32bitマイコンより充実してるのでこの用途でなくても汎用性が高そうだったのが決め手ですね。あと安い。
地味に32bitマイコン人生初かもしれない pic.twitter.com/cU8JxjWMig
— さばねっこ (@sabanekko1) 2021年6月12日
Lチカも何も考えずにすぐにできたので良いです。というかこれに関してはMCCが偉大。
ようやくadc動いた…(青ledはadcの結果からpwm変調してる
— さばねっこ (@sabanekko1) 2021年6月16日
pic32よくわからんでござる pic.twitter.com/AprFLGk71A
AD変換+PWM(CCP)に関しては少し苦戦しましたが、情報が少ないだけでただ動かすだけなら16Fとかと難易度は変わらないと思います。まあ連続AD変換とかPWMのシンクロとか高度なことは何もわかりませんでしたが…。
あれ、結局新しくマイコン導入してるしこの制御方式安いとはいえなくね????
で、肝心の定電流制御ですがまだできていません。
それはなぜか…
そう、この世の悪の化身、定期テストがあるからです。
そもそもこの制御方式が僕の思い付きなので理論が破綻している可能性もある
工作とかロボコンとかしてたら全く勉強できてませんでした。というか最近あんまり真面目に授業聞けてないし割とまずい。
ということでテスト頑張ってくるので8月入るまで進捗ありませんよろしくお願いします。(まあロボコンあるからコイルガン関係の進捗は8月入っても遅いかも)
工作ブログ is 何
どうも、ブログを言う概念を忘れていたさばねっこです。
さてこのブログは一応工作系なので作ったものを自慢したりしたいのですが、
なんと何もありません。虚無です。はい。
まあもちろん何もしていないわけではなくて、電池を爆発させようとしたらうまくいかなかったり
電池の交尾 pic.twitter.com/ctfCJwE3yE
— さばねっこ (@sabanekko1) 2021年4月20日
水筒コンデンサを買ってみたり
急速に治安が悪化 pic.twitter.com/AKz0GjyZBf
— さばねっこ (@sabanekko1) 2021年4月25日
なんとなく買った冷陰極管を光らせたり
どこで道を踏み誤ったのかコンデンサ100個買ってみたり
家族写真撮っておいた pic.twitter.com/vHrra9qvp9
— さばねっこ (@sabanekko1) 2021年5月23日
いろいろ意味不明なことをやってたわけですが肝心の工作はほとんどしてません。はい。
いちおうVFD管光らせるための昇圧回路組もうとしたりしたけどなんかめんどくさくてやってません。適当に部品つなげるだけなのに…。
で、さすがにこれだけじゃなんかあれなので次回予告
現在またも懲りずにコイルガンの構想練ってます。次回も前回と同じく4段回生型ですが、定電流制御や高速サージ回収などの技術を試してみたいと思っています。そのうえでちゃんした形にまとめたいよねっていう感じ。
完成がいつになるかもわからないですが(というか本当に作るのかどうかも怪しい)まあ生暖かい目で見守ってください。
というか前回のコイルガン銃型にするとか言ってたけどなんもしてねえや。デザインセンスないからねしょうがないね
取敢えず全段稼働
どうも、春休みが終わることが受け入れられないさばねっこです。
始まったときは一か月以上あるし外装含めてコイルガン完成するだろうなーとか思っていたら、想像以上に部活で時間をとられてしまい、全然できませんでした…。ゆるしてヒヤシンス…。
で、そのコイルガンですが、進捗はちゃんとありまして、無事4段すべて稼働させることができました!
コイルガン4段全て稼働成功!
— さばねっこ (@sabanekko1) 2021年4月3日
弾速も測ってないし通電時間調節してないので効率は悪いと思うけど化けることを期待したい pic.twitter.com/JH1u4jlPtj
この前の記事で紹介した基板もちゃんと動いてくれたのでよかったです。
そういえばコイルを作り変えました。
今までのコイルでもよかったのですが、光センサーの感度が悪かったり、コイルとは関係ない部分が多いせいでやたら全長が長かったりといった問題がありました。なのでコイルを作り変えたいなあとぼんやり考えていたのですが──
こんな感じで4段目コイルが崩壊。また同じ形式のコイルを作る気にはなれなかったので新しく3Dプリンター製バレルを使ってコイルを作ることにしました。
適当にCADでモデリングして…
印刷して…
コイルを巻いて…
かんせー!
光センサーの感度もかなり良くなり、見た目もかなりマシになったので満足です。
で、そこから通電時間とかを調節して…
取敢えず4段目まで適当に通電時間調整した感じ、消費エネルギ21J、出力エネルギー2.6J、回収エネルギー1Jで効率13%って感じだった
— さばねっこ (@sabanekko1) 2021年4月4日
まだサージ回収コンデンサの容量とか変えてないパラメータはいっぱいあるけど一旦これでいいかな pic.twitter.com/zI6D6joXy2
出力2.6J、効率12%という結果でした。
*tweetでは回収したサージのエネルギーを消費エネルギーを引いており、効率は、出力 / ( 消費 - 回収 ) という風に計算しています。しかし、回収したエネルギーを再利用できるわけではないためこの記事内での効率計算は 出力 / 消費 で計算し、回収したエネルギーは無視します。
いやー、思ってたより効率低いですね…。個人的には15%ぐらい行ってほしいなあとか思っていたのですが。
まあそれでもEMLとしてはそこそこの効率なのではないでしょうか。EML効率悪すぎ
で、ここからは回路の説明とか考察とか。
とりあえず、今回使った放電回路はこんな感じ。
細かい変更点はありますが、形はこれと同じものです。
まず1段目に通電し…
1段目をOFFにしたときに発生するサージをサージ回収1で回収します。
そして2段目に通電して…
今度はサージ回収1とサージ回収2でサージを回収します。二つのコンデンサは直列につながっています。
そして3段目に通電します。この時、3段目にはサージ回収1がメインコンデンサと直列につながっているので、サージ回収1の電荷を3段目に放出することができます。
そして3段目のサージをサージ回収2で回収。
そして4段目に通電します。4段目にはサージ回収2とメインコンデンサが直列につながっているので、2,3段目で回収したエネルギーを放出して…
OFFにするとサージ回収3でエネルギーを回収します。
とまあこんな感じの変態動作をするわけです。
この方式のメリットは、
①スイッチング素子がローサイド側だけで済む
②サージ回収コンデンサがメインコンデンサと直列につながっているので、回収したサージを利用する段では、メインコンデンサの電圧が下がっていてもサージ回収コンデンサの電圧分高い電圧をかけられる。
という点だと思います。
コイルにはインダクタンスがあるため、流れる電流は、時間と電圧によって変化しますが、高い電圧をかけることで、同じ通電時間でもより多くの電流を流すことができます。
で、コイルに発生する磁力には電流が大きくかかわってきますので、基本的にはより多くの電流を流したいわけですが、3段目以降はメインコンデンサの電圧が低下している上、弾がかなりの速度で侵入してくることが予想されます。なのでコイルの電流値が十分に増加する前に弾が通過する可能性があるわけです。しかし、この方式を用いると、メインコンデンサの電圧が低下している中でもかなりの電圧をかけることができるため、すぐに大電流を流し始められるというわけです。
で、ここからは効率を上げるためにできそうなこと。
今考えていることとして、コイルやサージ回収コンデンサの変更があります。
コイルはコイルガンの要と言える部品であり、ここを変えることが高効率化への一番の近道だと思われます。幸い今回はコイル一つ一つを交換できる仕様にしているため、様々なコイルの組み合わせを気軽に試すことができます。
もう一つのサージ回収コンデンサの変更というのは、現在122uF,47uF,47uFとなっているサージ回収コンデンサの容量を小さくして、より素早くサージを回収できないかなーという考えです。サージを素早く回収できれば、弾の引き戻しが起こりずらくなるため、より効率よく弾を加速させられる可能性があります。
とまあこんな感じですね。外装に関しては全くめどが立っていませんし、とりあえず高効率化を目指していこうと思います。
基板を作り直しただけ。あと昇圧チョッパ
どうも、完全にブログを放置していたさばねっこです。
定期テスト終わったら暇になるだろうなー(虚無)って思ってたら部活とか転科試験とかで思いのほか時間が無くてですね…。それ以上にやる気が出なかっただけですが…。
で、コイルガンですが、全く進んでおりません。はい。でももちろん何もやっていなかったわけではなくて、制御基板の改良をしていました。
こちらが元々二階建て基板の一階部分になる予定だった基板です。左から、コイル電流監視型555昇圧チョッパ、ワンショット生成回路(74HC123)、ゲートドライブ用昇圧モジュールという感じになっています。
こいつは一応ちゃんと動作はするのですが、問題点が多くありました。
①昇圧チョッパに充電停止機能がない。人力充電停止とかアホすぎ。
②昇圧チョッパが謎の間欠発振をしてしまいコンデンサ充電がスムーズにできない。
③ワンショット回路の半固定抵抗を回し過ぎるとの抵抗値が低くなりすぎてワンショット回路として機能しなくなる。(74HC123のデータシート参照)
④ピンソケットで外部とのやり取りをするが、使いたいスペーサーが低すぎて余裕がなく、ソケットの高さ的にケーブルを無理に曲げる必要がある。
⑤電源系がピンヘッダーでつながれていてめっちゃ抜けやすい。
⑥というかメインの12V系もピンヘッダでつなぐのは頭悪すぎる。
とまあこんな具合でかなりのガバガバ設計なわけです。まあその場のノリで部品を追加していったのが悪いね。
当然このままコイルガンに使用するわけにはいかないので新規に基盤を作り直しました。
改良点は主に5つ。
①昇圧チョッパをPIC制御に。充電停止をできるようにし、安定性も向上。
②ピンソケットを丸ピンIC用ソケットに。背を低くしてケーブルの取り回しに余裕を作る。
③電源系の接続はPAコネクタに。より抜けづらく扱いやすい。
④ワンショットの半固定抵抗に直列に1kΩをいれて確実にワンショットを生成。
⑤昇圧チョッパのダイオードを2パラにして電流に余裕を(正直一本で十分だけど)。
とまあこんな感じで先代の欠点は大体克服できたと思います。
ここまででほとんどやったことは書き終わってしまったのですが、せっかくなのでPICでの昇圧チョッパ製作についてちょっと書きたいと思います。
先代基板では555を用いたコイル電流監視型の昇圧チョッパを使っていました。詳細はめんどくさいので省きますが、
コイルの電流をシャント抵抗で測定→電流が増加するまでMOSFETをON→十分に電流が増えたらMOSFETをOFF→電流が十分に減少するまで待機
って感じのことをやっていました。初めはPICで同じことをやろうとして、
コイルの電流増加→シャント抵抗への電圧増加→AD変換で基準電圧まで上がったか監視→電流が十分に増加したら(AD変換された値が十分大きくなったら)MOSFETをOFF→AD変換で電流(シャント抵抗電圧)を監視して十分に電流が減少するまで待機
という具合に制御しようとしていました。まあでもうまくいかないわけ。
mosfetを2sk3234にすると(発熱やばいけど)動作する
— さばねっこ (@sabanekko1) 2021年2月24日
けど、本命のtk20a60uにすると(リプ欄)意味不明な挙動をする
何故 pic.twitter.com/q8zJ0sgUF5
こんな感じで間欠発振したり、動くは動くけどめっちゃ出力が低かったりしました。
おそらく原因はAD変換に時間がかかり、処理が追い付いていなかっただけの話でしょう。やりたい動作的には555のやつと同じなので問題ないはずですし。
まあそんな具合にPICのAD変換で制御しようとしてもうまくいかないので、PWMモジュールを使って制御することにしました。
PICのPWMモジュールは、周期と信号のパルス幅をどちらも何クロックごとに一回という風に制御します。なのでいろいろなデューティー比のPWM信号を作りたければ、周期を設定する値は固定して、パルス幅部分の数値を変更すれば自由なデューティー比の信号を作ることができるわけですね。
で、今回はそのPWMモジュールでPFMという信号を発生させ昇圧チョッパを制御します。基本的にできることはPWMと同じですが、PWMは一定周期の中でのパルス幅を変化させるのに対し、PFMではパルス幅は一定にして周期の方を変化させます。
そして昇圧チョッパで入力電圧Vinからある電圧Voutを作ろうとした場合、スイッチング素子のON時間をTon(つまりパルス幅)、OFF時間をToffとすると
Vout = ( ( Ton + Toff ) / Toff) * Vin という式が成り立つらしいです。
そして、Ton + Toff というのはPFMの信号周期なので
T = Ton + Toff とすると、
Vout = ( T / Toff ) * V = ( T / T - Ton) * Vin
⇔ T=(Vout * Ton ) / ( Vout - Vin )
となり、出力電圧に対して最適なPFMの周期を求めることができます。
キャパシタチャージャーでは、その時のコンデンサの充電電圧あたりをVoutとして計算するともっとも効率が良くなる(気がする)ので、
コンデンサ電圧をAD変換で測定→上の式でPFM周期を設定
というのを繰り返すことで制御しています。
動かすとこんな感じ
よい(というか机の上汚すぎて草) pic.twitter.com/I9aPtOyiD0
— さばねっこ (@sabanekko1) 2021年3月11日
かなり聞こえづらいですが、音がキュイイイイイイイン↑↑と上がっていることから、うまくPFM信号を生成できているとわかります。
回路図はこんな感じ。
充電停止などもプログラムで出来てしまうのでかなりシンプルですね。GPIOも4ピンしか使っていないので米粒PICとかに書き込んで超小型化しても面白そう。
とまあこんな感じです。コイルガン完成まではまだ時間はかかりそうですが、気長に待っていてください。