Làm cho pin kéo dài trong một mạch vi điều khiển


26

Tôi hy vọng sẽ cung cấp năng lượng cho ATtiny85V trong một thời gian dài với một số pin nhỏ, có thể là một tế bào tiền xu.

Tôi đã nhìn vào phía phần mềm và mã của tôi là bộ định thời watchdog, đã tắt bộ chuyển đổi analog và kỹ thuật số không sử dụng, chip đang chạy ở tốc độ 1 MHz, v.v ... Tất nhiên là cả bận và mới về điều này, tôi không chắc chính xác nó hiện đang vẽ bao nhiêu, nhưng tôi hy vọng tôi đã giảm thiểu nó một cách cơ bản.

Cứ sau vài giây, nó thức dậy, kiểm tra mức điện áp của nó trên các ADC, ghi lại nó vào ram và quay trở lại giấc ngủ. Nếu nó phát hiện một dòng nối tiếp được kết nối, nó sẽ phun dữ liệu ra.

Tuy nhiên, bây giờ tôi đang xem xét toàn bộ mạch và tự hỏi liệu có những điều tôi nên làm để làm cho mạch trở nên thân thiện với pin hơn?

Liều lượng cơ bản và không nên làm khi thiết kế mạch kéo dài (đơn giản) trong đó một thành phần (vi điều khiển) có một dòng điện lặp đi lặp lại nhưng thay đổi?

Ví dụ:

  • Là một đèn LED chỉ thị một vấn đề lớn? Có phải nó sử dụng hết pin khi trời sáng? Tôi có nên đặt một điện trở khổng lồ lên nó để làm cho nó mờ đi, hay nó chỉ làm cho điện trở sử dụng pin?
  • Tôi có nên sử dụng tụ điện bỏ qua / tách rời để thậm chí rút ra dòng điện từ pin, hay tụ điện sẽ làm lãng phí năng lượng của pin?
  • Bộ vi điều khiển chỉ cần 1.8V, nhưng tôi không có pin 1.8V. Tôi có nên sử dụng hai pin 1.x và gửi nó quá nhiều điện áp? Tôi có thể kéo dài tuổi thọ pin bằng cách "không sử dụng nhiều volt" không? Làm thế nào để làm điều đó?
  • Có phải mất thêm năng lượng để kiểm tra xem một pin là CAO hay THẤP? Giống như so với số không hoặc số học, có sử dụng nhiều năng lượng hơn trong việc kiểm tra một trong các chân I / O GP cho trạng thái của nó không?

Tôi mơ hồ biết cách tính toán (và mơ hồ hơn cách đo) dòng điện, điện áp, năng lượng, nhưng tôi không thực sự chắc chắn những thứ đó tương đương với tuổi thọ pin. Là phép đo quan trọng của tuổi thọ pin trong Coulomb?

Tôi có ý tưởng mơ hồ rằng pin chứa đầy những thứ như:

  • sạc, như trong amp-giờ
  • năng lượng, như trong watt-giờ
  • năng lượng, như trong watts

nhưng tôi không thực sự rõ ràng về những gì mạch của tôi "ăn" khi nó chạy. Tôi đã đọc một số lượng lớn sách giáo khoa vật lý và EE101, nhưng tôi thực sự không có kinh nghiệm trong phòng thí nghiệm. Nói cách khác, tôi đã đọc rất nhiều về pin, nhưng tôi không thực sự chắc chắn phần lớn nó có ý nghĩa gì trong thực tế.

Làm điện trở sử dụng hết tuổi thọ pin? Làm tụ điện? Làm điốt? Tôi nghi ngờ tất cả họ làm, nhưng con số nào là vấn đề? Trở kháng? Sự thât thoat năng lượng? Hiện hành? Vôn?

Có cách nào để giảm điện áp mà không lãng phí pin? Có cách nào để giảm điện áp trong khi tăng tuổi thọ pin?


