• 車種別
  • パーツ
  • 整備手帳
  • ブログ
  • みんカラ+

ToshiTechのブログ一覧

2023年01月28日 イイね!

DAISOクリップマイクをPC用に改造

DAISOクリップマイクをPC用に改造
スピーカーの特性を計測するためにダイソーのクリップマイクを使用しました。このマイクはスマホ用の4極プラグなので、そのままPCに接続しても音を拾うことはできません。そこで3極プラグに改造を行いました。
alt

3極のプラグはイヤフォン延長コードをカットして使いました。捨ててもいいイヤフォンがあればその方が安上がりですね。やってはないのでわかりませんが2極のプラグでも行けるんじゃないかと思います。
alt

ケーブルの外皮を剥くと、細い線が出てきます。これはポリウレタン被覆のリッツ線です。ごて先に半田を溶かして球を作り、その中に線の先端を突っ込んで少しすると被覆が溶けるいい匂いがして同時に半田メッキが完了します。
alt

細めの熱収縮チューブをあらかじめ通してから半田付けし、熱収縮チューブをヒートガンで縮めます。(半田ごての熱をまんべんなくあてて縮めるという手もありますが、、、)
alt

全体をさらに太めの熱収縮チューブで保護したら完成です。(熱収縮チューブをあらかじめ通しておくことをお忘れなく。私はたまにやっちゃいます)
alt

Posted at 2023/01/28 15:57:02 | コメント(0) | トラックバック(0) | オーディオ | 日記
2023年01月27日 イイね!

続DAISOユニットでTV用筒型無指向性スピーカーを作る

続DAISOユニットでTV用筒型無指向性スピーカーを作る
前回作成したスピーカーですが、低域でエコーがかるのが気になります。スピーカーのf特は言ってみれば静特性なので、音がオンオフ変化した時の動特性は実際にはどうなっているのか調べ、それを元に改修を行いました。
なおここでは前回製作した初号機を1X、今回改修した2号機を2Xと略しています。

改めて1Xのバスレフポートからの出力のf特を低い周波数のみプロットしたのが次の図です。前回使ったマイクはノイジーだったので今回マイクはダイソーのクリップマイクに変更しました。1Xのバスレフ共鳴周波数Fdは実際には94Hzであったことがわかりました。
alt
次にWaveGeneでバースト波を出した時にバスレフポートからはどのような音が出ているのかを見てみました。バスレフ共鳴周波数Fdでのバースト波では次のように0.1sほど残響することがわかりました。
alt
次にオクターブ低い音と高い音を出してみると、、、これは意外だったのですが、音が出ている期間にバスレフ共鳴周波数Fdの音が混ざり、音が止んだ後もバスレフ共鳴周波数Fdの音で残響することがわかりました。違う周波数で鳴らしているのに!
alt

alt

考えてみると共鳴を利用したスピーカーシステムってオカリナのボディにスピーカーを付けたようなものなので、空気が動いた時にひたすら本来の共鳴音を出したがるってことなんですね。それにしても1Xは共振のQが高すぎた(振動のお釣りが多すぎた)ようです。

●1X→2Xへ改良
そこでそれを含めて2Xでは以下の改良を行うことにしました。
alt

上の図のようにバスレフは空気バネの振動なので、バネダンパーモデルで考えると減衰振動を短時間で終わらせるためには、重さを軽くするか、バネを強くするか、ダンパーの粘性抵抗を上げればいいわけです。バスレフの場合の重さは大部分ダクト内の空気の重さという事になります。バネとダンパーはダクト径と長さが関係してくるはずです。ダンパーはそれ以外にも音響的な抵抗を入れることが考えられます。そこで色々実験を行いました。
alt

alt


結論としてバスレフとダクト後方に音響抵抗として薄い不織布を貼り付けるという事にしました。
バスレフ共鳴周波数を下げるためにはダクトを延長すればいいのですが、スピーカーを前方から取り付けるためのバッフルは先に3Dプリンターで作成してあって、印刷し直すのも面倒なのでバスレフダクトを延長する部品を作って取り付けることにしました。不織布が外れないように押さえ用のキャップも付けました。結果としてダクトはφ22x52mmとなりました。
alt

