以下の内容はhttps://alektor.hatenablog.com/entry/2025/02/10/004017より取得しました。


【設計者向け】自作キーボードを乾電池などの外部電源で動かす方法

こんにちは、アレくとーるです。

自身のエンドゲームであるEarth87swについて、X(旧Twitter)で呟いたら予想外に多くの反応をいただきました。

 

ということでEarth87swの電源周りの設計や実際の使い勝手などをプチ解説していきたいと思います。

 

 

対象となる人

  • キーボードの設計やカスタムをしており、何らかの外部電源を用いてキーボードを稼働させたい人(無線キーボードの設計や既存キットの無線化など)

 

前提

  • 筆者は電子工作素人に毛が生えた程度の知識レベルです、学問的に学んだり仕事としてこういったことを行なったことはありません。誤った内容があればコメント等でご指摘いただけると助かります。
  • 本記事の内容を基にして何かトラブルが起きても一切の責任を負えません。自己責任でお願いいたします。

 

用語

本記事の中では以下の意味合いで使用します。

  • MCU
    マイコンボードのこと。
    ProMicroとかBLE Micro ProとかRP2040-ZeroとかXIAO BLE nRF52840とかそういうの。

 

先に結論

MCUの特定のピンに規定の電圧で給電すれば動く!以上!

じゃあ具体的にどうやるの、というのがこれ以降の話。

 

電源を選択する

まずはどんな電源でキーボードを動かすかを考えます。

方法はいくつかありますが、国内の自作キーボードでは大きく以下の4つが使われていると思います。

  1. コイン電池(CR1632)
    現在の自作キーボード界隈においてはコイン電池(CR1632)を使用したキーボードが主流かと思います。
    理由は大きく2つあり「電圧が3vなためコイン電池単体でBLE Micro Proが動く」「電池が薄いためキーボードに搭載するのが比較的容易」というメリットがあります。
    私が設計した40%キーボード「Hawk44」もコイン電池で動くよう設計されています。
    しかし個人的には通常の乾電池に比べて入手性が微妙に悪いことや、使い捨てであることが気になっており、Earth87swでは利用を見送りました。

  2. リポバッテリー
    最近ではいわゆる小型バッテリーをキーボードに搭載する方も増えてきたように思います。*1
    3Dプリンター製ケースであれば搭載スペースを用意するのも比較的容易ですし、何といってもUSB接続で充電できるので利便性はピカイチです。
    ただ物によっては安全性に懸念があったり、入手性もお世辞にも良いとは言いづらい状況です。
    またキーボードにも充電回路などの設計が必要になってくるため、設計難度はかなり高いと思います。*2

  3. 乾電池
    どの家庭にもだいたいある持ち運べる電源代表です。
    自作キーボードではどちらかというとマイナーな部類ですが、入手性と安全性はピカイチです。
    充電池も普通にスーパーで売っているので、コイン電池のように使い捨てる必要もありません。
    ただしコイン電池に比べるとサイズが大きく、またリポバッテリーと違い定期的に交換する必要があるため、キーボードのどこに搭載するか考える必要があります。
    またもともとの電圧が低いため、自作キーボードの電源として使用するためには昇圧する必要があります。(詳細は後述)

  4. モバイルバッテリー
    モバイルバッテリーであればUSBケーブルで給電できるので、特別な設計は必要ありません。
    単純にMCUとモバイルバッテリーをUSBケーブルで繋いで給電を開始すればそれだけで可動します。
    ただしモバイルバッテリーと「繋ぐ」という物理的な接点ができるので、ケーブルが必要になってしまったりとコンパクト*3ではなくなってしまうのがデメリットですね。

 

それぞれ一長一短あるのですが、Earth87swは自身のメインキーボードとするつもりで設計を始めたので、安全で入手性がいい単4電池を使用することにしました。

 

動作電圧を確認する

使用する電源を決めたら、次は使用するMCUの動作電圧と電源の電圧を確認し比較します。

TIPS -電圧とは-
ホースの水圧と似たようなもので、どのくらい強く電気を押し出せるか、という値です。
数値が高ければ高いほど電気を流す力が強いと思ってもらえればだいたい間違ってないです。

 

基本的に自作キーボードで使われるようなMCUはUSB給電とは別に特定のピンに一定の電圧で電気を流したら動くように作られていますので、公式ドキュメントなどを確認してみてください。

私が確認した範囲では以下の通りです。*4

  • ProMicro
    VCCピンに3.3vで給電
  • BLE Micro Pro
    BAT+ピンに1.7~3.6vで給電
  • Waveshare RP2040-Zero
    5vピンに5vで給電

 

必要な電圧がわかったら、次は選択した電源の電圧も確認します。

  • コイン電池(CR1632)
    約3v
  • 乾電池(単3、単4)
    約1.5v
  • リポバッテリー
    製品や充電状況によって異なるので要確認

 

電源の電圧とMCUの動作電圧がわかったら、ギャップ(電圧の差)を確認します。

Earth87swの場合BLE Micro Proを使用しますので「1.7~3.6vで給電」が必要ですが、搭載する乾電池では「1.5v」しか給電できません。

