ぽんず製造所

当ブログの記事を参考にして行った事により、いかなる不都合が発生としても当方は一切の責任を負いません。全て各自の自己責任でお願いします。

インタラプタ

小ネタ

大したことではないんですがNT京都前後になんか色々作ってたので書きます

NTに向けて、ふぐ氏(Twitter:@METALGEAR_TTX)開発のSEMICOと自分のMIDIインタラプタをくっつけました。
SEMICOはSDカード内のMIDIファイルを読み込んでMIDI信号を出せるやつ。これを使えばテスラコイルで演奏するためにわざわざPCを用意しないでも大丈夫!PCを壊す心配がない!というめちゃくちゃ便利なもの。もちろんテスラコイル以外でも自作物MIDI演奏系のものにも使えます。尚NTではテスラコイル自体がうまく行かなかった模様。

 



次、
やったぜ
新品なのになんか1000円以下で入手できてとてもうれしいです。
まだ回してない いつか回したい

DSC_1314



次、
降圧チョッパなDC-DCコンバータ作りました。
いつも使ってる24V電源から電圧を下げるために作ってみました。
両面"ノン"スルーホール基板を使って両面に部品を実装しました。

DSC_1480
DSC_1482

コイルに10A以上流すこともあるのでダイオードの損失(発熱)が馬鹿にできないということで、同期整流を使ってみました。
上の図はよくある降圧チョッパの回路ですが、ダイオードをMOSFETに置き換えてハーフブリッジの形にしました。損失はダイオードの時はVf*Iですが、MOSFETの時はI^2*Ronなのでそれなりに低損失にできます。ハーフブリッジにすると、「メイン素子がハイサイドにあるのでPchを使いたいが性能が悪い!しかしNchはドライブしにくい!」と言う問題もハーフブリッジドライバを使って解決でき一石二鳥です。

無題

ただ、MOSFETの駆動信号を作るのが大変でした。コイル電流が0Aに戻ってきた時、ローサイドMOSFETをOFFにしないと出力から逆流してしまいます。そこで、コイル電流を検出してCLCでPWM信号と合成したりなんかいろいろやって生成しています(意味不明)

黄色がハイサイドMOSFETのゲート波形
水色がローサイドMOSFETのゲート波形
紫色がコイル電流波形
コイル電流が0A付近になった時ローサイドがOFFしてるやろ?

960

これ出力の平滑コンだけど本当に頭悪そう。300uFくらいあるらしい。

DSC_1484

んでまぁCVCCのソフト組んで動かしてみたけど、使えないこともないけどフィードバックと計算が間に合ってないのか変な動作したりして実用にはなりませんでした。結構頑張って作ったのにな~見た目とかは結構気に入ってるのにな~てかこれ作って満足したやつ。素直に専用ICを使わないからこんなことになるんです。


次、
メモだけどTLP152の遅延時間を測定しました。TLP152はちょっといい感じのゲートドライバ付きのフォトカプラです。
水色が入力LED、黄色はTLP152に適当なMOSFETをつなげたゲート波形です。速度は画像のとおりです。

C8Ftk_LVYAEK-w_
C8FtlYVVMAEqNt1

If=10mA
Vcc=12V
遅延時間は100nsくらいですね。ちょうどデータシートの標準値くらいです。



次、
MIDIインタラプタのパルス幅をベロシティで可変できるようにした延長として、エクスプレッションでもパルス幅を可変できるようにしました。



自分のソフトの書き方が下手くそなんでしょうけどもうマイコンのメモリが足りてません。ハード的にも、当初の予定ではパルス幅は別ICで可変する予定だったのに改造してゴリ押しててそろそろ限界です。 


それでは今日はこの辺(へん)で。

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くらい)を出せます。で、その隣のボリュームで一定時間おきに単発出力してくれます。
長々と書いてしまいましたが動作はこんな感じです。 

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

ドラム風に放電できるインタラプタ

テスラコイルでドラムっぽいこと昔からやってみたかったんですよね
QCWDRSSTCがドラムに最適だなとか思ったんですけどもうちょっと手っ取り早くやりたいなと思って(作る技量もないし)
インタラプタの方を改良してドラム風な放電ができるようにしてみました。 


とりあえず動画

うまるーん


けいおんのやつ


らき☆すた


ドラム音は、強制的に(通常のパルスに比べて)非常に長いパルスを1パルスだけ送っているだけだったりします。
放電が長くなるのと、通常の音楽の放電が中断されるのでポツッって感じに放電できるわけです
確か200us~1ms(ベロシティによって可変)のパルスだったと思います。

あと同時に通常の放電についても、ベロシティによってパルス幅可変にしました。
これによりパルス幅は74HC123制御ではなく全てマイコン制御になりました。マイコンがバグってもテスラ側に保護付けといたので大丈夫だと思います。
これで小さい放電(小さい音)とか大きい放電(大きい音)とか表現できますね!
動画内ではうまるちゃんの一番最後のピ↓ロ↓ロ↓ロ↓ロ↓のところとかわかりやすいと思います。

放電テスト的な↓

ボリュームも無理やり追加したので全体的な音量調節もできます。

アッそういえば74HC123を使わなくなったので、代わりに光コネクタ用の信号変調マイコンを取り付けました。ピン配置を合わせるために一回基板に実装してからソケットに刺さっています

CvYKjvQUEAAjX0x

テスラコイルといえば光コネクタの受信側の改造が必要でしたが、このマイコンを通すことで改造が不要になりました。これについてはまたいつか記事にしようと思っています。


