2017年05月20日

バックロードホーンを作ってみたい

つれづれ日記を読んでいて、秋月で 2個 500円の 8cm フルレンジ スピーカーユニット F77G98-6 が良いものだと知り、ついつい買ってしまった。4個も。ついでに2個 300円の F02607H0 までも。

さて、どうすんだこれ。FOSTEX の エンクロージャー P800-E と組み合わせれば良いとのことだが、当然余る。実験用だとしても裸で使うのは抵抗あるし、せっかくだから、適当なエンクロージャーを作ってみたい。

最初は、バスレフで良いかと思って、ホムセンで板材を見てきた。6mm 厚 5cm幅(10cm幅) 910mm のやつが良さそうだ。側板は別途ということにして、10cm 幅だと 20cm x 30cm ぐらいの箱が作れる。6L ぐらいだから十分。ダクトは、百均の掃除機ダクトで良いだろう。側板用の板材も百均でいいや。まな板つかっても良いし。板材だけはホムセンのやつを使う。自分で切り出したりしたら精度が出せずに困ったことになりそう。

それでも良かったのだが、いろいろ調べていくうちにバックロードホーン型がいいなと思うようになった。オーディオテクニカの 「AT-SP30BLH」なんて製品や、箱根寄木細工バックロードホーン組立キット「HC-BR100」 なんてのを見つけて、小さくても良いのか。。と思ってしまった。

とは言え、お金をかける気はあんまりない。性能? とかもあまり気にしない。それらしいものになって、自己満足できれば良い。

 お題:6mm 厚 5cm幅(10cm幅) 910mm の板材と適当な側板を使って作ること。

この条件で検討することに。

というわけで、こんな感じのやつってのを eagle で描いてみた。1目盛り 20mm として、線の合計は 701 mm --- いけそうだ。デザインはできるだけ直角を使う方針で。ちなみにラフスケッチであり、計算とかはしていない。配置とか正確に計算して調整したいけども。右は左で描いたものを回転させた。角度は -10.224 度。この値も計算したわけじゃなくて、最初に引いた線の角度。たぶん右の置き方にするので、側板は 160mm 幅あればよい。

作り方は、あまり検討していないが、少なくとも実物大の型紙を印刷できるようにするつもり。あと、接着剤は、セメダイン コンクリメントが良さそうな気がしている。



板材の寸法を決めて、再度配置したものが完成。板材は、切りしろなしで 858mm となった。スピーカーを取り付ける板のディメンジョンも併せて作成し、原寸大の pdf を作成! これを型紙としてコンビニプリントで普通紙印刷する。

型紙をダンボールに張って、組むのもありかな・・という気もしてきた。練習してみたほうが良いかも知れない。

実際にやってみた(1)。液状のヤマトのりをダンボールに塗って貼ってみたところ。水分が多いのでシワができた。--- 失敗かも。スティックのりでないとダメか。

実際にやってみた(2)。ダイソーで強力タイプのスティックのりを購入。型紙のほうに塗ってダンボールに貼ってみたところ、なんか良い感じ。



こんなものが出来上がった。側板とガイド?を張り合わせたもの。あるいは溝を掘った側板というべきか。ダンボールはサクサク切れるので、楽にしかも精度よくできた気がする。
さて、これを組んでしまうのは、もったいない。実機を作る際の冶具になりそうなのだ。難を言えば、組む際に接着剤が付いてしまうと大変マズそう。

実際にやってみた(3)。

冶具を別に作ることに。ダイソーに PP シートが売ってたので 1mm 厚を選択。透明が良かったのだが、色付きしかなかった。ポリプロピレンなら、ほとんどの接着剤は付かない。ただ精度よくつくれるかどうか。ダンボールは柔らかいからぴったりでなくてもどうにかなる。PP シートは、カッターで切り出した後、修正しないと。どうなることやら。



