Elektroda.pl
Elektroda.pl
X
CControls
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[Rozwiązano] Mierzenie poboru prądu przy sporym napięciu

kacpo1 14 Kwi 2018 13:21 747 27
  • #1 14 Kwi 2018 13:21
    kacpo1
    Poziom 29  

    Witam.

    Potrzebuję za pomocą Arduino mierzyć, z jak największą dokładnością, prąd jaki pobiera odbiornik, przy napięciu 1V-30V i prądzie 0-10A, mocy max 100W. Dodatkowo - prąd chcę mierzyć z przetwornicy która ma regulowane źródło prądowe i szukam sposobu na sprawdzanie na jaki maksymalny prąd jest ustawiona przetwornica - jakieś pomysły?

    0 27
  • CControls
  • #2 14 Kwi 2018 14:01
    pawel1029384756
    Poziom 20  

    Proponuje zastosować coś takiego:
    Czujnik natężenia prądu +15A -15A ACS711EX
    http://allegro.pl/czujnik-natezenia-pradu-15a-15a-acs711ex-fv-pl-i7270071990.html

    Chyba łatwiej się nie da, a tańsze takie moduły też widywałem. Wykorzystuje efekt Halla, więc pomiarem nie wypływamy na wartość płynącego prądu.

    0
  • CControls
  • #6 14 Kwi 2018 14:30
    pawel1029384756
    Poziom 20  

    Można by odczytywać napięcie na którymś z pinów potencjometru cc. Ale tutaj polecam mając fizycznie tę przetwornice pomierzyć, na którym pinie zmienia się napięcie podczas zmiany ustawień potencjometru i to napięcie odczytywać przetwornikiem przez jakiś dzielnik napięcie. Ale nie gwarantuje, że taka metoda się uda.

    0
  • #8 14 Kwi 2018 18:15
    NoweMillennium
    Poziom 17  

    pawel1029384756 napisał:
    Proponuje zastosować coś takiego:
    Czujnik natężenia prądu +15A -15A ACS711EX

    W tych czujnikach, zerowy prąd, to połowa napięcia odniesienia. Prąd dodatni wzrost, ujemny to spadek. Wszystko fajnie ale ta połowa napięcia vref pływa. Trzeba to brac pod uwagę. Rozpatrzyłbym tradycyjny sposób z bocznikiem 0,01R od masy lub lepiej al trudniejsza realizacja, od zasilania.

    kacpo1 napisał:
    Tylko to by było dosyć niedokładne. Bo nie mam faktycznego maksymalnego prądu, tylko mogę zgadywać ile on wynosi.

    Nie zgadywać, bo zakres regulacji obejmuje prądy np 0..10A. Odczytując napięcie wiadomo jak jest ustawione ograniczenie. Ale może nie byc łatwo. Regulacja może nie być liniowa a potencjometr włączony w np sprzężenie zwrotne wzmacniacza eperacyjnego. Tu potrzebny byłby schemat.

    0
  • #9 14 Kwi 2018 18:22
    kacpo1
    Poziom 29  

    NoweMillennium napisał:
    Rozpatrzyłbym tradycyjny sposób z bocznikiem 0,01R


    Bardziej przemawia do mnie ten układ ACS711EX

    NoweMillennium napisał:
    Tu potrzebny byłby schemat.


    Nie znalazłem informacji o oznaczeniu, symbolu przetwornicy, więc dopóki nie będę posiadał jej fizycznie, nic w tym temacie nie zrobię.

    0
  • #10 14 Kwi 2018 18:49
    danthe
    Poziom 29  

    Witam.
    Rozważmy możliwości:

    1 - Rezystor pomiarowy w masie; prosty układ, 0,1 oma da 1V spadku napięcia, co przy 1,1V Vref przetwornika ADC Atmegi da praktycznie pełny zakres pomiaru, z dokładnością 1/1024 , wada - przy prądzie 10A mamy o 1V niższe napięcie na obciążeniu.

    2- Jak w punkcie 1, tylko rezystor pomiarowy 0,01 oma oraz wzmacniacz operacyjny o wzmocnieniu x10. Obniżamy spadek napięcia do 0,1V, ale dochodzą problemy z nieliniowością wzmacniacza (szczególnie przy niskich prądach).

    3 - ACS71x - niski spadek napięcia, izolacja galwaniczna od obwodu mierzonego, wady - spadek dokładności pomiaru o połowę, napięcie na wyjściu czujnika równe 1/2 napięcia zasilania czujnika. Aby uniknąć "pływania" zera, Vref przetwornika należało by podłączyć do końcówki zasilania czujnika.

    Można by oczywiście kombinować z połączeniem ACS'a ze wzmacniaczami operacyjnymi w celu przesunięcia "zera" czujnika w dół, ewentualnie w celu zwiększenia dokładności zastosować zewnętrzny przetwornik A/D o większej rozdzielczości.

    Pomiar prądu zwarcia da się wykonać poprzez zwarcie na chwilę wyjścia zasilacza za pomocą np. tranzystora MOS.

    0
  • #11 14 Kwi 2018 18:59
    kacpo1
    Poziom 29  

    1 opcja brzmi zachęcająco, sądzę, że przy 10A nie będzie problemu, bo założyłem temat w Arduino i o nim pisałem, ale ze względu na podobieństwo ( w programowaniu ) i przewagę, użyję STM32, ADC 12-bit
    więc spora dokładność. Tylko zastanawia mnie jak podpiąć taki rezystor i mierzyć spadek na nim, można jakiś schemat podłączenia?

    danthe napisał:
    Pomiar prądu zwarcia da się wykonać poprzez zwarcie na chwilę wyjścia zasilacza za pomocą np. tranzystora MOS.


    Trochę uciążliwe jeśli chcę zmienić maksymalny prąd np. w czasie gdy do zasilacza jest podpięty jakiś układ. Nie da się tego zrobić jakoś inaczej?

    0
  • #12 14 Kwi 2018 20:08
    NoweMillennium
    Poziom 17  

    kacpo1 napisał:
    1 opcja brzmi zachęcająco, sądzę, że przy 10A nie będzie problemu

    Spadek 1V przy 10A to 10W - niezła grzałka. Gdy rezystor bedzie miał 0,1R moc wyniesie??? W multimetrach używa się 0,05 a często i 0,01R.
    Spadek 1V przy 3,3V to 30% napięcia zasilającego!

    danthe napisał:
    Jak w punkcie 1, tylko rezystor pomiarowy 0,01 oma oraz wzmacniacz operacyjny o wzmocnieniu x10. Obniżamy spadek napięcia do 0,1V, ale dochodzą problemy z nieliniowością wzmacniacza (szczególnie przy niskich prądach).

    Jakieś dane z katalogu? Gdzie ta nieliniowość przy poprawnej konstrukcji?

    kacpo1 napisał:
    Trochę uciążliwe jeśli chcę zmienić maksymalny prąd np. w czasie gdy do zasilacza jest podpięty jakiś układ. Nie da się tego zrobić jakoś inaczej?

    Niby jak? Jedyna sensowna metoda to zbadanie na jaki prąd ustawiono ograniczenie. Inne metody, jak z tranzystorem obciążającym nie będą łatwe w realizacji. Efektem działania ograniczenia może być obniżenie napięcia wyjściowego albo wyłączenie zasilacza i jego późniejsze próbkowanie jak to często jest w zasilaczach od PC.

    Czemu ma służyć określenie tego na jaki prąd ustawiono zasilacz? Jeśli ma z tego powstać zasilacz laboratoryjny to raczej nie tędy droga.


    PS
    Aby wzmocnić napięcie nie trzeba trzeba dawać zewnętrznego wzmacniacza, wiele AVR ma wbudowany wzmacniacz.

    0
  • #13 15 Kwi 2018 02:11
    kacpo1
    Poziom 29  

    Dobra, czyli zastosować rezystor 0.05Ohm 5W szeregowo + dzielnik napięcia z 12V na 5V i na podstawie różnicy napięć przed i za rezystorem, wyliczać prąd, tak? Użyję STM32 z ADC 12-bit, czyli rozdzielczość 1.2mV

    0
  • #14 15 Kwi 2018 04:48
    rb401
    Poziom 33  

    kacpo1 napisał:
    z jak największą dokładnością, prąd jaki pobiera odbiornik, przy napięciu 1V-30V i prądzie 0-10A


    Najdokładniejszym a przy tym bardzo prostym rozwiązaniem pod Twoje wymagania jest chyba użycie kostki INA226 (podobnej jak pospolita INA219 ale na wyższe napięcie) gdzie jest wbudowany ADC 16bit.
    I wtedy nie ważne czy Arduino czy STM bo masz i tak dokładniej, i lepiej, więcej informacji np. moc. Żadnych problemów z masami, dobieraniem dzielników itp. .
    Tu jest szerzej o tej kości:

    http://www.jarzebski.pl/arduino/czujniki-i-sensory/cyfrowy-czujnik-pradu-mocy-ina226.html

    Jak pobieżnie się rozglądnąłem to mogą być niestety problemy ja dostać u nas na szybko (pomimo że to raczej tania rzecz).
    Ale jeśli można chwilę poczekać, to na Aliexpress są bardzo tanie gotowe moduliki z tą kością (ceny już rzędu $1.5) jak i same kostki. Bocznik w razie potrzeby na tych modulikach można wymienić albo wywalić i dać zewnętrzny.

    Mierzenie poboru prądu przy sporym napięciu

    Biblioteki i przykłady do INA226 są n.p. dla Arduino i mbed, tak że od tej strony nie ma problemu.

    0
  • #15 15 Kwi 2018 10:15
    3149400
    Użytkownik usunął konto  
  • #16 15 Kwi 2018 17:09
    kacpo1
    Poziom 29  

    Tylko czy opłaca się stosować ten 16-bit ADC do sposobu do wzmacniaczem? Tam gdzie jest na wyjściu 0V-1V, to przy Vref arduino na 1.1V, mam rozdzielczość 1mV. Tylko mam pytanie, tak jak do rysunku R jest podany wzór na prąd płynący przez obciążenie, tak do rysunku S (ciekawszego dla mnie) już go nie widzę.

    0
  • #17 15 Kwi 2018 17:31
    3149400
    Użytkownik usunął konto  
  • #18 15 Kwi 2018 18:29
    kacpo1
    Poziom 29  

    W nocie katalogowej jest ten przykład, lecz bez wzoru na prąd obciążenia. Więc chyba zrobię ten drugi układ. Nie pasuje mi tylko to, że minimalne napięcie to 3V...

    Bardzo zainteresował mnie ten układ - Mierzenie poboru prądu przy sporym napięciu

    Czyli ze wzoru który jest podany, wynika - I = Rsense(1+R5/R4) : Vout

    I chcę użyć rezystora 0.01Ohm, ze względu na to, że moc wydzielana na nim, będzie 10x mniejsza.

    Z tego wynika, że przy 10A, na wyjściu będzie 5.1V, tak?

    I przy okazji - żeby dowiedzieć się na jaki maksymalny prąd ustawiona jest przetwornica, wystarczy zewrzeć miejsce gdzie ma być obciążenie?

    0
  • #20 16 Kwi 2018 09:32
    3149400
    Użytkownik usunął konto  
  • #21 16 Kwi 2018 13:34
    krzysiek_krm
    Poziom 34  

    Witam,
    jak już napisano, najlepszym sposobem będzie użycie układu pod tytułem "high side current sensor amplifier / converter". Wielu producentów oferuje gotowe maleńkie i raczej niedrogie układy.

    pawlik118 napisał:
    lub wzmacniacz różnicowy i pomiar "high side"

    W tej aplikacji robiony "na piechotę" wzmacniacz różnicowy to jest dość słaby pomysł. Żeby uzyskać przyzwoite tłumienie sygnału wspólnego trzeba użyć oporników o bardzo wyśrubowanych tolerancjach, albo są niedostępne, albo kosztują bajońskie sumy.
    kacpo1 napisał:
    I przy okazji - żeby dowiedzieć się na jaki maksymalny prąd ustawiona jest przetwornica, wystarczy zewrzeć miejsce gdzie ma być obciążenie?

    Może wykonaj sobie po prostu kalibrację układu, która powiąże jakoś mierzalną nastawę (na przykład potencjometr) z rzeczywistym prądem wyjściowym.

    Pozdrawiam

    0
  • #22 16 Kwi 2018 15:40
    pawlik118
    Poziom 25  

    Wszystko zależy od tego jakiej kosmicznej dokładności potrzebujemy. Większość systemów można łatwo kalibrować z poziomu programu. Wydaje mi się, że autor potrzebuje coś raczej prostego niż dokładnego.

    0
  • #24 16 Kwi 2018 21:02
    pawlik118
    Poziom 25  

    dla uzyskania rozdzielczości 1mA w zakresie do 10A potrzebujesz przetwornika minimum 14bit, a takiego w Arduino (Atmega) nie ma. Można ew. zastosować oversampling / uśrednianie aby uzyskać pseudo rozdzielczość, z dokładnością będzie trudno.

    0
  • #25 16 Kwi 2018 21:17
    3149400
    Użytkownik usunął konto  
  • #26 16 Kwi 2018 23:26
    rb401
    Poziom 33  

    kacpo1 napisał:
    Chcę aby w obu przypadkach (mierzenie pobieranego prądu, i tego na jaki prąd jest ustawiona przetwornica) dokładność była rzędu 0.01A/0.001A.


    Przyjrzyj się jednak bliżej tej INA226, którą zasygnalizowałem Ci wyżej.
    Dokładność 0,1% pomiaru napięcia i prądu. Rozdzielczość 16bit czyli dla zakresu +-10A teoretyczna rozdzielczość 0,3mA. Rozdzielczość pomiaru napięcia 1,25mV, w zakresie (fabrycznie skalibrowanym) 0 - 40V.
    A przy tym układowo praktycznie gotowiec (poza ewentualnie dobraniem bocznika na swój wymagany zakres).
    Nawet mając samą kostkę a nie modulik, trywialnie łatwy w zastosowaniu.

    Obawiam się że "na piechotę" tak dobrych parametrów nie uzyskasz (już choćby z powodu "małej" rozdzielczości ADC w Arduino czy STM) a tylko niepotrzebnie się narobisz. A to tylko parę złotych.

    0
  • #27 18 Kwi 2018 00:18
    NoweMillennium
    Poziom 17  

    Patrząc na cenę INA226 a cenę precyzyjnego AC np TC500, już wygrywa INa226. Tak samo cena LT1637, która jest dwa razy wyższa niż INA226. Kosztowo, najtaniej wyjdzie TL072 + tranzystor ale rozdzielczość tylko 12-bit.

    0