NullなNuma

自由気ままに何か書く

グラフィックポイ製作(3)

前回は短いプロトタイプでしたが

今回はロングなプロトタイプを作ります

 

 本当は去年の10月あたりにはこの内容は終わってたのですが

書く時間を作れず今に至る…

 

基板設計

前回のを流用しつつ作ります

今回はLED部、電源部と機能ごとにモジュール単位で基板を作りました

LED部には片面60個で裏表計120個のAPA102を使います

電源部は今まで使ってきた昇圧ICとリポの電圧監視回路を組み合わせます

以下の記事を参考に電源遮断を作りました

d.hatena.ne.jp

 

 

電源部

f:id:nullnuma:20171218114731p:plain

LED制御部

f:id:nullnuma:20171218114626p:plain

f:id:nullnuma:20171218114628p:plain

 

基板

電源部

f:id:nullnuma:20171218115112p:plain

 

 LED制御部f:id:nullnuma:20171218115115p:plain

発注

今回もFusinPCBさんに発注しました

一緒にメタルマスクや別に使う基板も含めて

計$70ぐらいかかりました

送料が高いです…仕方ないけど…

 

実装

基板が送られてきたらハンダペースト塗って

電子部品置いてリフローするだけ!

と思ってたら基板のミスがありました

途中のLEDの信号線が配線されていないどうしようもない凡ミスです…

リード線を短くカットしてヒートガンで接着させながらリワークしました

f:id:nullnuma:20180208074439p:plain

裏までハンダがうまくまわっていなくて

ついていないことがありこの作業が結構辛かったです

 

無事2本作りました!

 

外装

ケースはAutodeskのFusion360で作ります

よしなに設計します

 

完成後は友人にお願いして作ってもらいます

サイズミスで一度作り直しましたがなんとか入りました

 

組み立て

あとは組み込めば完成です

18650の電池ケースも含めて組み立てます

ナットの固定がうまくできず止まらなかったので

安定のホットボンドを使います

(便利ですホットボンド)

 

動作確認

結論から言うと電源モジュールがうまく動作しませんでした

電源遮断回路がどうも動いていないようで

リセットボタンを押した直後に電源遮断が

起きてしまっていました 

大学の文化祭で展示する予定だったので

苦肉の策で外部にスライドスイッチをつけて

動かすということにしました

それ以外は問題なく動作してくれました!

f:id:nullnuma:20180208075326j:plain

 

完成

 最終的な完成がこのようになりました

ケースの固定もネジでやろうとしていたのですが

固定できなかったので養生テープで固定という…

f:id:nullnuma:20180208075422j:plain

f:id:nullnuma:20180208075418j:plain

 

秋月電子のお楽しみ袋を買ってみた

秋月電子秋葉原店でお楽しみ袋が販売されていたので買ってみた

お楽しみ袋

結構なボリュームがある
f:id:nullnuma:20180104204142j:plain

開封

すべて取り出してみた

f:id:nullnuma:20180104204340j:plain
#1 ピンヘッダ ロープロ 1x40 9個
#2 調整用ドライバー 12個
#3 TN 681K 27個
#4 バッテリーチャージャー LPCS RAPID CHARGER CCTA2H 1個
#5 キー Z 60-B0 5個
#6 リレー VX2-5 5個
#7 DIPスイッチ 表面実装8ピン JAE89 3個
#8 DIPスイッチ 8ピン 1個
#9 基板 AE-TONE CONT 1個
#10 基板 不明 1個
#11 基板 AE-REEN 1個
#12 RCAジャック 基板取付用 (赤,白)x3 2個
#13 LANコネクタ 基板取付用 6ポート 2個
#14 水晶発振子 MEC 3.6864AN0D 2個
#15 クリスタルオシレータ KYOCERA J-1/2 1個
#16 クリスタルオシレータ SG531PCPC 22.5792M 2個
#17 クリスタルオシレータ SG531PAPC 15.8720M 3個
#18 クリスタルオシレータ 表面実装 20.000 JVC 2K 1個
#19 パワーLED OS 8060C 8個
#20 7セグメントLED NAR131-B 43個
#21 7セグメントLED NKR131S-B 17個
#22 7セグメントLED NAR164 2個
#23 モーションセンサー NS-300 1個
#24 CM102 100V 50個

