Mạch để giảm sức mạnh Raspberry Pi


8

Tôi muốn sử dụng Raspberry Pi làm máy chủ XBMC trong xe hơi. Các tài liệu XBMC nói rằng bạn nên luôn luôn sử dụng lệnh tắt máy trước khi ngắt kết nối nguồn. Tôi không muốn phải (bảo vợ tôi) đăng nhập vào Pi và tắt máy trước khi tắt xe - tôi muốn có thể

Tôi đã nghĩ rằng có thể tạo ra một mạch đơn giản với một tụ điện và có thể là một diode để phát hiện khi nguồn điện bị ngắt (và tăng một ngắt trên một trong các chân GPIO) nhưng tụ điện sẽ cung cấp dòng điện đủ lâu cho hệ thống tắt đúng cách.

Điều này có đúng và đủ không?

dự thảo thứ hai

Mạch sẽ được cung cấp năng lượng bởi pin xe hơi - 12,6 đến 11,7V. Raspberry Pi mất 5V (5,25 đến 4,75V) và rút ra 700-1200mA. Tôi chưa hẹn giờ, nhưng tôi đoán quá trình tắt máy có thể mất khoảng 5 giây.

Vì vậy, tôi cho rằng những gì tôi cần biết là:

  • Tôi cần loại tụ điện nào để lưu trữ đủ điện tích để giữ cho Pi đủ lâu để XBMC tắt đúng cách?

  • Cho rằng cổng GPIO của Rasperry Pi mất 3,3V, bộ so sánh / op-amp tốt nhất sẽ sử dụng là gì (tôi cho rằng tôi có thể sử dụng một vài điện trở để giảm đầu ra từ 5 đến 3,3)

  • Sẽ có bất kỳ lợi ích nào khi có dòng GPIO thường cao hay thấp thường?


IC này: linear.com/product/LTC2935 có thể khiến bạn quan tâm.
Bitrex

3
Theo câu trả lời dưới đây trong ý tưởng, ý tưởng của bạn là OK nhưng sẽ yêu cầu mũ rất lớn. Bạn cũng có thể nhìn vào việc cung cấp năng lượng cho Pi từ một thứ gì đó mọi lúc, sau đó chỉ cần sử dụng bộ phận đánh lửa để bắt đầu tắt máy và có thể là bộ hẹn giờ để kéo điện hoàn toàn sau một phút hoặc lâu hơn.
PeterJ

Đó là một ý tưởng tốt @PeterJ - có thể sẽ rẻ hơn rất nhiều. Bạn có thể giải thích về điều đó dưới dạng một câu trả lời?
Nicholas Albion

Thay vì cấp nguồn cho RPi từ tụ điện trong vài giây sau khi đánh lửa bị tắt, tôi nghĩ có lẽ sẽ hợp lý hơn khi sử dụng rơle được điều khiển và cung cấp năng lượng bởi một chiếc điện thoại 555 để chuyển sang pin. Tôi đã tạo một câu hỏi khác: Electronics.stackexchange.com/questions/61877/
trộm

Câu trả lời:


4

Một chiến lược thay thế sẽ là cung cấp năng lượng cho Raspberry Pi liên tục và sử dụng đường đánh lửa để bắt đầu chuỗi giảm điện. Tôi đã làm điều đó trong quá khứ nhưng với các hệ thống mà giải pháp chính xác sẽ không áp dụng cho Pi nhưng nói chung:

Sử dụng bộ chuyển đổi DC-DC để có hiệu quả tốt nhất, có nhiều ví dụ xung quanh nhưng sau đây là một ví dụ về một thứ gì đó sẽ thuận tiện để sử dụng và nó có thể cung cấp 1A ở 5V từ đầu vào 6.5V đến 32V:

http://www.digikey.com/product-detail/en/V7805-1000/102-1715-ND/1828608

Một nguồn cung cấp ô tô có thể khá khắc nghiệt, vì vậy bạn có thể muốn sử dụng diode TVS 30V trên đầu vào để bảo vệ chống lại các xung đột với một diode Schottky chunky với cực dương trên mặt đất và cực âm ở đầu vào 12V để bảo vệ chống lại điện áp âm cùng với cầu chì thông thường hoặc cầu chì có thể đặt lại PTC nối tiếp với kết nối giữa sức mạnh của xe và hệ thống của bạn. Nếu không, bạn có thể 'hack' một chiếc xe hơi sang bộ sạc USB đã có sẵn tất cả.

