タグ

ブックマーク / radiopench.blog96.fc2.com (4)

  • ESP32(ESP-WROOM-32)を使う (書き込み回路の改造)

    ◆自動書き込みが出来ない ESP32用のブレッドボードが完成したので、プログラム作りを開始したいのですが、Arduino IDE からプログラムの自動書き込みが出来ません。スイッチを操作した手動書き込みは出来ますが、やはり自動書き込みが出来ないと不便です。 この現象はUSB/シリアルチップなどの相性で発生するらしくて、ENピンとGNDの間にコンデンサを入れることで解決出来るそうです。ただ、そうは言っても、何が起こっているのか確認しないでコンデンサを入れるのも情けない話です。 ということで、回路を調べてみました。 ◆回路図 ESP-32 DEVKIT の回路図はネットを探すといろいろ出てきますが、自動書き込み信号の発生回路は以下のようになっていました。 配線がたすき掛けになっているのでラッチかと思いましたが、そうではありません。トランジスタの向きが上下で逆になっていたりして、とにかく見づらい

    ESP32(ESP-WROOM-32)を使う (書き込み回路の改造)
    imanaka99
    imanaka99 2021/09/13
  • 消費電流が激減! delayWDT関数を作ってみた

    引き続きArduinoの話題です。 前回の記事ではdelay関数を動かす時に SLEEP_MODE_IDLE に入れて消費電流を減らしました。これは手軽に出来るのですが、消費電力が半分になる程度の効果しかありません。 そこで、思いっきり深いスリープである SLEEP_MODE_PWR_DOWN に入れて、消費電流を減らしてみます。 ▼測定の様子 CPUの消費電流を直列に入れた1Ωのシャント抵抗で測定します。 こうやってCPUの消費電流を正確に測定できるようにしてプログラムを仕上げていきます。元のプログラムは、電池で動くアナログ気圧計を作った時のもので、これを整理して delayWDT という関数に仕上げました。 完成した、delayWDTの動作確認デモ用のスケッチ ← 新版(バグ修正済み) このプログラムの中の delayWDT( ) という関数を呼ぶことで SLEEP_MODE_PWR_

    消費電流が激減! delayWDT関数を作ってみた
  • ATmega328用の電源電流測定アダプタの製作

    このところArduinoをスリープさせて省電力化させる方法をいろいろ試しています。 この実験ではプログラムをいろいろ変え、その都度Arduino UNOからCPUを引っこ抜いてブレッドボードへ移して確認する作業が必要になります。もちろんArduino UNO全体の消費電流は測定可能です。でもそれだとUSBシリアルインターフェイスや電源のレギュレータなども含んだ値となってしまうため、CPUをパワーダウンさせた時の数十マイクロアンペアなどは全く見えなくなっちゃいます。 で、こんなことを何度もやっているとCPUの抜き差しが面倒くさくなってきます。そこで電流測定アダプタを作ることにしました。 ▼回路図 左がICのピン、右がICソケット側です。 ジャンパーの切り替えで電流の直接測定と1Ωのシャント抵抗を使った電流測定ができるようにしてみました。 ▼主要部品 ピン側をしっかり固定するためにスルホールの

    ATmega328用の電源電流測定アダプタの製作
  • Arduinoをスタンバイ状態からウォッチドッグタイマー割り込みで復帰させる

    Arduinoのスリープ機能のテストを行いました。狙いは現在取り組み中のアナログ気圧計の電池駆動です。 ArduinoというかATmega328Pにはいろんなスリープモードがありますが、やりたいのは一番消費電流が少なくなる、拡張スタンバイ(SLEEP_MODE_PWR_DOWN)。この状態から抜けるのには外部トリガしか使えないと思っていたら、ウォッチドッグタイマー(以下WDT)割り込みでも復帰できるようです。これって、CPUが自分で目覚し時計を掛けて寝ちゃうようなもので、何だか面白い動作です。 ネットで情報を集めるとWDTの使い方はいろいろヒットしますが、ほとんどは割り込みではなくリセットをかける方法。まあこれがWDTの来の使い方なので当たり前ではあります。でも作ろうとしている気圧計では変数の値を保持している必要があるのでリセットするわけにはいきません。 とは言ってもWDTで割り込みを使

    Arduinoをスタンバイ状態からウォッチドッグタイマー割り込みで復帰させる
  • 1