f:id:nullnuma:20180104204352j:plain
#25 USBメモリケース 1個
#26 キット用部品セット 6個
#27 シリコンダイオード RLR4003 15個
#28 デジタル電圧計キット分圧抵抗セット 1個
#29 水晶発振器 VX-3F-25MHz 2個
#30 積層セラミックチップコンデンサ 470pF/50V 2個
#31 表面実装用電解コンデンサ 100/50V 21個
#32 表面実装用電解コンデンサ 47/16V 52個
#33 表面実装用電解コンデンサ 100/16V 194個
#34 表面実装用コネクタ 21個

f:id:nullnuma:20180104204403j:plain
#35 E1ADWZ25 907個
#36 チップ抵抗 100 69個
#37 チップ抵抗 101 79個
#38 チップ抵抗 203 64個
#39 チップ抵抗 251 28個
#40 チップコンデンサ 不明 216個
#41 JE6043 1個
#42 トランジスタ 2SA1441 1個
#43 LED 13個
#44 IC NE555 1個
#45 ヒューズ 125V 250mA 3個
#46 電解コンデンサ 各種 3個
#47 積層セラミックコンデンサ 各種 14個
#48 メタライズドフィルムコンデンサ 各種 8個
#49 セラミックコンデンサ 各種 6個
#50 抵抗 各種 9個
#51 セラロック 判読不可能 1個
#52 タクトスイッチ 各種 2個
#53 タンタル電解コンデンサ 3個
#54 その他部品

f:id:nullnuma:20180104204414j:plain
#55 エンドミル 1個
#56 チューブ 2個
#57 USB A-miniBケーブル 1個

細かい部品はちょっと数える気が失せてしまったので省略…

ほぼ使えそうな部品はないので微妙ですがまあ満足
f:id:nullnuma:20180104204628j:plain

仮想サーバーっぽいのを作る

この記事はMCC Advent Calendar 2017 - Adventarの18日目の記事です

半年前ぐらい前からサーバーの刷新を考えていたので
実行に移してみました

サーバーの構成

CPUはRyzenを使ってみます
Ryzen 5 1600なので6コア12スレッドです
ただSMT(Intelでいうハイパースレッディング)がうまく使えないとかなんとか…らしい

CPU Ryzen 5 1600
f:id:nullnuma:20171218112140j:plain
マザーボード ASUS ROG STRIX B350-F GAMING
f:id:nullnuma:20171218112144j:plain
メモリ 32GB

グラボ 玄人志向 GTX1030
f:id:nullnuma:20171218112148j:plain
HDD WD Blue 3TB
f:id:nullnuma:20171218112159j:plain
電源
f:id:nullnuma:20171218112154j:plain

全体で10万円ぐらいです

よしなに組み立てる

ケースは自作したいなと思ったのでとりあえずMDF板に載せただけ
f:id:nullnuma:20171218113224j:plain

電源スイッチもこのありさ
f:id:nullnuma:20171218205202j:plain

ESXiのカスタムISOの作成

標準ではマザボに載っているNIC(Intel I211)に対応していないらしいので
ドライバを組み込みます

  • VMware PowerCLI 6.5
  • ESXi-Customizer-PS v2.5
  • NIC用ドライバ net-igb

Intel NIC向けのドライバはhttps://vibsdepot.v-front.de/wiki/index.phpを利用します。

よしなにWinにインストールをして
PowerShellで実行します

 .\ESXi-Customizer-PS-v2.5.1.ps1 -v65 -vft -load net-igb

そうすると同じディレクトリに
「ESXi-6.5.0-20171004001-standard-customized.iso」
ISOファイルが作成されます

これを利用してインストールします

インストール

最初はUSBブートでインストールしようとしましたが
win32diskやuniversal usbで書き込んでも
認識してくれないので諦めて大人しくCDブートにしました

インストール自体はサクサク進みます
OSを格納するディスクは余っていた8GBのメモリを使いました
4GBじゃ容量が足りないのかデバイス一覧で
表示してくれませんでした
そのUSBメモリを接続する場所として
マザーボード上の内蔵用USBのところに差すために
USBコネクタDIP化キット (Aメス): 組立キット 秋月電子通商 電子部品 ネット通販とL型のピンソケットで
変換治具を自作しました
(結構こだわったところ)
f:id:nullnuma:20171218204520j:plain

仮想マシンを作る