6
Đây là một câu hỏi rất rộng. Bạn gần như cần phải hỏi nhiều câu hỏi. Tôi có thể đưa ra một câu hỏi đầy đủ cho câu hỏi năng lượng LED.
Kortuk

1
Thật tuyệt, tôi sẽ chia nó ra sau giờ hành chính. Có lẽ đây chỉ là một liều lượng lớn và không nên. Tôi nghĩ rằng những câu trả lời như vậy sẽ hữu ích cho những người chỉ cố gắng tận dụng pin, nhưng tôi đoán việc đưa ra bất kỳ loại câu trả lời có thẩm quyền hoặc giáo dục nào cũng cần một câu hỏi hẹp hơn.
Jack Schmidt

Vâng, tôi nhận ra rằng tôi sẽ phải chia sẻ câu trả lời của mình bằng câu hỏi của bạn và sẽ đưa tôi một giờ.
Kortuk

Vợ tôi đã tìm thấy makezine.com/makeitlast cuối cùng có thể hữu ích, vì về cơ bản, đây là một cuộc thi để tạo ra loại điều này. Tôi nghĩ rằng nó bắt đầu từ hôm nay, vì vậy họ không có bất kỳ gợi ý nào được đăng về cách thực hiện. Ở mức độ nào, dự án của tôi là độc lập và tôi nghi ngờ tôi sẽ có thời gian để tham gia :) Dù sao, hãy chờ đợi cho đến khi cuộc thi kết thúc nếu bạn không thích những thứ như vậy.
Jack Schmidt

Câu trả lời:


20

Chỉ là một danh sách ngẫu nhiên, nếu bạn đăng sơ đồ của bạn, nó có thể sẽ dễ dàng hơn:

Các tế bào lithium Coin 1.8V rất dễ tìm, nhưng nhiều khả năng giao diện nối tiếp của bạn cần 3,3v? Trừ khi kết thúc nhận của bạn sẽ xử lý 1.8V.

Dòng điện rò rỉ thường tăng lên khi điện áp của bạn tăng, vì vậy thấp hơn thường là tốt hơn. Cũng xem xét điểm nâu cho hệ thống so với các đặc điểm của pin. Các đặc tính 'tử vong' của pin sẽ được xác định bởi hóa chất pin bạn sử dụng. Ví dụ, nếu uC của bạn tắt ở mức 1.7V, bạn thực sự có thể muốn sử dụng pin điện áp cao hơn vì với một số pin, điện áp đầu ra sẽ giảm chậm khi pin chết. Bạn sẽ nhận được nhiều tuổi thọ hơn từ pin 3,3V vì khi nó bắt đầu chết, đầu ra của nó sẽ giảm dần và bạn có thể vận hành xuống tới 1,8V. Nếu bạn sử dụng pin 1.8V, bạn sẽ tắt khá nhanh khi pin chết. Tất cả điều này giả định giao diện nối tiếp của bạn hoặc các thành phần khác có thể xử lý trong phạm vi điện áp rộng (tôi biết rằng AVR có thể).

Đèn LED sử dụng rất nhiều năng lượng, trừ khi bạn sử dụng đèn LED công suất rất thấp và đang kiểm soát mức vẽ hiện tại của nó, có lẽ nó sẽ thu được nhiều dòng điện hơn so với AVR. Nếu nó chỉ ở đó để gỡ lỗi, đừng đưa nó vào sản xuất hoặc chỉ chớp mắt một lần hoặc một cái gì đó để giảm thiểu thời gian của nó và chắc chắn kiểm soát bản vẽ hiện tại của nó.

