Sam pomiar w przerwaniu nic nie da. Bo zawsze wskaże porównywalny prąd (impulsowy podczas trwania impulsu PWM).
Ten prąd trzeba przeliczać w zależności od wypełnienia PWMa.
I dlatego pytałem jaki chcesz prąd. Średni czy skuteczny.
Jak średni to mnożysz przez wypełnienie PWMa (przeskalowane do zakresu 0...1).
A jak chcesz skuteczny to mnożysz przez wypełnienie PWMa podniesione do kwadratu (też w zakresie 0...1).
Multimetr nie mierzy poprawnie przebiegu prostokątnego chyba ze to zaawansowany miernik . Taki pomiar możesz zrealizować przetwornikiem I/f w którym ilość impulsów jest proporcjonalna do prądu chwilowego . Licząc ilość impulsów w określonym czasie możesz tą wartość przeliczyć na prąd średni . Tomek chyba nie zagłębił się w zasadę działania ładowarek impulsowych np. modelarskich i sposobów ładowania akumulatorów . Jeśli układem zasilającym jest źródło prądowe to po włączeniu tranzystora płynie prąd źródła i tyle . Tu trzeba znać prąd źródła ustalić pwm żeby płynął zadany prąd średni i nie mierzyć go tylko napięcie ogniwa gdy osiągnie ono 4,2V trzeba przełączyć się że źródła prądowego na źródło napięciowe 4,2V i przy takim układzie ze stałym napięciem i bez PWM mierzyć jaki płynie prąd aż osiągnie wartość minimalną i po tym go wyłączyć sygnalizując koniec procesu ładowania . Tak samo w procesie rozładowania mamy obciążenie liniowe (rezystor) w zależności od napięcia źródła przeliczamy tak PWM żeby płynął średni prąd obciążenia zadany przez użytkownika i żeby iloczyn prądu i napięcia nie przekroczył maksymalnej mocy rozpraszanej przez rezystor i ewentualny radiator . W trakcie tego procesu znów mierzymy tylko napięcie i po osiągnięciu minimalnego zmniejszamy pwm starając się je utrzymać jeśli przy minimalnym obciążeniu (mały pwm) napięcie dalej spada kończymy proces rozładowania . Tak po krótce to działa .
Ale w ładowarkach impulsowych na ogniwa nie idzie przebieg PWM. PWM tam jest ale przed filtrem. Tzn. PWM i filtr to po prostu elementy przetwornicy impulsowej (mają też wtedy inne nazwy niż PWM i filtr).
W każdym razie zmniejszając PWM można wtedy zmniejszyć prąd idący do ogniwa, bo filtr ten prąd z PWMa wygładza.
Przy czystym PWMie podczas ładowania ten PWM nie ma sensu, bo ogniwo i tak dostaje impulsy dużego prądu. A więc i tak dostaje po d**ie.
Co innego przy odbiorniku jak tutaj. Bo wtedy ten PWM może być do czegoś potrzebny odbiornikowi.
Generalnie więc trzeba określić po co chcesz mierzyć ten prąd.
@kamyczek Zacznijmy od tego, że moje uwagi dotyczyły pomiaru prądu w prezentowanym przez autora układzie. Oczywiście jeśli to miałaby być ładowarka to należałoby uwzględnić specyfikę użytego typu akumulatora i zapewnić jego ładowanie zgodnie z nią, co może wymagać stworzenia regulowanego źródła prądowego. Ale to zupełnie inna historia. Napisałem autorowi dlaczego jego pomiary są rozbieżne. W pokazanym układzie, tak jak pisze kol. @atom1477, na aku idą impulsy prądowe o szerokości regulowanej przez PWM i natężeniu zależnym od napięcia zasilania i aku, a w ładowaniu aku zupełnie nie o to chodzi...
Tomasz może zacznijmy od tego że bascom nie koniecznie jest najlepszym wyborem do rozbudowanych projektów bo wiele bibliotek działa dobrze "solo" ale nie zawsze z duecie czy trio z innymi . Bascom często wykorzystuje w nich układy zegarowe i to bywa zgubne dla wielu aplikacji . Na bolączkę kolegi jest jedno lekarstwo tablica do przeliczania wyniku ale jak to się będzie miało do realnego prądu czy napięcia nie będę zgadywał . poza tym wyciągnięcie z tablicy wyniku w przeciwieństwie do arytmetyki ułamkowej jest znacznie szybsze i zajmuje może troszkę więcej miejsca .
Pomyślałem, podumałem … i jest tak.
Cały czas problemem było to, że podczas ładowania wyniki pomiaru prądu wyświetlane przez atmegę pokrywały się z miernikiem, a cyrki z pomiarem działy się podczas rozładowania. Podczas ładowania, jeżeli podłączony był akumulator 12V jego maksymalne napięcie podczas ładowania może wynosić 14,4V więc przetwornicę ustawiłem na 15V, więc różnica pomiędzy źródłem a odbiornikiem była niewielka, prąd szczytowy nie był aż taki duży i MOSFET się nie grzał. Przy rozładowanym akumulatorze do 10.8 V i maksymalnym prądzie ładowania 3A moc tracona na Mosfecie wynosi w przybliżeniu (15V-10,8V)*3A=12,6W. Natomiast do rozładowania użyłem żarówki 12V 200W. Gdyby PWM ustawić na 1023 to wtedy prąd wyniósłby 200W : 12V = 16,6A. Moc tracona na Mosfecie wynosiła wtedy właśnie około 200W w szczycie.
Zrobiłem małe doświadczenie. Do zasilacza z regulowanym napięciem wyjściowym podłączyłem moją żarówkę w szeregu z ACS-em i o dziwo prąd który pokazywała atmega pokrywał mi się całkowicie z miernikiem. Maksymalny prąd rozładowania jaki chciałem uzyskać to 3A, więc 14,4V*3A = 43,2W. Zamiast mojej żarówki 200W podłączyłem żarówkę 55W co dało by mi około 3,8A maksymalnie i sprawa się rozwiązała. Przy żarówce 55W wyniki pomiaru prądu wyświetlane przez atmegę pokrywają się z miernikiem i nawet MOSFET przestał się grzać.
Zrobiłem jeszcze jedno doświadczenie. Podłączyłem żarówkę 200W ale ACS założyłem w wersji ACS712-20 – i wtedy też nie było problemu, wyniki się pokrywały ale do moich potrzeb ma zbyt małą rozdzielczość, więc z powrotem założyłem ACS712-05 i mniejsze obciążenie i wszystko gra.
Reasumując moje "wypociny" ACS będzie wskazywał poprawnie jeżeli prąd przez niego przepuszczany nie będzie wyższy niż prąd maksymalny dla wersji ACS-a.
Natomiast do rozładowania użyłem żarówki 12V 200W. Gdyby PWM ustawić na 1023 to wtedy prąd wyniósłby 200W : 12V = 16,6A. Moc tracona na Mosfecie wynosiła wtedy właśnie około 200W w szczycie.
A to dlaczego?
ziguś wrote:
Reasumując moje "wypociny" ACS będzie wskazywał poprawnie jeżeli prąd przez niego przepuszczany nie będzie wyższy niż prąd maksymalny dla wersji ACS-a.
No oczywiście tak. Czyli po prostu wcześniej miałeś prąd średni mały, ale składający się z impulsów wysokiego prądu? Co miernik uśredniał, a układ z ACSem nie bo w ACSie przekraczany był zakres?
Tak mi to wygląda. Poza tym 16A to znaczne przekroczenie. Jak wsadziłem ACS712-20 pomiar prądu był ok. Przy ACS712-05 pokazywało głupoty szczególnie przy niskim PWM. Podmieniłem na inny egzemplarz 05 ale było to samo.
To w takim razie jak wytłumaczysz to że jeżeli w szczycie prąd nie przekracza 5A to pomiary z ACS-a są ok ?
To w takim razie jak wytłumaczysz to że jeżeli w szczycie prąd nie przekracza 5A to pomiary z ACS-a są ok ?
No ale dobra, wyjaśniam.
Chodzi po prostu o zakres tego ACSa na 5A. I nawet nie o jego wewnętrzny czujnik, ale o wyjście napięciowe z niego. Przecież on daje na wyjściu napięcie któro tworzy ze swojego napięcia zasilania. Skoro jest zasilany napięciami 0V i 5V (GND = 0V, VCC = 5V), to najmniej może dać 0V a najwięcej 5V. Skoro jest wyskalowany tak że dla 5A daje już prawie 5V, a dla -5A prawie 0V, to chyba oczywiste że nie pokaże prawidłowo prądów dużo większych (choćby nawet jego wewnętrzny czujnik dał radę taki prąd zmierzyć). Bo przy tej samej skali, dla 16A musiał by na wyjściu dać jakieś 10V. A skąd ma wziąć takie napięcie?
Tylko o to chodzi (albo raczej aż o to).
Wygląda na to że ACS oprócz swoich zalet ma jeszcze jedną "wadę"
Na schemacie poniżej przy PWM=1023 ( czyli tranzystor otwarty w 100% ) nie wymusi większego prądu niż 300mA.
Prąd 1A można wymusić dopiero podając napięcie 4,6V
To nie ma nic wspólnego z układem ASC. Piny IP+ i IP- są zwarte. To po prostu jest jeden kawałem metalu jedynie przechodzący przez wnętrze obudowy SO-8. Rezystancja pomiędzy tymi pinami jest rzędu mΩ. Niemożliwe zatem żeby układ ACS ograniczał tutaj prąd.
Problemem jest pewnie sterowanie tranzystora IRF4905.
On przy napięciu 4V dopiero zacznie się otwierać (4V = 4.2V zasilania - jakiś mały spadek na BC337). Pracuje on tu zatem w zakresie liniowym. Przy 4.9V napięcie na bramce IRF4905 trochę wzrasta (tzn. wartość napięcia względem źródła) więc się on bardziej otwiera. I jest zmiana prądu z 0.3 na 1A.
Tak, zwracam honor, jak ominę ACS i obciążenie podepnę bezpośrednio pod Mosfeta to jest to samo, czyli wygląda na to że Mosfet IRF 4905 zaczyna przepuszczać prąd dopiero jak dostanie na wejście 4,3 V tedy na amperomierzu pojawia się prąd 10mA
Witam , odświeżę temat.
Masz źle zrobione sterowanie MOSFETEM i dlatego się grzeje. Do sterowania IRF4905 potrzebny jest specjalny driver (zrobiony na tranzystorach albo gotowy na scalaku np. TLP250. Temat sterowania mosfetami przy PWM jest szeroko opisywany w necie więc nie będę się dalej rozwodził co i dlaczego. Poza tym napięcie sterowania jest za niskie dla tego tranzystora , wprowadzasz go w zakres pracy liniowej gdzie nie jest w pełni otwarty i wydziela się na nim duży spadek napięcia a co za tym idzie i moc.
Twoje wyliczenia mocy wydzielanej na tranzystorze są błędne, zacytuję:
Przy rozładowanym akumulatorze do 10.8 V i maksymalnym prądzie ładowania 3A moc tracona na Mosfecie wynosi w przybliżeniu (15V-10,8V)*3A=12,6W. Natomiast do rozładowania użyłem żarówki 12V 200W. Gdyby PWM ustawić na 1023 to wtedy prąd wyniósłby 200W : 12V = 16,6A. Moc tracona na Mosfecie wynosiła wtedy właśnie około 200W w szczycie.
Tranzystor IRF 4905 ma R(DS) w trakcie przewodzenia równą 0,02oma co przy prądzie 3A wydzieli na nim spadek napięcia
0,02om*3A=0,18V
0,18V *3A=0,54W
Właśnie taka moc 0,54 wata wydzieli się na tym tranzystorze przy prądzie równym 3 A a przy 16,6 A to będzie 5,51 wat ( do twoich 200w to jeszcze brakuje). Dlatego masz źle zrobione sterowanie mosfetem przy prądzie 3A powinien być zimny. (oczywiście wszystko to przy odpowiednim sterowaniu i napięciu sterowania).
Piszesz też że przy rozładowaniu tranzystor się bardzo mocno grzeje o jakie rozładowanie chodzi? , czy przepuszczasz prąd zwrotnie z aku przez mosfeta do odbiornika? ( jeżeli tak to prąd płynie przez diodę body która jest w strukturze mosfeta i to ona się grzeje).
Wybrałeś tranzystor z kanałem typu P żeby aku wpięty był bezpośredni pod minus (ja też tak kiedyś robiłem) i przy pomiarze nie trzeba wprowadzać dodatkowej korekty spadku napięcia na tranzystorze ( gdyby mosfet był z kanałem typu N to aku wpiete od strony plusa przez tranzystor do minusa).
zajrzyj tu:
http://rysiny.ovh.org/mini/brizo/sterownik_brizo_schemat.pdf
To sterownik wiatraka który może przewodzić ogromne prądy.
Przeanalizuj to rozwiązanie a szczególnie sterowanie mosfetami z kanałem typu N które mają dużo lepsze parametry pracy niż te z kanałem typu P . Gdy zastosujesz dwa mosfety z kanałem typu N to spadek napięcia na nich jest pomijalnie mały (i może wynosić np. 0,04V).
acs 712 przy zerowym prądzie daje na wyjściu 1/2V zasilania. Czyli dla 5V mamy na wy 2.5V.
Ktoś ma jakiś pomysł żeby jak to przeskalować w Atmega? Bo tam mamy pomiar od 0V do Vref.
Czyli nawet dając dzielnik i tak traci się połowę zakresu.
Ktoś ma jakiś pomysł żeby jak to przeskalować w Atmega?
W AVR nie widzę możliwości. Nawet gdyby był AVR, który może mierzyć napięcie różnicowe, to przy takim pomiarze jeden bit określa znak mierzonej wartości, więc traci się połowę zakresu. Musisz dac zewnętrzny wzmacniacz operacyjny i odjąć 1/2V zasilania.