Bật Arduino với bộ hẹn giờ mỗi 24 giờ


9

Tôi hiện đang làm việc trong một dự án Arduino gửi sạc pin xe hơi của tôi mỗi ngày một lần thông qua một chiếc ESP8266 cho tôi. Trong mùa đông, tôi không lái xe và tôi muốn được thông báo khi pin giảm quá giá trị quan trọng, vì vậy tôi có thể sạc pin và tránh hư hỏng.

Vì vậy, hiệu quả năng lượng rất quan trọng đối với dự án, vì vậy nó không tự xả pin. Tôi đọc rất nhiều về chế độ ngủ, bộ điều chỉnh thả xuống hiệu quả, v.v ... Tất cả đều có điểm chung là bộ điều chỉnh điện áp luôn chạy, đó không phải là điều tôi muốn.

Tôi đang tìm kiếm một loại "mạch swich-on-timer". Nó sẽ đếm ngược 24 giờ và sau đó bật rơle hoặc MOSFET, kết nối bộ điều chỉnh điện áp với nguồn và với điều đó bật Arduino và ESP8266. Khi Arduino kết thúc việc truyền tải, nó sẽ thiết lập lại bộ định thời, ngắt kết nối bộ điều chỉnh điện áp khỏi nguồn, v.v. Tất nhiên, mạch hẹn giờ chỉ nên sử dụng rất ít năng lượng.

Có ai biết một mạch như vậy không? Tôi đã tìm kiếm trên AliExpress với tất cả các biến thể của từ mà tôi nghĩ đến, nhưng không thành công. Hoặc có thể một IC có thể được sử dụng (dễ dàng) để tạo ra một mạch như vậy?


1
Không phải tất cả các bộ điều chỉnh điện áp đều giống nhau. Một số sẽ chỉ sử dụng một vài micro-amps.
Gerben

Suy nghĩ ra khỏi hộp ... Không phải là một công tắc hẹn giờ tiêu chuẩn đủ?
dùng31208

Câu trả lời:


5

Một cách tiếp cận sẽ là sử dụng mô-đun DS3231 (Đồng hồ thời gian thực chính xác). Các mô-đun như vậy bán trên Ebay với giá dưới 1 đô la. Tìm kiếm ds3231 arduino.

Thông thường, các mô-đun này có một đầu nối sáu chân, với các chân có nhãn 32K, SQW, SCL, SDA, VCC và GND. Như đã lưu ý trong thông số kỹ thuật DS3231, chân INT / SQW được sử dụng cho đầu ra sóng vuông hoặc cho đầu ra ngắt. Trên trang 13 của thông số kỹ thuật, trong phần Đăng ký điều khiển, nó ghi:

Bit 2: Điều khiển ngắt (INTCN). Bit này điều khiển tín hiệu INT / SQW. Khi bit INTCN được đặt thành logic 0, sóng vuông được xuất ra trên chân INT / SQW. Khi bit INTCN được đặt thành logic 1, thì khớp giữa các thanh ghi giữ thời gian và một trong các thanh ghi cảnh báo sẽ kích hoạt đầu ra INT / SQW (nếu cảnh báo cũng được bật).

Ban đầu, bạn sẽ chạy một bản phác thảo để thiết lập DS3231: bật báo thức hàng ngày, kích hoạt ngắt thay vì sóng vuông, đặt thời gian hiện tại, v.v. Sau đó, tải một chương trình vận hành đọc điện áp ắc quy xe mỗi khi nó chạy và hành động phù hợp.

Chân DS3231 INT / SQW sẽ được nối với cổng của mosfet kênh P để chuyển nguồn điện 12 V sang Arduino. P-fet sẽ bật khi pin đầu ra cống mở của báo động INT / SQW bật. Chương trình hoạt động thực hiện công việc của mình và sau đó xóa cờ ngắt DS3231, để tắt nguồn cho đến khi có báo động tiếp theo. (Để gỡ lỗi, hãy đặt các khoảng thời gian nhanh hơn một ngày; ví dụ: mỗi phút một lần, như được mô tả trong Bảng 2, Bits Mặt nạ báo thức, trên trang 12 của thông số kỹ thuật.)

