はじめに
VSCodeを想定しています。
やり方
検索:
function (.+)\((.*)\)置換:
const $1 = ($2) =>
動作の様子
今後の展開
「function」と関数名の間の空白を半角スペース1個固定にしているので、ここは改良点になると思います。
VSCodeを想定しています。
検索:
function (.+)\((.*)\)置換:
const $1 = ($2) =>
「function」と関数名の間の空白を半角スペース1個固定にしているので、ここは改良点になると思います。
ちょくちょく構想をしていた3レベルインバーターがようやく完成しました。
自作の3レベルインバーターでモーターを回しました(設定:東芝IGBT) pic.twitter.com/R9F4T2YmPT
— ゆっP (@yuppii5) 2019年4月29日
とりあえずハーフブリッジの回路を作ってゲート信号を入力して無負荷で動かしてみました。直流280V入力で特に発熱等は確認されなかったので、基板の制作に移りました。
KiCADで配線をガーッって書いて発注しました。いままで使っていたインバーターに重ねたかったのでB基板の大きさに合わせて作りました。おかげで配置がギュウギュウになって、一部の配線をジャンパー線でまかなわないといけなくなりました。あと、Cスナバーをとりあえず取り付けたんですが意味を成しているかは不明です。
個人での作例がなかったんですがまあ行けるっしょ!って感じではんだ付けまでして動かしたら良い動きをしないんですよね。
電源のスイッチをオフにしてキャパシターに溜まっている電荷だけで動かしたんですが、マイコンを起動するとなぜか上のキャパシターの電圧が低くなっていってしまう。
280Vを通電したところU相の素子(FET)が壊れました。原因を探ったところ、マイコンリセット時に48MHzのクロック?が出るピンがあり、それが悪さをしていたようです。
基板の部品の密度が高いせいで素子を交換するのに苦労しました…。
素子を取り替え、ピンを変更したあと無負荷で動作試験をしました。このときスライダックを入手したので、それを使って電圧を上げていきながら行いました。
直流電圧140Vくらいまではほぼ問題なかったんですが、200Vまで上げるとどこからか発煙したので中止しました。電源を落としキャパシターを放電したあと基板を触ると熱い部分があったので、多分何か問題が起きていますね。(ハーフブリッジで試験したときに無事だったのはなんだったんだろう…?)
ゲート信号を全く与えない状態(全て0)で280Vに上げても特に問題はなかったので、原因は素子ではなさそうです。
最初の2点はすぐ直せるとして、後ろの2点は今後の長期の課題ですね。素子壊したくないですし。
そういえば、回路の甘さと電源の弱さで一番最初の再現*1を思い出しました。当時はスライダックもオシロスコープもなかったですけどね。
280Vで動かせるようにすることと、SDカードでも3レベルの設定で鳴らせるようにすることですね。
素子が壊れて萎えていたところ、ぽんずさん*2に先を越されていました。
3レベルVVVFインバータを作りました pic.twitter.com/hMIb7oZwUi
— ぽんず (@pons658) 2019年4月7日
ノッチオフというか回転数0のときにスイッチングしているのは、ブートストラップでやっていた2レベル時代の名残です。
問題点・課題が多いですが、とりあえず完成してモーターを回せたのは良かったです。
*1:自作VVVFインバーターで東武50000系を再現しました(2016/05/23) https://youtu.be/7dzAvt-umCw
*2:ぽんずさんによる記事:3レベルVVVFインバータを作った - ぽんず製造所 http://pons.blog.jp/archives/79636359.html
例えば、「ドア」に末尾長音をつけて「ドアー」にしたいときは
検索:(ドア)([^ー])
置換:$1ー$2
とします。
そうして全て置換するとこうなります。
例えば、「ドアー」の末尾長音を取り除いて「ドア」にしたいときは
検索:(ドア)(ー)
置換:$1
とします。
そうして全て置換するとこうなります。
VVVFインバーターにWi-Fiリモコンを導入しました pic.twitter.com/vroIqyDVIm
— ゆっP (@yuppii5) 2018年10月10日
ESP-WROOM-02(ESP8266)をアクセスポイントにしてiPod Touchから直接繋げています。ESP-WROOM-02にプログラムを書くのは初めてではないのですが、アクセスポイントモードを使ったのは初めてだったのでいろいろ調べながら作っていました。
iPodがESP-WROOM-02から情報を受け取る際には XMLHttpRequest を使ってリアルタイムに受信しています。もしかしたら別の方法のほうが適しているかもしれませんが調べていません。
また、インバーターの情報をリモコンに送って表示ができたら面白そうだなあと思って方法を調べました。これにも XMLHttpRequest が使えるらしく、JavaScriptを少し改造するだけでデータ受信機能を追加できました。
用途からするとWebSocketのほうが向いていそうですが8年前の古いブラウザーなので対応しているかは不明です(試してはいません)。
タイトルにあるスマホではないですが、モダンなブラウザーが使えてWi-Fiに接続できるものであれば何でも使えます。
iPod Touchは第2世代のものです。ブラウザーのバージョンは5.0.2だったので、もう8年前から更新されていないことになります。何しろ8年前なので当然letとconstは使えません。それでもたいていの機能は使えるのでそんなには大変ではありませんでした。ですがローカルで外観を確認できないので、一旦Webに上げてどんな感じに映るかを確認してたのでやっぱり大変でした。
「ここを外すと動かない」が発生しましたが、よくよく考えたら書き方を間違っていただけでした。すぐにブラウザーのせいにしてはいけない
数式で一般的に表した場合のMS処理です。
…入力信号の左成分。
…入力信号の右成分。
…出力信号の左成分。
…出力信号の右成分。
…MS調整用パラメーター。0に近いほどMid寄り、1に近いほどSide寄りになります。
入力信号、出力信号ともに大きさはです。
をMid成分、
をSide成分と置くと
となります。出力は
となります。
を調整することで、ステレオ感を出したり、モノラルにしたりできます。
この記事はstm32 Advent Calendar 2017の21日目の投稿です。
素のSTM32F303K8は、デバッガーを切り離していないNucleo経由でバイナリーを書き込むことができます。
バイナリーはmbedオンラインコンパイラーのもので動作を確認しています。
ボードの上下を切り離して別々にして書き込んでいる例があり、切り離さないとSTM32F303K8に書き込めないのかと思ってしまいますが、切り離さなくても書き込めます。