Kiểm tra điện áp dự phòng trên RTC có làm cạn kiệt pin dự phòng không?


8

Tôi đang làm việc trong một dự án ATMega sẽ giữ thời gian và tôi đang cố gắng thực hiện để bạn có tùy chọn RTC thời gian phần mềm (millis ()), DS1307 hoặc DS3231 (ChronoDot).

Ở mức cơ bản nhất, những gì tôi muốn làm là có các tiêu đề cho ChronoDot có sẵn để hàn và sau đó bằng cách nào đó trong phần mềm phát hiện nếu ChronoDot được đính kèm và chuyển sang sử dụng. Thông thường sẽ đủ dễ dàng để kiểm tra xem DS1307 hoặc DS3231 có mặt khi họ sử dụng cùng một thanh ghi I2C, nhưng sau lần kiểm tra ban đầu đó, chúng sẽ lệch nhau một chút và sau này có nhiều tính năng hơn. Vì vậy, tôi vẫn muốn xác định cái nào được kết nối. Nói chung, tôi dự định sẽ có một vị trí trực tiếp trên tàu để hàn trong DS1307 làm tùy chọn mặc định và hỗ trợ DS3231 sẽ chỉ với một ChronoDot hoàn chỉnh thông qua các tiêu đề 4 pin kép. ChronoDot về cơ bản sẽ phù hợp với nơi DS1307 thường đi (nó sẽ không được đưa vào trong trường hợp này). Lý do chính khiến tôi tập trung vào ChronoDot cụ thể là vì nó ' S phổ biến, dễ dàng để có được và không yêu cầu hàn SM cho người dùng cuối (điều này nếu cho một bộ). Vì vậy, đây là những gì tôi nghĩ ...

Cả DS1307 và DS3231 đều có dòng Vbat trên chip, nhưng nó không thực sự cần thiết cho bất cứ thứ gì. Tuy nhiên, ChronoDot có một pin VBat thực tế trên bảng đột phá. Tôi chỉ có thể kết nối Vbat từ tiêu đề ChronoDot chứ không phải DS1307 và kết nối nó với pin đầu vào kỹ thuật số trên ATMega của tôi. Nhưng có phải pin đầu vào được kéo xuống đất bằng một điện trở (không thực sự chắc chắn giá trị nào ... có thể là 4,7k?). Nếu lý thuyết EE của tôi là chính xác thì tôi có thể đọc mã pin đó và nếu tôi xuống thấp, sẽ không có đồng hồ bấm giờ nhưng nếu tôi đạt được mức cao thì sẽ có.

Một cái gì đó như thế này:

sơ đồ

mô phỏng mạch này - Sơ đồ được tạo bằng CircuitLab

Câu hỏi chính của tôi ở đây là nếu làm điều này sẽ chỉ làm cạn kiệt pin dự phòng trên RTC? Thông thường sẽ không có dòng điện nào được rút ra từ pin dự phòng trong khi nguồn chính, 5V, được cung cấp nhưng việc kết nối nguồn này với đầu vào kỹ thuật số có khiến nó luôn lấy năng lượng từ pin không? Hoặc, có một chế độ tôi sẽ cần đặt pin vào sau khi đọc từ nó để "ngắt kết nối" nó, để nói chuyện? Tôi biết tôi có thể thay đổi nó thành đầu ra, nhưng tôi tin rằng nếu nó được đặt ở mức đầu ra và thấp thì về cơ bản tôi sẽ nối đất cho pin.

Dù sao, các khóa học EE của tôi đã có từ lâu . Bất kỳ trợ giúp về lý thuyết ở đây sẽ được đánh giá cao.

Câu trả lời:


8

Bạn chắc chắn sẽ tiêu hao pin thông qua điện trở. Lượng dòng điện bạn sẽ rút ra sẽ bị chi phối bởi luật Ohm: I = V / R. Hãy nói rằng điện áp pin của bạn là 3V (tức là Vron chronodot thông thường). Với điện trở 4,7 kOhm, bạn sẽ rút được 3/4700 = 638 microamp liên tục. Nếu bạn tạo ra điện trở 1 MOhm, thay vào đó bạn sẽ vẽ 3/1000000 = 3 microamp. Và nếu bạn tạo ra điện trở 10 MOhm, thay vào đó bạn sẽ vẽ 3 / 1e7 = 300 nanoamp.

