Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

ACS713 pomiary prądu DC pulsujący

mmaker 22 May 2019 20:48 555 10
  • #1
    mmaker
    Level 19  
    Witam. Próbuję z nudów zrobić własny prostownik do ładowania akumulatorów kwasowo-ołowiowych i mam problem z pomiarem prądu. Posiadam czujnik ACS713-30A (DC). W uproszczeniu, za transformatorem i mostkiem prostowniczym mam wpięty w szereg tyrystor oraz wspomniany wyżej czujnik i wyjście z czujnika podłączone bezpośrednio pod ADC mikrokontrolera (AREF=5V). Sterowanie fazowe jest podzielone na 200 kroków. Steruję wszystkim z mikrokontrolera Atmega32A, gdzie jest detekcja zera sieci (po stronie wtórnej), pomiary napięć i prądu. Nie wiem w jaki sposób mógłbym dobrze mierzyć prąd średni a nie szczytowy jak to ma teraz miejsce.



    Dla przykładu oscylogram z wyjścia czujnika przy prądzie ładowania 3,4 A:
    ACS713 pomiary prądu DC pulsujący

    dla 10A wygląda to tak:
    ACS713 pomiary prądu DC pulsujący

    Przy takiej konfiguracji marnuję użyteczny zakres ADC który mam obecnie ustawiony na 10 bitów i niestety mogę mierzyć tylko do tych 3 Amper z groszami.
  • #2
    _jta_
    Electronics specialist
    Masz kilka wejść ADC - podłącz do nich napięcie poprzez różne dzielniki, jak jedno będzie przesterowane, to odczytuj napięcie na drugim. Gorzej, jak będzie przesterowany wzmacniacz - nie wiem, jaki sygnał daje sam ACS, czy ten płaski odcinek na górze drugiego wykresu to nie było przesterowanie wzmacniacza w ACS-ie.
  • #3
    Dar.El
    Level 40  
    Witam
    Za ACS713 musisz dodać filtr RC i będziesz miał pomiar wartości średniej. Impulsy prądowe nie mogą przekroczyć 30A, w przeciwnym wypadku musisz zastosować czujnik na większy prąd.
  • #4
    _jta_
    Electronics specialist
    ACS713 ma spory błąd zera - jeśli mikrokontroler jest w stanie próbkować napięcie choć kilkanaście razy podczas każdego impulsu, to lepiej wyliczać z tego średnią. Albo zrobić filtr z rekonstruowaniem składowej stałej, ale to pewnie będzie bardziej skomplikowane.
  • #5
    mmaker
    Level 19  
    Dar.El wrote:
    Witam
    Za ACS713 musisz dodać filtr RC i będziesz miał pomiar wartości średniej. Impulsy prądowe nie mogą przekroczyć 30A, w przeciwnym wypadku musisz zastosować czujnik na większy prąd.

    Wygląda na to że u mnie przy 3 A wskazań na mierniku, czujnik już pokazuje szczytowy prąd około 30A. Pomiar wykonuję od momentu załączenia tyrystora do zaniku napięcia i wyłapuję maksymalną wartość ADC. Zastanawiam się nad tym filtrem RC czy tu on da radę
  • #7
    mmaker
    Level 19  
    Witam po przerwie. Jednak zmieniam koncepcję odnośnie pomiaru prądu i zastanawiam się nad opcją z rezystorem bocznikowym przykładowo 100A/60mV z dodatkowym wzmacniaczem operacyjnym. Czy dobrze zrobię jeśli w wypadku ustawię wzmocnienie na takie które będzie odpowiadało prądowi średniemu żeby później dodatkowo i nie przeliczać tego mikrokontrolerze? Czy w tym wypadku będę miał możliwość pomiaru prądu praktycznie od jednego ampera wzwyż?
  • #8
    _jta_
    Electronics specialist
    Jeśli chcesz uśrednić napięcie z bocznika i je mierzyć średnie, to istotne jest, jakie napięcie niezrównoważenia ma ten wzmacniacz operacyjny. Wzmacniacze z autozerowaniem "chopper stabilized" mają typowo rzędu 1uV, a gwarantowane np. 10uV - jeśli użyjesz takiego i na boczniku masz 60mV przy 100A, to wykryjesz 20mA.

    A jeśli masz prąd pulsujący, który jest przez jakiś czas 0, i to wykorzystasz, to podobny wynik możesz mieć ze standardowym wzmacniaczem operacyjnym - ale do tego musisz całkować przebieg z ADC po odjęciu poziomu zerowego.

    Wreszcie, można zrobić układ analogowy, który wykorzysta odcinki zer prądu do odjęcia poziomu zerowego, a potem uśredni.

    Ale nie wiem, co rozumiesz przez "ustawię wzmocnienie na takie które będzie odpowiadało prądowi średniemu".
  • #9
    mmaker
    Level 19  
    _jta_ wrote:
    Ale nie wiem, co rozumiesz przez "ustawię wzmocnienie na takie które będzie odpowiadało prądowi średniemu".
    Miałem na myśli taki przypadek gdy przez bocznik płynie prąd 3,5A i żeby dobrać tak wzmocnienie żeby na wyjściu wzmacniacza operacyjnego było 350mV w szczycie co by odpowiadało takiemu właśnie prądowi. Wtedy miałbym zakres pomiaru do 10A co przy napięciu odniesienia 1,1V Atmegi dało by mi w sumie interesujący mnie zakres pomiaru. Nie wiem jak by to się miało do liniowości całego pomiaru.
  • #10
    _jta_
    Electronics specialist
    Zależność między prądem szczytowym (i w konsekwencji szczytowym napięciem), a prądem średnim nie jest liniowa, bo jak prąd jest większy, to płynie przez większą część czasu.

    Można by zrobić tak, żeby uC wyłapywał zero prądu (najniższe napięcie i odcinek bez zmian) i wtedy resetował analogowy układ całkujący (a przedtem odczytywał wynik całkowania). Ale chyba prościej robić całkowanie numerycznie - pytanie, ile próbkowań ADC na okres wyrabia uC? Arduino ma 10-bitowe ADC o czasie przetwarzania 13us; STM32F103 - ma 2 ADC, każde 12-bitowa o czasie nieco ponad 1us (bodajże 14/12 us, jeśli zegar ma pasować do USB; bez USB można mieć przetwarzanie w 1us).

    Można sobie uprościć wyliczanie tak, żeby mierzyć maksymalny prąd, i czas przez jaki prąd płynie - średnia to w przybliżeniu 2/3 ich iloczynu. Ale na to trzeba dokładnie wyłapywać początek i koniec czasu przepływu prądu, co może być trudniejsze, niż sumowanie odczytów.
  • #11
    mmaker
    Level 19  
    Mikrokontroler taktuję zewnętrznym kwarcem 11,0592Mhz, Timerem2 w przerwaniu załączam tyrystor i wykonuję pomiary w taki sposób:
    Code: c
    Log in, to see the code

    ADC działa w trybie "Free runing mode"
    Czas timera mam zdefiniowany w ten sposób:
    Code: c
    Log in, to see the code