Tôi không chắc Raspberry Pi vẽ gì ở chế độ không tải bình thường, nhưng có lẽ dưới 500mA, đây là USB tối đa có thể cung cấp và nhiều khả năng là 100mA. Giả sử nó sử dụng 100mA ở 5V sẽ dưới 50mA ở mức 12 V khi sử dụng mạch đó, pin xe thường hoạt động theo thứ tự 50ah, do đó sẽ mất khoảng 20 ngày để tiêu hao pin đến 50%. Nếu chiếc xe đang được sử dụng thường xuyên, có lẽ bạn không cần phải đi thêm nữa, và bạn có thể để nó chạy và tắt bất kỳ thiết bị ngoại vi nào bạn không sử dụng.

Mặt khác, để phát hiện sự thay đổi đánh lửa theo cả hai cách và cả thông báo cho Pi, nó cần phải tắt theo sau bằng cách rút điện một phút sau đó, cách thực tế nhất có lẽ là sử dụng một vi điều khiển bên ngoài điều khiển FET. Nó có thể được thực hiện với logic rời rạc nhưng bạn cũng cần đảm bảo rằng nguồn điện được áp dụng lại khi đánh lửa lên cao, vì vậy nó không phải là một bài tập hoàn toàn tầm thường nhưng chi phí bộ phận sẽ thấp hơn so với sử dụng nắp lớn.


Cảm ơn, câu trả lời của bạn đã dẫn tôi đến Googling cho "tắt bộ điều khiển raspberry pi". Tôi đã xem cái này với giá 42 đô la nhưng sau đó tìm thấy cái này được thiết kế riêng cho Raspberry Pi, và nó chỉ có 15 đô la và anh ấy có một chiếc được thiết kế để sử dụng trong xe hơi.
Nicholas Albion

Raspberry Pi Model A mất 300ma (+ 100ma tối đa trên mỗi cổng usb), trong khi Model B mất 700ma.
Người qua đường

Những gì bạn cũng có thể làm là chỉ cần móc một nút và chạy ứng dụng python mỗi khi pi mâm xôi của bạn được bật. Sau đó, trong ứng dụng python, sử dụng chức năng nút os ("tạm dừng") để tắt máy pi mâm xôi của bạn. Đó là những gì tôi đã làm và nó hoạt động tốt. Tôi không biết làm thế nào điều đó sẽ làm việc với XBMC mặc dù.
mozcelikors

3

Tôi không quen thuộc lắm với hành vi của Raspberry Pi khi tắt máy và sử dụng năng lượng, vì vậy tôi sẽ chủ yếu dựa vào các số bạn đã đưa ra và để lại các công thức.

Đường cong phóng điện theo hàm mũ mà bạn hiển thị là dành cho mạch tụ điện trở, nhưng bộ điều chỉnh tuyến tính khiến mọi thứ hoạt động hơi khác một chút. Giả sử RPi luôn tiêu thụ dòng điện tối đa bạn đã nêu: 1200 mA. Trong trường hợp này, dòng điện đó luôn chảy qua bộ điều chỉnh và điện trở hiệu dụng của mạch liên tục thay đổi (giảm) khi tụ phóng điện. Điều này đúng miễn là chúng ta đang ở trong phạm vi hoạt động của bộ điều chỉnh tuyến tính, điều này cũng tốt vì chúng ta cần tắt RPi trước khi chúng ta chạm vào vùng đó.

Tôi= =CdVdt
C= =TôidtdV
  • Tôi chỉ đơn giản là dòng điện trung bình cho RPi. Trong trường hợp này, chúng tôi sẽ giả sử nó là 1200 mA hoặc 1,2 A.
  • dt là thời gian cần thiết để tắt RPi. Sử dụng ví dụ của bạn, đây là 5 giây.
  • dV là sự thay đổi điện áp tụ. Chúng ta sẽ giả sử rằng điện áp khởi động là điện áp được chỉ định thấp nhất là 11,7 V và điện áp cuối là 7,0 V. Tôi đặt điện áp cuối là 7,0 V vì bộ điều chỉnh tuyến tính 7805 yêu cầu khoảng trống hai volt để hoạt động đúng (5.0 V + 2.0 V = 7.0 V). Điều này làm cho dV = 11,7 V - 7,0 V = 4,7 V.

