ぽんず製造所

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

PICマイコン

WS2812Bを使った3*3*3フルカラーLEDキューブ

LEDキューブを作るとなると、単色ならまだしも、通常の4端子RGB LEDだと配線が面倒なことになってしまいます。
そこで登場するのがWS2812Bです。WS2812Bはデータを送って点灯できるマイコン内蔵型のフルカラーLEDです。デイジーチェーンで接続できるので複数のLEDを1本の信号線で制御することができます。つまりこいつを使うと配線が非常に楽にできるわけです。(WS2812Bの使い方や詳細は他所をご覧ください...)
今回はそのWS2812Bを使ってLEDキューブを作ってみました。
WS2812Bをキューブに使ったらどんな感じになるのか、表面実装タイプのLEDでもいい感じに見えるのかなど、試験的に作ってみた側面が大きいです。

DSC_3699

USB電源で駆動でき小型で手軽に動かせます。


回路自体はこんなに簡単です。
マイコンにWS2812を繋げてるだけです。あと電源とか。
Untitled

マイコンはPIC16F1705です。WS2812B系のLEDはデータ波形生成がチョット大変ですが、PIC16F1705のペリフェラルを使うことで簡単に生成できます。詳細はこちらをご覧ください。
表示させたいデータを適当に作ってSPIにぶん投げたら点灯できます。


特に書くこともないので制作風景を載せておきます。

スズメッキ線にLEDを直接はんだ付けしていきます。
DSC_3671

3枚(?)作ったら試験点灯をさせてみます。
DSC_3672

点かなくて草
どうにもWS2812B系はハンダの熱に弱いらしく壊れてしまうようです。熱でパッケージが膨張して中のボンディングワイヤが切れるらしい。まぁ今回はずいぶん前に買った在庫品や中古品を使ったというのもありそうです。
DSC_3673

壊れているLEDを交換し全点灯したら
DSC_3678

立体的に組み上げていきます。ちなみにここでもハンダするのでLED壊れました ブチギレ
DSC_3679

点いた。
DSC_3680

