Excessive power draw in deepsleep under certain circumstances in esp32

Đang mở
#5,418 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
35/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
python
Lĩnh vực
embedded-iot, networking

Hướng nghiên cứu

Bắt đầu bằng cách tái hiện tương tác được báo cáo giữa network.WLAN.scan(), esp32.wake_on_ext0() và machine.deepsleep() bằng script ESP32 được cung cấp cùng các phép đo dòng điện tiêu thụ. Theo dõi các điểm vào của ESP32 đối với deep-sleep, nguồn wake và mạng, sau đó xác nhận rằng cấu hình được báo cáo đạt mức dòng sleep thấp như mong đợi mà không làm hồi quy hành vi wake.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

port-esp32 proposed-close

This one is pretty obscure, but I might as well report it after isolating it this far...

We have been running a bare ESP32 (no regulators or populated breakout board) from a power supply that measures current draw very accurately.

If you run the following, then the 3 seconds of deepsleep will be drawing a consistent 1.4mA:

import machine, network, esp32
w = network.WLAN()
w.active(1)
w.scan()
p = machine.Pin(2, machine.Pin.IN, machine.Pin.PULL_DOWN)
esp32.wake_on_ext0(p, esp32.WAKEUP_ANY_HIGH)
#w.active(0)
machine.deepsleep(3000)

However, if you comment line 4, or comment line 6, or uncomment line 7, then the current draw reverts to 0.006mA during the deepsleep duration, which is well within the parameters of the datasheet.

I don't know how these two factors could be interacting in this way, but they are.

(My application is an esp32 running from a battery and being woken by a change in a rocker switch, whereupon it connects to the wifi and reports the state. I can report that if the rocker switch is closed so that the condition is instead esp32.wake_on_ext0(p, esp32.WAKEUP_ALL_LOW) then the current draw is 0.086mA, which corresponds to internal pull-down resistors of about 40kOhms.)

Ngôn ngữ chính
C
Star
22.1k
Fork
9k
Merge trung bình
6 ngày 4 giờ
Pull request đã merge (30 ngày)
16

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của micropython/micropython

Tất cả issue của micropython/micropython

Issue tương tự

Thêm issue về C

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.