Theo thuật toán khi điện áp của pin nằm trong khoảng từ 3 V đến 4 V thì pin phải được sạc bằng nguồn dòng điện không đổi. Khi hiệu điện thế của acquy đạt đến 4 V thì cần nạp vào nguồn có hiệu điện thế không đổi là 4,2 V.
Trạng thái lý tưởng – Ban đầu, 12V DC được đưa vào mạch sạc và bất kỳ pin nào không được kết nối ở đầu ra. Ở trạng thái này, mạch vẫn ở Trạng thái lý tưởng. Chân tương tự của bộ điều khiển cảm nhận không vôn ở đầu ra và không kích hoạt bất kỳ rơle nào.
Trạng thái dòng điện không đổi – Khi pin được kết nối với mạch có điện áp thực trong khoảng từ 3V đến 4 V, thì bộ vi điều khiển sẽ kích hoạt các bóng bán dẫn Q1 và Q2. Điều này kích hoạt rơle R1 cũng như R2 và pin được kết nối với mạch CC. Pin bây giờ bắt đầu sạc với dòng điện không đổi là 60mA và đèn LED màu trắng được BẬT. Khi điện áp của pin đạt đến 4V thì pin sẽ chuyển sang trạng thái CV.
Trạng thái điện áp không đổi – Khi điện áp pin Li-ion đạt đến 4 V thì bộ vi điều khiển sẽ cảm nhận nó thông qua điện trở kéo xuống và chuyển bóng bán dẫn Q1 TẮT. Điều này khử năng lượng cho rơ le R1 và pin sau đó được kết nối với mạch CV. Mạch này sạc pin với điện áp không đổi là 4,2 V và đèn LED màu xanh lá cây được BẬT. Bộ vi điều khiển liên tục theo dõi dòng sạc hoặc dòng pin ở trạng thái này.
Trạng thái kết thúc – Khi dòng sạc xấp xỉ 10% đến 20% của 60 mA thì pin được cho là đã được sạc đầy. Trong mạch này, dòng điện sạc 10mA được đặt làm điểm TẮT để kết thúc sạc pin. Khi dòng điện của pin nhỏ hơn 10mA thì bộ vi điều khiển sẽ TẮT bóng bán dẫn Q2 và ngắt kích hoạt rơle R2. Thao tác này ngắt kết nối pin khỏi mạch CV và đèn LED Đỏ được BẬT để cho biết rằng pin đã được sạc đầy.
Hướng dẫn lập trình
Arduino Sketch quản lý để cảm nhận điện áp pin và dòng điện của pin và theo đó nó thay đổi trạng thái sạc bằng cách chuyển đổi các rơ le. Trong bản phác thảo Arduino, trước hết, các kết nối mạch được biểu diễn bằng cách xác định các biến cho chúng.
Hình 3: Ảnh chụp màn hình mã Arduino được sử dụng để thay đổi trạng thái sạc
Để cảm nhận điện áp pin, hàm SenseVoltage () được xác định. Trong hàm, điện áp pin được cảm nhận bằng cách sử dụng hàm analogRead () và số đọc kỹ thuật số được trả về dưới dạng float. Để cảm nhận dòng điện của pin, hàm senseCurrent () được xác định. Hàm hoạt động giống như hàm senseVoltage () ngoại trừ chân liên kết có điện trở cảm nhận dòng điện được kết nối với nó.
Hình 4: Ảnh chụp màn hình Mã Arduino được sử dụng để cảm nhận điện áp
Các chân Arduino được đặt làm đầu vào hoặc đầu ra kỹ thuật số bằng cách sử dụng hàm pinMode () trong hàm setup () và các lôgic mặc định được chuyển cho chúng. Hàm setup () chỉ chạy một lần khi bảng được bật nguồn ban đầu.
Hình 5: Ảnh chụp màn hình chức năng thiết lập trong Mã Arduino cho Cơ chế chuyển mạch của Bộ điều chỉnh tuyến tính
Trạng thái sạc của pin được xác định bằng cách sử dụng biến Flag trong mã.
Hình 6: Ảnh chụp màn hình Biến cờ trong Mã Arduino cho Cơ chế chuyển mạch của Bộ điều chỉnh tuyến tính
Theo trạng thái pin, các rơ le được kích hoạt bằng cách thiết lập logic kỹ thuật số tại các chân điều khiển kết nối với các bóng bán dẫn chuyển mạch. Việc thay đổi logic số được thực hiện bởi một câu lệnh switch trong mã có biến Flag là đối số chuyển mạch.
Hình 7: Ảnh chụp màn hình logic kỹ thuật số trong mã Arduino cho cơ chế chuyển mạch của bộ điều chỉnh tuyến tính
Điều này hoàn thành bản phác thảo Arduino. Kiểm tra mã hoàn chỉnh và biên dịch nó sang bảng Arduino để thử nghiệm.
Kiểm tra mạch
Để kiểm tra mạch sạc, nó được sạc bằng pin Li-ion có điện áp danh định 3,7 V. Ban đầu, điện áp của pin (Vbat) được đo là 3,84 V và các quan sát sau đây được ghi nhận khi sạc pin:
Hình 8: Bảng liệt kê các ký tự đầu ra của Bộ sạc pin Li-ion
Từ những quan sát trên, có thể phân tích rằng pin sạc rất chậm. Điều này là do dòng sạc ít hơn (chỉ 60 mA) ở chế độ dòng điện không đổi. Nếu dòng sạc tăng lên thì pin sẽ mất ít thời gian hơn để sạc. Dòng sạc của pin ở chế độ CC có thể được tăng lên theo tiêu chuẩn của pin. Điều này làm giảm thời gian sạc của pin.
Mạch sạc được thiết kế sử dụng bộ điều chỉnh tuyến tính có các tính năng sau:
Bảo vệ ngược cực của pin – Trong mạch, rơle cung cấp cách ly khi pin được kết nối ngược cực.
Bảo vệ dòng ngược – Khi mạch sạc TẮT và pin vẫn được gắn ở đầu ra, thì có thể có một dòng điện ngược từ pin đến mạch sạc. Vì vậy, rơ le R1 cung cấp cách ly và bảo vệ mạch khỏi dòng điện trở lại.
Tự động ngắt sạc – Bộ điều khiển được lập trình để ngắt mạch CV khi điện áp pin đạt đến 4,2 V. Vì vậy, có một kết thúc sạc tự động tránh bất kỳ sự sạc quá mức nào của pin.
Chỉ báo trực quan – Có các đèn LED được giao tiếp trong mạch để chỉ báo trạng thái sạc của pin. Khi pin được sạc từ 50% đến 90% và bộ sạc đang hoạt động ở chế độ dòng điện không đổi, đèn LED trắng sẽ bật. Khi pin được sạc từ 90% trở lên và bộ sạc đang hoạt động ở chế độ điện áp không đổi, đèn LED màu xanh lục sẽ bật. Khi pin được sạc đầy, đèn LED màu đỏ sẽ bật. Tất cả các đèn LED này được bộ điều khiển chuyển đổi tùy thuộc vào điện áp thực của pin mà nó cảm nhận được.
Mạch sạc này thiết kế đơn giản và chỉ cần các linh kiện điện tử cơ bản để lắp ráp. Mã chương trình được sử dụng trên bảng Arduino cũng đơn giản và dễ hiểu. Mặc dù mạch sạc này có một số hạn chế nhất định.
Thời gian sạc của mạch để sạc pin nhiều hơn khi dòng sạc đặt ở chế độ dòng điện không đổi ít hơn. Có thể giảm thời gian sạc bằng cách tăng dòng sạc ở chế độ CC. Để tìm hiểu cách tăng dòng điện sạc ở chế độ CC, hãy xem hướng dẫn trước, trong đó các mạch nguồn điện áp không đổi và dòng điện không đổi được thiết kế. Mạch này đã trở nên khá cồng kềnh do sử dụng rơ le cơ học. Ngoài ra, mạch được thiết kế chỉ hoạt động ở trạng thái dòng điện không đổi và điện áp không đổi. Mạch sạc không hoạt động ở trạng thái sạc nhỏ giọt, nghĩa là để sạc pin khi điện áp thực của nó dưới 3V. Vì vậy, mạch sạc này nên được sử dụng để sạc Pin Li-ion có điện áp trên 3V.
Trong khi lắp ráp mạch, điều quan trọng là phải thực hiện các biện pháp phòng ngừa nhất định. Vì lý do an toàn, pin Li-ion phải luôn được sạc với tốc độ sạc từ 0,5 C đến 0,8 C. Điện áp rơle phải nhỏ hơn điện áp đầu vào được áp dụng để kích hoạt rơle. Các Flyback điốt (D1 và D2) nên được sử dụng trên cả hai rơle để ngăn ngừa các mạch từ bất kỳ trở lại hiện tại. Một điện trở có định mức công suất thích hợp phải được sử dụng cho Rsense nếu không một điện trở có định mức công suất thấp hơn có thể bị hỏng do dòng điện cao. Arduino có thể cảm nhận điện áp tối thiểu là 5 mV. Do đó, điện trở cảm nhận dòng điện phải được chọn một cách khôn ngoan, sao cho điện áp trên nó không giảm xuống dưới 5 mV ở bất kỳ trạng thái sạc nào. Cần phải cẩn thận để các đầu nối đầu ra của mạch sạc không bị đoản mạch. Nếu không, nó sẽ làm cho các cực của pin cũng ngắn và điều này có thể làm pin bùng cháy. Vì vậy, có thể có nguy cơ nghiêm trọng nếu các cực của pin bị đoản mạch ngay cả khi nhầm lẫn. Nếu không, không được có bất kỳ kết nối lỏng lẻo nào trong mạch, không thể có điện áp hoặc điện áp đột ngột ở đầu ra.
Trong khi lắp ráp mạch, điều quan trọng là phải giữ một số biện pháp phòng ngừa đặc biệt trong khi giao tiếp các thành phần với Arduino. Cần đảm bảo rằng mặt sau của bo mạch điều khiển không chạm vào bất kỳ bề mặt kim loại nào vì nó có thể chạy dòng điện nhỏ bên dưới và có thể làm hỏng bo mạch. Điện áp cung cấp cho Arduino UNO không được vượt quá 12V. Vì vậy, một nguồn cung cấp DC được điều chỉnh nên được sử dụng để cấp nguồn cho Arduino vì nó chỉ hoạt động trên nguồn điện một chiều. Vì vậy, ngay cả khi nguồn điện sơ cấp cho mạch sạc là nguồn điện xoay chiều, thì nó phải được hạ xuống bằng biến áp, chỉnh lưu bằng mạch cầu và điều chỉnh bằng IC điều chỉnh điện áp như 7812. Trong khi biên dịch mã, phải chọn đúng bo mạch. trong Arduino IDE.