メインで使うCentOS用のマシンを作ります
言われるがままに作れば完成です
1コア 4GB 2TBを割り当て完成です
f:id:nullnuma:20171218203514p:plain
すんなり入りましたがネットワークインターフェースを追加し忘れたので
最初ネットワークに繋がらなくて焦りました
nginxやsambaを入れてとりあえず完成!

次にWin8.1用のマシンを作ります
このマシンはPCIパススルーを使ってディスプレイとキーボード、マウスを
接続して普通のデスクライクに動作させる予定です

とりあえずは仮想マシンを作ります
4コア 8GB 500GBを割り当てます
Winが入ったらPCIバイスをパススルーします
f:id:nullnuma:20171218203437p:plain
こちらの記事を参考にさせていただきました
qiita.com

GPUの他にUSBインターフェースカードも同時にパススルーします
USBもパススルーすることで仮想マシン上でキーボードや
マウスを認識させるためで結構無理やりなやり方

  • GPU
  • Audio Device
  • USB 3.0 Host Controller

をパススルーしますがそれだけでは動作しなかったので
VMのパラメータに「hypervisor.cpuid.v0 = FALSE」を追加しました

また、PCI expressスロットの挿し方によってはパススルーの設定が
反映されないことがあり謎でした…
(帯域の違いとかの問題なのかなぁ?…)
無事起動したのでESXi側のディスプレイは使わないようにして完成です

f:id:nullnuma:20171218203711j:plain

まとめ

今のところはどれも比較的正常に動作はしていますが
時々NICが切断されたりと不安定な部分もあります
まだまだ調整があまいところもあるので詰めていきたいです

HDDを修復しようとしたけどだめでした

あまりにも悲しかったのでひとりごとでつらつら書きます

家にファイルサーバー兼DNSサーバーのようなサーバーを
置いていたのですがそろそろ新しくしたいなということで
12月に刷新する予定にしていました

しかしなんということでしょう
刷新する前にHDDが逝きました

適当に組んでいたのでRAIDなどの冗長化
一切していなかったのでデータが飛びました
今まで撮りためていた写真データや
様々いろいろ(何を入れていたのかちゃんと把握していない)
飛んでいってしまいました

ということでHDDを復旧させようかなといろいろ試行錯誤しました
結論としてはタイトルどおりできませんでした

WD Blue 2TBのHDDでパーティーションの構成は
LVMで管理を行いXFSでフォーマットされています

やったことを書いていきます

HDDの状態を確認

40個ぐらいの不良セクタができてしまっていたみたい…
まったく確認していなかった

とりあえずはコピー

3TBのHDDにUbuntuを利用してコピー

次にxfs_repairをする

xfs_repairはXFS形式のパーティーションについて
修復してくれるみたいで実行してみました
セカンダリのスーパーブロックがないよ?って言われて終わってしまった

これ以外何をしたらいいのかわからなかったので終わりです

結局よくわからないことになってしまった

まとめ

バックアップは大事
バックアップしとけ

ということですね…

12月中にサーバーを新しくします
Ryzenでハイパーバイザー

グラフィックポイ製作(2)

プロトタイプV2

グラフィックポイのプロトタイプバージョン2を製作しました

前回とは違うLEDを使う

前回はSK6812という一般的に使われているであろうWS2812の互換品を使用していました
ただし横からの見栄えがよくないので今回はAPA102と呼ばれるLEDを使用します
f:id:nullnuma:20171112212749j:plain
左がSK6812 3535 右がAPA102 2020
SK6812は独自の通信方法で通信部は
アセンブラでゴリゴリ書かれていたが
今回のAPA102はSPI通信を利用して
通信することができるので
ハードウェアの機能で安定して表示を更新できる
しかも更新速度が速い

LEDがとにかく小さい

LEDが小さいので基板を設計する際のフットプリントの作成に手間取りました
間隔が狭すぎると隣とあたるし広すぎるとうまく載せられないので
試行錯誤の末なんとか作ることができました
f:id:nullnuma:20171112213021p:plain

基板の設計

KiCadを利用してよしなに設計
ほぼ前回と同じような構成です

コントローラー部
f:id:nullnuma:20171112214036p:plain
LED部
f:id:nullnuma:20171112214040p:plain
電源部
f:id:nullnuma:20171112214044p:plain

発注と実装

