Mục lục:

Arduino LTC6804 BMS - Phần 2: Bảng cân bằng: 5 bước
Arduino LTC6804 BMS - Phần 2: Bảng cân bằng: 5 bước

Video: Arduino LTC6804 BMS - Phần 2: Bảng cân bằng: 5 bước

Video: Arduino LTC6804 BMS - Phần 2: Bảng cân bằng: 5 bước
Video: Mạch BMS - Quản lý pin ,cân bằng cell - Tự Làm Máy Bay Giống DJI (phần 5) 2024, Tháng mười hai
Anonim
Arduino LTC6804 BMS - Phần 2: Bảng cân bằng
Arduino LTC6804 BMS - Phần 2: Bảng cân bằng

Phần 1 ở đây

Hệ thống quản lý pin (BMS) bao gồm chức năng cảm nhận các thông số quan trọng của gói pin bao gồm điện áp pin, dòng pin, nhiệt độ pin, v.v. Nếu bất kỳ thông số nào trong số này nằm ngoài phạm vi được xác định trước, gói có thể bị ngắt kết nối khỏi tải hoặc bộ sạc của nó, hoặc hành động thích hợp khác có thể được thực hiện. Trong một dự án trước đây (https://www.instructables.com/id/Arduino-LTC6804-Battery-Management-System/), tôi đã thảo luận về thiết kế BMS của mình, dựa trên chip Màn hình pin Multicell Công nghệ tuyến tính LTC6804 và vi điều khiển Arduino. Dự án này mở rộng dự án BMS bằng cách bổ sung cân bằng bộ pin.

Các bộ pin được xây dựng từ các ô riêng lẻ theo cấu hình song song và / hoặc nối tiếp. Ví dụ, một gói 8p12s sẽ được xây dựng bằng cách sử dụng 12 bộ 8 ô kết nối song song được kết nối nối tiếp với nhau. Sẽ có tổng cộng 96 ô trong gói. Để có hiệu suất tốt nhất, tất cả 96 ô phải có các thuộc tính phù hợp chặt chẽ, tuy nhiên, sẽ luôn có một số biến thể giữa các ô. Ví dụ, một số ô có thể có dung lượng thấp hơn các ô khác. Khi gói được sạc, các tế bào có dung lượng thấp hơn sẽ đạt điện áp an toàn tối đa trước phần còn lại của gói. BMS sẽ phát hiện điện áp cao này và ngắt sạc tiếp. Kết quả là phần lớn gói không được sạc đầy khi BMS cắt sạc do điện áp cao hơn của tế bào yếu nhất. Một động lực tương tự có thể xảy ra trong quá trình phóng điện, khi các tế bào dung lượng cao hơn không thể xả hoàn toàn vì BMS ngắt tải khi pin yếu nhất đạt đến giới hạn điện áp thấp. Do đó, gói này chỉ tốt khi pin yếu nhất của nó, giống như một sợi dây chuyền chỉ mạnh bằng mắt xích yếu nhất của nó.

Một giải pháp cho vấn đề này là sử dụng bảng cân bằng. Trong khi có nhiều chiến lược để cân bằng gói, bảng cân bằng 'thụ động' đơn giản nhất được thiết kế để làm giảm một số điện tích của các tế bào điện áp cao nhất khi gói gần được sạc đầy. Trong khi một số năng lượng bị lãng phí, toàn bộ gói có thể lưu trữ nhiều năng lượng hơn. Chảy máu được thực hiện bằng cách tiêu tán một số điện năng thông qua một tổ hợp điện trở / công tắc được điều khiển bởi một bộ vi điều khiển. Hướng dẫn này mô tả một hệ thống cân bằng thụ động tương thích với arduino / LTC6804 BMS từ một dự án trước đó.

Quân nhu

Bạn có thể đặt mua Bảng cân bằng PCB từ PCBWays tại đây:

www.pcbway.com/project/shareproject/Balance_board_for_Arduino_BMS.html

Bước 1: Lý thuyết về hoạt động

Nguyên lý hoạt động
Nguyên lý hoạt động

Trang 62 của biểu dữ liệu LTC6804 thảo luận về cân bằng ô. Có hai lựa chọn: 1) sử dụng MOSFETS kênh N bên trong để tạo dòng chảy từ các ô cao, hoặc 2) sử dụng MOSFETS bên trong để điều khiển các công tắc bên ngoài mang dòng chảy. Tôi sử dụng tùy chọn thứ hai vì tôi có thể thiết kế mạch chảy của riêng mình để xử lý dòng điện cao hơn mức có thể được thực hiện bằng cách sử dụng các công tắc bên trong.

Các MOSFETS bên trong có sẵn thông qua các chân S1-S12 trong khi bản thân các ô được truy cập bằng các chân C0-C12. Hình ảnh trên cho thấy một trong 12 mạch chảy giống hệt nhau. Khi Q1 được bật, dòng điện sẽ chạy từ C1 xuống đất qua R5, làm tiêu tan một phần điện tích trong ô 1. Tôi đã chọn một điện trở 6 Ohm, 1 Watt, có thể xử lý dòng chảy vài miliampe. Có một đèn LED được thêm vào để người dùng có thể thấy các ô nào đang cân bằng tại bất kỳ thời điểm nào.

Các chân S1-S12 được điều khiển bởi CFGR4 và 4 bit đầu tiên của nhóm thanh ghi CFGR5 (xem trang 51 và 53 của biểu dữ liệu LTC6804). Các nhóm thanh ghi này được đặt trong mã Arduino (thảo luận bên dưới) trong hàm balance_cfg.