Điện trở giá trị bạn chọn càng lớn, bạn sẽ rút ra dòng điện liên tục càng ít, nhưng thời gian để pin kỹ thuật số của bạn chuyển càng lâu (hãy nghĩ rằng hằng số thời gian R * C bị chi phối bởi điện trở và điện dung của chân và dấu vết). Vì vậy, miễn là bạn chờ đủ lâu (hoặc kiểm tra lại định kỳ) sau khi khởi động, bạn sẽ ổn với điện trở 10 MOhm. Về mặt lý thuyết, bạn cũng có thể thu được nhiều tiếng ồn hơn với giá trị lớn hơn (vì nó bắt đầu trông ngày càng giống một mạch mở), nhưng tôi nghĩ bạn sẽ ổn thôi. Tôi thậm chí có thể cân nhắc việc lên tới 100 MOhm.

Một CR1632 điển hình có năng lượng 130 mili giờ (mAh) được lưu trữ trong đó và có thể 80% đó là tuổi thọ hữu ích, vì vậy hãy gọi nó là 100 mAh để dễ tính toán. Một ước tính thô về tuổi thọ pin của bạn sau đó là milliamp-hours / milliamp rút ra.

  • Với điện trở 4,7 kOhm của bạn, đó là 100 / .638 = 156 giờ = 6,5 ngày
  • Với điện trở 1 MOhm là 100 / 0,003 = 33333 giờ = 3,8 năm
  • Với điện trở 10 MOhm, 100 / 0,0003 = 333333 giờ = 38 năm

Đây là những số giới hạn trên cho rằng phần còn lại của hệ thống của bạn không có sức mạnh. Chúng đại diện cho tuổi thọ của hệ thống của bạn khi nó tắt và pin chỉ bị cạn kiệt qua điện trở. Ngoài ra còn có rất nhiều hiệu ứng thứ hai không được tính đến (phân rã điện áp, hóa học rò rỉ pin bên trong, v.v.). Các điện trở không chắc là vấn đề lớn nhất của bạn tùy thuộc vào tuổi thọ mà bạn đang hy vọng đạt được.


Duh ... không thể tin rằng tôi đã bỏ qua việc chú ý đến sự thật rằng tôi đang trực tiếp sạc pin: P Có gợi ý nào về một cách khác để làm điều này không?
Adam Haile

Tôi nghĩ rằng cách tiếp cận của bạn là tốt, với một điện trở đủ lớn, dòng rò sẽ không ảnh hưởng đáng kể đến tuổi thọ pin của bạn, tôi sẽ cập nhật thêm một số phép toán.
Abbeyatcu

1
Upvote: Trả lời câu hỏi chính. @AdamHaile một kỹ thuật bạn có thể thấy hữu ích: vôn kế kỹ thuật số sử dụng FET thể hiện một cống không đáng kể tương đương với điện trở trong các đơn đặt hàng hoặc MOhms.
shimofuri

1
@AdamHaile một điều nhanh chóng ... Tôi nhận thấy nhận xét của bạn rằng hệ thống của bạn là 5V trong một nhận xét khác. Xem ra rằng Ngưỡng đầu vào điện áp kỹ thuật số của bạn đủ cao để đăng ký với pin đã cạn (có thể giảm xuống khoảng 2V cho CR1632) - kiểm tra bảng dữ liệu của vi điều khiển của bạn
Abbeyatcu

1

Hầu như bất kỳ sơ đồ đo nào trong số này liên quan đến điện trở, nếu được kết nối vĩnh viễn, sẽ gây ra hiện tượng rút điện không thể chấp nhận và giảm tuổi thọ của pin lithium nhỏ cung cấp năng lượng cho các thiết bị này.

Giải pháp sau đó là chỉ có dòng điện đo dòng trong thời gian ngắn tại các khoảng thời gian không thường xuyên, khi bạn thực sự thực hiện phép đo.