Nếu bạn có thể, hãy chọn trạng thái phân cực / nghỉ của giao diện nối tiếp của bạn để thu được ít năng lượng nhất có thể, trạng thái nghỉ không nên là sức mạnh. Nếu cần phải kéo lên, sử dụng điện trở lớn nhất có thể để duy trì tính toàn vẹn tín hiệu nhưng giảm thiểu việc sử dụng hiện tại. Nếu sức mạnh là một mối quan tâm lớn, hãy sử dụng sơ đồ hợp lý có lợi cho các bit không tạo ra sức mạnh. Chẳng hạn, nếu bạn có các pull up, sử dụng giao thức dẫn đến tín hiệu 1 giây sẽ khiến giao diện nối tiếp ở trạng thái không sử dụng nhiều năng lượng trong hầu hết thời gian. Tối ưu hóa như vậy chỉ có giá trị nếu bạn sử dụng nhiều xe buýt nối tiếp. Nếu nó được sử dụng rất nhẹ chỉ cần đảm bảo trạng thái nghỉ của nó không phải là sức mạnh.

Nói chung, bạn có thể giả sử tất cả các hướng dẫn (đọc GPIO, v.v.) yêu cầu cùng một lượng điện năng. Nó không thực sự đúng nhưng sự khác biệt sức mạnh là tối thiểu.

Việc sử dụng năng lượng phụ thuộc nhiều hơn vào số lượng / loại thiết bị ngoại vi bạn đã bật nguồn và lượng thời gian mà micro dành cho hoạt động so với khi ngủ. Vì vậy, ADC sử dụng nhiều năng lượng hơn, EEPROM viết sử dụng một lượng năng lượng hợp lý. Cụ thể, một cái gì đó giống như viết EEPROM thường được thực hiện trong các "khối" khá lớn, do đó bạn nên tích lũy càng nhiều thông tin càng tốt trước khi viết vào EEPROM (nếu bạn thậm chí sử dụng nó). Đối với ADC, micro hỗ trợ thực hiện ADC đọc trong 2 trạng thái ngủ của nó, vì quá trình chuyển đổi ADC mất một thời gian tương đối dài, đây là thời gian tốt để ngủ.

Bạn nên có lẽ chỉ đọc các phần về quản lý năng lượng, trạng thái ngủ và sức mạnh giảm thiểu sử dụng trong bảng dữ liệu của vi điều khiển: linky trang 35 trên. Giữ cho AVR ở trạng thái ngủ sâu nhất có thể càng lâu càng tốt. Ngoại lệ duy nhất này là bạn phải xem xét thời gian khởi động và tắt máy. Nó không đáng để ngủ trong 10 chu kỳ nếu thức dậy mất 25, v.v.

Làm điện trở sử dụng hết tuổi thọ pin? Làm tụ điện? Làm điốt?

Tất cả đều làm ở một mức độ nào đó. Điện trở tiêu tan nhiều nhất trong hầu hết các ứng dụng:

P = V * tôi

P = V ^ 2 / R hoặc P = I ^ 2 * R (trong đó V là điện áp rơi trên điện trở)

Diode có sự sụt giảm điện áp cố định (tương đối), do đó công suất tiêu tán gần như chỉ liên kết với dòng điện đi qua diode. Ví dụ, một diode có điện áp chuyển tiếp 0,7V, P = 0,7 * I nếu dòng điện di chuyển về phía trước qua diode. Đây là một sự đơn giản hóa của khóa học và bạn nên kiểm tra chế độ hoạt động dựa trên các đặc tính IV của diode.

Về mặt lý thuyết, tụ điện không nên tiêu tan bất kỳ công suất nào, nhưng trong thực tế, chúng có điện trở nối tiếp hữu hạn và dòng rò không bằng 0, điều đó có nghĩa là chúng làm tiêu hao một số công suất, nói chung không phải là điều bạn nên lo lắng với điện áp thấp như vậy. Điều đó được nói rằng việc lựa chọn các tụ điện với dòng rò tối thiểu và ESR là một chiến thắng sức mạnh.

Theo như việc sử dụng chúng để giảm bớt tình trạng hao pin, điều này thực sự không giúp ích gì cho việc sử dụng năng lượng, nó còn hơn cả để lọc. Ngoài ra hóa học pin đi vào chơi ở đây, một số hóa học sẽ được hạnh phúc hơn với một trận hòa liên tục, một số giải quyết tốt hơn với rút ra hiện tại nhọn.