Bước 2: Sơ đồ

Sơ đồ
Sơ đồ

Sơ đồ cho bảng cân bằng BMS được thiết kế bằng Eagle CAD. Nó khá đơn giản. Có một mạch chảy cho mỗi phân đoạn loạt pin. Các công tắc được điều khiển bởi các tín hiệu từ LTC6804 thông qua tiêu đề JP2. Dòng điện chảy ra từ bộ pin qua tiêu đề JP1. Lưu ý rằng dòng chảy dòng chảy đến phân đoạn gói pin thấp hơn tiếp theo, vì vậy, ví dụ: C9 chảy vào C8, v.v. Biểu tượng lá chắn Arduino Uno được đặt trên giản đồ cho bố cục PCB được mô tả trong Bước 3. Hình ảnh có độ phân giải cao hơn được cung cấp trong tệp zip. Sau đây là danh sách các bộ phận (Vì một lý do nào đó, tính năng tải lên tệp hướng dẫn không hoạt động đối với tôi….)

Bộ phận gói thiết bị giá trị Qty Mô tả

12 LEDCHIPLED_0805 CHIPLED_0805 LED1, LED2, LED3, LED4, LED5, LED6, LED7, LED8, LED9, LED10, LED11, LED12 LED 12 BSS308PEH6327XTSA1 MOSFET-P SOT23-R Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q7, Q9, Q10, Q11, Q12 P-Channel Mosfet 2 PINHD-1X13_BIG 1X13-BIG JP1, JP2 PIN HEADER 12 16 R-US_R2512 R2512 R5, R7, R9, R11, R13, R15, R17, R19, R21, R23, R25, R27 RESISTOR, ký hiệu Mỹ 12 1K R-US_R0805 R0805 R4, R6, R8, R10, R12, R14, R16, R18, R20, R22, R24, R26 RESISTOR, ký hiệu Mỹ 12 200 R-US_R0805 R0805 R1, R2, R3, R28, R29, R30, R31, R32, R33, R34, R35, R36 RESISTOR, ký hiệu Mỹ

Bước 3: Bố cục PCB

Bố cục PCB
Bố cục PCB

Bố cục chủ yếu được xác định bởi thiết kế của hệ thống BMS chính được thảo luận trong một tài liệu hướng dẫn riêng (https://www.instructables.com/id/Arduino-LTC6804-Battery-Management-System/). Các tiêu đề JP1 và JP2 phải khớp với các tiêu đề phù hợp trên BMS. Các Mosfet, điện trở chảy và đèn LED được sắp xếp một cách hợp lý trên lá chắn Arduino Uno. Các tệp Gerber được tạo bằng Eagle CAD và PCB được gửi đến Sierra Circuits để chế tạo.

Tệp đính kèm "Gerbers Balance Board.zip.txt" thực chất là một tệp zip chứa Gerbers. Bạn chỉ có thể xóa phần.txt của tên tệp và sau đó giải nén nó như một tệp zip thông thường.

Gửi cho tôi một tin nhắn nếu bạn muốn mua PCB, tôi có thể vẫn còn một ít.

Bước 4: Lắp ráp PCB

Bảng cân bằng PCB được hàn bằng tay sử dụng trạm hàn kiểm soát nhiệt độ Weller WESD51 với đầu tua vít ETB ET series 0.093 và vật hàn 0,3mm. Mặc dù những mẹo nhỏ hơn có vẻ tốt hơn cho những công việc phức tạp, nhưng chúng không giữ nhiệt và thực sự khiến công việc trở nên khó khăn hơn. Sử dụng bút thông lượng để làm sạch các tấm PCB trước khi hàn. Thuốc hàn 0,3 mm hoạt động tốt cho các bộ phận hàn SMD bằng tay. Đặt một chút thuốc hàn lên một miếng đệm và sau đó đặt bộ phận đó bằng nhíp hoặc dao x-acto và kẹp miếng đệm đó xuống. Miếng đệm còn lại sau đó có thể được hàn mà không cần bộ phận di chuyển. Đảm bảo không làm nóng bộ phận hoặc tấm lót PCB. Bởi vì hầu hết các thành phần đều khá lớn theo tiêu chuẩn SMD, PCB khá dễ lắp ráp.

Bước 5: Mã

Mã số
Mã số

Mã Arduino hoàn chỉnh được cung cấp trong hướng dẫn trước đó được liên kết với bên trên. Ở đây tôi sẽ thu hút sự chú ý của bạn đến phần điều khiển cân bằng ô. Như đã đề cập ở trên, S1-S12 được điều khiển bởi CFGR4 và 4 bit đầu tiên của nhóm thanh ghi CFGR5 trên LTC6804 (xem trang 51 và 53 của biểu dữ liệu LTC6804). Chức năng vòng lặp của mã Arduino phát hiện phân đoạn bộ pin có điện áp cao nhất và đặt số của nó vào ô biếnMax_i. Nếu điện áp của cellMax_i lớn hơn CELL_BALANCE_THRESHOLD_V, mã sẽ gọi hàm balance_cfg (), truyền số của đoạn cao, cellMax_i. Hàm balance_cfg đặt các giá trị của thanh ghi LTC6804 thích hợp. Một cuộc gọi đến LTC6804_wrcfg sau đó ghi các giá trị này vào IC, bật chân S liên kết với cellMax_i.

Đề xuất: