[自キ]磁気キーボードを作りたい。5週目

キーボード

ダイジェスト⑤

消費電力

 今手元にはmonsgeek fun60proしか磁気キーボード無いのですが、usbテスターみたいなのにつなぐと当然のように200mAを超えているんですよね。たかが文字入力デバイスが?
 高速スキャンのためのマイコン、60個にも及ぶホールセンサ。そういうことです。200mA前半だと何かしら工夫している方だと思いますが、それでも100mA台を目指したいなとなんとなく思います。
 ホールセンサを都度スリープしたりしているメーカーもありますよね。
 ADCが強くスキャンも早いstm32f446reとかだと100mAちょい消費します。+ホールセンサx60個なわけですが、ホールセンサもdrv5055だと2-4mA, 5056だと6-10mAです。それぞれ間を取って60掛けると180mAとか480mAとかになります。(5056は使いたくても使えないですね!)この組み合わせだと300mAは覚悟しなければならないですね。
 その面ではアケコンは文字入力デバイスでないですしスイッチ数も少ないですから、磁気スイッチを採用するのは向いていると思います。

 一個一個の自己発熱はそこまで大きくなさそうなので基板に逃げそうな感じはありますが全体としてみたときの消費電力は1Wを超えてきますからなかなかであります。
 あと動作が不良で電圧が~という人がまちまちにいますが細かいことを言うとで電流です。まあ電力と言ってしまえば間違いがないわけですが200~300mAも食うわけですから磁キはセルフパワーのUSBハブにつなぐべきかなあと思います。ケーブル付きusbハブ改めスプリットケーブルというものが流通していますが、消費電力大きいものを一方に接続すると不足しそうです。古い、安い、マザーボードや電源だとそもそも500mAきっちり出力できませんしね。

 当初はトップアウト付近検出用とボトムアウト付近検出用でホールセンサ2個使うデュアルセンサー磁キとか面白そうでやりたかったのですが、悩みます。試作でウェイって言って終わりかもしれない、

 別にセルフパワーにつなげばよいのだし、問題は何もないのですが私の気持ちとしては消費電力大きなまま完成とするのは非常に葛藤があります。しかし、省電力にするとパーツもやや高いものになってしまうし実装もワンクッション挟んでめんどくさい、、、というところがありますね。

測定治具

 JLCPCBに磁力測定用の治具を発注しました。アルミで11200円でした。アルミだと軽そうなのですがこの体積あると十分重量感がありその点十分です。
 金をケチってワンピースでデザインしたわけですが、今になると結局基板がたわんでしまい、以前よりはしっかりとれるとはいえ完ぺきではなかったです。基板が押されてたわむというよりは。そもそも反っているわけです。金をケチらず最初から2ピースで発注した方が安く済むし満足度も高いし時間も無駄にならなかったかもしれないです、、、写真はネジとかついてないですが使うときはねじもスペーサも取り付けています。

 この測定で思ったことは、そもそもこれで基板のたわみが問題になるのですから、キーボードの状態での0.01mmとか0.001mmの精度ってどれだけの意味を持つのでしょうかということです。もちろんこれでちゃんと測定できていないのは私のミスなわけですが、実際の使用場面ではもっとめちゃくちゃな状態なわけです。
 人の指は1umの変位を検知できると私は信じていますが、ケースにフォームに基板にプレート、キーキャップと取り付けられたものを押したところで指とホールセンサの関係はいたるところにばねが挿入されめちゃくちゃな気がしています。この磁力測定でも、スイッチ押すんじゃなくてヘッドに磁石張り付けて、基板と接触せずにやるべきですよね。

再測定①

 基板を固定して実際に近い環境で測定してみました。およそ以前と同じです。
 逆二乗式でフィッティングしたかったのですが、この環境だとbottom付近、押し込んだところで磁力減衰がおきてしまう結果となりました。
 実際は磁力が減衰しているのでなく、基板等々がたわんでしまっていることで発生しています。実際のキーボードの状態に即していると言えばそうなのですが、あまり正しい状態ではないと思います。

 この場合、補正値としてcos(定数項/磁極距離)を割合としてかけることで結構合ってきます。組み立て後の精度を考慮するならばこういうこともありかなと思います。

再測定②

 基板にスイッチを載せて押すと基板のたわみが邪魔ですから、結局スイッチから磁石を取り出しマイクロメータヘッドに取り付けることにしました。これなら非接触なのでそういった外的要因を無視できます。これはこれで色々あるのですが

 これは一つ測定結果です。

磁力 – 磁極距離-^2特性です。

磁力 – 距離特性です。

マイクロメータ上での距離と近似式から逆算した距離の差です。
この場合で最大0.025mm程度のズレです。
読み取り距離の安定度とはまた別なので市販品でいう精度とはまた別ですが、この程度フィッティングできそうです。

温度特性②

 drv5055の温度補正機能付きのA2に加えて温度補正機能のないZ2も購入し、比較してみました。
 方法としてはホットプレート上に基板、スイッチを載せ磁力を測定します。一般に磁石は0.12%/Kで磁力が下がるそうです。A2のホールセンサはそれを補正するために出力が0.12%上乗せされるそうです。

 加熱し、その後放置し冷却しています。基板はホットプレートに乗っているだけなので、ホットプレートの温度と基板とスイッチ内の磁石の温度は同一ではありませんが、実際のキーボードでも基板の温度とスイッチ内の磁石の温度が同一とは思えないので、これが正しいとは思いませんが、恒温槽で実施するのが実際的であるとも言えません。
 とはいえ恒温槽で試験した方がわかりやすいのでやるべきなのですが借りたりしないといけないしとりあえずホットプレートで、、

start 常温
700 40heat
1100 50heat
1500 60heat
1900 70heat
2300 80heat
3000 90heat
3800 100heat
4300 down

 ADC出力を1secごとに100サンプルの平均を読んでいます。初期値を0としています。
 A2は温度上昇とともに読み取り磁力が強くなっていきます。これはホールセンサの温度が磁石の温度より高いため補正が過度に働いているためと思われます。
 Z2は温度上昇とともに読み取り磁力が弱くなっていきます。これは温度上昇で磁石の磁力が低下しているためと思われます。
 そしてどちらも冷却後、初期値より読み取り磁力が弱い値で安定しています。調べてみるとネオジム磁石は高温に弱く80で以下で使用するべきのようですね。そのせいか。。。?

 温度補償のあるモデルを使用するべきなのか、温度補償をするべきなのか、
 A2モデルもZ2モデルもどちらも温度による変動量は同じぐらいで明確にどちらを使うべきとかはなさそうです。A2を使用し温度補正を行うならば、補正を補正することになるのでなんだかなというところがあります。
 磁石の温度は室温に近いのかなと思うので、暑い時寒い時とでその分補正はした方がいいように思います。
 室温が変わらないのなら起動時に補正できそうな気はします。そもそもいろいろが安定するのかどうかというところ、、

おわり

 スリープ機能付きのホールセンサ買ってみたりもしたのですが出力が安定しないとか、そもそも動かない原因不明とかなのでsot23タイプでいいかとなっているこの頃。
 mcuのADCピンとfetスイッチとでマトリクスを組むのが60%とかキー数多いものではひとまず考えたい。それは置いといてまずrp2040で簡単に作れるようにしておきたい。ので今までの結果からrp2040zeroを使ったラピトリマクロパッド作る、qmkに対応する、設定ソフト作る、のが次やること
 仕事忙しいし疲れてるしでやる気出ないしちょこちょこ進めたい

やる気がないのでテキトウ
いろいろ手は動かしてるのですけどめんどくさいのでこんなんで、、

コメント

タイトルとURLをコピーしました