1
phần quan trọng của P = V ^ 2 / R là khi R tăng với điện áp cố định, việc sử dụng năng lượng giảm.
Kortuk

Thật tuyệt, vì vậy để sử dụng nhiều pin hơn, có lẽ tôi sẽ cần điện áp cao hơn (có thể sử dụng bộ điều chỉnh được đề xuất bởi Andrew). Tôi sẽ làm một số thí nghiệm để xem điện áp nối tiếp sẽ thấp đến mức nào. Tôi cũng sẽ đảm bảo đặt các chân không sử dụng thành đầu ra. Nối tiếp chỉ được sử dụng đôi khi, vì vậy tôi sẽ chỉ kiểm tra trạng thái nghỉ. Tôi chắc chắn đã cố gắng tắt tất cả các thiết bị ngoại vi tôi có thể.
Jack Schmidt

Đối với tụ điện: vì vậy có lẽ tôi không cần bất kỳ tụ điện nào để giúp hết pin. Kiểm tra hóa học pin, nhưng giả sử nó có thể xử lý mô hình cống hiện tại tôi có, thì không cần phải cố gắng điều chỉnh nó, phải không?
Jack Schmidt

Cảm ơn vì điều P. Tôi nghĩ bây giờ tôi đã hiểu. P = I * V trong đó V là điện áp rơi, vì vậy tôi có thể đo mức tiêu hao pin trong P hoặc I (hoặc P-hours hoặc I-hours) miễn là không thể thay đổi điện áp. Tôi vẫn không chắc mình có thể thay đổi V "miễn phí" hay không.
Jack Schmidt

1
Bộ điều chỉnh buck-boost được đề cập thực sự là giải pháp tốt nhất. Tôi đã không đề cập đến nó bởi vì bố trí của các mạch như vậy thường rất quan trọng. Chúng rất khó để có được bảng điều khiển mà không có hiệu suất sôi nổi hoặc hàng tấn EMI. Đọc bảng dữ liệu cẩn thận, các khuyến nghị cho bố cục và xác định các đường dẫn quan trọng thường được bao gồm. Cũng sẽ có những ràng buộc chặt chẽ hơn trên một số bộ phận được sử dụng. Tụ điện ESR thấp và như vậy.
Đánh dấu

12

Mark đã đưa ra một câu trả lời xuất sắc nhất và đánh vào nhiều điểm tôi sẽ làm. Có một vài điều mà tôi muốn đóng góp là tốt.

Sử dụng máy hiện sóng với điện trở thấp ohm nối tiếp với pin trở lại phổ biến để thực hiện các phép đo hiện tại. Vẽ hiện tại với một vi điều khiển không đơn giản và theo nguyên tắc chung, các mét là FAR quá chậm để cung cấp cho bạn một ý tưởng tốt về những gì đang xảy ra. "Low-ohm" nghĩa là gì phụ thuộc vào kết quả bốc thăm hiện tại. một điện trở 1 ohm sẽ phát triển 100mV cho mỗi 100mA được rút ra, và đó có lẽ là quá nhiều đối với bạn. Tôi sẽ thử điện trở 10 ohm 1% hoặc 0,5%; bạn sẽ thấy 100mV cho mỗi 10mA rút thăm hiện tại. 18 ohms sẽ cung cấp cho bạn 100mV cho mỗi 5.5mA. Nếu bạn THỰC SỰ đi với công suất thấp, bạn có thể thoát khỏi với 1k; I = V / R: bạn sẽ thấy 100mV cho mỗi 100uA hiện tại được rút ra. Mặc dù cẩn thận; nếu bạn vẽ đủ hiện tại, bạn sẽ rơi quá nhiều trên shunt và số đo của bạn sẽ bị tắt, không đề cập đến mạch có thể sẽ không hoạt động. :-)

Với phạm vi 'được kết nối, hãy thử một vài tần số hoạt động khác nhau cho vi điều khiển. Bạn có thể ngạc nhiên khi biết rằng bạn tiêu thụ ít năng lượng hơn với tốc độ xung nhịp cao hơn vì bạn dành ít thời gian hơn để "thức".

