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

Pomiar prądu z użyciem czujnika ACS712

Kubald 16 Sie 2012 20:15 29559 25
  • Pomiar prądu z użyciem czujnika ACS712

    Wykrywanie i kontrola przepływu prądu jest podstawowym zadaniem w przypadku wielu urządzeń, takich jak zabezpieczenia nadprądowe, ładowarki baterii, zasilacze impulsowe, watomierze czy programowalne źródła prądowe. Jedna z najprostszych metod pomiaru prądu to umieszczenie rezystora o niewielkim oporze (tzw. bocznika) pomiędzy obciążeniem a masą i pomiar spadku napięcia, które jest proporcjonalne do płynącego prądu. O ile technika ta jest prosta i łatwa w wykonaniu, nie zawsze cechuje się odpowiednią precyzją, ponieważ wartość oporu bocznika zmienia się z temperaturą – niestałość wynika z generowania ciepła Joule’a. Ponadto, sposób ten nie zapewnia izolacji galwanicznej pomiędzy obciążeniem a układem mierzącym prąd, co byłoby wskazane w przypadku wysokonapięciowych obwodów. Dlatego poniższa dyskusja będzie dotyczyła czujnika Allegro ACS712, który jest niedrogim i dokładnym czujnikiem opierającym się o efekt Halla i pozwalającym mierzyć prądy stałe i zmienne.

    Układ ACS712 wykorzystuje efekt odkryty w 1879 r. przez dr. Edwina Halla. Zjawisko ilustruje poniższy rysunek – cienki element półprzewodnikowy przewodzi prąd I i jest umieszczony w polu magnetycznym B prostopadłym do kierunku przewodzenia prądu. Ze względu na obecność siły Lorentza, rozkład prądu w półprzewodniku przestaje być jednolity i na jego krańcach pojawia się różnica potencjałów, prostopadła zarówno do kierunku przepływu prądu jak i pola magnetycznego. Ta różnica potencjałów nazywana jest napięciem Halla i wynosi zwykle kilka mikrowoltów. Napięcie Halla jest wprost proporcjonalne do natężenia prądu i pola magnetycznego, więc jeśli jeden z tych parametrów jest znany (I lub B), napięcie Halla może być wykorzystane do wyliczenia drugiego z nich.

    Pomiar prądu z użyciem czujnika ACS712

    Czujnik ACS712 dostarczany jest w niewielkiej, montowanej powierzchniowo obudowie SOIC8. Składa się z dokładnego liniowego czujnika Halla o niskim offsecie oraz miedzianego przewodnika umieszczonego tuż nad płaszczyzną półprzewodnika. Kiedy prąd przepływa przez miedziany przewodnik, generowane jest pole magnetyczne wykrywane przez czujnik Halla. Powstające pole magnetyczne jest proporcjonalne do płynącego prądu, co prowadzi do liniowej zależności między natężeniem przepływającego prądu a wartością napięcia Halla. Wbudowany w układ kondycjoner sygnału i filtr stabilizują i podwyższają napięcie Halla do poziomu mierzalnego przez przetwornik A/D mikrokontrolera. Układ wyprowadzeń i typowa aplikacja układu pokazane są poniżej. Rezystancja wewnętrznego, miedzianego przewodnika wynosi 1,2 mΩ, więc straty mocy są niskie. Izolacja wejścia pomiarowego i wyjścia układu zwiększają bezpieczeństwo pomiarów w układach wysokonapięciowych. Ponadto układ posiada wyprowadzenie (pin 6, Filter) do przyłączania zewnętrznego kondensatora, tworzącego prosty filtr RC z wbudowanym rezystorem – poprawia to stosunek sygnału wyjściowego do szumu.

    Pomiar prądu z użyciem czujnika ACS712
    Pomiar prądu z użyciem czujnika ACS712


    Układy są produkowane w 3 wersjach, do pomiarów prądów ±5, ±20 bądź ±30 A. W omawianym przypadku zastosowano ACS712-05B do pomiaru prądów ±5A i o czułości 185 mV/A. Przy zerowym prądzie napięcie na wyjściu jest równe połowie napięcia zasilania (Vcc/2). Należy zaznaczyć, że wartość sygnału wyjściowego układu jest proporcjonalna więc zatem i do płynącego prądu i do napięcia zasilającego czujnik. Dlatego jeśli napięcie zasilające czujnik i referencyjne dla ADC pochodzi z tego samego źródła, zapewni to kompensację błędów konwersji A/D wynikających z fluktuacji napięcia zasilania.

    Poniższy wykres przedstawia odpowiedź czujnika ACS712-05B zasilanego napięciem 5,0V. Dryft wyjścia w funkcji temperatury jest minimalny, poprzez zaimplementowanie we wnętrzu układu wzmacniacza z przetwarzaniem (chopper stabilization).

    Pomiar prądu z użyciem czujnika ACS712

    Eksperymentalny układ do pomiaru prądu został złożony wedle poniższego schematu. Wyjście czujnika prądu połączone jest z kanałem AN0 mikrokontrolera PIC16F1847. Dane wyświetlane są na wyświetlaczu LCD 16x2. Mikrokontroler wykorzystuje napięcie zasilania +5V jako napięcie odniesienia dla przetwornika A/D.

    Pomiar prądu z użyciem czujnika ACS712

    Program dla mikrokontrolera został napisany w języku C.

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Przy zerowym mierzonym prądzie napięcie na wyjściu układu powinno wynosić dokładnie Vcc/2. Dryft napięcia wyjściowego o 4,9 mV skutkuje zmianą o 1 LSB z konwersji A/D, co jest równe błędowi pomiaru 26 mA. Dlatego też podczas pomiaru napięcia wyjściowego czujnika wskazane jest zebranie i uśrednienie kilku jego wartości. W przypadku pomiaru prądów zmiennych ważna staje się również szybkość próbkowania napięcia przez mikrokontroler. Więcej szczegółów dotyczących działania programu i dokładności pomiarów można znaleźć na stronach projektu.

    Źródło - cz. 1
    Źródło - cz. 2

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
    O autorze
    Kubald
    Poziom 15  
    Offline 
    Specjalizuje się w: spektroskopia exafs/xanes, uc, it
    Kubald napisał 188 postów o ocenie 74, pomógł 0 razy. Mieszka w mieście Kraków. Jest z nami od 2004 roku.
  • #2
    oskar777

    Poziom 26  
    Czujnik w tme kosztuje koło 40 zł ale to tme, czy ktoś z Forumowiczów wie gdzie go kupić w trochę bardziej atrakcyjnej cenie ?
  • #3
    Kubald
    Poziom 15  
    Na znanym portalu aukcyjnym identyczny jak tutaj moduł z ACS712-20 kosztuje 26,90 zł, w Nettigo 36 zł :-)
  • #4
    Freddy
    Poziom 43  
    Kubald napisał:
    Na znanym portalu aukcyjnym identyczny jak tutaj moduł z ACS712-20 kosztuje 26,90 zł, w Nettigo 36 zł :-)

    W nettigo 36 zł kosztuje wersja 5A, na Allegro zaś jest moduł z wersją 20A.
    W rs-polska jest dostępne http://pl.rs-online.com/web/c/?sra=oss&searchTerm=acs712
  • #7
    domansolarpower
    Poziom 13  
    Wszystko ładnie i pięknie tylko po co tam ten opornik 2W wpięty szeregowo? Rozumiem że to jest przykładowy "odbiornik" prądu który się mierzy?
  • #8
    guest666
    Poziom 12  
    Pytanko...
    Mam ASC712 i odczytuje prąd DC jak trzeba - połączenie z ADC atmegi8 (podłączyłem sobie stałe obciążenia np: żarówkę i ładnie wyliczyłem prąd pobierany)
    Teraz chcę sterować żarówką 12V przez PWM. Sterowanie jak trzeba chodzi, IRFZ ładnie steruje jasnością. Podłączyłem żarówkę szeregowo z ASC712.... lecz niestety wartości odczytanego prądu pobieranego przez żarówkę jest inna niż na zewnętrznym amperomierzu...
    Czy to wina PWM'a że ASC712 nie potrafi prawidłowo odczytać wartość pobieranego prądu.??
    Przecież niby asc712 odczytuje wartość prądu AC i DC...lecz tu przez PWM jest raczej prostokąt z różnym wypełnieniem...
  • #9
    Freddy
    Poziom 43  
    guest666 napisał:
    Przecież niby asc712 odczytuje wartość prądu AC i DC...lecz tu przez PWM jest raczej prostokąt z różnym wypełnieniem...

    Sam sobie odpowiedziałeś. :)
  • #10
    felekfala
    Poziom 19  
    Wstawienie do końcówki 6 kondensatora filtrującego powinno pomóc. Częstotliwość odcięcia filtra RC wbudowanego w ACSie powinna być w Twojej aplikacji znacznie mniejsza od częstotliwości nośnej PWMa. Możesz zastosować filtrowanie cyfrowe, jeśli częstotliwość próbkowania będzie znacznie większa od nośnej PWMa.
    Taki zabieg będzie miał na celu uśrednić wartość płynącego prądu.
  • #11
    guest666
    Poziom 12  
    felekfala napisał:
    Wstawienie do końcówki 6 kondensatora filtrującego powinno pomóc. Częstotliwość odcięcia filtra RC wbudowanego w ACSie powinna być w Twojej aplikacji znacznie mniejsza od częstotliwości nośnej PWMa. Możesz zastosować filtrowanie cyfrowe, jeśli częstotliwość próbkowania będzie znacznie większa od nośnej PWMa.
    Taki zabieg będzie miał na celu uśrednić wartość płynącego prądu.


    W tej chwili mam kondensator 1nF..mam go zwiększyć??
    A może dać jakiś większy elektrolit na wyjściu PWM mocy. (IRFZ44n)
  • #12
    Freddy
    Poziom 43  
    guest666 napisał:
    felekfala napisał:
    Wstawienie do końcówki 6 kondensatora filtrującego powinno pomóc. Częstotliwość odcięcia filtra RC wbudowanego w ACSie powinna być w Twojej aplikacji znacznie mniejsza od częstotliwości nośnej PWMa. Możesz zastosować filtrowanie cyfrowe, jeśli częstotliwość próbkowania będzie znacznie większa od nośnej PWMa.
    Taki zabieg będzie miał na celu uśrednić wartość płynącego prądu.


    W tej chwili mam kondensator 1nF..mam go zwiększyć??
    A może dać jakiś większy elektrolit na wyjściu PWM mocy. (IRFZ44n)

    Masz dokładny opis w karcie katalogowej, ale co najmniej 10nF.
  • #14
    guest666
    Poziom 12  
    Freddy napisał:
    guest666 napisał:
    felekfala napisał:
    Wstawienie do końcówki 6 kondensatora filtrującego powinno pomóc. Częstotliwość odcięcia filtra RC wbudowanego w ACSie powinna być w Twojej aplikacji znacznie mniejsza od częstotliwości nośnej PWMa. Możesz zastosować filtrowanie cyfrowe, jeśli częstotliwość próbkowania będzie znacznie większa od nośnej PWMa.
    Taki zabieg będzie miał na celu uśrednić wartość płynącego prądu.


    W tej chwili mam kondensator 1nF..mam go zwiększyć??
    A może dać jakiś większy elektrolit na wyjściu PWM mocy. (IRFZ44n)

    Masz dokładny opis w karcie katalogowej, ale co najmniej 10nF.


    Kolego dziękuję za pomoc...wstawiłem 100nF na nóżkę 6 i do masy..
    problem się rozwiązał :)
  • #16
    szczodros
    Poziom 18  
    domansolarpower napisał:
    Wszystko ładnie i pięknie tylko po co tam ten opornik 2W wpięty szeregowo?

    wader_669 napisał:
    Po co ten rezystor?

    Twórca do testów użył opornik jako odbiornik. Zmieniając podawane napięcie zmieniał prąd płynący w obwodzie zasilacz-opornik-ACS... zgodnie z prawem Ohma
  • #17
    _pieczas
    Poziom 12  
    Cytat:
    Dlatego poniższa dyskusja będzie dotyczyła czujnika Allegro ACS712, który jest niedrogim i dokładnym czujnikiem opierającym się o efekt Halla i pozwalającym mierzyć prądy stałe i zmienne.


    Panowie, czy po przepuszczeniu przez czujnik prądów ujemnych(przemiennych), odpowiedź napięciowa będzie mimo to dodatnia, czy ujemna? Wpływa na nią tylko wartość skuteczna prądu co pociągnie za sobą stały znak napięcia, czy też odpowiedź napięciowa również będzie ujemna, bo w końcu zwrot pola magnetycznego też się odwróci? Jednakże w tym drugim wypadku, domyślam się, że będzie to wymagało zasilana symetrycznego. Czy może jednak,
    Cytat:
    Przy zerowym prądzie napięcie na wyjściu jest równe połowie napięcia zasilania (Vcc/2).
    , w związku z czym dla dodatnich prądów napięcia przyjmują wartości z zakresu od Vcc/2 do Vcc, a dla ujemnych od Vcc/2 do 0?
  • #19
    _pieczas
    Poziom 12  
    Tyle to wiem, lecz co w przypadku prądów poniżej zera w przypadku przebiegów przemiennych? Jakie wartości napięć uzyskamy na wyjściu w przypadku gdy przez układ przepływa prąd o wartościach ujemnych?
  • #21
    _pieczas
    Poziom 12  
    Czy odpowiedź na wymuszenie prądowe tego układu można modelować jako źródło napięcia o dużej rezystancji, amplitudzie 1V (wegług wykresu na str. 6 noty katalogowej) i składowej stałej 2,5V?
  • #22
    yoachim95
    Poziom 15  
    Czy mógłby ktoś napisać jaka jest dokładność takiego czujnika? Są różne wersje Hallotronów i potrzebuję takiego czujnika (układu), który pokaże mi wynik z dokładnością do 1mA (lub chociaż 10mA) w zakresie do 30A.
    Czy można zwiększyć dokładność stosując jakieś wzmocnienie sygnału czujnika? Nie zmniejszy to wtedy zakresu pomiarowego? Bardzo dziękuję za pomoc. :)
  • #23
    Freddy
    Poziom 43  
    yoachim95 napisał:
    Czy mógłby ktoś napisać jaka jest dokładność takiego czujnika? Są różne wersje Hallotronów i potrzebuję takiego czujnika (układu), który pokaże mi wynik z dokładnością do 1mA (lub chociaż 10mA) w zakresie do 30A.
    Czy można zwiększyć dokładność stosując jakieś wzmocnienie sygnału czujnika? Nie zmniejszy to wtedy zakresu pomiarowego? Bardzo dziękuję za pomoc. :)

    Przecież karta katalogowa jest ogólnie dostępna. Tak trudno do niej zajrzeć ?
    www.allegromicro.com/~/media/Files/Datasheets/ACS712-Datasheet.ashx
  • #24
    piurek10
    Poziom 13  
    Czy istnieje jakaś wersja w obudowie dim do montażu przewlekanego, nawet może być od innej firmy.
  • #25
    mkpl
    Poziom 37  
    Używam tego super czujnika w pracy.

    On ma swoje wady i to poważne! Wskazuje inne wartości w zależności od środowiska w jakim się znajduje i ułożenia w stosunku do elementów metalowych nie mówiąc jakie cyrki robią podmagnesowane wkrętaki.

    Ktoś wcześniej pytał czy obrabia AC. Tak obrabia spokojnie do 100kHz. Jedyna rzecz jaka należy zrobić to podwiesić potencjał wyjściowy przy braku prądu do połowy zakresu przetwornika ADC. Np dla zakresu przetwarzania 5V ustalamy 2.5V i pracujemy w zakresie +2.5 i -2.5
  • #26
    yoachim95
    Poziom 15  
    mkpl napisał:
    Używam tego super czujnika w pracy.

    On ma swoje wady i to poważne! Wskazuje inne wartości w zależności od środowiska w jakim się znajduje i ułożenia w stosunku do elementów metalowych nie mówiąc jakie cyrki robią podmagnesowane wkrętaki.

    Ktoś wcześniej pytał czy obrabia AC. Tak obrabia spokojnie do 100kHz. Jedyna rzecz jaka należy zrobić to podwiesić potencjał wyjściowy przy braku prądu do połowy zakresu przetwornika ADC. Np dla zakresu przetwarzania 5V ustalamy 2.5V i pracujemy w zakresie +2.5 i -2.5

    Kolego w moim przypadku te czujniki nie poradziły sobie z prądem AC o częstotliwości 50Hz... Jeżeli jesteś zainteresowany to tutaj znajdziesz więcej informacji dlaczego układ mnie nie zadowolił... https://www.elektroda.pl/rtvforum/topic2885885.html#13906252
    Dodatkowo próbowałem robić układ jak Figure 6, żeby uzyskać większą czułość oraz napięcie wyjściowe od 0V (nie od 2,5V) i w żaden sposób czujnik mnie nie zachwycił... Byłem jedynie zadowolony kiedy testowałem go w obwodzie z prądem stałym (10-12V), wtedy już reagował na prąd 6mA. :)

    Dodano po 3 [minuty]:

    mkpl napisał:
    Jedyna rzecz jaka należy zrobić to podwiesić potencjał wyjściowy przy braku prądu do połowy zakresu przetwornika ADC. Np dla zakresu przetwarzania 5V ustalamy 2.5V i pracujemy w zakresie +2.5 i -2.5

    To już jest fabrycznie zrobione jeżeli się nie mylę i o tym była mowa we wprowadzającym poście...
    Kubald napisał:
    Przy zerowym mierzonym prądzie napięcie na wyjściu układu powinno wynosić dokładnie Vcc/2.