Đối với thử nghiệm kỹ thuật số, việc này có thể dễ dàng như sử dụng một pulldown có thể cấu hình phần mềm bên trong và chỉ định cấu hình nó như một pulldown trong một khoảng thời gian ngắn xung quanh thử nghiệm. Tuy nhiên, bạn sẽ cần xem xét các biến chứng có thể xảy ra khi có điện áp trên chân khi MCU thực hiện phép đo không được cấp nguồn / ở chế độ ngủ.

Một phép đo tương tự sẽ trở nên phức tạp hơn, nhưng những ý tưởng tương tự có thể được áp dụng. Ví dụ, bạn có thể kết nối điện trở thấp hơn của bộ chia điện áp (trở kháng cao so với bộ chia điện áp I / O) với chân đầu ra và chỉ lái ở mức thấp trong một khoảng thời gian xung quanh phép đo. Hoặc thậm chí bạn có thể xây dựng một mạch RC với một tụ điện rò rỉ nhỏ và một pin I / O duy nhất mà bạn có thể lái ở mức thấp như một đầu ra, sau đó định cấu hình như một đầu vào tương tự và đo điện áp sau một khoảng thời gian. Nếu điện áp ngưỡng kỹ thuật số của thiết bị phù hợp (coi chừng nhiệt độ!), Bạn thậm chí có thể thực hiện phép đo analog với đầu vào kỹ thuật số theo cách này, bằng cách đo thời gian để tụ điện sạc vào điện áp ngưỡng.


Hmmm ... tôi ước tôi có thể làm điều kéo xuống bên trong, nhưng thật đáng buồn là chỉ có điện trở kéo lên bên trong. Tôi có thể đang cố gắng làm quá nhiều thứ. Một miếng đệm hàn phải được bắc cầu để sử dụng một chế độ này hoặc chế độ kia có thể được chấp nhận.
Adam Haile

Bạn có thể tạo ra một pulldown cấu hình phần mềm của riêng bạn với một điện trở đến một pin I / O khác. Hoặc bạn có thể sử dụng ý tưởng mạch RC, lái cùng một pin mà sau đó bạn sẽ cấu hình lại làm đầu vào để đo.
Chris Stratton

Trên thực tế, sử dụng kéo xuống bên trong là một ý tưởng rất tồi. Các chân I / O thường được kết nối với Vdd và GND với các điốt để ngăn điện áp chân đi lạc bên ngoài điện áp cung cấp. Khi chip không được cấp nguồn, pin về cơ bản sẽ được gắn với GND với hai điốt song song và áp dụng bất kỳ điện áp nào trên điện áp ngưỡng của điốt sẽ dẫn đến một dòng điện rất lớn. Một ý tưởng tốt hơn là sử dụng một bóng bán dẫn PMOS loạt có cổng được điều khiển bởi một bóng bán dẫn NMOS để tiếp đất. Điều này sẽ giảm thiểu rò rỉ khi vi điều khiển không được cấp nguồn.
alex.forencich

1

DS3231 có nhiệt độ bên trong mà bạn có thể đọc. Bạn có thể ra lệnh trên I2C để đọc nhiệt độ, nếu bạn nhận được phản hồi, bạn có DS3231, nếu không bạn có DS1307.


1
Tôi không nghĩ rằng điều này trả lời câu hỏi theo bất kỳ cách nào.
shimofuri

Tôi nghĩ rằng nó làm. Adam trong OP muốn xác định xem DS3231 hoặc DS1307 có được kết nối với mạch của anh ấy không. Anh ấy đã nghĩ đến việc cố gắng làm điều này với pin vbat. Tôi đề nghị anh ta làm điều đó bằng cách xem thiết bị sẽ trả lại nhiệt độ. Có vẻ như tôi nên làm việc tốt.
Scott Goldthwaite

Tôi nghĩ rằng điều này không giải quyết câu hỏi: Không phải câu hỏi đã được hỏi, mà là vấn đề cơ bản. Hấp dẫn. Nó sẽ nhận được upvote của tôi nếu được bổ sung một chút, và với các tài liệu tham khảo được thêm vào.
Anindo Ghosh

Trong bảng dữ liệu Maxim, xem Hình 1 trên trang 11. Nó hiển thị các thanh ghi (11 & 12) cho nhiệt độ bên trong.
Scott Goldthwaite
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.