C= =1.2Một5S4,7V= =1,28F

Vâng, đó là 1,28 Farads (không có micro hoặc milli ở đây). Điều này có thể sẽ liên quan đến việc mua một số nắp điện áp thấp và đặt chúng thành loạt

Vì vậy, vấn đề khác là mạch của bạn - nó sẽ không hoạt động theo cách bạn muốn, bởi vì cách duy nhất đầu vào dương của bộ so sánh gần với điện áp đầu vào âm (vì vậy đầu ra có thể thay đổi) là khi điện áp đầu vào của bạn đã chết Theo thiết kế, bộ so sánh sẽ không bao giờ chuyển đổi.

Những gì bạn muốn làm là đo điện áp đầu vào của bạn, trước các tụ điện và diode, và so sánh điện áp đó với một "tham chiếu" mà bạn có thể đặt với một nồi trang trí. Xem mạch ví dụ dưới đây:

sơ đồ

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


Bạn nói đúng - Tôi có nghĩa là cung cấp đầu vào tích cực của bộ so sánh từ phía bên kia của diode D1. Tôi cần chân GPIO để kích hoạt ngắt ngay khi nguồn cung cấp 12V bị ngắt kết nối (radio và phụ kiện bị tắt). ... Vậy điện áp tham chiếu là 0, phải không? Mục đích của diode TVS là gì?
Nicholas Albion

Tôi có nhiều trong số này ở đây, họ sẽ hoàn hảo cho công việc này? i.ebayimg.com/images/g/lF8AAOSwBP9UYdRb/s-l300.jpg
feedc0de

@danbru Không có ý tưởng, đó là một hình ảnh, không phải là một biểu dữ liệu. Nếu bạn nghĩ rằng tụ điện eBay của bạn thực sự là 1,5F ở mức 5,5V, thì bạn vẫn sẽ cần đặt nhiều bộ nối tiếp và song song để có được điện dung cần thiết.
W5VO

@ W5VO có cách nào dễ dàng để tôi kiểm tra điện dung không?
feedc0de

2

Lưu ý: câu trả lời sau được viết với giả định rằng chỉ sử dụng thẻ SD của hệ thống tệp mới có thể bị hỏng. Kể từ đó, rất nhiều bằng chứng đã được đưa ra để cho thấy rằng chính trạng thái bên trong của thẻ SD, dưới mức của bất kỳ hệ thống tập tin nào cũng có nguy cơ bị hỏng do mất điện không đúng lúc, điều mà có thể không thể giải quyết được cấp độ hệ thống tập tin.


Tôi muốn được xem xét một cách tiếp cận hoàn toàn khác, một trong những cách giải quyết vấn đề tại nguồn của nó. Về cơ bản, không có gì sai về cơ bản chỉ bằng cách lấy sức mạnh từ pi; vấn đề có khả năng là trạng thái hệ thống tập tin không được cam kết dẫn đến hỏng hệ thống tệp và lỗi khởi động tiếp theo cho đến khi bạn sửa chữa / tái hình ảnh âm lượng.

Nhưng đây là một cái gì đó có thể được sửa chữa ở phía phần mềm, bằng một số kết hợp:

  • Tạo thêm phân vùng trên thẻ SD và không bao giờ gắn phân vùng khởi động hoặc hệ điều hành ở chế độ có thể ghi. Nếu bạn muốn tiến thêm một bước, đừng bao giờ ghi vào bất cứ thứ gì trên thẻ SD, hãy giữ tất cả dữ liệu có thể thay đổi của bạn trên thẻ USB.

  • Sử dụng một hệ thống tệp nhật ký để lưu trữ dữ liệu thực sự sẽ được sửa đổi trong hoạt động.

  • Đơn giản chỉ cần giữ thẻ dự phòng tiện dụng, tùy chọn đây có thể là một sơ đồ sao lưu và phục hồi tự động từ thẻ được kết nối với quy tắc chỉ có một thẻ có thể được gắn vào bất kỳ lúc nào (kết hợp với quy tắc đầu tiên của hệ điều hành / khởi động phân vùng không bao giờ có thể ghi)