Loại bỏ pull-up / down càng nhiều càng tốt. Bạn không nên có bất kỳ đầu ra nào, vì bạn có thể lái chúng đến trạng thái không hoạt động trong hầu hết các trường hợp. Đầu vào nên được gắn với những gì có ý nghĩa, sử dụng giá trị càng cao càng tốt, như Mark nói.

Hãy chắc chắn rằng vi điều khiển của bạn đã tắt càng nhiều càng tốt. Biến các chân không sử dụng thành đầu ra và đưa chúng về trạng thái (cao hay thấp, không thành vấn đề). Đừng để đèn LED trên. Nếu bạn có thể tắt nguồn các thành phần khác hoặc dừng đồng hồ của họ, hãy làm điều đó. Chẳng hạn, bộ nhớ SPI Flash thường có lệnh 'tắt nguồn' sẽ lấy mức tiêu thụ điện năng thấp và khiến nó thậm chí còn thấp hơn.

Những người khác đã chạm vào khía cạnh điện áp, và tôi cũng muốn bình luận về nó. Bạn có thể sẽ kết thúc với việc sử dụng pin tốt hơn NHIỀU nếu bạn sử dụng bộ điều chỉnh tăng / giảm hiệu suất cao giữa pin và mạch của bạn. Bộ điều chỉnh sẽ ở chế độ buck (giảm điện áp) khi mức pin cao hơn mức 1,8V bạn cần và chuyển sang chế độ tăng (tăng điện áp) khi mức pin giảm xuống dưới 1,8V. Điều này sẽ cho phép bạn chạy mạch cho đến khi pin hết và thực sự chết, rất đáng để giảm hiệu suất vài phần trăm khi bạn sử dụng chúng. Đảm bảo chọn bộ điều chỉnh dựa trên hiệu quả của nó trên toàn bộ phạm vi bạn muốn sử dụng và kích thước bộ điều chỉnh phù hợp; một bộ điều chỉnh có thể cung cấp 1A với hiệu suất 98% có lẽ là 60% hiệu suất cung cấp 50mA. Đọc dữ liệu cẩn thận.


Mát mẻ. Tôi chưa từng sử dụng một phạm vi trước đây, nhưng tôi nghi rằng phòng thí nghiệm địa phương của chúng tôi sẽ rất vui khi chỉ cho tôi điều này (ngay bây giờ tôi thực sự đang sử dụng đồng hồ nhiều mét để đo dòng điện; không tốt lắm). - Ngoài ra, bạn có đề nghị bộ điều chỉnh ngay cả khi tôi chỉ sử dụng 1-10mA, giả sử tôi có thể tìm thấy một phần thích hợp? Là 90% hiệu quả đủ tốt (tôi nhớ việc tìm kiếm một giá rẻ trong phạm vi đó), hoặc nó sử dụng nhiều dòng điện hơn nó giúp tôi tiết kiệm?
Jack Schmidt

1
Điểm rất tốt khi chơi với tần số, nhắc nhở tôi về cách radio wifi trong điện thoại di động của tôi sử dụng nhiều năng lượng hơn so với modem di động, nhưng wifi nhanh hơn rất nhiều, nó có thể ngủ nhiều hơn và kết thúc là có năng lượng tốt hơn vì nó.
Đánh dấu

2
Một mẹo khác để ước tính mức sử dụng dòng vi điều khiển trung bình theo thời gian trong các tình huống trong đó mức rút hiện tại sẽ là "nổ" là sạc một tụ điện thực sự lớn và cho nó sử dụng bộ điều chỉnh dòng điện thấp để mô phỏng điện áp pin. Một tụ điện 100.000uF sẽ giảm 0,01 volt mỗi milliamp-giây. Nếu nó giảm 0,3 volt trong năm phút (300 giây) thì mức trung bình hiện tại của bạn là 100uA.
supercat

