- Pomiar napięcia poszczególnych ogniw w szeregu akumulatorów
- Obwód różnicowy do pomiaru napięcia poszczególnych ogniw
- Schemat obwodu
- Projektowanie i produkcja PCB przy użyciu Easy EDA
- Obliczanie i zamawianie próbek online
- Testowanie obwodu monitorowania napięcia
- Pomiar napięcia ogniwa litowego za pomocą Arduino
- Programowanie Arduino
- Indywidualny wyświetlacz napięcia komórki działa
Przebieg i wydajność pojazdu elektrycznego zależy od pojemności i wydajności jego zestawu akumulatorów. Za utrzymanie pełnego stanu zdrowia pakietu baterii odpowiada system zarządzania baterią (BMS). BMS to wyrafinowana jednostka w pojeździe elektrycznym, która wykonuje wiele czynności, takich jak monitorowanie komórek, równoważenie ich, a nawet ochrona przed zmianami temperatury. Dowiedzieliśmy się już wystarczająco dużo w tym artykule o systemie zarządzania baterią, więc sprawdź je, jeśli jesteś tutaj nowy.
Aby cokolwiek zrobić, pierwszym krokiem BMS byłoby poznanie aktualnego stanu ogniw w zestawie baterii litowych. Odbywa się to poprzez pomiar napięcia i prądu (czasami również temperatury) ogniw w pakiecie. Tylko przy tych dwóch wartościach BMS może obliczyć SOC lub SOH i przeprowadzić równoważenie ogniwa itp. Zatem pomiar napięcia i prądu ogniwa jest niezbędny dla każdego obwodu BMS, czy to prostego banku mocy, baterii laptopa, czy tak skomplikowanego pakietu jak EV / Baterie słoneczne.
W tym artykule dowiemy się, w jaki sposób możemy zmierzyć napięcie poszczególnych ogniw w ogniwach używanych w zestawie baterii litowych. Na potrzeby tego projektu użyjemy czterech ogniw litowych 18650 połączonych szeregowo, aby utworzyć pakiet baterii i zaprojektujemy prosty obwód wykorzystujący wzmacniacze operacyjne do pomiaru napięć poszczególnych ogniw i wyświetlenie go na ekranie LCD za pomocą Arduino.
Pomiar napięcia poszczególnych ogniw w szeregu akumulatorów
Problem z pomiarem napięcia poszczególnych ogniw w zestawie akumulatorów połączonych szeregowo polega na tym, że punkt odniesienia pozostaje ten sam. Poniższy obrazek ilustruje to samo
Dla uproszczenia załóżmy, że wszystkie cztery ogniwa mają napięcie 4V, jak pokazano powyżej. Teraz, jeśli używamy mikrokontrolera Arduino jak zmierzyć napięcie ogniwa, nie będziemy mieli problemu z pomiarem napięcia 1 st komórce ponieważ ma drugi koniec połączony z masą. Ale w przypadku innych ogniw musimy zmierzyć napięcie tego ogniwa razem z poprzednimi ogniwami, na przykład kiedy mierzymy napięcie czwartego ogniwa, będziemy mierzyć napięcie wszystkich czterech ogniw razem. Dzieje się tak, ponieważ punktu odniesienia nie można zmienić od podłoża.
Musimy więc wprowadzić tutaj dodatkowy obwód, który pomógłby nam zmierzyć poszczególne napięcia. W prymitywny sposób należy użyć dzielnika potencjału do zmapowania poziomów napięcia, a następnie je zmierzyć, ale ta metoda zmniejszy rozdzielczość odczytanej wartości do więcej niż 0,1 V. Dlatego w tym samouczku użyjemy obwodu różnicowego wzmacniacza operacyjnego do pomiaru różnicy między zaciskami każdej komórki w celu pomiaru indywidualnego napięcia.
Obwód różnicowy do pomiaru napięcia poszczególnych ogniw
Znamy już wzmacniacz operacyjny pracujący jako wzmacniacz różnicowy, który podaje różnicę między dwoma wartościami napięcia dostarczonymi na jego styk odwracający i nieodwracający. Tak więc w celu pomiaru napięć 4 ogniw potrzebujemy trzech różnicowych wzmacniaczy operacyjnych, jak pokazano poniżej.
Zauważ, że ten obraz służy tylko do przedstawienia; rzeczywisty obwód wymaga więcej komponentów i zostanie omówiony w dalszej części tego artykułu. Pierwsze środki O1 wzmacniacz operacyjny napięcie 2 II komórek, przez obliczenie różnicy pomiędzy 2 nd terminalem komórkowym i 1 ul gniazda komórek, którym jest (8-4). Podobnie wzmacniacz operacyjny O2 i O3 mierzy 3 III i 4 p napięcie ogniwa odpowiednio. Nie stosować op-amp do 1 st celi, ponieważ może to być mierzone bezpośrednio.
Schemat obwodu
Pełny schemat obwodu do monitorowania napięcia wielu komórek w zestawie baterii litowych jest podany poniżej. Obwód został zaprojektowany przy użyciu EasyEDA i użyjemy go również do wyprodukowania naszej płytki drukowanej.
Jak widać, mamy w naszym obwodzie dwa wysokonapięciowe wzmacniacze operacyjne typu Rail to Rail OPA4197 w pakiecie Quad, oba zasilane przez całkowite napięcie pakietu. Jeden układ scalony (U1) jest używany jako obwód buforowy zwany wtórnikiem napięcia, podczas gdy drugi układ scalony (U2) jest używany do tworzenia obwodu wzmacniacza różnicowego. Wymagany jest obwód buforowy, aby zapobiec indywidualnemu ładowaniu któregokolwiek z ogniw, co oznacza, że żaden prąd nie powinien być pobierany z pojedynczej komórki, a jedynie tworzyć pakiet jako całość. Ponieważ obwód buforowy ma bardzo wysoką impedancję wejściową, możemy odczytać napięcie z ogniwa bez pobierania z niego mocy.
Wszystkie cztery wzmacniacze operacyjne w układzie scalonym U1 są używane odpowiednio do buforowania napięcia czterech ogniw. Napięcia wejściowe z ogniw są oznaczone od B1 + do B4 +, a buforowane napięcie wyjściowe jest oznaczone od B1_Out do B4_Out. To zbuforowane napięcie jest następnie przesyłane do wzmacniacza różnicowego w celu pomiaru napięcia poszczególnych ogniw, jak omówiono powyżej. Wartość wszystkich rezystorów jest ustawiona na 1K, ponieważ wzmocnienie wzmacniacza różnicowego jest ustawione na jedność. Możesz użyć dowolnej wartości rezystora, ale wszystkie powinny mieć tę samą wartość, z wyjątkiem rezystorów R13 i R14. Te dwa rezystory tworzą dzielnik potencjału do pomiaru napięcia pakietu baterii, dzięki czemu możemy je porównać z sumą zmierzonych napięć ogniw.
Rail to Rail, wzmacniacz operacyjny wysokiego napięcia
Powyższy obwód wymaga użycia wzmacniacza operacyjnego wysokiego napięcia Rail to Rail, takiego jak OPA4197, z dwóch powodów. Oba układy scalone wzmacniacza operacyjnego działają z napięciem pakietu, które wynosi maksymalnie (4,3 * 4) 17,2 V, stąd wzmacniacz operacyjny powinien być w stanie obsługiwać wysokie napięcia. Ponadto, ponieważ używamy obwodu bufora, wyjście bufora powinna być równa pakować napięcia do 4 -tego terminalu komórek, czyli napięcie wyjściowe powinno być równe napięciu roboczym op-amp stąd musimy użyć szyny do Wzmacniacz operacyjny kolei
Jeśli nie możesz znaleźć wzmacniacza operacyjnego szyny do szyny, możesz zastąpić układ scalony prostym LM324. Ten układ scalony może obsługiwać wysokie napięcie, ale nie może działać jako szyna do szyny, więc musisz użyć rezystora podciągającego o wartości 10 k na pierwszym pinie układu scalonego wzmacniacza operacyjnego U1.
Projektowanie i produkcja PCB przy użyciu Easy EDA
Teraz, gdy nasz obwód jest gotowy, nadszedł czas, aby go wyprodukować. Ponieważ wzmacniacz operacyjny, którego używam, jest dostępny tylko w pakiecie SMD, musiałem wykonać płytkę drukowaną dla mojego obwodu. Tak więc, jak zawsze, użyliśmy internetowego narzędzia EDA o nazwie EasyEDA, aby wykonać naszą płytkę drukowaną, ponieważ jest bardzo wygodny w użyciu, ponieważ ma dobrą kolekcję śladów i jest open-source.
Po zaprojektowaniu PCB możemy zamówić próbki PCB przez ich tanie usługi wytwarzania PCB. Oferują również usługi zaopatrzenia w komponenty, w przypadku których mają duże zapasy komponentów elektronicznych, a użytkownicy mogą zamówić wymagane komponenty wraz z zamówieniem PCB.
Projektując obwody i płytki drukowane, możesz również upublicznić swoje projekty obwodów i płytek drukowanych, aby inni użytkownicy mogli je kopiować lub edytować i mogli czerpać korzyści z Twojej pracy, upubliczniliśmy również nasze całe układy obwodów i PCB dla tego obwodu, sprawdź poniższy link:
easyeda.com/CircuitDigest/Multicell-Voltage-measuring-for-BMS
Możesz wyświetlić dowolną warstwę (górną, dolną, topową, dolną itp.) PCB, wybierając warstwę z okna „Warstwy”. Niedawno wprowadzili również opcję widoku 3D, dzięki czemu można również zobaczyć PCB mierzącą napięcie Multicell, jak będzie wyglądać po wytworzeniu za pomocą przycisku Widok 3D w EasyEDA:
Obliczanie i zamawianie próbek online
Po zakończeniu projektowania tego obwodu pomiaru napięcia ogniwa litowego można zamówić płytkę drukowaną za pośrednictwem witryny JLCPCB.com. Aby zamówić PCB w JLCPCB, potrzebujesz Gerber File. Aby pobrać pliki Gerber ze swojej płytki PCB, po prostu kliknij przycisk Generuj plik produkcyjny na stronie edytora EasyEDA, a następnie pobierz plik Gerber stamtąd lub kliknij Zamów w JLCPCB, jak pokazano na poniższym obrazku. Spowoduje to przekierowanie do JLCPCB.com, gdzie możesz wybrać liczbę PCB, które chcesz zamówić, ile warstw miedzi potrzebujesz, grubość PCB, wagę miedzi, a nawet kolor PCB, tak jak pokazano poniżej:
Po kliknięciu przycisku zamówienia na JLCPCB, przeniesie Cię na stronę JLCPCB, gdzie możesz zamówić dowolną kolorową płytkę drukowaną w bardzo niskiej cenie, która wynosi 2 $ za wszystkie kolory. Ich czas budowy jest również znacznie krótszy, czyli 48 godzin przy dostawie DHL w ciągu 3-5 dni, w zasadzie PCB otrzymasz w ciągu tygodnia od zamówienia. Co więcej, oferują również 20 USD zniżki na wysyłkę pierwszego zamówienia.
Po zamówieniu PCB możesz sprawdzić postęp produkcji swojej PCB wraz z datą i godziną. Możesz to sprawdzić wchodząc na stronę Konta i klikając link „Postęp produkcji” pod PCB, jak pokazano na poniższym obrazku.
Po kilku dniach zamawiania PCB otrzymałem próbki PCB w ładnym opakowaniu, jak pokazano na poniższych zdjęciach.
Po upewnieniu się, że ślady i ślady są prawidłowe. Przystąpiłem do montażu PCB, użyłem żeńskich nagłówków do umieszczenia Arduino Nano i LCD, aby móc je później usunąć, jeśli będę ich potrzebować do innych projektów. Całkowicie wlutowana płytka wygląda jak poniżej
Testowanie obwodu monitorowania napięcia
Po przylutowaniu wszystkich elementów wystarczy podłączyć akumulator do złącza H1 na płytce. Użyłem kabli połączeniowych, aby upewnić się, że w przyszłości nie zmienię połączenia przez przypadek. Należy bardzo uważać, aby nie podłączać go w niewłaściwy sposób, ponieważ może to doprowadzić do zwarcia i spowodować trwałe uszkodzenie baterii lub obwodu. Moja płytka drukowana z akumulatorem, którego użyłem do testów, jest pokazana poniżej.
Teraz użyj multimetru na terminalu H2, aby zmierzyć poszczególne napięcia sprzedaży. Zacisk jest oznaczony numerami w celu identyfikacji mierzonego napięcia ogniwa. Tutaj możemy stwierdzić, że obwód działa. Ale żeby było ciekawiej, podłączmy LCD i użyj Arduino do pomiaru tych wartości napięcia i wyświetlmy je na ekranie LCD.
Pomiar napięcia ogniwa litowego za pomocą Arduino
Schemat podłączenia Arduino do naszej płytki drukowanej pokazano poniżej. Pokazuje, jak podłączyć Arduino Nano do LCD.
Pin nagłówka H2 na PCB powinien być podłączony do pinów analogowych płyty Arduino, jak pokazano powyżej. Piny analogowe od A1 do A4 są używane odpowiednio do pomiaru napięć czterech komórek, podczas gdy styk A0 jest podłączony do styku v 'złącza P1. Ten pin v 'może być użyty do pomiaru całkowitego napięcia pakietu. Mamy również podłączony 1 st pin P1 do kołka Vin z Arduino i 3 rd pin P1 o bolca uziemienia Arduino do zasilania Arduino z akumulatora.
Możemy napisać program do pomiaru wszystkich czterech napięć ogniw i napięcia pakietu akumulatora i wyświetlić go na wyświetlaczu LCD. Aby było ciekawiej, dodałem również wszystkie cztery napięcia ogniw i porównałem wartość ze zmierzonym napięciem pakietu, aby sprawdzić, jak blisko faktycznie mierzymy napięcie.
Programowanie Arduino
Pełen program można znaleźć na końcu tej strony. Program jest dość prosty, po prostu używamy funkcji odczytu analogowego, aby odczytać napięcia ogniwa za pomocą modułu ADC i wyświetlić obliczoną wartość napięcia na wyświetlaczu LCD za pomocą biblioteki LCD.
float Cell_1 = analogRead (A1) * (5.0 / 1023.0); // Zmierz napięcie pierwszego ogniwa lcd.print ("C1:"); lcd.print (Cell_1);
W powyższym fragmencie zmierzyliśmy napięcie komórki 1 i pomnożyliśmy je przez 5/1023, aby przekonwertować wartość 0 do 1023 ADC na rzeczywiste 0 do 5V. Następnie wyświetlamy obliczoną wartość napięcia na wyświetlaczu LCD. Podobnie robimy to dla wszystkich czterech ogniw i całego zestawu baterii. Wykorzystaliśmy również zmienne napięcie całkowite, aby zsumować wszystkie napięcia ogniw i wyświetlić je na wyświetlaczu LCD, jak pokazano poniżej.
float Total_Voltage = Cell_1 + Cell_2 + Cell_3 + Cell_4; // Dodaj wszystkie cztery zmierzone wartości napięcia lcd.print ("Total:"); lcd.print (Total_Voltage);
Indywidualny wyświetlacz napięcia komórki działa
Gdy będziesz gotowy z obwodem i kodem, prześlij kod na płytkę Arduino i podłącz power bank do PCB. Wyświetlacz LCD powinien teraz wyświetlać indywidualne napięcie wszystkich czterech ogniw, jak pokazano poniżej.
Jak widać, napięcie wyświetlane dla ogniw od 1 do 4 wynosi odpowiednio 3,78 V, 3,78 V, 3,82 V i 3,84 V. Więc użyłem multimetru do sprawdzenia rzeczywistego napięcia tych ogniw, które okazało się nieco inne, różnica jest zestawiona poniżej.
Zmierzone napięcie |
Rzeczywiste napięcie |
3,78V |
3,78V |
3,78V |
3,78V |
3,82V |
3,81V |
3,84V |
3,82V |
Jak widać, otrzymaliśmy dokładne wyniki dla ogniw 1 i 2, ale występuje błąd nawet 200mV dla ogniw 3 i 4. Jest to najbardziej prawdopodobne w naszym projekcie. Ponieważ używamy obwodu różnicującego wzmacniacza operacyjnego, dokładność mierzonego napięcia będzie maleć wraz ze wzrostem liczby ogniw.
Ale ten błąd jest błędem naprawionym i można go poprawić w programie, pobierając przykładowe odczyty i dodając mnożnik w celu skorygowania błędu. Na następnym ekranie LCD można również zobaczyć sumę zmierzonego napięcia i rzeczywistego napięcia pakietu, które zostało zmierzone przez dzielnik potencjału. To samo pokazano poniżej.
Suma zmierzonych napięć wynosi 15,21 V, a rzeczywiste napięcie zmierzone przez pin A0 Arduino okazuje się wynosić 15,22 V. Zatem różnica wynosi 100 mV, co nie jest złe. Chociaż ten typ obwodu może być używany do mniejszej liczby osadów, takich jak w bankach energii lub bateriach do laptopów. BMS pojazdu elektrycznego wykorzystuje specjalne układy scalone, takie jak LTC2943, ponieważ nawet błąd 100mV nie jest tolerowany. Niemniej jednak nauczyliśmy się, jak to zrobić w przypadku małych obwodów, w których ogranicza się cena.
Kompletny roboczy konfiguracji można znaleźć na filmie połączonego poniżej. Mam nadzieję, że projekt Ci się podobał i nauczyłeś się czegoś pożytecznego. Jeśli masz jakieś pytania, zostaw je w sekcji komentarzy lub skorzystaj z forów, aby uzyskać szybsze odpowiedzi.