この写真は修整後。2枚別々に切り出したのだが、かなりのずれがあった。しょうがないので2枚を貼り合わせて同じになるように修正。一応 6mmの板はスリットに入る。--- ちょっと修正は難しいというか面倒だった。スリットに入ると書いたが、歪めないとギリギリ入らないような感じ。

苦労したし、この型紙中心で行く。板も現物合わせ優先。



完成! 貼り合わせた状態で穴をあけ、分離した後スペーサで2枚を接続。これを中心に組み上げていく予定。



またもテスト。ダイソー カラーボードでやってみた。5mm 厚で薄い板にも関わらず、冶具を外すのが面倒だった。理由は接着剤の盛り --- 干渉しないように、接着部分が型紙にあたるところを切っておこう。後、組んでからの側板切り出しは、うまくいかない気がしてきた。やはり切り出すのが先か。

側板の選択



ホムセン行ってみたが、どうもしっくり来るものがない。板厚が 13mm とか厚いうえに値段が高い。15cm 幅の板ならいろいろあるのだが、16cm は面倒なことに。結局、百均のまないたで決定 -- スピーカ用としては適切ではないかも知れないが、工作が楽そう。この上に組み付けて、最後に切り出す。余った部分はスピーカーが付くフロントパネルにも使う予定。厚みがあるので設計図とは若干形が変わる。

    ちなみに上の写真は ミーツのものだが、ダイソーにも同一形状のものがある。

    そういえば、ホムセンにフローティング用の板があった。30cm 幅 180cm で 1000円前後。表面がすばらしいし、使いたい気がしたのだが、なんか合わない気がして今回はパス。メモだけしておこう。なんか安いような気がしたが、一帖 3000円 か。8 帖だと 24000円 --- やっぱ安いか。


ところで、このデザインだと 実にもったいない感じでまな板が余る。 F02607H0用まで同じデザインにすると 8枚まな板が必要で同じ形の端材が大量にでることに。それでは、あんまりなので、F02607H0用は、余った部分で作ることにする。
 お題:まな板の残りと 30cm x 20cm 6mm厚 MDF , 10cm幅の板の残りを使って スピーカBOXを作る。
これで検討してみる。

木材の反り

さて、実機を組みだしたのだが、木が反っている。側板用のまな板が1枚。内側に使う 10c幅の木の端も。
困ってしまったのだが、かたく絞った濡れタオルを乗せておくと直るらしい。水分で膨張するので曲がった内側に乗せる。2枚あるなら、()←こうなるように挟む。

やってみたところ、6mm 厚の板は、数時間で反対側に反るほど効果があった。まな板もおおむね OK 。

アンプについて



とりあえず bluetooth スピーカーにしたい。それで、左のタイプを入手した。だが、どうもスピーカーケーブルが長い場合 LP フィルタが必要らしい。最初から右のタイプを買えばよかった。とはいうものの 普通の 10uH インダクタ使ってるみたいだし、手持ちがある。コンデンサを 0.1 uF にするとカットオフ 160kHz 。アンテナになるのを防ぐだけだから、これでも良いのかも知れない。あとは、電解コンデンサが目立つ。左のタイプで良かったのだろうか? ちょっと不安。まぁでも、最終的には ESP32 で作りたいしダメでも無問題。
posted by すz at 18:51| Comment(0) | TrackBack(0) | 日記

2017年05月14日

ESP32 でやってみたいこと

ESP32 でやってみたいことの覚書

1) bootloader - 起動の仕組みの理解 あるいは改造

ESP32 は、OTA -- Wifi からのプログラム書き換えができるらしいのだ。作ったボードは USB シリアルがないし、これを常用したいのだが、どういう仕組みなのか? 理解してないとなにもできない。

ちょっと調べただけだが、まず次のところに解説があった。
 ・ESP32 (4) – Flash, bootloader and FreeRTOS

ざっと説明すると、ROM 内の 1st stage ブートローダーが SPI FLASH から 2nd stage ブートローダーを読み込み実行する。2nd stage ブートローダー は、 factory app もしくは 2種類の OTA app から選択したものを読み込み起動する。OTA app が 2種類あるのは、書き込みが失敗したときの対策ができるということだろう。