1Xではバスレフポート出口にテーパーを入れましたが2Xではやめました。ガスケットはTPU素材で印刷し、またアンプケースも作成しました。内部の吸音材は1Xのままです。
alt

アンプケースも黒くなったので斜めから見ても暫定感がなくなったかと思います。
alt

●1X→2X性能比較
バスレフポートからの残響音の減衰時間がどのくらい短くなったかを比較してみました。上が1X、下が2Xです。残響時間が約半分になりました。
alt

alt

alt

●2X f特
2Xでスピーカーとバスレフポートそれぞれどんな音が出ているかを見てみました。上がスピーカーから1cm、下がバスレフポートから1cmの音です。
alt

それではスピーカー全体としてはどのような音が出るのか?を、マイクを2本使って加算してみました。スピーカーとバスレフで位相がずれると打ち消されてレベルが下がることになります。ここではそれぞれ直近で拾った音で電気的に加算しています。無響室じゃないのでスピーカーの素性としては離れたところにマイクを置くより正しいかなと。
alt

1Xと2Xで比較しました。こちらは縦軸dBのグラフになります。1Xではバスレフ共鳴周波数で6dBほど持ち上がっていますが2Xではほぼフラットになってます。
alt

●音は?
・男性アナの声もボンづかずに聞こえるようになりました。(実際には残響しているんでしょうが違和感はないです。)
・下は60Hzまでは音として聞くことができました。(80Hzあたりから比べるとレベルが10dBくらいは落ちてはいるわけですが。)
・スピーカーを前面取り付けにした効果は、、、よくわかりませんでした(^_^;

Posted at 2023/01/27 21:37:12 | コメント(0) | トラックバック(0) | オーディオ | 日記
2022年12月22日 イイね!

DAISOユニットでTV用筒型無指向性スピーカーを作る

DAISOユニットでTV用筒型無指向性スピーカーを作る
今の薄型TVは外枠(ベゼル)の幅が狭いので、スピーカーからの音の出口はTV下部と背面にあります。よってTVの正面では下から回り込んだ音と後ろの壁に反射した音を聞くことになります(メーカーのうたい文句では「音に包まれる」とか言うのでしょうが)。ちなみに、我が家のTVの背面は襖一枚隔てて隣の部屋なのですが、そちらで聞いた音の方が明瞭だったりします。またTVがオンだと家のどの部屋からも聞こえます。
これではうるさいのでTVの手前に小型スピーカーを置いていたのですが、その場合ソファーでちょうどいい音量だと他の場所では聞き耳を立てる必要があるという問題がありました。
そこで調べてみると円筒型エンクロージャーの無指向性スピーカーだと部屋のどこにいても聞きやすらしいという事がわかりました。壁による反射音を聞くという点ではTV本体のスピーカーと同じですが、TV背面側の壁の反射を積極的に使わないならいいかもしれません。
そこで2年ほど前に、ダイソーの300円スピーカーが話題になっていたのを知って何セットか購入して遊んだものの結局使わなかった在庫があるので、これを使って筒型の無指向性スピーカーを作ってみることにしました。
ダイソースピーカーに関してはこちらのHMcircuitさんのサイトが大変参考になりました。感謝です。
「ダイソー300円USBミニスピーカーで遊ぶ」

●波動スピーカーについて調べてみた
さて、円筒型のスピーカーに関しては10年以上前に発売されたエムズシステムの波動スピーカーという商品が有名のようです。(何やら商品名がオカルトっぽいですが、、、)
エムズシステムで特許を検索すると3件しかなくて、そのうちH18年12月27日に出願された特開2008-167045がそれのようです。ちなみに審査請求されていないので権利化はされていません。同社のHPの写真を見る限り、その中の実施例2が現在製品化されているものに相当すると思われます。
alt

構造としては円筒型の外筒の中に内筒があるダブルバスレフ構造になってます。スピーカーユニットの後端が心棒で内部エンクロージャーの内側のインナーパネルに接続されているのと、内部エンクロージャーの後端が緩衝材でセンターパネルに接続されているのが特徴的ですが、その部分は特許の請求項になっていないので説明がなく、これがどのような効果があるのかはわかりません。またバスレフで低音が強調される理屈を含めて技術的な説明がとっても怪しい感じです。
(ちなみに発明者の名称で検索すると、同姓同名の可能性はありますが街の個人発明家の方ではなかろうかと想像できます。というのもこの方「再生音に波動効果が得られる録音媒体の製造方法」という特許も出されていたりします。製品のネーミングに関してはこの方の意向が反映されているのかな?と。)
その他調べた情報として、
・エンクロージャーは紙でできている
・スピーカーユニットはFostexのFE103。これ以外のユニットを使った製品もあるがそちらの音は全然良くないという口コミあり。
ということで、私としては筒型であることに何か秘密があるかもしれないと考え、紙筒で単なるバスレフスピーカーを作ってみる方針を立てました。というのも曲面振動版を使ったサウンドファンのミライスピーカーという商品があり、曲面から音を出すと遠方まで届くという事実もあるようなので。
「曲面サウンドとは」
「ミライスピーカーの原理実験のやり方」
ちなみにこちらの製品の特許は特開2021-48429になります。
紙筒の表面から音がどの程度出るかはわかりませんが、まあやってみようかなと。

●ところでバスレフの原理って?
昔FE103でバスレフの箱を作ったことがあるのですが、バスレフダクトの出力ってスピーカーの後ろ側の音なのだから逆位相になって正面の音を打ち消すのではないかなぁ?と漠然と疑問でした。今回改めて調べてみて、こちらのページを発見して目からうろこが落ちました。
「スピーカーの低域再生能力」
・バスレフはヘルムホルツ共鳴を利用していて、共鳴周波数ではバスレフダクト内の空気バネが振動する。よってスピーカーのコーン紙が後ろに動いたタイミングではバネが縮む状態なのでバスレフダクト出口の空気も後ろに動く。よって同位相となる。
・共鳴周波数を外れると逆位相になる。よってスピーカー全体としては共鳴周波数より下の音は打ち消されて急激に減衰する。
という事なんですね。共鳴周波数より上の音はエンクロージャーの構造や内壁の吸音材などで減少させてダクトからなるべく出さないようにしているってことでしょうか。
バスレフって低音まで出るけど低音だけ残響する感じなのはコーン紙の動きが止まっても空気バネの振動が減衰しながら収まるのに時間がかかるからなんですね。納得。

●そもそもスピーカーの横向き配置ってどうなの?
次の図はFE103Enのデーターシートで無響室での測定でしょうが、高い周波数の音は直進性が強いので斜めの位置では音圧が下がりますが、1.5kHz以下では斜めでも音圧が変化しない、すなわち前面バッフルの面積が小さければスピーカーを点音源として周囲に広がる(無指向性である)ことがわかります。人の声の周波数は女性でも上は1kHz程度らしいのと、実際の壁に囲まれた部屋では反射波があるので高域もここまでは下がらないはずなので今回の目的には問題ないことがわかります。実際車の運転席側のドアスピーカーは足の脛当たりを向いてますが高音が不足すると感じたことはありませんしね。
alt

●製作
紙の筒について調べてみるとボイド管というものがあり、これでエンクロージャーを作られている方が多いことがわかりました。早速近所のホームセンターに行ってみたのですが、長さ2mの物しか置いてありません。これを持って帰って部屋に運び入れてカット作業をするのはさすがに無理と判断しamazonで内径100mm長さ1mの紙筒を購入しました。
alt
これはボイド管ではなく厚さ2mmの紙の筒です。かなり丈夫な物ですがボイド管は厚さ3mmあるようです。
ここから片ch25cmのエンクロージャーを2本切り出します。紙だからカッターで行けるかと思いましたが途中から歯が立たなくなりました。逃げがないので刃が挟まってしまうんですね。物は試しと超音波カッターを使ってみたらスルスル切ることができました。どうやら熱可塑性の樹脂で固めてあるようで、これならホットナイフでも行けるかもしれません。
フロントとリアのバッフルは3Dプリンターで製作しました。バスレフポートは内径22mmで長さ30mmとしています。22mmというのは以前ペットボトルで遊んだ時のポートのサイズの踏襲であまり意味はありません。普段のTV視聴に重低音は不要なのでバスレフ共鳴周波数を100Hz程度になるように計算して最初は長さを50mmにしたのですが、これだと実際には90Hz弱となってしまったので短く作り直しました。スピーカーは裏側から止めたほうが密着できるようです。スピーカーとバスレフ出口の穴には若干のテーパーを付けています。

●共鳴特性
手元にPC用のピンマイクがあったので、これを使いバスレフポートからどのような音が出てくるのかを測定しました。測定はバッフル板表面から1cmのバスレフポート出口で行いました。一応スピーカーの音がなるべく直接入らないようにスチロール版で仕切りを入れています。マイクでは計測用ではないし測定環境としてはプアですが相対比較はできます。
alt
HMcircuitさんのサイトを参考にアンプの入力コンデンサに4.7μFを追加して下の周波数まで出せるように改造し、WindowsのフリーウェアのWaveGeneで20~20kHzのスイープを行いWaveSpectraでピークを取得しました。結果は次の図です。上のグラフが縦軸リニア、下が縦軸dBです。キャリブレーションしていないので縦軸の絶対値は無視して相対値のみ見てください。
あとdB軸だとレベルの大きい信号は圧縮されレベルの低いノイズ的な信号が拡大されて直感的に見づらいので、今後はリニア軸主体のグラフを主体に提示していきます。
alt
バスレフのヘルムホルツ共鳴は100Hz程度なのはいいとして、それ以外に700Hz付近や1.4kHz、2kHzそれ以降にも櫛型にピークが見受けられます。これは何だろうと首をひねりましたが、リアバッフルを外してみるとピークの周波数が変わることからどうやら気柱共鳴であることがわかりました。
両端を閉じた管では1/2λで基本波が共鳴するので240mmの管で708Hzとなり実測と合います。管は250mmですが、スピーカーユニットなどがあるので平均すると240mm程度なのだと思います。
これ以外にも2kHzの共鳴は管の100mmの直径方向で起きているような気もしますがレベルが大きいのはやはり700Hzとそのn倍音です。望まない周波数の音が大きく出るのは好ましくないので、ヘルムホルツ共鳴をなるべく下げずに気柱共鳴だけを下げる必要があります。

●気柱共鳴をへらしたい
最初に、前後のバッフル版の間で音が行ったり来たりするのだからとバッフル版にフェルトを貼ってみましたが全く効果なしでした。考えてみると壁の部分は振幅の節で圧力変化がないので吸音材は無意味ですね。
音の反射を横に散らせないかとリアバッフル部分に円錐形のコーンを追加してみましたが、平均的な管の長さで共鳴しf特がブロードになっただけでした。
内部の全体に綿(濾過ウール)を入れると確かに気柱共鳴は減少しますがヘルムホルツ共鳴も減少してしまいます。
基本振幅の腹である管の長さの1/2の部分にスポンジを入れると700Hzだけは減少しますがそれ以外ではあまり効果が見られません。まあ当然ですが物理の実験みたいで面白いですね。
結局、振幅の腹の部分を吸音材に当てるためには管の内壁に一様に吸音材を貼るのがよさそうと分かりました。内部の空間を占拠しないようなるべく薄くて効果の大きい吸音材とは何か?という事で、100均で使えそうなものを色々調達して実験を行いました。
alt
alt
結果としてセリアのふわふわマットを選択しました。セリアの長毛ボアマットの方が減衰するのですがヘルムホルツ共鳴のレベルも下がってしまいます。このマットは裏に弱い粘着剤が付いているので、240mm×306mmにカットして内部に入れるとぴったりと壁面にくっついてくれて接着剤不要で扱いやすいというのもあります。
alt

alt
●組み立て
2枚のリアバッフルを背中合わせに接着剤とM3ビスで張り合わせ、紙筒を差し込んでテープで止め、表面にはカーボン調シートを貼ってからフロントバッフルを接着しました。
カーボン調シートはこちら。今回の中で一番高いパーツですね。
ネット情報ではダイソーでレザー調シートがあるはずなんですがうちの近所の店舗には置いてありませんでした。

●そもそものスピーカーのf特がNG
バスレフポート側ではなくスピーカー本体からはどのような音が出るのかを同じように計測しました。
alt
1kHzくらいから徐々に上がり始め8kHzでドッカーンと持ち上がっています。1kHzを基準にすると電圧では4倍近く、dBでいえば+12dBくらいになります。また16kHzの山は8kHzを出しているときの2次高調波によるものです。
耳がキンキンする音はこれが原因ですね。手元に3セットあるスピーカーどれも同じ特性でした。先のFE103の特性では可聴域で±5dBくらいの範囲に収まっています。8kHzの山を下げるためアンプ側にローパスフィルタを入れることにします。

●アンプの改造
alt
まず入力部に追加したコンデンサですが、しょせん100Hz狙いなので1μFに変更します。これでもカットオフは23Hzなので十分です。
キンキン音を押さえるため帰還抵抗とパラでコンデンサを入れますが差し替えができるようにピンソケットを取り付けました。今はとりあえず0.0022μFを付けていてこの時の実測の特性は次のようになっています。これでまだキンキン音が気になるようなら0.001μFを並列に追加しようかと思っていたのですが、今のところこれで行けそうです。
alt
それと入力のコンデンサの容量をアップすると、起動時の「ボコン」音が増えます。これは入力のコンデンサが1/2VCCに充電されるまでの期間は負の過大入力が入るのと同じことになるためで、実際スピーカーのコーンを見ていると後ろに思いきり引っ張られるのがわかります。これはスピーカーとICにとってダメージとなる可能性が大です。
ICのデーターシート(中国語ですが)によると、
ICの2ピンのコンデンサがポップノイズ防止回路用で、この端子が1/2VCCに達するまでの期間は出力を遮断するようです。そこで1μFを追加することにします。2.2μFを推奨と書いてあるようですが手持ちがなかったので、、、。これで通電時のコーンの動きはなくなりました。
汚いですが写真を載せときます。ケースに収めるために電解コンデンサをいったん外して基板のパターン側に付けています。以前遊んでいるうちに帰還抵抗の22kΩのパターンがはがれてしまったので固定抵抗を付けています。ピンソケットはホットボンドで固定しています。基板はダイソーのPPケースにやはりホットボンドで固定しています。
alt
コンデンサは手持ちの関係で積層セラミックです。オーディオの世界ではフィルムコンデンサ以外は邪道なんでしょうが私はマニアじゃないので気にしません。

●接続
アンプとスピーカーの接続にはamazonで以前購入してしまった中華なギボシ端子を使いました。
alt
端子もスリーブも肉厚が薄くてペラペラです。スリーブのサイズもエーモン製と比べて一回り小さいこともあり、実車では使わないのが賢明です。今回のようなちょっとした遊びの工作で使いきるしかないかな、といったところです。

●外観
こんな感じでできました。足も3Dプリンターで作成。底にクッションゴムと上面にゴムシートを張って本体は乗せてるだけです。
alt
裏は見ないで~という感じ、、、
alt
TVの前に置くとこんな感じ。ソファーで後ろに寄りかかっても画面の邪魔にはならない高さです。
alt
でもちょっと上からだと情けないところが見えちゃいます、、、
alt
●音は?
・当たり前かもですが、正面からよりも横に立った方が音が少し大きく聞こえます。という事は正面でちょうどいい音量にすることで部屋の壁や窓へ音がそれ以上に回ることになり、離れた場所でも聞き取りやすくはなりました。よって目的は成就したかな。
・本家の波動スピーカーのうたい文句ではどこから音が出ているかわからないそうですが、これは右のスピーカーからの音は右のスピーカーの位置から聞こえます。昔のラジカセでサラウンドをオンにするとスピーカーよりも少し外側から聞こえましたがそのような効果はないですね。そもそも音の広がり感ってどういうことを言っているのか私には理解できてませんけど。
・筒を触ると音の振動は感じますが、ここから音が出ているかどうかは聞き取れません。じゃあ小型スピーカーを外向きに(背中合わせに)配置するのと同じじゃないか、とも思いますが、一応見た目がインテリアっぽくできたのでこのまま使うことにします。もっと薄い材料(PETボトルとか)で筒を作れば違ったかもしれないですが。
・バスレフ周波数を100Hzとしたのが高すぎたのか共鳴が強すぎるのかわかりませんが、男性の話し声にはたまに共鳴周波数が含まれるようで低音だけ時々エコーがかるのが気になります。音声主体なら密閉型の方が良かったのかもしれません。

Posted at 2022/12/22 13:05:43 | コメント(0) | トラックバック(0) | オーディオ | 日記
2022年08月13日 イイね!

ローコスト自律航法ユニットの開発

ローコスト自律航法ユニットの開発
★その前に
・現在(2022年8月時点)のいくつかのナビアプリはGPS信号をロストした時の車速が継続しているものとして経路案内中の自車位置が更新されるようになっています(実車確認はGoogle、机上確認はYahoo, moviLink)。よってトンネル内で渋滞したり分岐を間違えたりしなければ何事もなく経路案内は継続されるので、中華ナビでの自律航法へのニーズは以前ほど高くはないものと思われます。

●イントロダクション
・4年ほど前に車を買い替えた際、カーナビとしてAndroidヘッドユニット(中華ナビ)を選択しました。
・Androidヘッドユニットは安価で地図の更新料もかからず気に入ったのですが、国産ナビでは普通に備わっている車速パルスの取り込み機能を持っておらず、当時のナビアプリ(Googleマップナビ)はGPSからのリアルタイムな情報だけで自車位置を決定していたため、ナビゲーション中にトンネルに入ると自車位置が変化しないという点に違和感を覚えました。
・そこで自律航法ユニットを外付けしようと検索したところFURUNOのPT-G1がヒットしたのですが、価格がナビ本体よりも高価なことがわかったので購入することはあっさりとあきらめ、自作でどこまでの性能が出せるかにトライすることにしました。
・考え方としては、GPS正常受信時にGPSデータで安価なジャイロを校正して、GPSロスト時に自律航法に切り替えるというものです。
・自律航法の手法を検索すると行列式やカルマンフィルタが出てきますが、私の頭では理解不能だったので高校の物理と数学レベルで組んでいます。専門家が見たら噴飯ものだとは思いますが、これはそんなレベルでもここまではできたよ、という記録でもあります。

・今回当初設定した目標性能が達成できたので備忘録として資料をまとめました。開発時にネットからいろいろ情報を得たことへの感謝を込めて、素人なりに今まで積み上げてきた成果として公開することにしました。内容は以下の通りです。技術に興味のある方への参考になればうれしく思います。
①自律航法ユニット本体の開発時のメモ&ハードウェア&ソフトウェア
②開発の手法とツール
③Android側の受信アプリ&ログ表示アプリのソースと実行形式

これら一式をGitHubにアップしました↓
https://github.com/Toshi2020/Low-cost-INS-unit-development-project
上記URLにあるpdfファイルにプロジェクトのすべてを記述してあります。

●性能目標
・首都高都心環状線C1の北の丸から3号線への地下トンネルでナビのマップマッチングが外れない精度を有すること、としました。昔バイクで間違って4号線に分岐してしまった苦い思い出があるので。
(山手トンネルから大橋ジャンクションなど長い距離は無理と思われるので実力把握程度とします)

●結果
目標をクリアできたので今回のプロジェクトは終了としました。
alt

●実力把握
https://www.furuno.com/jp/products/gnss-module/PT-G1
FURUNOのPT-G1のページ↑にあるコース。ナビのマップマッチングは外れませんでしたが、私の手法ではFURUNOほど直線にはなりません。FURUNOがマップマッチングなしで実現しているなんてすごい。
alt

山手トンネルから大橋ジャンクション。予想通りダメでした。
alt


映画館の地下駐車場を1周して地上に一度出て、その後ショッピングモールの地下駐車場を1周。まずまずの位置精度かと思いますが、元々ナビを行う場所ではないのでありがたみは微妙です。
alt

●主要部品
 ①GPSレシーバー BN-880 AliExpress 1,600円
 ②Arduinoマイコン NANO AliExpress 400円
 ③6軸慣性センサ MPU-6050 AliExpress 150円  (型番GY-521)
 ④I2Cレベルコンバータ AliExpress 50円
 ⑤Bluetoothシリアル HC-06 AliExpress 250円(技適がないので動作確認のみ)
 ⑥ケース パーツ入れ DAISO 単価20円
 その他合わせるとトータルで3,000円ほど(2020年時点での参考価格)

●システム構成
基本的にはArduino NANOに車体側の各種信号を取り込む回路とYawGセンサーを付けた物です。
alt

●外観
alt

●Android側アプリ
ユニットから受信して位置偽装するアプリも望む物がなかったので作りました。これでログもできます。同時に画面の動画もキャプチャできるようにしてみました。動画は音声なしで約3倍速で再生されます。
alt

ログ表示アプリも作りました。それを使って表示したのが先ほどの画面になります。

●独白
改めてプロジェクトを振り返ってみると4年もかけるといろんなことができるんだなぁという感じですね。思いついてはトライし行き詰っては放置し、、、を延々繰り返してようやくここまで来ました。たくさん勉強になって楽しかったな。業務じゃないから納期に追われることもないしね(^_^)

Posted at 2022/08/13 13:52:25 | コメント(4) | トラックバック(0) | 中華ナビ | クルマ
2021年12月30日 イイね!

Fusion360用3/3Dマウスの製作(2号機)

Fusion360用3/3Dマウスの製作(2号機)
さて3/3Dマウスの1号機はいい感じで使えてはいるのですが、常時キーボードの前に置いておくのは邪魔くさいし、使うたびに引っ張り出すというのも面倒です。そこでキーボードの脇に張り付けられる小型のタイプを作りました。
・ダイソーの歯ブラシカバーをケースとして利用しています。
・USBケーブルは手持ちの不要品をカットして直接ケースから生やしています。
alt

・ノブとボタンと取り付けプレートは3Dプリンターで作成しました。
・キーボードの端にゲルテープで貼り付けています。この位置とサイズなら使わないときも邪魔になりません。
alt

●使用した部品
・ジョイスティック P-04048 秋月で\150/個
・マイコン ATtiny85 秋月で\170/個
・ツェナーダイオード 3.6V 秋月で\10/本
その他もろもろは手持ち部品ですが、全部購入しても総額\400程度でしょうか。
alt

●回路説明
・今回は完成品のDigisparkではなく、AVRマイコンのATtiny85を単体で使います。生のATtiny85にDigispark用のブートローダーを焼いて、外付けの抵抗3本とツェナーダイオード2本を追加すればDigisparkコンパチ品の出来上がりです。その後はUSB経由でフラッシュを焼くことができるようになります。
・Digisparkには基板上に3端子レギュレータが載っていますが、USBの5Vで使うので不要です。電源ラインのLEDも不要です。PB1のLEDも機能上は不要なのですが動作確認用として一応付けました。今回使ったATtiny85はDIPパッケージですがDigisparkを使うより安くかつ小型化できたと思います。
・今回のジョイスティックにはスイッチはついていないので、別途タクトスイッチを使っています。
alt


●組み立て
・サイズ的に少し無理があったようでツェナーダイオードが空中配線です。LEDをあきらめれば基板上に配置できたと思います。配線はポリウレタンワイヤを使いました。高さを抑えるためIC用ピンソケットは基板に半分埋め込んでいます。ジョイスティックからの入力は反対側に回せなかったのでICに直接半田付けしています。
alt
・ジョイスティックのノブとスイッチボタンは触って分かりやすいようにノブ表面を凸、ボタンを凹にしています。ノブの底面がジョイスティックのツラ面に軽く触るくらいのクリアランスにして、操作時にシャフトが傾かないようにしています。

●ソフトウェア
・ソースは前回アップしたものを//#define _2Xのコメントを外してビルドします。

●使ってみて
・このジョイスティックはヒスが大きくて、例えばX軸なら右に倒してから戻した時と左に倒してから戻した時でA/Dの読み取り値が異なります。キャリブレーションデータとしては2つの値の平均値を中点の値として設定しました。
・また中点に戻した後もマウス出力が0にならないことがあるので不感帯を設定する必要がありました
・これは想像した通りではあるのですがポテンショタイプと比べると細かい調整がしづらいので、マウスの最大移動量を少なめに設定しています。

★以下はブートローダー書き込みに関しての参考情報&備忘録です
●ブートローダーを書き込むためのハード準備
・適当なArduino(私の場合はNANO)を使って書き込み装置(ArduinoISP)を作ります。ネットにあったこの図ではUNOになってますがNANOでOKです。
alt
・配線はブレッドボードでもいいのですが、今後のことも考えて私はこのような物を作ってみました。
alt
・IDEでボードにNANOを選んでスケッチ例のArduinoISPを焼けば書き込み装置の準備はOKです。

●ブートローダー書き込み
・こちらを参考にしました↓
http://nopnop2002.webcrow.jp/ArduinoISP/ATtiny85-micronucleus.html
私の場合はまずブートローダ焼きこみ作業専用に適当なフォルダを作成し、そこにIDEのportableフォルダの下の階層からavrdude.confとavrdude.exeを探してコピー。さらに
https://github.com/micronucleus/micronucleus
から落としたブートローダーt85_default.hexをコピーし、コマンドプロンプトでカレントディレクトリを変更してから、コマンドラインから
avrdude -Cavrdude.conf -v -pattiny85 -cstk500v1 -PCOM9 -b19200 -D -Uflash:w:t85_default.hex:i -U lfuse:w:0xe1:m -U hfuse:w:0xdd:m -U efuse:w:0xfe:m
で焼きました。COM9の9はそれぞれ環境によって変更の必要があります。

●別のブートローダーにトライ
・Digisparkデフォルトのブートローダーは、通電後5秒間はフラッシュ焼きこみスタンバイ用のUSBデバイスとして組み込まれ、その後リムーブされ、その後ようやくHIDとして組み込まれます。この間WindowsがUSBのオン→オフ→オンの音を出して鬱陶しいので、通電直後のフラッシュ用USB組み込みをバイパスするブートローダーに差し替えました。
こちらを参考にしました↓
https://qiita.com/nak435/items/67aca33ca49b6f328faa
↓ここにあるmicronucleus-1.11-entry_jumper_pb0.hexを先ほどと同じフォルダに展開し、
https://github.com/overfl0/NocInformatykaBoard/tree/master/upgrade/releases
先ほどのコマンドラインのt85_default.hexの代わりに今回のhexを指定してISPで焼きこみます。
・ちなみにこのブートローダーを使ってプログラムをフラッシュする際は、ボタンを押してPB0をGNDに落とした状態のままUSBに通電します。
・ネット情報ではmicronucleus.exeを使うと通常のUSB接続のまま(ISPを使わずに)ブートローダーを焼けるという事なのですが、私の環境では途中でこのような↓エラーが出てしまい書き込めませんでした。
> Program file is 1856 bytes too big for the bootloader!

Posted at 2021/12/30 19:46:35 | コメント(0) | トラックバック(0) | Fusion360 | パソコン/インターネット

プロフィール

ToshiTechです。よろしくお願いします。 なにかを作るのが好きです。優先順位としては  ①世の中にないから作る  ②世の中にはあるけど値段が高いので...
みんカラ新規会員登録

ユーザー内検索

<< 2025/9 >>

 123456
78910111213
14151617181920
21222324252627
282930    

愛車一覧

ホンダ フィット(RS) ホンダ フィット(RS)
ホンダ フィット3(RS)に乗っています。

過去のブログ

2025年
01月02月03月04月05月06月
07月08月09月10月11月12月
2024年
01月02月03月04月05月06月
07月08月09月10月11月12月
2023年
01月02月03月04月05月06月
07月08月09月10月11月12月
2022年
01月02月03月04月05月06月
07月08月09月10月11月12月
2021年
01月02月03月04月05月06月
07月08月09月10月11月12月
ヘルプ利用規約サイトマップ
© LY Corporation