FusionPCBに発注をして製造しました
最近ではメタルマスクを最低価格$10で製造してくれる
キャンペーン?をしていたので利用してみました
APA102 2020のテスト用基板も一緒につけてあります
f:id:nullnuma:20171112215904j:plain
f:id:nullnuma:20171112215917j:plain
メタルマスク!
f:id:nullnuma:20171112215930j:plain

今までとは違いはんだペーストを塗るのが格段に楽です
特にピッチも細かく手で塗ろうとしてたら日が暮れてしまいます
これからはメタルマスクが必需品になりそうです
(けど送料が高い…)

リフロー中
f:id:nullnuma:20171112220306j:plain
点灯!
f:id:nullnuma:20171113094924j:plain

最初は途中でLEDがずれてしまったのですがヒートガンを買ったので
熱してリワークしました

まとめ

正面だけでなく横からも光っているのを確認できるようになりました
一応文字も出せるようになっています

Hello Worldを表示しようとした
f:id:nullnuma:20171113094323j:plain
共同開発者のあみうなぎ (@AmiUna0x1A0) | Twitterが表示させた例
f:id:nullnuma:20171113094329j:plain

20個のLEDながらきれいに表示できています
以降グラフィックポイはAPA102 2020を使用していきます

グラフィックポイ製作(1)

実際にプロトタイプを製作しました

9月ぐらいに作成していたのですが更新が面倒だった…

 

回路設計

プロトタイプなのでLEDを片面15個配置し計30個点灯させます

LEDにはWS2812B互換の3.5mm角なSK6812 Miniを使用しました(後で問題になり使えないのに1500個のリールを買ってしまった!)

マイコンにはESP-WROOM-02を採用しています

回路図

制御部

f:id:nullnuma:20171023095317p:plain

LED部

f:id:nullnuma:20171023095320p:plain

DCDC部

f:id:nullnuma:20171023095322p:plain

基板図

 

f:id:nullnuma:20171023095352p:plain

実装

今回はPCB製造をElecrowさんで頼みました

約二週間強で届いたのでまずまず

ハンダペーストを爪楊枝につけて手で頑張って載せます

載せました

作ったりリフロー炉に突っ込んで焼きます

点灯します

f:id:nullnuma:20171023095824p:plain

振ったところはうまく取れなかったのですが不規則に色が点灯する部分があった

※色が狂ったのはプログラムのミスでした…

 とりあえず光ったので良かったですが

 

問題点

SK6812だと横からの視認性がとても悪いです

この手の種類のLEDは他にDotstar(APA102)と呼ばれるLEDがあります

このLEDは中のチップLEDに対してレジンで上部が固められているので横からも光ります

5mm角と2mm角の2種類がありますが

間隔を細かくしたいので2mm角のLEDを採用しました

 

※実際はプログラムのミスで色がずれていたの

SK6812の色の反映が遅いのではと考えてしまい

更新が速いLEDをということでAPA102を採用しました…

 

次回

次回この2mm角のLEDでプロトタイプ基板を作りテストします

 

 

Orange Pi Zeroを買ってみた

レーザー加工機のコントローラーとして使おうと考えたので
手頃なSBCであるOrange Pi Zeroを購入しました

Orange Pi Zero

CPUにAllWinner H2(Cortex-A7)
モリー256MB/512MB
イーサネットは10/100M
マイク入力,USB2.0ポート等
安い割に最低限押さえているので軽い処理には十分です
Wi-Fiがついてますが技適がないので日本国内では使えません…

購入

9/24にAliExpressで¥1,023(送料込み)で購入しました
10/2に届きました
1週間強で届いたので結構速い配達でした
f:id:nullnuma:20171002221117j:plain
さっさと無線LANアンテナは取ります
f:id:nullnuma:20171002221128j:plain

動かしてみる

OSにはArmbianと呼ばれる種類のものを入れました
Orange Pi Zero – armbian

Win32 Disk ImagerでmicroSDカードに書き込み
LANケーブルとmicroUSBケーブルを繋ぎ起動させます

https://www.armbian.com/orange-pi-zero/

DHCPで振られたIPアドレスからsshでアクセスします
ユーザー名はroot パスワードは1234で入ることができます
ログイン後すぐにパスワードを変更しろと要求されるので変更し
f:id:nullnuma:20171002220448p:plain
ユーザーを追加しました
新規ユーザーでログインし、apt-getでアップデート,アップグレードしました

とりあえずはslコマンドを走らせてみた(まったくもって無駄)
f:id:nullnuma:20171002223205p:plain