Cuối cùng, câu hỏi về triết lý thiết kế - sự lựa chọn giữa:

A) Một hệ thống tinh vi phải được bảo vệ khỏi mất điện, ít bị tham nhũng

hoặc là

B) Một hệ thống được thiết kế sao cho mất điện đột xuất không thể dẫn đến tham nhũng không thể phục hồi.

Hầu hết các hệ thống nhúng nằm dọc theo dòng (B).


Các phân vùng riêng biệt trên thẻ SD với một số chỉ đọc sẽ không giải quyết được hoàn toàn vấn đề. Việc cân bằng mặc trên thẻ SD có thể phá hủy BẤT K block khối nào trên thẻ (khi nó đổi khối). Việc cân bằng hao mòn này hoàn toàn bị ẩn trong SD và không có cách nào để kiểm soát nó. Trong thực tế, với phân vùng hệ thống tập tin chỉ đọc, nó sẽ có số lần ghi thấp nhất và sẽ là mục tiêu chính cho những gì cần trao đổi khi cân bằng hao mòn.
darron

BTW - Tôi đã đi đến kết luận Thẻ SD không thể thiết kế các giải pháp nhúng mạnh mẽ trừ khi bạn có thể đảm bảo tắt máy sạch. Thông số kỹ thuật thực sự hấp dẫn đối với các trường hợp sử dụng được nhúng ... trong đó có bao nhiêu IS được nhúng, đó là một tình trạng khá đáng buồn.
darron

@darron: Thật đáng buồn, vì có nhiều cách mà các vấn đề có thể tránh được. Ví dụ, thông số kỹ thuật có thể đã chỉ định lệnh "tắt máy" và yêu cầu bất kỳ thiết bị nào cũng phải có thể tự đặt mình vào trạng thái an toàn trong vòng 250ms sau khi nhận được. Tôi nghĩ rằng hầu hết các cài đặt thẻ SD thực tế sẽ không có vấn đề gì với thông số kỹ thuật như vậy ngay cả khi lệnh tắt máy xuất hiện giữa hoạt động "chống phân mảnh nền" sẽ mất vài phút để hoàn thành.
supercat

@darron - cụ thể là do các vấn đề phân vùng chéo như vậy mà tôi đã đề cập đến khả năng không bao giờ ghi vào thẻ SD.
Chris Stratton

Khi tắt đúng cách, XBMC lưu điểm hiện tại trong bài hát / phim đang phát vào đĩa để có thể tiếp tục từ cùng một điểm khi được khởi động lại. Tôi thực sự muốn tránh "Bố, chúng ta đã thấy bit này rồi, bạn có thể kéo qua và nhanh chóng tiến tới nơi mà người đàn ông đó làm việc đó không?"
Nicholas Albion

0

Như những người khác đã chỉ ra, có một vài vấn đề với các mạch được đề xuất cho đến nay, và bạn có thể có một tụ điện đủ lớn để giữ nguồn cung cấp. Nếu bạn sẵn sàng xây dựng một mạch nhỏ, bạn có thể xem xét bộ điều khiển BẬT / TẮT nguồn được điều khiển bằng nút ấn. Để TẮT máy chủ XBMC, bạn có thể nhấn nút báo hiệu Pi tắt, sau đó nó có thể làm những gì cần thiết để tắt máy theo thứ tự sạch, sau đó phát tín hiệu GPIO cho mạch tự tắt nguồn. Điều đó mang lại cho RPi nhiều thời gian cần thiết để thực hiện những việc như tắt thẻ SD một cách an toàn. Mạch không cần phải phức tạp như rơle và hẹn giờ.

Đây là một mạch đơn giản để làm điều đó , chỉ sử dụng một mosfet kép làm bộ điều khiển. Các mạch được mô tả trên trang web.

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.