Điểm của hiệu quả của các cơ quan quản lý là rất quan trọng. Vì vậy, bạn phải ước tính phạm vi tiêu thụ hiện tại của mình để chọn một bộ điều chỉnh phù hợp trong phạm vi đó
gustavigsascoh

4

Với mạch của bạn, tôi khuyên bạn nên sử dụng đồng hồ vạn năng trên phạm vi microamp để đo mức tiêu thụ hiện tại. Sau đó, với các đặc điểm pin, bạn có thể tính toán tuổi thọ. Nó không nhất thiết phải là giờ / giờ, vì pin sẽ có các đặc tính xả khác nhau cho các tải khác nhau. Nhưng, nó có thể hữu ích như một xấp xỉ.

Với tốc độ 1 MHz tôi nghĩ bạn sẽ hút một chút năng lượng - ít nhất là 100 LỚN, nếu PIC micros là bất cứ điều gì để so sánh với. Nhưng điều này sẽ bị choáng ngợp bởi 5mA đến 20mA đi qua đèn LED của bạn, vì vậy bạn nên loại bỏ điều đó trước.


Mát mẻ, đèn LED bị xóa. Có một thời gian khó khăn để có được một phép đo chính xác. Có vẻ như 0.9mA ngay bây giờ, vì vậy có lẽ phần mềm của tôi không tắt nguồn nhiều như tôi nghĩ. Với Arduino (và đèn LED nhịp tim) có liên quan, nó giống như 8-9mA, vì vậy ít nhất là nhỏ bé sẽ giúp ích.
Jack Schmidt

1

Ngày nay, có sẵn bộ dụng cụ phát triển và bảng đột phá cực kỳ tiện dụng để thực hiện các phép đo hiện tại chính xác, trong một số trường hợp xuống đến phạm vi nA. Nếu bạn chưa chắc chắn kiểm tra VàngC Hiện tại . Điều này tốt cho các phép đo tĩnh nhưng ít hơn cho các phép đo đăng nhập theo thời gian.

Một cách bạn vẫn có thể sử dụng Chế độ hiện tại là kết nối một amp khác biệt với đầu ra. Sau đó, bạn có thể đưa dữ liệu đó đến bộ dao động hoặc bộ phân tích logic với đầu vào tương tự. Tôi đã viết lên một hướng dẫn đầy đủ các loại hạt và bu lông trên đó. Tôi cảm thấy nó có thể giúp ích cho những người có ngân sách không có công cụ phù hợp.

Thật đáng kinh ngạc những gì bạn có thể học được không chỉ từ những gì điện áp đang làm trong mạch của bạn mà còn cả cách nó phản ứng với mỗi đột biến nhỏ trong dòng điện. Nó đã cứu mông tôi một vài lần khi chọn công nghệ pin và kiểm tra xác nhận. 😎


0

Tất cả các câu trả lời đã có điểm quan trọng. Tôi sẽ thêm một từ kinh nghiệm của tôi.

Khi tôi đang phát triển các thiết bị có mức tiêu thụ dưới 10uA, thậm chí dưới 1uA ở chế độ ngủ sâu, việc vệ sinh bảng đã tạo ra sự khác biệt. Khi tôi đã có 7 trên 10 bảng với mức tiêu thụ hiện tại dự kiến. Tất cả đều giống nhau và tất cả đều hoạt động tốt. Sau khi làm sạch chúng trong một chất tẩy rửa siêu âm, tất cả các bảng đã đi đến kết quả mong đợi.

Và cuối cùng, hãy ước tính mức tiêu thụ dự kiến ​​/ mục tiêu của bạn, kiểm tra bảng dữ liệu của tất cả các yếu tố của bạn. Nếu bạn xử lý chúng ok, bạn sẽ đạt được ước tính của bạn. Điều này bao gồm tất cả các chân không sử dụng trong vi điều khiển. Ngay cả khi bạn tắt ADC, hãy đảm bảo cấu hình pin trong khi tắt là tốt nhất tùy thuộc vào kết nối bên ngoài của bạn.

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.