Thông thường, DS3231 rút ra 0,84 A khi chạy từ pin 3,3V hoặc 1 μA từ 5V. Xem Đặc điểm điện, trang 3 của thông số kỹ thuật.


1
Cổng P-fet có lẽ nên được kéo lên tới +12 thông qua một cái gì đó như điện trở 1 megohm; mặt khác, nó sẽ được mở một cách hiệu quả khi pin INT / SQW tắt và có thể nổi đến các mức tùy ý
James Waldby - jwpat7

3

Bộ định thời hoặc mạch hẹn giờ sẽ phải rút ra một số dòng điện. Bất kỳ chip AVR pico-power nào cũng thu được rất ít dòng điện ở chế độ ngủ - trong 10 giây micro-amps cho 328, nếu tôi nhớ lại chính xác. Việc sử dụng một AVR để rút ra ít nhất hiện tại chỉ cần tắt tất cả mọi thứ nhưng bộ đếm thời gian theo dõi và thời gian WDT tối đa là 8 giây. Một thư viện như Narcoleptic sẽ quản lý thời gian dài hơn cho bạn. Tuy nhiên, điều bạn cần làm là cung cấp nguồn điện được điều tiết hiệu quả hơn nhiều so với nguồn được tích hợp trên bo mạch Arduino (nếu đó là thứ bạn sẽ sử dụng). Điều đó đã được thực hiện, tải của Arduino trên pin xe hơi của bạn phải là kính hiển vi.

Một thiết kế có thể cung cấp hiệu quả là một loạt pin kiềm, ví dụ 3 chuỗi cho đầu ra 4,5 (trong khi tươi) gấp 2 hoặc nhiều chuỗi như vậy song song, được kết nối trực tiếp với bus 5v.

Tôi chưa thực hiện việc lập ngân sách năng lượng để biết công suất bạn cần và liệu bạn có cần tế bào D hay có thể tạo ra một mảng thực tế từ những cái nhỏ hơn không, nhưng đó là một cách để đạt được mức không tải vào pin xe hơi (giảm giá theo yêu cầu của cảm biến điện áp ắc quy xe). Bạn có thể muốn đưa sức khỏe của mảng pin Arduino vào báo cáo hàng ngày, hoặc, với giá của một vài chất kiềm, bạn có thể thiết kế quá mức pin Arduino mà việc theo dõi nó sẽ trở nên không cần thiết.

Một vài điểm dữ liệu cho thấy một pin riêng là một cách tiếp cận khả thi:

  • Một kiềm 9v duy nhất chạy máy dò khói trong hơn một năm, bao gồm cả quá đông trong một căn gác không sử dụng (theo kinh nghiệm của riêng tôi), và 9v kiềm không được biết đến với khả năng của chúng.
  • Bộ điều chỉnh nhiệt dự phòng kỹ thuật số của tôi đã hoạt động được vài năm trên 2 tế bào AA, trước khi a) chúng chết và b) Tôi tỉnh táo và bắt đầu thay đổi chúng hàng năm. :)

Tôi có một ATmega48 (rất giống với 328P) đang chạy một vài tế bào AA kể từ tháng 6 năm 2012. Nó thức dậy hơn 4 phút mỗi ngày, ngủ phần còn lại của thời gian. Không thay đổi pin cho đến nay.
Edgar Bonet

Đó là một thời gian chạy ấn tượng - cảm ơn vì điểm dữ liệu bổ sung, @EdgarBonet! Tôi mong đợi một Arduino ngủ và một bộ pin kiềm có thể là một hệ thống "thiết lập và quên nó" nhưng không tính toán mức tiêu thụ năng lượng, tôi không đoán nó sẽ hoạt động tốt như vậy. Vì vậy, @DirkPitt, có một số dữ liệu hỗ trợ trong thế giới thực.
JRobert

Nó không phải là một Arduino đầy đủ: Tôi không thể quản lý để có được dưới ~ 40 mA với Uno của mình, trong khi ATmega trống SLEEP_MODE_PWR_SAVE, chỉ có bộ đếm thời gian không đồng bộ hoạt động, đã có thứ gì đó như 2 Lít.
Edgar Bonet


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.