実はどれも文化祭にあわせて改良した機能です。おかげでいい感じに放電させることができました。
それでは、今日はこの辺(へん) で。

MIDIインタラプタを作りたい

このまえテスラコイルで演奏ができたのはいいけど、MIDIインタラプタが金魚氏のものを使っていたので自分で作ってみたいなぁ......
っていうわけでそのへんも作ってみようと思う。前もちょっとやってみたけど今回は実用的(?)に使えるものを作ってみたい
MIDIインタラプタとは送られてきたMIDI信号をその音階の周波数に変換、矩形波パルスを出力するものです。


マイコンは前から使ってみたかったPIC24という16bitマイコンにしました。使ってみたかっただけ。
あと16bitだからちょっと複雑なことできるかな~とか思ってます

1431252824211

初めてのPIC24なのでうまく扱えるか不安...
今回は小さい方の14ピンパッケの「PIC24F08KL200」を使います。


まず開発環境を整えることから始まって
定番のLチカをさせてみます。適当にググって出てきたプログラムとかを参考にしました。

んで書き込んでみると

...

...

書き込めない...
なんでやねんと思いながらもいじっていくと、ライター(PICerFT)の設定が原因でした。拡張ICSPで書き込もうとしてたのですがKLシリーズは拡張ICSPに対応してないらしいです。
ただのICSPにして書き込んでみると...



動いてくれました
ん~でもMCLRピンを入力としてもなんか設定できないので色々調べてみるとPICerFTはどうやらそこのコンフィギュレーション書き込めないっぽいです。仕方ないのでMCLRピンのまま使います。


で、PIC24の練習として「音階表示器」をやってみようとしたのですが

「めうちゃんは音階表示器をやりたいんだね」
「やりたいめう」
「でもそのためにはLEDを12個つけるからピンは12本必要。ダイナミック点灯にしても7本。他に電源系や入力・出力などがあって14ピンマイコンじゃピンが足りないね」
「たりないめう...」
「そこで『チャーリープレクシング』という点灯方式を使う」
「使うめう」
「すると12個のLEDを点灯するのに4本で済む!」
「やっためう!すごいめう!!!」

こんな感じで使用ピン数を削減。
実際には12個以上のLEDを点灯させたいので5本になります。
チャーリープレクシングはn^2-n個(n=ピン数)のLEDが点灯できるので5本で最大20個まで点灯できますね。

ちなみにこんな回路です。LEDを逆向きにつないだり工夫されています。

無題

欠点は1つずつしか点灯できないので少し暗くなっちゃうことです。まぁ高輝度LEDを使って大きめの電流流してあげれば普通につきます。あと制御がチョットめんどくさいことかな?


適当にプログラム作って書き込んでみたら動きました。
昔作ったチャーリープレクシングモジュールを接続しています。

1432128492210



動かすことができたので本番のインタラプタを作ってみようと思います。
ついでにさっきの音階表示器の機能も合体させちゃおうと思います。
まぁPIC18Fで作った時のをコピペしてちょっと書き換えるだけなんですけどね。

コピペしただけだけどであっさり動く



それと出力を2chにしてテスラ2重奏もできるようにしました。


もしテスラコイルのノイズなどでマイコンが暴走した場合、出力がHになりっぱなしになってしまい最悪テスラが燃えます。
この事態を防ぐためと、パルス幅の制御=放電距離の制御用に、ロジックICでパルス制御回路を設けました。
パルス幅の制御はマイコンにやらせてもいいけど、処理が追いつかなさそうなのでついでにロジックにやらせることにしました。
タイマーIC555を使うのが主流のようですが、今回は74HC123を使います。555タイプより小型化できるし2回路入っているしちょうどいい。

回路

midi123

マイコンからは10usのパルスが出力(アクティブロー)されるだけですがボリュームを回すことで大体3.3~330us(もうちょっと多いかも)の間でパルス幅を制御できます。
上の回路では次のパルスと重なって1つのパルスとなってしまいますが、下の回路ならば重ならずに出力することができます。
というわけで破壊防止・パルス幅制御回路は完成。


インタラプタとして最低限はうごいたけどボタン(と言うか切り替えスイッチ)が足りない。

「めうちゃんはスイッチを追加したいんだね」
「したいめう」
「でも残り3ピンしかない。全部つかっても3つしかスイッチは付けられない」
「ちょっと足りないめう...」
「そこで『分圧ADC式』(勝手に命名)という点灯方式を使う」
「使うめう」
「するとADCピン一本で(理論上)いくらでもスイッチが付けられる!
「やっためう!すごいめう!!!」

こんな感じで使用ピン数を削減。
回路ではこんな感じ

Untitled

どれかのスイッチが閉じた時、上の抵抗としたの抵抗で分圧された電圧が出てきます。
この電圧をADCで読んでどのスイッチが閉じたのかを判断します。
すべての抵抗を違う値にすれば同時押しにも対応できます。
「いくらでも」と言いましたが実際はADCの分解能や誤差、ノイズ等でズレるので余裕を持ってスイッチは4つまでにしました。 

実際にこの方式で読んでみましたが意外と使えます。


ちょっと長めの記事になったけどこれでインタラプタはほぼ完成です。
ピンが足りないンヒィ!!とか騒いでたけど回路の工夫で最終的に2本も余らすことが出来ました。しかもチャーリープレクシングはまだ余力があるのでLEDを追加できます。
チャーリープレクシングと分圧ADCはオススメです。

このインタラプタの基板はプリント基板で作りたいと思います。いつになるかわからんけど。
  • ライブドアブログ