投稿

10月, 2023の投稿を表示しています

スマホの USB でウズラのゆで卵をつくる

イメージ
概要 スマートフォンのUSBポートはOTGアダプタを使用するとUSB電源として使用することができます。この電力を使用してゆで卵を作れないか実験してみました。 景気よく鶏卵でといきたいところですが、乾電池ゆで卵 の例などから難しそうと判断し、ウズラの卵で挑戦することにしました。 スマホから得られる電力 OTGでどの程度の電力が得られるかはスマホによって異なります。より大きな電力を得るには規格に沿って適切なモードを実装する必要があります。 参考: Microchip Application Note:AN1953 私の所有している Pixel3 と Pixel5a では規格上は USB2.0 の 5Vx500mA までのようです。ただ、Pixel3 は実際に電流を引くと 1.5A程度まで引くことができました。Pixel5a ではより厳格な実装となっているようで、500mA を大きく超える電流を引くと保護機能が働いて供給を遮断されてしまいました。 スマホによってはより大きな電流の規格に公式に対応しているものもあるそうです。 今回はどのスマホでも再現できるように最小構成 (USB2.0: 5Vx500mA) で使用することにしました。 OTGアダプタの仕組み 充電端子でもあるスマホのUSBポートから電力供給を得るには、ポートを OTGモードで動作させる必要があります。5Vx500mA を得るのであれば OTGアダプタを使用する方法が簡単です。OTGアダプタにはホスト側から 5V を出力させるための回路 (5.1kΩのプルダウン抵抗) が内蔵されているので、デバイス側は何も考えずに 5V を得ることができます。 OTGアダプタを使用せずに Type-Cコネクタを自前で実装する場合は、アダプタと同様に CC1 を 5.1kΩでプルダウンすることにより、アダプタ使用時と同様に 5Vx500mA の供給を受けることができます。 より大きな電流の供給を受けるには、CC1/CC2 ピンの電圧を監視したり、PD (Power Delivery) 通信を行う必要があります。 ヒーターの作成 熱源には 0.2mm, 34.3Ω/m のニクロム線を使用しました。これに 500mA の電流が流れるようにするには、オームの法則より、5V÷500mA=10Ω にな

ラズピコに「長押し書き込みボタン」を追加する

イメージ
概要 Raspberry Pi Pico のデバッグには picoprobe が便利ですが、作る物や環境によっては繋いだままにできない場合もあります。しかしプログラムを書き込むたびに BOOTSELボタンを押しながら USBケーブルを差し込むのはちょっと面倒です。 RUNピンにリセットスイッチを追加し、BOOTSELボタンと同時押しすることでスイッチ操作のみで行うこともできますが、もうひと工夫してスイッチひとつだけで操作できるようにしてみました。 ボタンをクリックすると通常再起動、0.5秒ほど長押しすると Mass Storage Mode に入るようになります。押しやすい大きなボタンを乗せれば指一本で操作できてちょっとした作業効率化になります。 回路 下図のような回路をラズピコに追加します。リード部品でも SMD でも OK です。 SW1 を押すと C1 を通して RUNピンがプルダウンされてリセットがかかります。そのまま長押しし続けると C1 が充電されて Q1 のベース電圧が上昇していき、Q1 がオンになると BOOTSELピンがプルダウンされます。この状態で SW1 を解放するとリセットが解除され、Mass Storage Mode に入るという仕組みです。 Q1 がオンになる前に SW1 を解放すれば通常のリセット (再起動) となります。 BOOTSELピンは裏面の TP6 に出ています。少々不格好ですがここから引き出すのが簡単です。 実装例 動作波形 クリック時 RUN の立ち上がり時に BOOTSEL がバタついていますが、これはチャタリング等ではなく、ラズピコ自身によるドライブのようです。 長押し時 BOOTSEL はだいぶ鈍っていますが、RUN の立ち上がりではしっかり GND に落ちていて、ちゃんと Mass Storage Mode に入れます。