2nd stage ブートローダー 0x1000
パーティションテーブル 0x8000
 nvs 0x9000 24k
 phy_init 0xf000 4k
factory app 0x10000 1M

基本はこんな配置らしいのだが、パーティション自体は別。app と data の2個のパーティションがあるらしい。

で、さらに調べると 2nd stage ブートローダー のソースコードが公開されていることが分かった。
 ・https://github.com/espressif/esp-idf/tree/master/components/bootloader/src/main

ソースコードがあるのなら、自分が使いやすいと思うブートローダーを作ることも可能だ。例えば、OTA で書き込んでそれを起動するようなものも作れそうだ。そこまでしなくとも、起動する app の 選択ロジックがどうなってるか調べるのにも役にたちそうだ。

    いきなり訂正。

    PART_TYPE_APP PART_SUBTYPE_FACTORY: factory app

    ということ。OTA も PART_SUBTYPE_OTA_FLAG/PART_SUBTYPE_OTA_MASK で 2 種類が認識される。

さて、

dram_seg (RW) : org = 0x3FFF0000, len = 0x10000
iram_pool_1_seg (RWX) : org = 0x40078000, len = 0x8000
iram_seg (RWX) : org = 0x40080000, len = 0x400

メモリ上は、このあたりを使うらしい。といっても、そもそもどこが RAM なのか知らなかった。

512KB の SRAM は、3つのユニットに分かれている。

dbus ibus
SRAM 0 192KB 0x4007_8000 ~ 0x4007_FFFF
SRAM 1 128KB 0x3FFE_0000 ~ 0x3FFF_FFFF 0x400A_0000 ~ 0x400B_FFFF reverse order (word-wise)
SRAM 2 200KB 0x3FFA_E000 ~ 0x3FFD_FFFF

なんだか複雑でよく分からない。慣れが必要そうだ。

さて、OTA だが、実際にどう使うのか?
 ・http://ht-deko.com/arduino/esp-wroom-32.html
ここに説明と具体例があった。

要するにライブラリはあるが、app から 呼び出してやらないといけない。動かないコードを作ってしまうと、USB シリアル使っていちからやりなおし。ブートローダーに OTA 書き込み機能を付けるか、2 つ目の OTA app を OTA 書き込み専用にするか。まぁ普通に考えるとリカバリ用を作るのが妥当なのだろう。

ちなみに ホスト側のアプリは用意する必要はなく、Arduino IDE から書き込めるようになっているらしい。そうであれば、環境さえ整えれば、USB シリアルレスで いけそうだ。




さて、実際になにをしたいか?

1) IP カメラ
まぁ取り立てて必要というわけではないが、車のバックカメラなんかは、あると良いかも知れない。

 ・https://github.com/igrr/esp32-cam-demo/blob/master/components/camera/ov7725.c

このサンプルコードを見ながら、いろいろやってみたいとは思う。

 ・Orange pi 用カメラ

ov7725 は fifo なしのを使う。だが割と高い。どうせなら、より高機能な ov2640 を使ったほうが良いかもしれない。幸いなことに Orange pi 用が割と安い --- 送料込み $8.28 (OPi を買うついでに set にしておくと $5 分ぐらい)。 実験用なら、やっすい ov7670 が良いかも知れない。ov7670 にもいろいろあって、24-pin フレキのタイプもある。互換性があるなら、ov2640 と入れ替えてテストするとかできるかも。