ちなみにここまでで10個くらいLED壊しました。半田鏝の温度低めに設定してたのに。クソLEDだな
なおめんどくさかったのでLEDにパスコンは付けてないです、皆さんは付けましょうね(

マイコンを載せたりする基板は目立たないようにマジックで黒く塗りました。
DSC_3689

LEDと各部品をはんだ付けしました。あとケースと合体用のアクリル部品とかも付けた。
DSC_3691

ケースは黒のスモークアクリルを切り出し、アクリル用の接着剤を使って箱状にしました。
接着下手クソなのでズレました。下手クソ具合は完成写真でもよくわかります、接着面が汚いです。
DSC_3681

USBコネクタ用の切り欠きとか。
DSC_3687

ケースと基板を合体して完成。黒スモークアクリルのおかげで、点灯してないときは黒い謎の箱、点灯するとLEDが浮き出てきていい感じです。
あっあとアクリルに反射してLEDの数が少ない割にいっぱい点灯してるように見えていいね(?)


良いインテリアが出来て良かったです。

回生型コイルガン-サブ基板

操作ボタンとディスプレイを載せたサブ基板作りました。

DSC_3028

ディスプレイには白のOLEDを使ってみました。
またこの基板にはトリガボタンや弾丸検出センサも接続する予定です。
メイン基板とサブ基板はUARTでデータをやり取りします。

コンデンサに貯められた電圧とエネルギーを表示してみました。

この表示は気に入ってる(けどテストだから後々変える)


ソフトウェアの方も少しずつ進めています。
今まで通電時間は定数で指定していましたが、変数で設定できるようにしたり、コイルの端から端への移動時間を測れるようにしました。

で、うまく測れるか試すために試射をしてみましたが、どうもセンサがスイッチングノイズの影響を受けて誤作動してしまうようで、正常に動作してくれませんでした。
そんなワケで、試しにマイコンの入力ピンにRCフィルタをくっつけてまた撃ってみたんですよ、

そしたら
DSC_3035

おわかりいただけただろうか
なんと跳弾した弾がちょうどバスとMOSFETのドレインに当たってショートしたんです...
そのMOSFETはONになっていたのでMOSFETには過電流が流れるわけで、当然素子死亡...巻き添えでゲートドライバも死亡しました...
誰かが跳弾でモニター割ってましたしちゃんと安全確保しないとだめですね

基板を修理しましてリトライすると正常に測定することができました。

DSC_3036

一番最初の0はエラー番号(何かエラーが発生した場合0以外の数字になる)で、その後ろの数値が測定値で、1段目の最初から1段目の終わりまでかかった時間、2段目、3段目といった具合で表示しています。
数値が小さいほどかかった時間は短い、つまり弾速が速いということになります。
画像の数値では段が上がっていくほど値が小さくなっているので、どんどん加速されてることがわかります。

そろそろコイルガンのフレーム作らないといけないけどどうも気が乗らないんだよなぁ...

コイルガン用弾速計完成

前回の記事の続きです。

操作できないスイッチですが、結局スイッチに基板重ねて高さをかさ増しして解決しました。
一応3Dプリンタでつまみ作ったんですけどね、小さすぎて折れて没になりました。
DSC_3003

ネジも皿ネジにしてフラットな感じに仕上げました。
DSC_3004

というわけで完成です。
測定範囲は0.100~999.999[m/s]です。
弾を自由落下させて測ってるとそれっぽい値は出たので良しとしましょう。
まぁ実際精度はどれくらい出てるか知りません。誤差も大きそうです。おおよその速度を知るには十分でしょう。

コイルガン用弾速計ほぼ完成

前回の記事の続きです。

とりあえず時間を測れるようにしました。
TMR1を使ったハードウェアでの計測なので分解能が31.25nsもあります。~100m/sくらいまでしか測らない予定なので正直そんなに分解能がいるかと言われると微妙(1km/s級にもなるレールガンとかの場合は有用と思うけど)。むしろ他の誤差のほうが大きそう。
TMR1がオーバーフローした場合は、ソフトでオーバーフローしたの回数をカウントしていきます。
そんでもってセンサ間距離[mm] / (31.25[ns] * カウント値)の計算をすれば弾速が出せます。
DSC_2770


あとはケースの加工とアクリルの部品を作って、
DSC_2960

基板と組み合わせます。
DSC_2962

すると、弾がパイプを通ったときにセンサが反応してくれます。

当初危惧していたフォトリフレクタ式のセンサはうまくいってくれたようです。

そしたら適当にケースの中に基板ぶち込んで完成!
DSC_2963

と思ったらスイッチの持つところが短くてケースから出てこなくて電源を入れられないっつうね

動画を見てもらえればわかると思いますが前回の値を記憶してくれるようにしてみました。

フタを開けるとこんな感じです。電池交換とソフト書き換えが簡単にできます(電池ボックスの横のピンヘッダから書き換えられる)
DSC_2965

後々3Dプリンタでスイッチのつまみ作ろうと思います。それを取り付ければ本当の完成ですね。

新しいコイルガン用弾速計の基板

現在コイルガンを制作中ですが、実験するにあたって弾速計の必要性が出てきました。
以前にも弾速計を作りましたが、口径が小さくて新しいコイルガンの弾を測定できないという問題が発生しました。というかあの弾速計どっかいきました。
そんなワケで新しい弾速計を作ろうと思います。

とりあえず基板を作りました。


DSC_2754


DSC_2757

画面には良さげなLCDを使ってみました。黒背景で白文字かっこいいですよね。マイコンにはPIC16F18325を使いました。
回路は3.3Vで動きますが、乾電池一本で動くようにしたかったので、HT7733Aを使って昇圧しています。
そして今回、センサーにフォトインタラプタではなく、フォトリフレクタを使う試みをしました。裏側の下の両端に付いてる黒いのがそれです。
今まで作ってきたものは、片側に赤外線LED、反対側にセンサを配置していました。これでは部品の配置がばらばらになり配線が面倒でした。フォトリフレクタを使うことによって基板一つで完結させることができます。しかし欠点もあって、局所的にしか反応してくれないのでBB弾などの測定は難しくなります。しかも、使ったセンサの感度があまり良くなくて、センサから数mm程度の高さまでしか反応してくれません。まぁこの辺は調整でなんとかできるかもしれません。
そんなワケで、念の為フォトインタラプタ型に改造できるように設計しておきました。

ちなみに画面に表示されてるのはハード検証のための仮ソフトで、両端のHはセンサの反応状態を表しています(反応時H、無反応時Lと表示)。
現在は基板が完成しただけで本ソフトウェアとケースに手を付けてないのでちょこちょこ作っていこうと思います。
5000兆円欲しい!
Twitter
大体Twitterいます。
Youtube
Youtubeチャンネルです。実験動画等上げています。よろしければチャンネル登録お願いします。