御アクセスありがとうございます。当ブログの閲覧にあたりまして「当ブログについて」の内容に同意したものとします。23:54そろそろ携行型レールガンを本格的に作っていこうと思います。いつできるかわからんけどね。途中で放棄する可能性もあるよ今回はレールガンの動作状態等を見るディスプレイ部を作ろうと思います秋月八潮で福袋を売ってるということで部品を買うついでに買ってきました。福箱が欲しかったですが来た時(発売から4~5時間後)にはもうなかったです。意外と売れちゃうもんなんすね~衝動買い品テスターP-16端子が壊れてるとかなんとかで安くなってたんですがなんか普通に使えました。💪パワーボーイ💪つよそう(小並)ただの電源です。IGBTのゲート駆動にちょうど良さそうなので買ってみました。こいつを4つとホトカプラ使ってフルブリッジ組んでテスラとかやってみたい以上八潮の特産品でした以下本文ディスプレイのメイン部分となるLCDはバックライト付きの小型I2CLCDを使ってみました。白抜きLCDよりかこっちのほうがすきかもしれない充電電圧を見るためのLEDです。点いてるLEDの場所がめちゃくちゃですが後でプログラム書きなおしますLEDが10個ありますがチャーリープレクシングを採用してるので4本線で制御できます。基板は話題のノンスルーホール両面基板を使ってみました。今回はこれを使った意味はあまりなかった(要するに使いたかっただけ)組み合わせてこんな感じいいんじゃね?マイコンはPIC18F14K22を使いましたが今後変更するかもしれませんあとLCDは後々固定します試験プログラムとしてコンデンサ充電器の出力を測るやつを作ってみました。チョッパで充電して一定の電圧に到達するまでの時間を計測し計算するという感じです。簡単にできると思ってたらチョッパのノイズが酷くてうまく測定出来ませんでした1145141919810年くらい悩んで試行錯誤してやっと測定できたのがこちらうんまだマイコン基板とか操作部も作らないといけないしまぁこんな感じでちまちま進めていきます。08:03このまえテスラコイルで演奏ができたのはいいけど、MIDIインタラプタが金魚氏のものを使っていたので自分で作ってみたいなぁ......っていうわけでそのへんも作ってみようと思う。前もちょっとやってみたけど今回は実用的(?)に使えるものを作ってみたいMIDIインタラプタとは送られてきたMIDI信号をその音階の周波数に変換、矩形波パルスを出力するものです。マイコンは前から使ってみたかったPIC24という16bitマイコンにしました。使ってみたかっただけ。あと16bitだからちょっと複雑なことできるかな~とか思ってます初めてのPIC24なのでうまく扱えるか不安...今回は小さい方の14ピンパッケの「PIC24F08KL200」を使います。開発環境を整えることから始まって定番のLチカをさせてみます。適当にググって出てきたプログラムとかを参考にしました。書き込んでみると......書き込めない...なんでやねんと思いながらもいじっていくと、ライター(PICerFT)の設定が原因でした。拡張ICSPで書き込もうとしてたのですがKLシリーズは拡張ICSPに対応してないらしいです。ただのICSPにして書き込んでみると...動いてくれましたん~でもMCLRピンを入力としてもなんか設定できないので色々調べてみるとPICerFTはどうやらそこのコンフィギュレーション書き込めないっぽいです。仕方ないのでMCLRピンのまま使います。「でもそのためにはLEDを12個つけるからピンは12本必要。ダイナミック点灯にしても7本。「やっためう!すごいめう!!!」こんな感じで使用ピン数を削減。実際には12個以上のLEDを点灯させたいので5本になります。チャーリープレクシングはn^2-n個(n=ピン数)のLEDが点灯できるので5本で最大20個まで点灯できますね。ちなみにこんな回路です。LEDを逆向きにつないだり工夫されています。欠点は1つずつしか点灯できないので少し暗くなっちゃうことです。高輝度LEDを使って大きめの電流流してあげれば普通につきます。あと制御がチョットめんどくさいことかな?適当にプログラム作って書き込んでみたら動きました。昔作ったチャーリープレクシングモジュールを接続しています。動かすことができたので本番のインタラプタを作ってみようと思います。ついでにさっきの音階表示器の機能も合体させちゃおうと思います。PIC18Fで作った時のをコピペしてちょっと書き換えるだけなんですけどね。コピペしただけだけどであっさり動くそれと出力を2chにしてテスラ2重奏もできるようにしました。テスラコイルのノイズなどでマイコンが暴走した場合、出力がHになりっぱなしになってしまい最悪テスラが燃えます。この事態を防ぐためと、パルス幅の制御=放電距離の制御用に、ロジックICでパルス制御回路を設けました。パルス幅の制御はマイコンにやらせてもいいけど、処理が追いつかなさそうなのでついでにロジックにやらせることにしました。タイマーIC555を使うのが主流のようですが、今回は74HC123を使います。555タイプより小型化できるし2回路入っているしちょうどいい。回路マイコンからは10usのパルスが出力(アクティブロー)されるだけですがボリュームを回すことで大体3.3~330us(もうちょっと多いかも)の間でパルス幅を制御できます。上の回路では次のパルスと重なって1つのパルスとなってしまいますが、下の回路ならば重ならずに出力することができます。いうわけで破壊防止・パルス幅制御回路は完成。インタラプタとして最低限はうごいたけどボタン(と言うか切り替えスイッチ)が足りない。「でも残り3ピンしかない。「やっためう!すごいめう!!!」こんな感じで使用ピン数を削減。回路ではこんな感じどれかのスイッチが閉じた時、上の抵抗としたの抵抗で分圧された電圧が出てきます。この電圧をADCで読んでどのスイッチが閉じたのかを判断します。すべての抵抗を違う値にすれば同時押しにも対応できます。「いくらでも」と言いましたが実際はADCの分解能や誤差、ノイズ等でズレるので余裕を持ってスイッチは4つまでにしました。実際にこの方式で読んでみましたが意外と使えます。長めの記事になったけどこれでインタラプタはほぼ完成です。ピンが足りないンヒィ!!とか騒いでたけど回路の工夫で最終的に2本も余らすことが出来ました。チャーリープレクシングはまだ余力があるのでLEDを追加できます。チャーリープレクシングと分圧ADCはオススメです。このインタラプタの基板はプリント基板で作りたいと思います。いつになるかわからんけど。人気記事PVTwitterぽんず@pons658大体Twitterいます。pons658Youtubepons658Youtubeチャンネルです。実験動画等上げています。よろしければチャンネル登録お願いします。