そのため動作させるには何らかの方法で給電側の電圧を上げる必要があります。

 

ちなみにBLE Micro Proとコイン電池の組み合わせのように動作電圧と電源の電圧が一致している場合は特に何もしなくても動作させることができます。*5

またリポバッテリーを使う場合などで電源側の電圧が高すぎる場合は、電圧を下げる必要があります。*6

 

電圧の調整方法を決める

動作電圧とのギャップを埋めるため、電源側の電圧を調整します。

Earth87swのように電圧を上げる必要がある場合、方法は大きく2つあります。

  1. 電源を直列で繋ぐ
    電源を直列*7で繋ぐと、単純に電圧は足し算されていきます。
    例えば単4電池を2つ直列で繋いだ場合、1.5v+1.5v=3vとなりBLE Micro Proの動作電圧を満たすことができます。

    単純で分かりやすいですが「電圧の安定性が低い(電池が減ってくると不安定になる)」「単純に複数の電源を搭載するスペースが必要」などのデメリットがあります。

  2. 昇圧回路を実装する
    電圧を上げる「昇圧」を行うための回路を実装することで動作電圧を満たすこともできます。
    実際に回路を自身で設計しなくても「DCDCコンバーター」という名称で秋月電子などで売られていますので、これを実装すればOKです。
    Earth87swの場合は3.3V出力昇圧DCDCコンバーターを搭載し単4電池の1.5vを3.3vに昇圧(変換)しています。

    簡単に昇圧できるならそれでいいじゃん!と思ってしまいますが当然デメリットもあります。
    まず「回路設計が必要なこと」*8、そして何より「電源効率が悪いこと」です。
    例えば1.5v→3.3vの昇圧を行うと、消費する電気*9は単純に約2倍(変換ロスを考えるとそれ以上)になります。
    また場合によっては高周波ノイズが発生し無線通信に影響を与えることもあるようです。

ということでどちらを選択するかですが、Earth87swの場合は乾電池をいくつも搭載するのはスペース的に避けたかったのでDCDCコンバーターを搭載することにしました。

 

実際に設計する

あとは実際に回路図を起こして、PCB基板を設計するだけです。

Earth87swの場合は以下のような形になっています。

使用したDCDCコンバーターに電源ON/OFF用のピンがあったのでこうなってます。
専用ピンがない場合は電池とDCDCコンバーターの間にスイッチを入れるといい感じかと。

 

-----------------

(2025/3/27追記)

Xiao BLEのように充電回路を持っているマイコンに乾電池などを使用する場合、上記の回路図のように接続するとUSB接続時に給電されてしまい過充電される恐れがあります。

充電回路の有無、USB接続時のVCCピンの挙動などは各マイコンごとに異なりますのでよく確認してください。

USB接続時に不必要に充電されないか?USBからの給電が電池に逆流しないか?

必要に応じてUSB接続時にUSBから電池等への電流を遮断する回路などを設けてください。

-----------------

 

また単4電池の物理的な設置場所ですが、今回は敢えて表面に見える形で設計しました。

交換が容易というのと、エネループを使うとパナソニックのロゴが見えるのがガジェット感あっていいよねというオタク心からです。

個人的にはカッコいいと思ってるんですが、どうですかね。

 

参考までに使ったパーツは以下の通りです。

またKiCAD用のフットプリントは存在しなかったので自作しました。

 

実際に使ってみて

単4電池はナイス選択だったと自分では思っています。

単純に充電池が使えますし、仮に会社で電池切れを起こしてもコンビニ等で容易に調達することができます。

 

ただし単4電池は電池容量が少ないのに加えて、昇圧回路のせいで使用する電気の量も多いので、電池の減りは早いです。

今のところBLE Micro Proのスリープ機能を使わないで運用しているのですが、うっかり電源をつけっぱなしにしたままにすると2,3日で電池が切れてしまうように感じます。

この辺りは自動スリープを有効にしたり、予備電池を常に用意しておくことで解決しようと思っています。*10

 

もし次に設計することがあれば、電池サイズを大きくして単3電池にするのもありかなぁと感じています。

 

宣伝など

Earth87swはキーケット2025で少数頒布予定です。

もしご興味ありましたらキーケットにお越しの際は是非お立ち寄りくださいませ!

alektor.hatenablog.com

*1:特にZMK Firmwareを使ってキーボード設計をしている方に多い印象です。

*2:気をつけないと中華モバブみたいに発火する恐れがあります。

*3:スマートともいえる

*4:間違っていても責任はとれませんので自身でも公式ドキュメントを確認することをオススメします

*5:ただし安定動作という意味では工夫が必要な場合があります、この辺はBLE Micro Proの作者のせきごん様の説明をお読みください

*6:動作電圧より高い電圧を流すと最悪MCUが壊れます

*7:直列と並列、思い出せなかったら検索してください、私は検索しました

*8:とはいえDCDCコンバーターを使うならそこまで難しくないですが

*9:=電流

*10:運用でカバーってやつです




以上の内容はhttps://alektor.hatenablog.com/entry/2025/02/10/004017より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14