さて、aliexpress のカメラモジュールを見ているといろいろなタイプがある。ONVIF 対応の IP カメラが $10 ほどで買えたりする。さすがに、こういうのに対抗するのは難しいような。シリアルインターフェイスの jpeg 30fps のものもある。プロトコルは、vimicro VC0706 プロトコルというもの。先人が これを ESP8266 で IP camera にするようなことをしている。互換性があるものを作れたら良いのかも知れない。

    データシートを見ていたら、ov2640 は圧縮エンジンが付いている。JPEG stream がいけるとなると、ONVIF 対応も可能? やはりこちらが本命か。

    ov7670 の ピンアサイン は、aitendo のモジュールのデータシートに記載されているものが一般的なようだ。HDR というシルクがある ov7725 も同じ。そして、Orange pi カメラもおそらく同じ。ただし、電源回りは少し違うようだ。ov7670/ov7725 は、内蔵レギュレータがあり、レジスタの設定で ON/OFF できる。ov2640 もあるのだが物理的に配線が必要で、ON/OFF がレジスタではできない。もし配線されてなければ、core に 1.2v を供給しないといけない。
    1 NC
    2 NC
    3 D2
    4 D1
    5 D3
    6 D0
    7 D4
    8 PCLK
    9 D5
    10 GND
    11 D6
    12 MCLK
    13 D7
    14 VCC (2.8v)
    15 VCORE (1.8v - ov7670/ov7725, 1.2v - ov2640)
    16 HSYNC
    17 STBY_EN (PWDN)
    18 VSYNC
    19 RESET#
    20 SCK
    21 AVCC (2.8v)
    22 SDA
    23 AGND
    24 NC

ところで、これらカメラモジュールは 38mm 角のものが多い。なにか規格があるのだろうか? カメラ専用基板とか作りたくなっているので気になる。

2) bluetooth スピーカー あるいはイヤホン

bluetooth のデバイス作れるのだから当然やってみたい。このあたりは先人が既に作っているから、楽だろう。慣れるために手を付けたいわけなので、外部 DAC じゃなくて、内蔵 DAC もしくは、1bit シグマデルタでやりたい。シグマデルタは GPIO を叩くライブラリがあったはず。RMT を使ったものはまだないかも知れない。

 ・事:ESP32でBluetoothイヤホンを作ってみた – Qiita
 ・ESP32でI2S+DACを使う – Qiita

 ・https://github.com/espressif/esp-idf/tree/master/examples/bluetooth
このあたり。

3) bluetooth キーボード

キーボードというか HID デバイスを作りたい。自由に作れるようになれば、かなり応用が広がる。ゲームコントローラに仕込んで、なにか遠隔操作するとか。あるいは、Android を遠隔操作するものとか -- 赤外線ハンドルリモコンのブリッジとか。

 HOGP -- HID over GATT Profile を使うらしいのだが、あまり情報がない。誰かの実装まち。

4) その他 bluetooth デバイス

 bluetooth デバイス はまだまだある。USB シリアルの代替につかえる bluetooth シリアル とか。

5) lowspeed USB HOST/device

ESP8266 でも ソフトUSB ができるそうだが、ESP32 でもたぶんできるのだろう。そのためには、CPU を1つ占有してブン回さないと。

 ・https://techtutorialsx.com/2017/05/09/esp32-running-code-on-a-specific-core/

とりあえず、コア指定でタスクを動かす方法。これが出来たうえで、同一バンクへのメモリアクセスが競合しないようにする。そこまでできれば、ESP8266 と同じ条件になるはず。あるいは、RMT を使うとか。



基板づくりメモ

先日はじめて ELECROW を使ってみた。使ったのは、special offer というので、10cm x10cm 10枚が、$9.5 +送料 $3.3 =$12.8 で作れた。(今は送料$4.8 計$14.3) 。AIR MAIL でも 2週間かからなかったし、シルクの品質にも満足。さらに今は、5 枚までなら、カラー基板がさらに安くなっている。

 https://www.elecrow.com/5pcs-2-layer-pcb.html

$4.9 が基本価格で、送料は 5cm x5cm $3.72 , 5cm x10cm $4.98, 10cm x10cm $6.42 。

milling を使った疑似パネライズが OK らしいので、便利に使えそう。
posted by すz at 21:49| Comment(0) | TrackBack(0) | ESP32